Skip to content

Commit

Permalink
Completata gestione dei tracciati pendenze in formato CSV.
Browse files Browse the repository at this point in the history
  • Loading branch information
pintorig committed Aug 7, 2019
1 parent 18d6420 commit 6bb1af3
Show file tree
Hide file tree
Showing 61 changed files with 1,739 additions and 329 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ Scenario: configurazione anagrafica base

#### configurazione del giornale degli eventi
Given url backofficeBaseurl
And path 'configurazioni', 'giornale'
And path 'configurazioni'
And headers gpAdminBasicAutenticationHeader
And request read('classpath:configurazione/v1/msg/configurazione_giornale.json')
And request read('classpath:configurazione/v1/msg/configurazione_generale.json')
When method POST
Then assert responseStatus == 200 || responseStatus == 201

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"giornaleEventi" : {
"interfacce": {
"apiEnte": {
"letture": {
"log": "sempre",
"dump": "sempre"
},
"scritture": {
"log": "sempre",
"dump": "sempre"
}
},
"apiPagamento": {
"letture": {
"log": "sempre",
"dump": "sempre"
},
"scritture": {
"log": "sempre",
"dump": "sempre"
}
},
"apiRagioneria": {
"letture": {
"log": "sempre",
"dump": "sempre"
},
"scritture": {
"log": "sempre",
"dump": "sempre"
}
},
"apiBackoffice": {
"letture": {
"log": "sempre",
"dump": "sempre"
},
"scritture": {
"log": "sempre",
"dump": "sempre"
}
},
"apiPagoPA": {
"letture": {
"log": "sempre",
"dump": "sempre"
},
"scritture": {
"log": "sempre",
"dump": "sempre"
}
},
"apiPendenze": {
"letture": {
"log": "sempre",
"dump": "sempre"
},
"scritture": {
"log": "sempre",
"dump": "sempre"
}
}
}
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<#assign csvUtils = class["it.govpay.core.utils.CSVUtils"].getInstance()>
<#assign csvRecord = csvUtils.getCSVRecord($)>
CSVUtils.isEmpty(csvRecord, i)
<#assign csvRecord = csvUtils.getCSVRecord(lineaCsvRichiesta)>
{
"idA2A": ${csvUtils.toJsonValue(csvRecord, 0)},
"idPendenza": ${csvUtils.toJsonValue(csvRecord, 1)},
Expand Down Expand Up @@ -28,79 +27,79 @@ CSVUtils.isEmpty(csvRecord, i)
"provincia": ${csvUtils.toJsonValue(csvRecord, 22)},
"nazione": ${csvUtils.toJsonValue(csvRecord, 23)},
"email": ${csvUtils.toJsonValue(csvRecord, 24)},
"cellulare": ${csvUtils.toJsonValue(csvRecord, 25)},
"cellulare": ${csvUtils.toJsonValue(csvRecord, 25)}
},
"voci": [
{
"idVocePendenza": "${csvUtils.toJsonValue(csvRecord, 26)}",
"importo": "${csvUtils.toJsonValue(csvRecord, 27)}",
"descrizione": "${csvUtils.toJsonValue(csvRecord, 28)}",
"idVocePendenza": ${csvUtils.toJsonValue(csvRecord, 26)},
"importo": ${csvUtils.toJsonValue(csvRecord, 27)},
"descrizione": ${csvUtils.toJsonValue(csvRecord, 28)},
<#if !csvUtils.isEmpty(csvRecord, 33)>
"tipoEntrata": "${csvUtils.toJsonValue(csvRecord, 33)}"
"tipoEntrata": ${csvUtils.toJsonValue(csvRecord, 33)}
<#else>
"ibanAccredito": "${csvUtils.toJsonValue(csvRecord, 29)}",
"ibanAppoggio": "${csvUtils.toJsonValue(csvRecord, 30)}",
"tipoContabilita": "${csvUtils.toJsonValue(csvRecord, 31)}",
"codiceContabilita": "${csvUtils.toJsonValue(csvRecord, 32)}"
"ibanAccredito": ${csvUtils.toJsonValue(csvRecord, 29)},
"ibanAppoggio": ${csvUtils.toJsonValue(csvRecord, 30)},
"tipoContabilita": ${csvUtils.toJsonValue(csvRecord, 31)},
"codiceContabilita": ${csvUtils.toJsonValue(csvRecord, 32)}
</#if>
}
<#if !csvUtils.isEmpty(csvRecord, 34)>
,{
"idVocePendenza": "${csvUtils.toJsonValue(csvRecord, 34)}",
"importo": "${csvUtils.toJsonValue(csvRecord, 35)}",
"descrizione": "${csvUtils.toJsonValue(csvRecord, 36)}",
"idVocePendenza": ${csvUtils.toJsonValue(csvRecord, 34)},
"importo": ${csvUtils.toJsonValue(csvRecord, 35)},
"descrizione": ${csvUtils.toJsonValue(csvRecord, 36)},
<#if !csvUtils.isEmpty(csvRecord, 41)>
"tipoEntrata": "${csvUtils.toJsonValue(csvRecord, 41)}"
"tipoEntrata": ${csvUtils.toJsonValue(csvRecord, 41)}
<#else>
"ibanAccredito": "${csvUtils.toJsonValue(csvRecord, 37)}",
"ibanAppoggio": "${csvUtils.toJsonValue(csvRecord, 38)}",
"tipoContabilita": "${csvUtils.toJsonValue(csvRecord, 39)}",
"codiceContabilita": "${csvUtils.toJsonValue(csvRecord, 40)}"
"ibanAccredito": ${csvUtils.toJsonValue(csvRecord, 37)},
"ibanAppoggio": ${csvUtils.toJsonValue(csvRecord, 38)},
"tipoContabilita": ${csvUtils.toJsonValue(csvRecord, 39)},
"codiceContabilita": ${csvUtils.toJsonValue(csvRecord, 40)}
</#if>
}
</#if>
<#if !csvUtils.isEmpty(csvRecord, 42)>
,{
"idVocePendenza": "${csvUtils.toJsonValue(csvRecord, 42)}",
"importo": "${csvUtils.toJsonValue(csvRecord, 43)}",
"descrizione": "${csvUtils.toJsonValue(csvRecord, 44)}",
"idVocePendenza": ${csvUtils.toJsonValue(csvRecord, 42)},
"importo": ${csvUtils.toJsonValue(csvRecord, 43)},
"descrizione": ${csvUtils.toJsonValue(csvRecord, 44)},
<#if !csvUtils.isEmpty(csvRecord, 49)>
"tipoEntrata": "${csvUtils.toJsonValue(csvRecord, 49)}"
"tipoEntrata": ${csvUtils.toJsonValue(csvRecord, 49)}
<#else>
"ibanAccredito": "${csvUtils.toJsonValue(csvRecord, 45)}",
"ibanAppoggio": "${csvUtils.toJsonValue(csvRecord, 46)}",
"tipoContabilita": "${csvUtils.toJsonValue(csvRecord, 47)}",
"codiceContabilita": "${csvUtils.toJsonValue(csvRecord, 48)}"
"ibanAccredito": ${csvUtils.toJsonValue(csvRecord, 45)},
"ibanAppoggio": ${csvUtils.toJsonValue(csvRecord, 46)},
"tipoContabilita": ${csvUtils.toJsonValue(csvRecord, 47)},
"codiceContabilita": ${csvUtils.toJsonValue(csvRecord, 48)}
</#if>
}
</#if>
<#if !csvUtils.isEmpty(csvRecord, 50)>
,{
"idVocePendenza": "${csvUtils.toJsonValue(csvRecord, 50)}",
"importo": "${csvUtils.toJsonValue(csvRecord, 51)}",
"descrizione": "${csvUtils.toJsonValue(csvRecord, 52)}",
"idVocePendenza": ${csvUtils.toJsonValue(csvRecord, 50)},
"importo": ${csvUtils.toJsonValue(csvRecord, 51)},
"descrizione": ${csvUtils.toJsonValue(csvRecord, 52)},
<#if !csvUtils.isEmpty(csvRecord, 57)>
"tipoEntrata": "${csvUtils.toJsonValue(csvRecord, 57)}"
"tipoEntrata": ${csvUtils.toJsonValue(csvRecord, 57)}
<#else>
"ibanAccredito": "${csvUtils.toJsonValue(csvRecord, 53)}",
"ibanAppoggio": "${csvUtils.toJsonValue(csvRecord, 54)}",
"tipoContabilita": "${csvUtils.toJsonValue(csvRecord, 55)}",
"codiceContabilita": "${csvUtils.toJsonValue(csvRecord, 56)}"
"ibanAccredito": ${csvUtils.toJsonValue(csvRecord, 53)},
"ibanAppoggio": ${csvUtils.toJsonValue(csvRecord, 54)},
"tipoContabilita": ${csvUtils.toJsonValue(csvRecord, 55)},
"codiceContabilita": ${csvUtils.toJsonValue(csvRecord, 56)}
</#if>
}
</#if>
<#if !csvUtils.isEmpty(csvRecord, 58)>
,{
"idVocePendenza": "${csvUtils.toJsonValue(csvRecord, 58)}",
"importo": "${csvUtils.toJsonValue(csvRecord, 59)}",
"descrizione": "${csvUtils.toJsonValue(csvRecord, 60)}",
"idVocePendenza": ${csvUtils.toJsonValue(csvRecord, 58)},
"importo": ${csvUtils.toJsonValue(csvRecord, 59)},
"descrizione": ${csvUtils.toJsonValue(csvRecord, 60)},
<#if !csvUtils.isEmpty(csvRecord, 85)>
"tipoEntrata": "${csvUtils.toJsonValue(csvRecord, 65)}"
"tipoEntrata": ${csvUtils.toJsonValue(csvRecord, 65)}
<#else>
"ibanAccredito": "${csvUtils.toJsonValue(csvRecord, 61)}",
"ibanAppoggio": "${csvUtils.toJsonValue(csvRecord, 62)}",
"tipoContabilita": "${csvUtils.toJsonValue(csvRecord, 63)}",
"codiceContabilita": "${csvUtils.toJsonValue(csvRecord, 64)}"
"ibanAccredito": ${csvUtils.toJsonValue(csvRecord, 61)},
"ibanAppoggio": ${csvUtils.toJsonValue(csvRecord, 62)},
"tipoContabilita": ${csvUtils.toJsonValue(csvRecord, 63)},
"codiceContabilita": ${csvUtils.toJsonValue(csvRecord, 64)}
</#if>
}
</#if>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<#assign idA2A = applicazione.getCodApplicazione() />
<#assign idPendenza = versamento.getCodVersamentoEnte() />
<#assign idDominio = dominio.getCodDominio() />
<#assign tipoPendenza = versamento.getIdTipoPendenza() />
<#assign tipoPendenza = idTipoVersamento />
<#assign numeroAvviso = versamento.getNumeroAvviso()! />
<#if numeroAvviso?has_content>
<#assign pdfAvviso = idDominio + "_" + numeroAvviso + ".pdf" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
idA2A,idPendenza,idDominio,tipoPendenza,idUnitaOperativa,causale,annoRiferimento,cartellaPagamento,datiAllegati,direzione,divisione,importo,dataValidita,dataScadenza,tassonomiaAvviso,tipoSoggettoPagatore,identificativoPagatore,anagraficaPagatore,indirizzoPagatore,civicoPagatore,capPagatore,localitaPagatore,provinciaPagatore,nazionePagatore,emailPagatore,cellularePagatore,idVoce1,importoVoce1,descrizioneVoce1,ibanAccreditoVoce1,ibanAppoggioVoce1,tipoContabilitaVoce1,codiceContabilitaVoce1,tipoVoce1,idVoce2,importoVoce2,descrizioneVoce2,ibanAccreditoVoce2,ibanAppoggioVoce2,tipoContabilitaVoce2,codiceContabilitaVoce2,tipoVoce2,idVoce3,importoVoce3,descrizioneVoce3,ibanAccreditoVoce3,ibanAppoggioVoce3,tipoContabilitaVoce3,codiceContabilitaVoce3,tipoVoce3,idVoce4,importoVoce4,descrizioneVoce4,ibanAccreditoVoce4,ibanAppoggioVoce4,tipoContabilitaVoce4,codiceContabilitaVoce4,tipoVoce4,idVoce5,importoVoce5,descrizioneVoce5,ibanAccreditoVoce5,ibanAppoggioVoce5,tipoContabilitaVoce5,codiceContabilitaVoce5,tipoVoce5
{idA2A},{idPendenza},{idDominio},{tipoPendenza},,Tassa Passo Carrabile n. abc00000,2010,CRT-001,{ ""foo"": ""baz"", ""bar"": true },,,61.25,2019-12-30,2020-12-30,Servizi erogati da altri enti,F,DRCGNN12A46A326K,Giovanna D'Arco,Viale Monterosa,11Bis,340,Roma,RM,IT,laPulzelladOrleans@yahoo.fr,,1,61.25,Tassa Passo Carrabile n. abc00000,{ibanAccredito},,ALTRO,CodiceContabilita,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
{idA2A},{idPendenza},{idDominio},{tipoPendenza},,Tassa Passo Carrabile n. abc00000,2010,CRT-001,"{ ""foo"": ""baz"", ""bar"": true }",,,61.25,2019-12-30,2020-12-30,Servizi erogati da altri enti,F,DRCGNN12A46A326K,Giovanna D'Arco,Viale Monterosa,11Bis,340,Roma,RM,IT,laPulzelladOrleans@yahoo.fr,,1,61.25,Tassa Passo Carrabile n. abc00000,{ibanAccredito},,ALTRO,CodiceContabilita,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,28 @@ Background:
* callonce read('classpath:utils/common-utils.feature')
* callonce read('classpath:configurazione/v1/anagrafica.feature')

* def freemarker_request = encodeBase64InputStream(read('msg/freemarker-request.ftl'))
* def freemarker_response = encodeBase64InputStream(read('msg/freemarker-response.ftl'))
* def patchValue =
"""
{
responseHeader: "idA2A,idPendenza,idDominio,tipoPendenza,numeroAvviso,pdfAvviso,tipoSoggettoPagatore,identificativoPagatore,anagraficaPagatore,indirizzoPagatore,civicoPagatore,capPagatore,localitaPagatore,provinciaPagatore,nazionePagatore,emailPagatore,cellularePagatore",
freemarkerRequest: null,
freemarkerResponse: null
}
"""

* set patchValue.freemarkerRequest = encodeBase64InputStream(read('msg/freemarker-request.ftl'))
* set patchValue.freemarkerResponse = encodeBase64InputStream(read('msg/freemarker-response.ftl'))

Given url backofficeBaseurl
And path 'configurazione'
And path '/configurazioni'
And headers basicAutenticationHeader
And request =
And request
"""
[
{
op: "replace",
path: "/tracciato_csv",
value: {
responseHeader: "idA2A,idPendenza,idDominio,tipoPendenza,numeroAvviso,pdfAvviso,tipoSoggettoPagatore,identificativoPagatore,anagraficaPagatore,emailPagatore,indirizzoPagatore,civicoPagatore,capPagatore,localitaPagatore,provinciaPagatore"
freemarkerRequest: freemarker_request,
freemarkerResponse: freemarker_response
}
op: "REPLACE",
path: "/tracciatoCsv",
value: #(patchValue)
}
]
"""
Expand All @@ -41,8 +46,8 @@ Scenario: Pagamento pendenza precaricata anonimo
* def tracciato = replace(tracciato,"{tipoPendenza}", codEntrataSegreteria);

Given url backofficeBaseurl
And path 'pendenze', 'tracciati'
And header Content-type = text/csv
And path 'pendenze', 'tracciati', idDominio, codEntrataSegreteria
And headers { 'Content-Type' : 'text/csv' }
And headers basicAutenticationHeader
And request tracciato
When method post
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,14 +53,18 @@ public void handleMessage(Message message) throws Fault {
IContext context = ContextThreadLocal.get();
GpContext appContext = (GpContext) context.getApplicationContext();
EventoContext eventoCtx = appContext.getEventoCtx();
String httpMethodS = eventoCtx.getMethod();

Exchange exchange = message.getExchange();

Message inMessage = exchange.getInMessage();
final LogEvent eventRequest = new DefaultLogEventMapper().map(inMessage);
String url = eventoCtx.getUrl() != null ? eventoCtx.getUrl() : eventRequest.getAddress();
String httpMethodS = eventoCtx.getMethod() != null ? eventoCtx.getMethod() : eventRequest.getHttpMethod();
String principal = eventoCtx.getPrincipal()!= null ? eventoCtx.getPrincipal() : eventRequest.getPrincipal();

HttpMethodEnum httpMethod = GiornaleEventiUtilities.getHttpMethod(httpMethodS);

this.log.debug("Log Evento API: ["+this.giornaleEventiConfig.getApiName()+"] Method ["+httpMethodS+"], Url ["+eventoCtx.getUrl()+"], Esito ["+eventoCtx.getEsito()+"]");
this.log.debug("Log Evento API: ["+this.giornaleEventiConfig.getApiName()+"] Method ["+httpMethodS+"], Url ["+url+"], Esito ["+eventoCtx.getEsito()+"]");

GdeInterfaccia configurazioneInterfaccia = GiornaleEventiUtilities.getConfigurazioneGiornaleEventi(context, this.configurazioneDAO, this.giornaleEventiConfig);

Expand All @@ -80,13 +84,14 @@ public void handleMessage(Message message) throws Fault {
Date dataIngresso = eventoCtx.getDataRichiesta();
Date dataUscita = new Date();
// lettura informazioni dalla richiesta
final LogEvent eventRequest = new DefaultLogEventMapper().map(inMessage);

DettaglioRichiesta dettaglioRichiesta = new DettaglioRichiesta();

dettaglioRichiesta.setPrincipal(eventoCtx.getPrincipal());

dettaglioRichiesta.setPrincipal(principal);
dettaglioRichiesta.setUtente(eventoCtx.getUtente());
dettaglioRichiesta.setUrl(eventoCtx.getUrl());
dettaglioRichiesta.setMethod(eventoCtx.getMethod());
dettaglioRichiesta.setUrl(url);
dettaglioRichiesta.setMethod(httpMethodS);
dettaglioRichiesta.setDataOraRichiesta(dataIngresso);
dettaglioRichiesta.setHeadersFromMap(eventRequest.getHeaders());

Expand Down

0 comments on commit 6bb1af3

Please sign in to comment.