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)

This commit is contained in:
vincenzofariello
2024-10-29 10:26:28 +01:00
parent b21bf3de2f
commit d1c394eaac
4 changed files with 44 additions and 18 deletions

View File

@@ -148,7 +148,7 @@ public class RequestManagerDonor {
int statoDa = richiesta.getStato().intValue(); int statoDa = richiesta.getStato().intValue();
int check = StateManagerDonor.checkTransition(richiesta.getIdRichiesta(), StatoRichiestaDon.ACCETTATA); int check = StateManagerDonor.checkTransition(richiesta.getIdRichiesta(), StatoRichiestaDon.ACCETTATA);
if (check != StateManagerDonor.TRANSIZIONE_NON_POSSIBILE) { 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); Date dataScadenza = DateUtils.aggiungiGiorniLavorativiTodateImpostaOra(new Date(), 16, 0, 0, 0);
richiesta.setStato((long) StatoRichiestaDon.ACCETTATA); richiesta.setStato((long) StatoRichiestaDon.ACCETTATA);
richiesta.setDataScadenza(dataScadenza); richiesta.setDataScadenza(dataScadenza);

View File

@@ -116,16 +116,27 @@ public class RequestManagerDonor82 {
richiesteDonor.setCodiceOrdineRecipient(oloRichiesteDonorIn.getCodiceOrdineRecipient()); richiesteDonor.setCodiceOrdineRecipient(oloRichiesteDonorIn.getCodiceOrdineRecipient());
richiesteDonor.setStato((long) StatoRichiestaDon.ACQUISITA); richiesteDonor.setStato((long) StatoRichiestaDon.ACQUISITA);
richiesteDonor.setDataRicezione(oloRichiesteDonorIn.getDataRicezione()); richiesteDonor.setDataRicezione(oloRichiesteDonorIn.getDataRicezione());
//Data Fine Wait - Calcolata con DataRicezione + 24H lavorative
richiesteDonor.setDfw(DateUtils.aggiungi24OreLavorative(oloRichiesteDonorIn.getDataRicezione())); //Data Fine Wait (o Data di Silenzio Assenso) - Calcolata con DataRicezione + 2gg lavorativi entro le 18:00
//Calcolata con DataRicezione + 17 giorni lavorativi richiesteDonor.setDfw(DateUtils.aggiungiGiorniLavorativiTodateImpostaOra(
richiesteDonor.setDataScadenza(DateUtils.aggiungiGiorniLavorativiTodateImpostaOra oloRichiesteDonorIn.getDataRicezione(),
(oloRichiesteDonorIn.getDataRicezione(), ApplicationCostants.GIORNI_CALCOLO_DFW_DEL_82,
ApplicationCostants.GIORNI_CALCOLO_DATA_SCADENZA, ApplicationCostants.ORA_CALCOLO_DFW_DEL_82,
ApplicationCostants.ORA_CALCOLO_DATA_SCADENZA, ApplicationCostants.MINUTI_CALCOLO_DFW_DEL_82,
ApplicationCostants.MINUTI_CALCOLO_DATA_SCADENZA, ApplicationCostants.SECONDI_CALCOLO_DFW_DEL_82
ApplicationCostants.SECONDI_CALCOLO_DATA_SCADENZA) )
); );
//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.setCor(oloRichiesteDonorIn.getCor());
richiesteDonor.setCos(oloRichiesteDonorIn.getCos()); richiesteDonor.setCos(oloRichiesteDonorIn.getCos());
richiesteDonor.setDn2(oloRichiesteDonorIn.getDn2()); richiesteDonor.setDn2(oloRichiesteDonorIn.getDn2());
@@ -158,11 +169,12 @@ public class RequestManagerDonor82 {
int statoDa = richiesta.getStato().intValue(); int statoDa = richiesta.getStato().intValue();
int check = StateManagerDonor.checkTransition(richiesta.getIdRichiesta(), StatoRichiestaDon.ACCETTATA); int check = StateManagerDonor.checkTransition(richiesta.getIdRichiesta(), StatoRichiestaDon.ACCETTATA);
if (check != StateManagerDonor.TRANSIZIONE_NON_POSSIBILE) { if (check != StateManagerDonor.TRANSIZIONE_NON_POSSIBILE) {
// CALCOLA DATA SCADENZA ALLA MEZZANOTTE DEL 16-esimo GIORNO
log.write("9999", "avanzaStatoInAccettata richiestaD82:" + richiesta.getIdRichiesta()); 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.setStato((long) StatoRichiestaDon.ACCETTATA);
richiesta.setDataScadenza(dataScadenza); //richiesta.setDataScadenza(dataScadenza);
ricDonorDAO.merge(richiesta); ricDonorDAO.merge(richiesta);
logStoricoPassaggioStato(richiesta.getIdRichiesta(), statoDa, StatoRichiestaDon.ACCETTATA, log); logStoricoPassaggioStato(richiesta.getIdRichiesta(), statoDa, StatoRichiestaDon.ACCETTATA, log);
@@ -179,7 +191,7 @@ public class RequestManagerDonor82 {
GnpRichiesteDonor82 altraR = (GnpRichiesteDonor82) anAltreRichieste; GnpRichiesteDonor82 altraR = (GnpRichiesteDonor82) anAltreRichieste;
statoDa = altraR.getStato().intValue(); statoDa = altraR.getStato().intValue();
altraR.setStato((long) StatoRichiestaDon.SCADUTA); altraR.setStato((long) StatoRichiestaDon.SCADUTA);
altraR.setDataScadenza(dataScadenza); altraR.setDataScadenza(richiesta.getDataScadenza()); // e non dataScadenza ricalcolata come in as-is
ricDonorDAO.merge(altraR); ricDonorDAO.merge(altraR);
logStoricoPassaggioStato(altraR.getIdRichiesta(), statoDa, StatoRichiestaDon.SCADUTA, log); logStoricoPassaggioStato(altraR.getIdRichiesta(), statoDa, StatoRichiestaDon.SCADUTA, log);
} }

View File

@@ -226,12 +226,25 @@ public class ApplicationCostants {
public static final int RICHIESTE_CRMWS = 50; public static final int RICHIESTE_CRMWS = 50;
} }
// Giorni lavorativi aggiunti alla data ricezione per il calcolo della // Giorni lavorativi aggiunti alla data ricezione per il calcolo della data scadenza
// data scadenza
public static final int GIORNI_CALCOLO_DATA_SCADENZA = 17; public static final int GIORNI_CALCOLO_DATA_SCADENZA = 17;
public static final int ORA_CALCOLO_DATA_SCADENZA = 0; public static final int ORA_CALCOLO_DATA_SCADENZA = 0;
public static final int MINUTI_CALCOLO_DATA_SCADENZA = 0; public static final int MINUTI_CALCOLO_DATA_SCADENZA = 0;
public static final int SECONDI_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{ public static String getDescErrorOlo(String codError) throws UnsupportedOperationException{
String ret = null; String ret = null;

View File

@@ -393,8 +393,9 @@ public class NowController extends SystemController {
gnpNowDonorOut.setEsito("KO"); gnpNowDonorOut.setEsito("KO");
gnpNowDonorOut.setCodiceMotivazione("Y18"); gnpNowDonorOut.setCodiceMotivazione("Y18");
gnpNowDonorOut.setMotivazione("Campo Directory Number 10 ERRATO"); gnpNowDonorOut.setMotivazione("Campo Directory Number 10 ERRATO");
} else if (richiestaD82.getStato().intValue() == 7 || richiestaD82.getStato().intValue() == 8 } else if ( richiestaD82.getStato().intValue() == StatoRichiestaDon.SCADUTA ||
|| richiestaD82.getStato().intValue() == 9) { richiestaD82.getStato().intValue() == StatoRichiestaDon.PRESA_IN_CARICO_KO ||
richiestaD82.getStato().intValue() == StatoRichiestaDon.RIFIUTATA) {
gnpNowDonorOut.setEsito("KO"); gnpNowDonorOut.setEsito("KO");
gnpNowDonorOut.setCodiceMotivazione("Y20"); gnpNowDonorOut.setCodiceMotivazione("Y20");
gnpNowDonorOut.setMotivazione("Codice sessione rifiutato in Fase 2"); gnpNowDonorOut.setMotivazione("Codice sessione rifiutato in Fase 2");