Differenze tra le versioni di "Ricerche Personalizzate della Finanziaria su Web Service"

Da wiki.maggioli.it.
Jump to navigation Jump to search
imported>MFontana
(Nuova pagina: [http://sicrawebhelp.saga.it/index.php/Contabilit%C3%A0_Finanziaria#Gestione ''Indietro''] Le ricerche personalizzate della Finanziaria possono essere effettuate anche da un programma...)
 
imported>Ptei
 
(6 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
[http://sicrawebhelp.saga.it/index.php/Contabilit%C3%A0_Finanziaria#Gestione ''Indietro'']
[[contabilità Finanziaria#Consultazioni e stampe|''Indietro'']]


Le ricerche personalizzate della Finanziaria possono essere effettuate anche da un programma esterno a Sicr@web utilizzando un web service.
Le ricerche personalizzate della Finanziaria possono essere effettuate anche da un programma esterno a Sicr@web utilizzando un web service.
Riga 5: Riga 5:


La chiamata va fatta all'indirizzo http://[server]:[porta]/client/services/CmnWSSGateway (per esempio http://192.168.10.10:8080/client/services/CmnWSSGateway) e il nome del web service da invocare e' 'fin.custom.research'.
La chiamata va fatta all'indirizzo http://[server]:[porta]/client/services/CmnWSSGateway (per esempio http://192.168.10.10:8080/client/services/CmnWSSGateway) e il nome del web service da invocare e' 'fin.custom.research'.
In particolare i parametri della chiamata sono:
String[] params = new String[] {
  "semanthic_switch_v1",
  J2eeUser,
  J2eePassword,
  SicrawebUser,
  SicrawebPassword,
  "fin.custom.research",
  fileContent };




Riga 18: Riga 29:


Il tag 'query' (obbligatorio) e' quello principale, contiene tutte le informazioni necessarie per l'esecuzione della ricerca. E' possibile, nell'attributo 'description', impostare una descrizione per la ricerca corrente.
Il tag 'query' (obbligatorio) e' quello principale, contiene tutte le informazioni necessarie per l'esecuzione della ricerca. E' possibile, nell'attributo 'description', impostare una descrizione per la ricerca corrente.
Il tag 'tipo' (obbligatorio) contiene il tipo di ricerca che si vuole effettuare (attualmente quelle disponibili sono: DOCUMENTI, BILANCIO, IMPEGNI e MANDATI).
Il tag 'tipo' (obbligatorio) contiene il tipo di ricerca che si vuole effettuare (attualmente quelle disponibili sono: DOCUMENTI, BILANCIO, IMPEGNI, MANDATI e MUTUI).




Riga 31: Riga 42:
*CSVZIPB64 = file in formato csv zippato e criptato in base 64
*CSVZIPB64 = file in formato csv zippato e criptato in base 64


Il tag 'tipo' (obbligatorio) serve per indicare il tipo di risposta che Sicr@web deve dare al chiamante. I possibili valori sono:
Il tag 'tipo' (obbligatorio) serve per indicare il tipo di risposta che Sicr@web deve dare al chiamante. Al momento l'unico valore possibile è:
*IMMEDIATE_RESPONSE = il risultato della chiamata viene resituito con la stessa chiamata in corso
*DELAYED_RESPONSE = il risultato della chiamata contiene una chiave alfanumerica da usare per fare altre chiamate per avere il risultato effettivo della chiamata in corso
*DELAYED_RESPONSE = il risultato della chiamata contiene una chiave alfanumerica da usare per fare altre chiamate per avere il risultato effettivo della chiamata in corso


Riga 62: Riga 72:
*YES_NO = Si/No
*YES_NO = Si/No


Il tag 'chiave' (facoltativo) e' la chiave necessaria per cercare il risultato di una ricerca avviata con una chiamata precedentemente alla corrente
Il tag 'durata-chiamata' (facoltativo) serve per indicare per quanto tempo, espresso in secondi, il sistema deve cercare il risultato della richiesta. Al termine di questo periodo la chiamata corrente termina. Se non viene specificato la ricerca durera' un minuto.


===Globali===
===Globali===
Riga 200: Riga 213:
==Xml di risposta==
==Xml di risposta==


Il file di risposta e' composto da un tag principale 'query' e da altri 3 sotto tag 'stato', 'descrizione' e 'righe'.
Il file di risposta e' composto da un tag principale 'response' che contiene 'query' il quale a sua volta contiene 3 sotto tag 'stato', 'descrizione' e 'righe'.
 
ATTENZIONE: Se il risultato della richiesta e' andato a buon fine viene archiviato sul repository di sicraweb (stato 1). Per avere il risultato effettivo e' necessario effettuare altre chiamate ed utilizzare i metodi esposti nel web service http://192.168.10.10:8080/client/services/RepWSSGateway?wsdl   


Il tag 'stato' (obbligatorio) contiente lo stato della risposta. I possibili valori sono:
Il tag 'stato' (obbligatorio) contiente lo stato della risposta. I possibili valori sono:
*-1=Operazione non consentita (se l'utente non possiede l'autorizzazzione necessaria per effettuare la ricerca)
*-1=Operazione non consentita (se l'utente non possiede l'autorizzazzione necessaria per effettuare la ricerca)
*0=Errore (se c'e' stato un errore)
*0=Errore (se c'e' stato un errore)
*1=Ok (se il risultato e' corretto e completo)
*1=Ok (se il risultato e' termaniato correttamente)
*2=Risultato parziale (se il risultato e' corretto ma nel file corrente c'è solo una parte del risultato stesso)
*2=Avviato (se il risultato non e' ancora disponibile)
*3=Chiave non trovata (se la chiave utilizzata per la richiesta non ha associato alcun risultato preesistente)


Il tag 'descrizaione' (facoltativo) in caso di errore contiene la descrizione dell'errore stesso.
Il tag 'descrizione' (facoltativo) in caso di errore contiene la descrizione dell'errore stesso.


Il tag 'righe' (facoltativo) contiene il file con il risultato nel formato indicato nella richiesta oppure la chiave per le successive chiamate in caso di richiesta di tipo 'DELAYED_RESPONSE'.
Il tag 'righe' (facoltativo) contiene o la chiave per le successive chiamate in caso stato = 1 o la chiave per le successive chiamate in caso di stato = 2.
   
   


Riga 216: Riga 232:


<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="ISO-8859-1"?>
<response>
   <query>
   <query>
     <stato>1</stato>
     <stato>1</stato>
     <righe>Anno,Numero,Data,Descrizione
     <righe>U0ZUS18xMzMwMDgxMjk2NzQyfDM5MDIw</righe>
      2009,172,2009-10-28,RIMBORSO SPESE PER ACQUISTO DVD BIBLIOTECA
      2009,170,2009-10-26,RIMBORSO SPESE TRENO PER TRASFERTA A MILANO GEOM. POSIO ANTONIO
      2009,169,2009-10-24,RIMBORSO SPESE PARCHEGGIO PER TRASFERTA A COMO
      2009,167,2009-10-17,RIMBORSO SPESE PER NOTIFICA ATTI
      2009,166,2009-10-16,RIMBORSO SPESE NOTIFICA ATTI
      2009,164,2009-10-13,RIMBORSO SPESE TRASFERTA A TORINO PARTECIPAZIONE XXVI ASSEMBLEA ANNUALE ANCI SINDACO
      2009,163,2009-10-12,RIMBORSO PSESE PER ACQUISTO CASSETTE REGISTRAZIONE CONSIGLIO
      2009,162,2009-10-10,RIMBORSO SPESE TRASFERTA A COMO ASSISTENTE SOCIALE
      2009,159,2009-10-05,RIMBORSO SPESE PER PRENOTAZIONE REVISIONE SCUOLABUS IVECO
      2009,158,2009-10-03,RIMBORSO SPESE ACQUISTO PILA PER SETTORE POLIZIA LOCALE
      2009,157,2009-10-03,RIMBORSO SPESE PER TRASFERTA A COMO DIPENDENTE POLIZIA LOCALE
    </righe>
   </query>
   </query>
</response>




Riga 241: Riga 247:
     <descrizione>Errore:Il campo 'chkMandCo' non e' riconosciuto per la ricerca 'MANDATI'!</descrizione>
     <descrizione>Errore:Il campo 'chkMandCo' non e' riconosciuto per la ricerca 'MANDATI'!</descrizione>
   </query>
   </query>
[[Categoria:WebServices]]

Versione attuale delle 14:06, 1 apr 2020

Indietro

Le ricerche personalizzate della Finanziaria possono essere effettuate anche da un programma esterno a Sicr@web utilizzando un web service. La ricerca avviene effettuando una chiamata inviando un file .xml a Sicr@web che rispondera' con un altro file .xml.

La chiamata va fatta all'indirizzo http://[server]:[porta]/client/services/CmnWSSGateway (per esempio http://192.168.10.10:8080/client/services/CmnWSSGateway) e il nome del web service da invocare e' 'fin.custom.research'. In particolare i parametri della chiamata sono:

String[] params = new String[] {

 "semanthic_switch_v1",
 J2eeUser,
 J2eePassword,
 SicrawebUser,
 SicrawebPassword,
 "fin.custom.research",
 fileContent };



Xml di richiesta

File xml di richiesta della ricerca personalizzata:

Ricweb1.jpg


Query e tipo

Il tag 'query' (obbligatorio) e' quello principale, contiene tutte le informazioni necessarie per l'esecuzione della ricerca. E' possibile, nell'attributo 'description', impostare una descrizione per la ricerca corrente. Il tag 'tipo' (obbligatorio) contiene il tipo di ricerca che si vuole effettuare (attualmente quelle disponibili sono: DOCUMENTI, BILANCIO, IMPEGNI, MANDATI e MUTUI).


Tipo-risultato

Il tag 'tipo-risultato' (obbligatorio) contiene gli elementi per impostare il tipo di file che si desidera venga ritornato da Sicr@web e la formattazione dei dati in esso contenuti.

Ricweb2.jpg

Il tag 'nome' (obbligatorio) serve per indicare il tipo di file da creare. I possibili valoris sono:

  • CSV = file in formato csv
  • CSVZIPB64 = file in formato csv zippato e criptato in base 64

Il tag 'tipo' (obbligatorio) serve per indicare il tipo di risposta che Sicr@web deve dare al chiamante. Al momento l'unico valore possibile è:

  • DELAYED_RESPONSE = il risultato della chiamata contiene una chiave alfanumerica da usare per fare altre chiamate per avere il risultato effettivo della chiamata in corso

Il tag 'durata-archiviazione' (facoltativo) serve per indicare per quanto tempo, espresso in minuti, il sistema deve archiviare il risultato della richiesta. Al termine di questo periodo il risultato verra' eliminato. Se non viene specificato il risultato verra' archiviato per un'ora.

Il tag 'separatore-righe' (facoltativo) serve per indicare il separatore di righe che deve esere usato nell'esporatazione.

Il tag 'separatore-colonne' (facoltativo) serve per indicare il separatore di colonne che deve esere usato nell'esporatazione.

Il tag 'testata' (facoltativo) serve per indacare se deve essere esportata anche l'intestazione delle colonne, se questo tag non viene inserito Sicr@web esporta senza intestazione.

Il tag 'formattazione-virgola-mobile' (facoltativo) serve per indicare il formato dei numeri con decimali. I possibili valori sono:

  • CURRENCY = 9.999.999,90
  • FIXED_2 = 9999999,90
  • INTERN = 9999999,9
  • NONE = 9999999.9

Il tag 'formattazione-data' (facoltativo) serve per indicare il formato delle date. I possibili valori sono:

  • GG_MM_AAAA = gg/mm/aaa
  • GG_MM_AAAA_HH_MM_SS = gg/mm/aaa hh:MM:ss
  • NONE = Nessuna formattazione

Il tag 'formattazione-spunte' (facoltativo) serve per indicare il formato delle spunte. I possibili valori sono:

  • 1_0 = 1/0
  • NONE = Nessuna formattazione
  • ON_OFF = Acceso/Spento
  • TRUE_FALSE = Vero/Falso
  • X_EMPTY = X/[vuoto]
  • YES_NO = Si/No

Il tag 'chiave' (facoltativo) e' la chiave necessaria per cercare il risultato di una ricerca avviata con una chiamata precedentemente alla corrente

Il tag 'durata-chiamata' (facoltativo) serve per indicare per quanto tempo, espresso in secondi, il sistema deve cercare il risultato della richiesta. Al termine di questo periodo la chiamata corrente termina. Se non viene specificato la ricerca durera' un minuto.

Globali

Il tag 'globali' (obbligatorio) serve per indicare i criteri principali su cui verra' effettuata la riceca (per esempio entrate o uscite oppure la data valuta).

Ricweb3.jpg

Il tag 'eu' (obbligatorio) serve per indicare se la ricerca deve essere eseguita sulle entrate o sulle uscite. I possibili valori sono:

  • E=Entrata
  • U=Uscita

Il tag 'anno' (facoltativo) serve per indicare l'anno dell'esercizio su cui si vuole effettuare la ricerca,

Il tag 'data-valuta' (facoltativo) serve per indicare la data valuta.

Il tag 'flag-mandati-reversali' (facoltativo) serve per indicare se la ricerca va fatta su mandati (valore 1) o reversali (valore 0).

Il tag 'flag-buoni-ricevute' (facoltativo) serve per indicare se la ricerca va fatta su buoni (valore 1) o ricevute (valore 0).

Il tag 'flag-liquidazioni-non-pagate' (facoltativo) serve per indicare se la ricerca sui mandati deve includere le liquidazioni non pagate (valore 1) o no (valore 0)


Campi

Il tag 'campi' (obbligatorio) serve per indicare le colonne che dovranno essere esportare. Deve contenere almeno un tag 'campo'.

Ricweb4.jpg

Il tag 'nome' (obbligatorio) contiene il nome codificato della colonna da esportare.

Il tag 'posizione-ordinamento' (facoltativo) serve per indicare la posicione della colonna nell'importanza degli ordinamenti (esempio: data documento (1), cognome (2), nome (3)).

Il tag 'crescente' (facoltativo) serve per indicare se l'ordinamento sulla colonna e' crescente (valore 1) o decrescente (valore 0).


Criteri

Il tag 'criteri' (facoltativo) contiene i criteri che si vogliono utilizzare per selezionare i dati da esportare (criteri di ricerca). Deve contenere almeno un tag 'criterio'.

Ricweb5.jpg

Il tag 'nome' (obbligatorio) contiene il nome codificato della colonna su cui si vuole aggiungere il criterio.

Il tag 'operatore' (obbligatorio) contiene l'operatore di confronto con cui si vuole usare il criterio di selezione. I possibili valori sono:

  • =
  • <>
  • >
  • >=
  • <
  • <=
  • in
  • not in
  • is null
  • is not null
  • between
  • like

Il tag 'parametro' (facoltativo) contiene il valore di un parametro del criterio. Non c'e' un numero massimo di parametri da poter impostare, quindi i tag 'parametro' non hanno un numero massimo.


Criteri-hql

Il tag 'criteri-hql' (facoltativo) contiene ulteriori criteri criteri di ricerca. Deve contenere almeno un tag 'criterio-hql'.

Ricweb6A.jpg

Il tag 'nome' (facoltativo) serve per indicare il nome del criterio.

Il tag 'descrizione' (facoltativo) serve per indicare la descrizione del criterio.

Il tag 'hql' (obbligatorio) contiene la parte di query che corrisponde al criterio.

Il tag 'parametro' (facoltativo) contiene il valore di un parametro del criterio. Non c'e' un numero massimo di parametri da poter impostare, quindi i tag 'parametro' non hanno un numero massimo.


Si consiglia l'utilizzo dei criteri-hql a soli utenti esperti.


Un esempio

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

 <query>
   <tipo>MANDATI</tipo>
   <tipo-risultato>
     <nome>CSV</nome>
     <tipo>IMMEDIATE_RESPONSE</tipo>
     <testata>1</testata>
   </tipo-risultato>
   <globali>
     <eu>U</eu>
     <anno>2009</anno>
     <data-valuta>2009-12-31</data-valuta>
     <flag-mandati-reversali>0</flag-mandati-reversali>
     <flag-buoni-ricevute>1</flag-buoni-ricevute>
     <flag-liquidazioni-non-pagate>1</flag-liquidazioni-non-pagate>
   </globali>
   <campi>
     <campo>
       <nome>chkMandAnno</nome>
     </campo>
     <campo>
       <nome>chkMandCod</nome>
       <posizione-ordinamento>2</posizione-ordinamento>
       <crescente>0</crescente>
     </campo>
     <campo>
       <nome>chkMandData</nome>
       <posizione-ordinamento>1</posizione-ordinamento>
       <crescente>0</crescente>
     </campo>
       <campo>
       <nome>chkMandDes</nome>
     </campo>
   </campi>
   <criteri>
     <criterio>
       <nome>chkMandDes</nome>
       <operatore>like</operatore>
       <parametro>RIMBORSO%%</parametro>
     </criterio>
   </criteri>
   <criteri-hql>
     <criterio-hql>
       <hql>
         <queryDescriptor des="Data dal 01/10/2009 al 31/12/2009" name="data_?_action106" not-portable="false" where="{bei}.mandatoNome.mandato.data>=? and {bei}.mandatoNome.mandato.data<=?">
         <entity alias="bei" class="it.saga.pubblici.finanziaria.bilancio.FinDACBilancioEventiImporti" entity-class="it.saga.library.expressions.query.ExpEntity"/>
         <param type="java.util.Date" value="01/10/2009"/>
         <param type="java.util.Date" value="31/12/2009"/>
       </queryDescriptor>
       </hql>
     </criterio-hql>
   </criteri-hql>
 </query>


Xml di risposta

Il file di risposta e' composto da un tag principale 'response' che contiene 'query' il quale a sua volta contiene 3 sotto tag 'stato', 'descrizione' e 'righe'.

ATTENZIONE: Se il risultato della richiesta e' andato a buon fine viene archiviato sul repository di sicraweb (stato 1). Per avere il risultato effettivo e' necessario effettuare altre chiamate ed utilizzare i metodi esposti nel web service http://192.168.10.10:8080/client/services/RepWSSGateway?wsdl

Il tag 'stato' (obbligatorio) contiente lo stato della risposta. I possibili valori sono:

  • -1=Operazione non consentita (se l'utente non possiede l'autorizzazzione necessaria per effettuare la ricerca)
  • 0=Errore (se c'e' stato un errore)
  • 1=Ok (se il risultato e' termaniato correttamente)
  • 2=Avviato (se il risultato non e' ancora disponibile)
  • 3=Chiave non trovata (se la chiave utilizzata per la richiesta non ha associato alcun risultato preesistente)

Il tag 'descrizione' (facoltativo) in caso di errore contiene la descrizione dell'errore stesso.

Il tag 'righe' (facoltativo) contiene o la chiave per le successive chiamate in caso stato = 1 o la chiave per le successive chiamate in caso di stato = 2.


Esempio 1 (risultato ok)

<?xml version="1.0" encoding="ISO-8859-1"?> <response>

 <query>
   <stato>1</stato>
   <righe>U0ZUS18xMzMwMDgxMjk2NzQyfDM5MDIw</righe>
 </query>

</response>


Esempio 2 (risultato con errore)

<?xml version="1.0" encoding="ISO-8859-1"?>

 <query>
   <stato>0</stato>
   <descrizione>Errore:Il campo 'chkMandCo' non e' riconosciuto per la ricerca 'MANDATI'!</descrizione>
 </query>