Questa è una vecchia versione del documento!
Indice
Procedimenti/Riconciliazione API - DocWay4
Avvio di procedimenti agganciati a protocolli di DocWay4. Funzionalità sviluppate per CRV (Consiglio Regionale del Veneto), per maggiori informazioni consultare EasyProject:
Procedimenti
Attivazione/Configurazione
Per abilitare la gestione dei procedimento occorre attivare la property 'enableGestioneProcedimentiApi' all'interno del file it.highwaytech.apps.xdocway.properties (attenzione, di default la property non è presente, così come tutto il blocco di gestione dei procedimenti - in caso di attivazione deve essere aggiunta al file sul configuratore).
Di seguito è riportato il blocco completo di properties di xdocway per la gestione dei procedimenti:
#### Procedimenti API - Integrazioni CRV #### # Abilitazione della gestione dei procedimenti (integrazione con API). ('si', 'no' - Default = 'no') enableGestioneProcedimentiApi=no # Formato dell'oggetto del sottofascicolo del fascicolo associato al procedimento avviato su un documento. E' possibile specificare gli xpath relativi # al fascicolo padre per la definizione dell'oggetto del figlio. procedimentiApi.subfolder.subject=Documenti '[xml,/fascicolo/oggetto]' # Definizione dell'URL di endpoint dei WebServices di Workflow di API #procedimentiApi.wsWorkflow.endpoint=http://192.168.42.33:7080/axis/services/WSWorkflow procedimentiApi.wsWorkflow.endpoint= # Query da utilizzare per il recupero dei procedimenti per i quali deve essere tentato l'avvio del workflow su API. Se non specificata, di default # vengono tentati gli avvii su tutti i procedimenti nuovi (in attesa di invio) e su quelli per i quali era stato riscontrato un errore. #procedimentiApi.wsWorkflow.query=([xml,/doc/extra/procedimenti/procedimento/@wf]=wait or error) procedimentiApi.wsWorkflow.query= # Parametri aggiuntivi necessari all'avvio del workflow (possono non essere settati se i valori di default non variano) #procedimentiApi.wsWorkflow.nomeIter=ATTIVITA_ISTITUZIONALE #procedimentiApi.wsWorkflow.applicazione=CRVPRO #procedimentiApi.wsWorkflow.utente=ws #############################################
Sempre all'interno del file it.highwaytech.apps.xdocway.properties occorre configurare la property 'procedimentiApi.wsWorkflow.endpoint' se si vuole abilitare l'avvio di workflow su API in caso di procredimenti avviati su documenti protocollati. Nel caso in cui la property non venga configurata l'avvio di workflow non sarà mai tentato.
Le altre property indicate sono invece facoltative e devono essere configurate solo nel caso in cui sia necessario variare i valori di default previsti.
N.B.: Oltre alla configurazione del file di properties xdocway occorre procedere con le seguenti altre configurazioni al fine di abilitare correttamente tutte le funzionalità legate ai procedimenti:
- Configurazione delle legislature gestite su DocWay;
- Configurazione delle tipologie di documenti;
- Import su eXtraWay dei tipi di procedimento che possono essere avviati sui documenti.
Configurazione Legislature
Il file di configurazione delle legislature è lo stesso utilizzato per la gestione dei repertori per legislatura.
Si tratta di un file xml (legislature.xml) presente all'interno della directory DocWay4-service/application/xdocway. Di seguito viene mostrato il contenuto di default:
<?xml version="1.0" encoding="UTF-8"?> <listof_legislatura> <legislatura numero="1" dataInizio="19700707" dataFine="19750614"> <descrizione>I Legislatura</descrizione> </legislatura> <legislatura numero="2" dataInizio="19750715" dataFine="19800607"> <descrizione>II Legislatura</descrizione> </legislatura> <legislatura numero="3" dataInizio="19800608" dataFine="19850511"> <descrizione>III Legislatura</descrizione> </legislatura> <legislatura numero="4" dataInizio="19850617" dataFine="19900515"> <descrizione>IV Legislatura</descrizione> </legislatura> <legislatura numero="5" dataInizio="19900506" dataFine="19950422"> <descrizione>V Legislatura</descrizione> </legislatura> <legislatura numero="6" dataInizio="19950423" dataFine="20000416"> <descrizione>VI Legislatura</descrizione> </legislatura> <legislatura numero="7" dataInizio="20000417" dataFine="20050402"> <descrizione>VII Legislatura</descrizione> </legislatura> <legislatura numero="8" dataInizio="20050403" dataFine="20100327"> <descrizione>VIII Legislatura</descrizione> </legislatura> <legislatura numero="9" dataInizio="20100328" dataFine="20150612"> <descrizione>IX Legislatura</descrizione> </legislatura> <legislatura numero="10" dataInizio="20150616" dataFine="20200616"> <descrizione>X Legislatura</descrizione> </legislatura> </listof_legislatura>
L'elenco di legislature di default è stato generato a partire da un export dal DB Oracle attualmente utilizzato dal CRV. La procedura di generazione del file è descritta (e disponibile) sul progetto DocWay4-service/test/resources/readme.txt. Allo stato attuale l'esecuzione della procedura richiede un ambiente di sviluppo configurato.
Nel caso in cui sia necessario aggiornare il file, la copia aggiornata di esso deve essere caricata all'interno della directory del configuratore (es. /opt/3di.it/conf/DocWay4-service/application/xdocway).
Dalla sezione 'Strumenti di amministrazione' di DocWay (menù sull'header > Altre Funzioni > Amministrazione) è possibile scaricare la versione corrente del file di legislature e successivamente aggiornarla attraverso la funzione di upload. In questo caso sarà direttamente DocWay ad aggiornare la versione di legislature.xml presente all'interno della directory del configuratore.
Configurazione Tipi di Documenti
Il file xml di configurazione delle tipologie di documenti è il seguente:
- DocWay4-service/application/xdocway/procedimenti_api/tipologie.xml
Così come per il file delle legislature, il set di tipi di default è stato generato a partire da un export dal DB Oracle attualmente utilizzato dal CRV. Anche in questo caso per maggiori informazioni sulla procedura adottata consulare il file DocWay4-service/test/resources/readme.txt.
Di seguito viene mostrata una porzione del file di default:
<?xml version="1.0" encoding="UTF-8"?> <listof_tipologie> <tipologia id="6" enabled="true"> <description>Albo fornitori</description> </tipologia> <tipologia id="111" enabled="true"> <description>Allegato per pubblicazione web</description> </tipologia> <tipologia id="123" enabled="true"> <description>Allegato specifico</description> </tipologia> <tipologia id="74" enabled="true"> <description>Atto ispettivo</description> </tipologia> <tipologia id="146" enabled="true"> <description>Bilancio società controllata</description> </tipologia> <tipologia id="7" enabled="true"> <description>Convocazione Consiglio regionale</description> </tipologia> <tipologia id="8" enabled="true"> <description>Convocazione Organo interno</description> </tipologia> <tipologia id="103" enabled="true"> <description>Convocazioni/o.d.g.</description> </tipologia> ... <tipologia id="145" enabled="false"> <description>Verifica è funzionale</description> </tipologia> <tipologia id="107" enabled="true"> <description>Visti contabili</description> </tipologia> <tipologia id="44" enabled="true"> <description>Visto o rinvio</description> </tipologia> </listof_tipologie>
Import Tipi di Procedimenti
Per la gestione dei tipi di procedimento è stata definita una nuova UDType su eXtraWay(tipoprocedimento).
La struttura XML del record è la seguente:
<tipoprocedimento nrecord="." tipo="PDLS" categoria="L" startwf="false"> <uffici> <ufficio cod="00003" /> <ufficio cod="SI000010" /> </uffici> <cc_aggiuntivi> <rif cod_persona="tutti_SI000010" cod_uff="SI000010" intervento="no" tipo_uff="ufficio" /> <rif cod_persona="PI000060" cod_uff="00003" intervento="si" /> </cc_aggiuntivi> </tipoprocedimento>
dove:
- nrecord corrisponde all'identificativo del tipo di procedimento su eXtraWay
- tipo corrisponde al nome del procedimento
- categoria può assumere 2 valore: A (numerazione del procedimento per anno) o L (numerazione del procedimento per legislatura)
- startws è un booleano che definisce se occorre avviare o meno il workflow su API nel caso di nuovo procedimento
- uffici contiene l'elenco di uffici per i quali è abilitato l'avvio del procedimento su un documento
- cc_aggiuntivi contiene l'elenco di eventuali rif. interni che devono essere aggiunti in CC al documento (se non già presenti come assegnatari) in fase di avvio del procedimento. Di seguito alcune caratteristiche sulla configurazione dei CC aggiuntivi:
- E' possibile indicare persone interne, strutture interne, gruppi o ruoli. Occorre ovviamente configurare l'attributo tipo_uff in maniera opportuna: 'ufficio' per assegnazione a struttura interna o gruppo, 'ruolo' per assegnazione a ruolo;
- Non è necessario indicare il nome della persona o della struttura, la procedura di aggancio rif_interni si occuperà di recuperare le informazioni da ACL (errore nel caso in cui il codice non venga trovato);
- E' possibile indicare se il CC deve avere il diritto di intervento o meno (attributo intervento=si/no)
Attualmente non è prevista alcuna interfaccia di gestione dei tipi di procedimento. L'importazione su eXtraWay deve essere fatta attraverso watchdoc e qualsiasi modifica ad un tipo di procedimento deve avvenire attraverso la console di eXtraWay.
Così come per i precedenti casi, anche per questo è stata predisposta una procedura sul progetto DocWay4-service (DocWay4-service/test/resources/readme.txt) per convertire i tipi di procedimenti ottenuti da un export CSV dal DB Oracle in un XML supportato dal processo di import di watchdoc.
Riconciliazione
L'integrazione con il processo di riconciliazione consiste prevalentemente in un JOB che si occupa di generare su DocWay eventuali documenti da conciliare (legati a procedimenti) che derivano da API e mantenere allineato lo stato di conciliazione con API in base alle diverse fasi di lavorazione del documento (protocollazione o annullamento).
Per maggiori dettagli sul flusso operativo si rimanda all'analisi specifica e ai task di riferimento.
Abilitazione/Configurazione
Per abilitare la gestione della riconciliazione occorre configurare le properties di connessione al database Oracle all'interno del quale viene gestita la coda di richieste di conciliazione (property 'procedimentiApi.riconciliazione.oracle.url' in it.highwaytech.apps.xdocway.properties.
Di seguito è riportato il blocco completo di properties di xdocway per la gestione delle riconciliazioni:
#### Procedimenti API - Integrazioni CRV #### # Configurazione della PROCEDURA DI RICONCILIAZIONE # Parametri di connessione al database Oracle di "sincronizzazione" con API #procedimentiApi.riconciliazione.oracle.url=jdbc:oracle:thin:@regventest.bo.priv:1521:ORCL #procedimentiApi.riconciliazione.oracle.username=ITER9 #procedimentiApi.riconciliazione.oracle.password=ITER9_PWD # Link al database tramite il quale recuperare l'ID_ATTIVITA in fase di protocollazione da riconciliazione. Se non specificato non verra' # tentato il recupero del dato (incluso nell'URL della chiamata ad API). procedimentiApi.riconciliazione.oracle.jwfDbLink= # Elenco di stati di conciliazione su API considerati validi per l'impostazione dello stato 2 di annullamento del protocollo su DocWay. Se non # viene indicato alcun valore l'annullamento di un documento comportera' sempre l'aggiornamento dello stato di conciliazione su API, indipendentemente # dallo stato attuale. Separare i valori tramite la virgola. procedimentiApi.riconciliazione.statiValidiPerAnnullamento=0,1,3,5 # Nome dell'archivio di docway da utilizzare per la procedura di riconciliazione (default = 'xdocwaydoc') procedimentiApi.riconciliazione.docway.dbname=xdocwaydoc # Eventuale valore di default da assegnare al campo cod_amm_aoo in caso di mancato recupero dalla tabella # api_crvpro_queue di riconciliazione procedimentiApi.riconciliazione.cod_amm_aoo.default_value= # Nome dell'operatore e ufficio di appartenenza da settare in creazione di un documento derivante da riconciliazione procedimentiApi.riconciliazione.operatore= procedimentiApi.riconciliazione.ufficioOperatore= # Codice dell'ufficio da settare come RPA sui documenti derivanti da processo di riconciliazione (parametro obbligatorio). Puo' essere specificato un # ufficio per ogni cod_amm_aoo sulla quale deve essere abilitata la riconciliazione # procedimentiApi.riconciliazione.fixedRpaCodUff.COD_AMM_AOO= # dove COD_AMM_AOO deve essere sostituito con il codice/i (lowercase) configurato/i sul cliente #############################################
Di seguito è riportata una configurazione di esempio che mostra le properties che obbligatoriamente devono essere configurate all'interno del configuratore di DocWay per CRV.
Non è detto che i valori mostrati nell'esempio siano corretti per l'ambiente di produzione del cliente.
# Parametri di connessione al database Oracle di "sincronizzazione" con API procedimentiApi.riconciliazione.oracle.url=jdbc:oracle:thin:@192.168.101.113:1521:ORAINTSV procedimentiApi.riconciliazione.oracle.username=ITER9 procedimentiApi.riconciliazione.oracle.password=ITER9_PWD # Link al database tramite il quale recuperare l'ID_ATTIVITA in fase di protocollazione da riconciliazione. Se non specificato non verra' # tentato il recupero del dato (incluso nell'URL della chiamata ad API). procedimentiApi.riconciliazione.oracle.jwfDbLink=jwf_dblink # Elenco di stati di conciliazione su API considerati validi per l'impostazione dello stato 2 di annullamento del protocollo su DocWay. Se non # viene indicato alcun valore l'annullamento di un documento comportera' sempre l'aggiornamento dello stato di conciliazione su API, indipendentemente # dallo stato attuale. Separare i valori tramite la virgola. procedimentiApi.riconciliazione.statiValidiPerAnnullamento=0,1,3,5
E' stata aggiunta una property per aggiungere un filtro alla query di riconciliazione
#Lista di filtri da mettere in not in con la query di riconciliazione procedimentiApi.riconciliazione.filtriEsclusione='convocaConsiglioDoc','convocaCommneDocCOM1','convocaCommneDocCOM2', 'convocaCommneDocCOM3','convocaCommneDocCOM4','convocaCommneDocCOM5'
Questa property, se impostata, va a costruire una query del tipo
select * from API_CRVPRO_QUEUE where STATO_CONCILIAZIONE=? and input_name not in (?)
Mettendo nel not in il valore della property
Oltre alla configurazione delle properties è stato aggiunto un diritto da assegnare agli utenti che dovranno gestire lo stato di conciliazione dei documenti su DocWay: DW-DOC-RICONC ('Gestione Riconciliazione', aggiunto alla sezione 'Diritti speciali'). Tale diritto è vincolato all'attivazione della gestione dei procedimenti di API ('enableGestioneProcedimentiApi').
Nel caso in cui il file dei diritti di DocWay sia stato personalizzato per il cliente e quindi è presente una copia del file nella directory del configuratore ([DIR_CONFIGURATORE]/DocWay4-service/base/acl/diritti/docway.xml), occorre verificare la presenza del diritto indicato sopra all'interno del file:
<group label="Diritti speciali"> ... <right cod="DW-DOC-RICONC" label="Gestione Riconciliazione"></right> ... </group>