6. Implementazione dei WS GISFO-XME e XME-GISFO
due nuovi WS: WS1 da GISFO a XME per chiedere le giornate, WS2 da XME a GISFO per inviare le giornate
Come anticipato, sarà necessario implementare una serie di Web Service per gestire tutte le comunicazioni da GisFo a XME e viceversa. In particolare, XME dovrà esporre un Web Service volto all' invio dei dati relativi alle giornate lavori e alle tratte da inserire in modo automatico :
- WS1 da XME a GisFo per invio dati
Viceversa, GisFo dovrà esporre un Web Service volto alla ricezione delle giornate lavori inviate da XME, ossia:
- WS2 da GisFo a XME per Ricezione ed Esito GDL
Successivamente si descrivono nel dettaglio le mimiche, la struttura e le modalità di gestione degli errori di ciascun Web Service. Alla fine del capitolo sono riepilogati i possibili errori con relativo codice.
WS1 per Invio dati Giornale Lavori
Per ogni transazione, si avrà una comunicazione sul WS 1 a seguito della richiesta dell'operatore, evento che definisce la data di inizio Transazione.
Il WS esposto sarà di tipo RESTful, metodo HTTP POST, raggiungibile tramite il seguente URL:
La struttura dell’oggetto json inserito nel body dell'invio del WS 1 dovrà essere analoga alla seguente:
{
"id_transaction":1234,
"tratta_g4w": [
{
"nome_tratta": "ABI2ARIELLI00000",
"giornate":[
{
"data_gl": "2023-02-06",
"stato_cantiere":"Attivo",
"motivo_stato_cantiere": null,
"meteo": "Sereno",
"presenza_archeologo": true,
"ore_lavorate_arch": 1.5,
"cno":[
{
"nome_cno": "CNO1",
"lavorazioni":[
{
"lavorazione": "Minitrincea",
"note_lavorazione": "Via Poggibonsi",
}
]
}
],
"lavoratori":[
{
"nome":"Federico",
"cognome":"Rossi",
"cod_fisc":"FRTRSS90M111L",
"impresa":"12339760964",
"dettagli_lavoratore":[
{
"qualifica_lavoratore": "Operaio Comune",
"tipologia_lavoratore": "Distacco",
"ore_lavorate": 8
}
]
}
]
}
]
}
]
}
| Tipologia Campo | Lunghezza Campo Ammessa | Obbligatorio | |
| ID_Transaction |
SI Tratta-progetto Testo 600 SI CNO Testo SI Lavorazioni Testo SI Note Lavorazioni Testo NO Data GL Date SI Stato Cantiere Testo SI Motivo (Stato Cantiere: Non Attivo) Testo NO Meteo Testo SI Presenza Archeologo Bool NO Ore lavorate Archeologo Intero SI se presenza archologo 'SI' Nome Lavoratore Testo 100 SI Cognome Lavoratore Testo 100 SI Codice fiscale Lavoratore Testo 100 SI Impresa esecutrice Lavoratore Testo SI Qualifica Lavoratore Testo SI Tipologia Lavoratore Testo SI Ore lavorate Lavoratore Intero SI
Per la parte riguardante la presenza archeologo, il controllo sarà tale che in caso il campo sia null GisFo compilerà il campo con NO.
WS2
{
"id_transaction":1234,
"tratta_g4w": [
{
"nome_tratta": "ABI2ARIELLI00000" ,
"esito_tratta": "KO",
"giornate":[
{
"data_gl": "2023-02-06",
"esito": "OK",
"motivazione": ""
}
{
"data_gl": "2023-02-07",
"esito": "OK",
"motivazione": "Inserimento mezzi"
}
{
"data_gl": "2023-02-08",
"esito": "KO",
"motivazione": "Superamento ore Lavoratore,Ore Archeologo non compatibili,ecc"
}
{
"data_gl": "2023-02-09",
"esito": "Non Inserito",
"motivazione": "Giornata presente e approvata DL"
}
]
}
]
}
5.6 Elenco codici errore previsti
A valle della descrizione dei singoli Web Service, si riepiloga nella seguente tabella l’elenco dei possibili errori previsti in risposta alle comunicazioni ricevute da Geo4Wip.
error_code |
error |
|
ERR_WORKORDER_NOTFOUND |
identificativo progetto non presente sul sistema |
|
ERR_INVALID_FIELD |
formato non valido/campo obbligatorio mancante per il campo nomecampo |
|
ERR_INVALID_VALUE |
valore non ammesso per il campo nomecampo |
|
ERR_UNEXPECTED_EVENT |
notifica non coerente con il flusso |
|
ERR_REQUESTID_NOTFOUND |
identificativo richiesta idrichiesta non presente a sistema |
|
ERR_UNEXPECTED_DATE |
nomecampodata non coerente con i dati a sistema |
|
ERR_GENERIC |
errore generico |
Verranno eventualmente aggiunti gli errori previsti da Geo4Wip in risposta alle Richieste provenienti da GISFO.