Skip to content

Commit

Permalink
Corretti seguenti problemi emersi dall'esecuzione della testsuite:
Browse files Browse the repository at this point in the history
Salvataggio su db idDominio nella tabella singoliversamenti per pendenze multibeneficiario.
Aggiunta versione RPT alla ricerca delle RPT pendenti.
Corretti test di patch RT per supportare le causali RFS con gli spazi.
  • Loading branch information
pintorig committed Aug 4, 2021
1 parent b12e80b commit b62d202
Show file tree
Hide file tree
Showing 6 changed files with 44 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,7 @@ And headers {'Accept' : 'application/xml'}
When method get
Then status 200

* def iuvRTFormattata = formattaCausaleRFS(iuvRT)
* def newRt = response
* remove newRt /RT/datiPagamento
* set newRt /RT =
Expand All @@ -235,14 +236,14 @@ Then status 200
<ns2:singoloImportoPagato>109.99</ns2:singoloImportoPagato>
<ns2:dataEsitoSingoloPagamento>2020-01-10+01:00</ns2:dataEsitoSingoloPagamento>
<ns2:identificativoUnivocoRiscossione>#('idRisc-' + iuvRT)</ns2:identificativoUnivocoRiscossione>
<ns2:causaleVersamento>#('/RFS/' + iuvRT + '/109.99/TXT/Diritti e segreteria')</ns2:causaleVersamento>
<ns2:causaleVersamento>#('/RFS/' + iuvRTFormattata + '/109.99/TXT/Diritti e segreteria')</ns2:causaleVersamento>
<ns2:datiSpecificiRiscossione>9/SEGRETERIA</ns2:datiSpecificiRiscossione>
</ns2:datiSingoloPagamento>
<ns2:datiSingoloPagamento>
<ns2:singoloImportoPagato>16.00</ns2:singoloImportoPagato>
<ns2:dataEsitoSingoloPagamento>2020-01-10+01:00</ns2:dataEsitoSingoloPagamento>
<ns2:identificativoUnivocoRiscossione>#('idRisc-' + iuvRT)</ns2:identificativoUnivocoRiscossione>
<ns2:causaleVersamento>#('/RFS/' + iuvRT + '/16.00/TXT/Marca da bollo')</ns2:causaleVersamento>
<ns2:causaleVersamento>#('/RFS/' + iuvRTFormattata + '/16.00/TXT/Marca da bollo')</ns2:causaleVersamento>
<ns2:datiSpecificiRiscossione>9/MBT</ns2:datiSpecificiRiscossione>
<ns2:allegatoRicevuta>
<ns2:tipoAllegatoRicevuta>BD</ns2:tipoAllegatoRicevuta>
Expand Down Expand Up @@ -423,6 +424,7 @@ And headers {'Accept' : 'application/xml'}
When method get
Then status 200

* def iuvRTFormattata = formattaCausaleRFS(iuvRT)
* def newRt = response
* remove newRt /RT/datiPagamento
* set newRt /RT =
Expand All @@ -436,14 +438,14 @@ Then status 200
<ns2:singoloImportoPagato>109.99</ns2:singoloImportoPagato>
<ns2:dataEsitoSingoloPagamento>2020-01-10+01:00</ns2:dataEsitoSingoloPagamento>
<ns2:identificativoUnivocoRiscossione>#('idRisc-' + iuvRT)</ns2:identificativoUnivocoRiscossione>
<ns2:causaleVersamento>#('/RFS/' + iuvRT + '/109.99/TXT/Diritti e segreteria modificato')</ns2:causaleVersamento>
<ns2:causaleVersamento>#('/RFS/' + iuvRTFormattata + '/109.99/TXT/Diritti e segreteria modificato')</ns2:causaleVersamento>
<ns2:datiSpecificiRiscossione>9/SEGRETERIA</ns2:datiSpecificiRiscossione>
</ns2:datiSingoloPagamento>
<ns2:datiSingoloPagamento>
<ns2:singoloImportoPagato>16.00</ns2:singoloImportoPagato>
<ns2:dataEsitoSingoloPagamento>2020-01-10+01:00</ns2:dataEsitoSingoloPagamento>
<ns2:identificativoUnivocoRiscossione>#('idRisc-' + iuvRT)</ns2:identificativoUnivocoRiscossione>
<ns2:causaleVersamento>#('/RFS/' + iuvRT + '/16.00/TXT/Marca da bollo')</ns2:causaleVersamento>
<ns2:causaleVersamento>#('/RFS/' + iuvRTFormattata + '/16.00/TXT/Marca da bollo')</ns2:causaleVersamento>
<ns2:datiSpecificiRiscossione>9/MBT</ns2:datiSpecificiRiscossione>
<ns2:allegatoRicevuta>
<ns2:tipoAllegatoRicevuta>BD</ns2:tipoAllegatoRicevuta>
Expand Down Expand Up @@ -538,6 +540,7 @@ And headers {'Accept' : 'application/xml'}
When method get
Then status 200

* def iuvRTFormattata = formattaCausaleRFS(iuvRT)
* def newRt = response
* remove newRt /RT/datiPagamento
* set newRt /RT =
Expand All @@ -551,14 +554,14 @@ Then status 200
<ns2:singoloImportoPagato>109.99</ns2:singoloImportoPagato>
<ns2:dataEsitoSingoloPagamento>2020-01-10+01:00</ns2:dataEsitoSingoloPagamento>
<ns2:identificativoUnivocoRiscossione>#('idRisc-' + iuvRT)</ns2:identificativoUnivocoRiscossione>
<ns2:causaleVersamento>#('/RFS/' + iuvRT + '/109.98/TXT/Diritti e segreteria')</ns2:causaleVersamento>
<ns2:causaleVersamento>#('/RFS/' + iuvRTFormattata + '/109.98/TXT/Diritti e segreteria')</ns2:causaleVersamento>
<ns2:datiSpecificiRiscossione>9/SEGRETERIA</ns2:datiSpecificiRiscossione>
</ns2:datiSingoloPagamento>
<ns2:datiSingoloPagamento>
<ns2:singoloImportoPagato>16.00</ns2:singoloImportoPagato>
<ns2:dataEsitoSingoloPagamento>2020-01-10+01:00</ns2:dataEsitoSingoloPagamento>
<ns2:identificativoUnivocoRiscossione>#('idRisc-' + iuvRT)</ns2:identificativoUnivocoRiscossione>
<ns2:causaleVersamento>#('/RFS/' + iuvRT + '/16.00/TXT/Marca da bollo')</ns2:causaleVersamento>
<ns2:causaleVersamento>#('/RFS/' + iuvRTFormattata + '/16.00/TXT/Marca da bollo')</ns2:causaleVersamento>
<ns2:datiSpecificiRiscossione>9/MBT</ns2:datiSpecificiRiscossione>
<ns2:allegatoRicevuta>
<ns2:tipoAllegatoRicevuta>BD</ns2:tipoAllegatoRicevuta>
Expand Down Expand Up @@ -590,7 +593,7 @@ And request patchRequest
When method patch
Then assert responseStatus == 422
* match response contains { categoria: 'RICHIESTA', codice: 'SEMANTICA', descrizione: 'Richiesta non valida' }
* match response.dettaglio contains 'RT non valida: CausaleVersamento non corrisponde [Atteso:"/RFS/' + iuvRT + '/109.99" Ricevuto:"/RFS/' + iuvRT + '/109.98"]'
* match response.dettaglio contains 'RT non valida: CausaleVersamento non corrisponde [Atteso:"/RFS/' + iuvRTFormattata + '/109.99" Ricevuto:"/RFS/' + iuvRTFormattata + '/109.98"]'

# controllo che lo stato del pagamento non sia cambiato e la RPT sia in stato rifiutato

Expand All @@ -615,5 +618,5 @@ And headers gpAdminBasicAutenticationHeader
When method get
Then status 200
And match response.stato == 'RT_RIFIUTATA_PA'
And match response.dettaglioStato contains 'CausaleVersamento non corrisponde [Atteso:"/RFS/' + iuvRT + '/109.99" Ricevuto:"/RFS/' + iuvRT + '/109.98"]'
And match response.dettaglioStato contains 'CausaleVersamento non corrisponde [Atteso:"/RFS/' + iuvRTFormattata + '/109.99" Ricevuto:"/RFS/' + iuvRTFormattata + '/109.98"]'

12 changes: 11 additions & 1 deletion integration-test/src/test/java/utils/common-utils.feature
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ Scenario:
}
"""

* def estraiIuvDallaCausale =
* def estraiIuvDallaCausale =
"""
function(string){
var IncassoUtils = Java.type('utils.java.IncassoUtils');
Expand All @@ -171,3 +171,13 @@ Scenario:
}
"""

* def formattaCausaleRFS =
"""
function(string){
var IncassoUtils = Java.type('utils.java.IncassoUtils');
var String = Java.type('java.lang.String');
var s = new String(string);
return IncassoUtils.formattaCausaleRFS(s);
}
"""

4 changes: 4 additions & 0 deletions integration-test/src/test/java/utils/java/IncassoUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,8 @@ public static String getCausaleDaDescrizioneIncasso(String descrizione) {

return "";
}

public static String formattaCausaleRFS(String iuv) {
return iuv.replaceAll("(.{4})", "$1 ");
}
}
6 changes: 5 additions & 1 deletion jars/core/src/main/java/it/govpay/core/utils/RptBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ private String buildCausaleSingoloVersamento(String iuv, BigDecimal importoTotal
if(IuvUtils.checkISO11640(iuv)) {
sb.append("/RFS/");
// Issue #366. Formato causale RFS prevede uno spazio ogni 4 cifre dello IUV
sb.append(iuv.replaceAll("(.{4})", "$1 ").trim());
sb.append(formattaCausaleRFS(iuv).trim());
}else {
sb.append("/RFB/");
sb.append(iuv);
Expand All @@ -354,6 +354,10 @@ private String buildCausaleSingoloVersamento(String iuv, BigDecimal importoTotal
return sb.toString();
}

public static String formattaCausaleRFS(String iuv) {
return iuv.replaceAll("(.{4})", "$1 ");
}

private Anagrafica toOrm(CtSoggettoVersante soggettoVersante) {
if(soggettoVersante == null) return null;
Anagrafica anagrafica = new Anagrafica();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import it.govpay.model.SingoloVersamento.StatoSingoloVersamento;
import it.govpay.model.SingoloVersamento.TipoBollo;
import it.govpay.model.Tributo.TipoContabilita;
import it.govpay.orm.IdDominio;
import it.govpay.orm.IdIbanAccredito;
import it.govpay.orm.IdTributo;
import it.govpay.orm.IdVersamento;
Expand Down Expand Up @@ -70,6 +71,8 @@ public static SingoloVersamento toDTO(it.govpay.orm.SingoloVersamento vo) throws
dto.setIndiceDati(vo.getIndiceDati());
dto.setDescrizioneCausaleRPT(vo.getDescrizioneCausaleRPT());
dto.setContabilita(vo.getContabilita());
if(vo.getIdDominio() != null)
dto.setIdDominio(vo.getIdDominio().getId());

return dto;
}
Expand Down Expand Up @@ -116,6 +119,12 @@ public static it.govpay.orm.SingoloVersamento toVO(SingoloVersamento dto) {
vo.setDescrizioneCausaleRPT(dto.getDescrizioneCausaleRPT());
vo.setContabilita(dto.getContabilita());

if(dto.getIdDominio() != null) {
IdDominio idDominio = new IdDominio();
idDominio.setId(dto.getIdDominio());
vo.setIdDominio(idDominio);
}

return vo;
}
}
4 changes: 4 additions & 0 deletions jars/orm/src/main/java/it/govpay/bd/pagamento/RptBD.java
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,10 @@ public List<Rpt> getRptPendenti(List<String> codDomini) throws ServiceException
exp.notEquals(RPT.model().STATO, Rpt.StatoRpt.RPT_ERRORE_INVIO_A_PSP.toString());
exp.notEquals(RPT.model().STATO, Rpt.StatoRpt.RT_ACCETTATA_PA.toString());

// questa procedura di recupero e' disponibile solo per le RPT SANP 2.3
exp.and();
exp.equals(RPT.model().VERSIONE, it.govpay.model.Rpt.Versione.SANP_230.toString());

List<RPT> findAll = this.getRptService().findAll(exp);
return RptConverter.toDTOList(findAll);
} catch(NotImplementedException e) {
Expand Down

0 comments on commit b62d202

Please sign in to comment.