From d1c394eaac4ab338b5475d0804ca3a7640bb4319 Mon Sep 17 00:00:00 2001 From: vincenzofariello Date: Tue, 29 Oct 2024 10:26:28 +0100 Subject: [PATCH] Fix DBCFX_SM_694 - TSSC: Anomalia generata dal Ticket n. 000000001038099 - Aggiornato calcolo Data Silenzio Assenso da CCC (DFW) e Data Scadenza Codice Sessione (scadenza richiesta Del.82) --- .../gnp/manager/RequestManagerDonor.java | 2 +- .../gnp/manager/RequestManagerDonor82.java | 38 ++++++++++++------- .../gnp/obj/ApplicationCostants.java | 17 ++++++++- .../formatcontroller/now/NowController.java | 5 ++- 4 files changed, 44 insertions(+), 18 deletions(-) diff --git a/gnpdev/dbcfx/src/it/valueteam/gnp/manager/RequestManagerDonor.java b/gnpdev/dbcfx/src/it/valueteam/gnp/manager/RequestManagerDonor.java index d3660f02..8df2c697 100644 --- a/gnpdev/dbcfx/src/it/valueteam/gnp/manager/RequestManagerDonor.java +++ b/gnpdev/dbcfx/src/it/valueteam/gnp/manager/RequestManagerDonor.java @@ -148,7 +148,7 @@ public class RequestManagerDonor { int statoDa = richiesta.getStato().intValue(); int check = StateManagerDonor.checkTransition(richiesta.getIdRichiesta(), StatoRichiestaDon.ACCETTATA); if (check != StateManagerDonor.TRANSIZIONE_NON_POSSIBILE) { - // CALCOLA DATA SCADENZA ALLA MEZZANOTTE DEL 16� GIORNO + // CALCOLA DATA SCADENZA ALLA MEZZANOTTE DEL 16-esimo GIORNO Date dataScadenza = DateUtils.aggiungiGiorniLavorativiTodateImpostaOra(new Date(), 16, 0, 0, 0); richiesta.setStato((long) StatoRichiestaDon.ACCETTATA); richiesta.setDataScadenza(dataScadenza); diff --git a/gnpdev/dbcfx/src/it/valueteam/gnp/manager/RequestManagerDonor82.java b/gnpdev/dbcfx/src/it/valueteam/gnp/manager/RequestManagerDonor82.java index f87e9402..9fa10096 100644 --- a/gnpdev/dbcfx/src/it/valueteam/gnp/manager/RequestManagerDonor82.java +++ b/gnpdev/dbcfx/src/it/valueteam/gnp/manager/RequestManagerDonor82.java @@ -116,16 +116,27 @@ public class RequestManagerDonor82 { richiesteDonor.setCodiceOrdineRecipient(oloRichiesteDonorIn.getCodiceOrdineRecipient()); richiesteDonor.setStato((long) StatoRichiestaDon.ACQUISITA); richiesteDonor.setDataRicezione(oloRichiesteDonorIn.getDataRicezione()); - //Data Fine Wait - Calcolata con DataRicezione + 24H lavorative - richiesteDonor.setDfw(DateUtils.aggiungi24OreLavorative(oloRichiesteDonorIn.getDataRicezione())); - //Calcolata con DataRicezione + 17 giorni lavorativi - richiesteDonor.setDataScadenza(DateUtils.aggiungiGiorniLavorativiTodateImpostaOra - (oloRichiesteDonorIn.getDataRicezione(), - ApplicationCostants.GIORNI_CALCOLO_DATA_SCADENZA, - ApplicationCostants.ORA_CALCOLO_DATA_SCADENZA, - ApplicationCostants.MINUTI_CALCOLO_DATA_SCADENZA, - ApplicationCostants.SECONDI_CALCOLO_DATA_SCADENZA) + + //Data Fine Wait (o Data di Silenzio Assenso) - Calcolata con DataRicezione + 2gg lavorativi entro le 18:00 + richiesteDonor.setDfw(DateUtils.aggiungiGiorniLavorativiTodateImpostaOra( + oloRichiesteDonorIn.getDataRicezione(), + ApplicationCostants.GIORNI_CALCOLO_DFW_DEL_82, + ApplicationCostants.ORA_CALCOLO_DFW_DEL_82, + ApplicationCostants.MINUTI_CALCOLO_DFW_DEL_82, + ApplicationCostants.SECONDI_CALCOLO_DFW_DEL_82 + ) ); + + //Data Scadenza Codice Sessione - Calcolata con DataRicezione + 15 giorni lavorativi + richiesteDonor.setDataScadenza(DateUtils.aggiungiGiorniLavorativiTodateImpostaOra( + oloRichiesteDonorIn.getDataRicezione(), + ApplicationCostants.GIORNI_CALCOLO_DATA_SCADENZA_D82, + ApplicationCostants.ORA_CALCOLO_DATA_SCADENZA_D82, + ApplicationCostants.MINUTI_CALCOLO_DATA_SCADENZA_D82, + ApplicationCostants.SECONDI_CALCOLO_DATA_SCADENZA_D82 + ) + ); + richiesteDonor.setCor(oloRichiesteDonorIn.getCor()); richiesteDonor.setCos(oloRichiesteDonorIn.getCos()); richiesteDonor.setDn2(oloRichiesteDonorIn.getDn2()); @@ -158,11 +169,12 @@ public class RequestManagerDonor82 { int statoDa = richiesta.getStato().intValue(); int check = StateManagerDonor.checkTransition(richiesta.getIdRichiesta(), StatoRichiestaDon.ACCETTATA); if (check != StateManagerDonor.TRANSIZIONE_NON_POSSIBILE) { - // CALCOLA DATA SCADENZA ALLA MEZZANOTTE DEL 16-esimo GIORNO log.write("9999", "avanzaStatoInAccettata richiestaD82:" + richiesta.getIdRichiesta()); - Date dataScadenza = DateUtils.aggiungiGiorniLavorativiTodateImpostaOra(new Date(), 16, 0, 0, 0); + + // CALCOLA DATA SCADENZA ALLA MEZZANOTTE DEL 16-esimo GIORNO + //Date dataScadenza = DateUtils.aggiungiGiorniLavorativiTodateImpostaOra(new Date(), 16, 0, 0, 0); richiesta.setStato((long) StatoRichiestaDon.ACCETTATA); - richiesta.setDataScadenza(dataScadenza); + //richiesta.setDataScadenza(dataScadenza); ricDonorDAO.merge(richiesta); logStoricoPassaggioStato(richiesta.getIdRichiesta(), statoDa, StatoRichiestaDon.ACCETTATA, log); @@ -179,7 +191,7 @@ public class RequestManagerDonor82 { GnpRichiesteDonor82 altraR = (GnpRichiesteDonor82) anAltreRichieste; statoDa = altraR.getStato().intValue(); altraR.setStato((long) StatoRichiestaDon.SCADUTA); - altraR.setDataScadenza(dataScadenza); + altraR.setDataScadenza(richiesta.getDataScadenza()); // e non dataScadenza ricalcolata come in as-is ricDonorDAO.merge(altraR); logStoricoPassaggioStato(altraR.getIdRichiesta(), statoDa, StatoRichiestaDon.SCADUTA, log); } diff --git a/gnpdev/dbcfx/src/it/valueteam/gnp/obj/ApplicationCostants.java b/gnpdev/dbcfx/src/it/valueteam/gnp/obj/ApplicationCostants.java index 18b81361..3df71370 100644 --- a/gnpdev/dbcfx/src/it/valueteam/gnp/obj/ApplicationCostants.java +++ b/gnpdev/dbcfx/src/it/valueteam/gnp/obj/ApplicationCostants.java @@ -226,12 +226,25 @@ public class ApplicationCostants { public static final int RICHIESTE_CRMWS = 50; } - // Giorni lavorativi aggiunti alla data ricezione per il calcolo della - // data scadenza + // Giorni lavorativi aggiunti alla data ricezione per il calcolo della data scadenza public static final int GIORNI_CALCOLO_DATA_SCADENZA = 17; public static final int ORA_CALCOLO_DATA_SCADENZA = 0; public static final int MINUTI_CALCOLO_DATA_SCADENZA = 0; public static final int SECONDI_CALCOLO_DATA_SCADENZA = 0; + + // Giorni lavorativi aggiunti alla data ricezione per il calcolo della data scadenza del codice sessione in Del. 82 + public static final int GIORNI_CALCOLO_DATA_SCADENZA_D82 = 15; + public static final int ORA_CALCOLO_DATA_SCADENZA_D82 = 0; + public static final int MINUTI_CALCOLO_DATA_SCADENZA_D82 = 0; + public static final int SECONDI_CALCOLO_DATA_SCADENZA_D82 = 0; + + // Giorni lavorativi, Ora, minuti e secondi aggiunti alla data ricezione per il calcolo della data di fine wait (DFW) + // in Delibera 82 (Business e Consumer) + public static final int GIORNI_CALCOLO_DFW_DEL_82 = 2; + public static final int ORA_CALCOLO_DFW_DEL_82 = 18; + public static final int MINUTI_CALCOLO_DFW_DEL_82 = 0; + public static final int SECONDI_CALCOLO_DFW_DEL_82 = 0; + public static String getDescErrorOlo(String codError) throws UnsupportedOperationException{ String ret = null; diff --git a/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/formatcontroller/now/NowController.java b/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/formatcontroller/now/NowController.java index 6a0fa463..bafeee36 100644 --- a/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/formatcontroller/now/NowController.java +++ b/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/formatcontroller/now/NowController.java @@ -393,8 +393,9 @@ public class NowController extends SystemController { gnpNowDonorOut.setEsito("KO"); gnpNowDonorOut.setCodiceMotivazione("Y18"); gnpNowDonorOut.setMotivazione("Campo Directory Number 10 ERRATO"); - } else if (richiestaD82.getStato().intValue() == 7 || richiestaD82.getStato().intValue() == 8 - || richiestaD82.getStato().intValue() == 9) { + } else if ( richiestaD82.getStato().intValue() == StatoRichiestaDon.SCADUTA || + richiestaD82.getStato().intValue() == StatoRichiestaDon.PRESA_IN_CARICO_KO || + richiestaD82.getStato().intValue() == StatoRichiestaDon.RIFIUTATA) { gnpNowDonorOut.setEsito("KO"); gnpNowDonorOut.setCodiceMotivazione("Y20"); gnpNowDonorOut.setMotivazione("Codice sessione rifiutato in Fase 2");