Fix DBCFX_SM_673 - completata

This commit is contained in:
vincenzofariello
2024-05-16 09:32:38 +02:00
parent 3f10125aee
commit 315a207283
5 changed files with 286 additions and 256 deletions

View File

@@ -56,6 +56,7 @@ public class QueueControllerFactory {
return JNDINames.QUEUE_NAME_DBSS_IN; return JNDINames.QUEUE_NAME_DBSS_IN;
case NotificationMessageIF.NotificationType_DBSS_NOTIFICA_OUT: case NotificationMessageIF.NotificationType_DBSS_NOTIFICA_OUT:
case NotificationMessageIF.NotificationType_DBSS_NOTIFICA_DONOR_OUT: case NotificationMessageIF.NotificationType_DBSS_NOTIFICA_DONOR_OUT:
case NotificationMessageIF.NotificationType_DBSS_NOTIFICA_DONOR_OUT_82:
return JNDINames.QUEUE_NAME_DBSS_OUT; return JNDINames.QUEUE_NAME_DBSS_OUT;
default: default:
throw new UnknownQueueSystemException("Notification Type sconosciuto: " + notification_type); throw new UnknownQueueSystemException("Notification Type sconosciuto: " + notification_type);

View File

@@ -154,7 +154,7 @@ 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� GIORNO // 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); Date dataScadenza = DateUtils.aggiungiGiorniLavorativiTodateImpostaOra(new Date(), 16, 0, 0, 0);
richiesta.setStato((long) StatoRichiestaDon.ACCETTATA); richiesta.setStato((long) StatoRichiestaDon.ACCETTATA);
@@ -263,7 +263,7 @@ public class RequestManagerDonor82 {
// DETERMINO LA PIATTAFORMA CRM DI COMPETENZA // DETERMINO LA PIATTAFORMA CRM DI COMPETENZA
/* C06 RE: GATEWAY DBCFX :Studio per il tracciamento di eventi non correttamente gestiti dal sistema /* C06 RE: GATEWAY DBCFX :Studio per il tracciamento di eventi non correttamente gestiti dal sistema
* cambio implementazione del recupero della piattaforma di competenza, non si basa più sull'anagrafica (anagCowTelecom) * cambio implementazione del recupero della piattaforma di competenza, non si basa piu' sull'anagrafica (anagCowTelecom)
* ma tramite il localizzatore. Per maggiori dettagli vedi mail * ma tramite il localizzatore. Per maggiori dettagli vedi mail
*/ */
if (!callCheckRetailPlatform(richiesta, log)) { if (!callCheckRetailPlatform(richiesta, log)) {
@@ -306,7 +306,7 @@ public class RequestManagerDonor82 {
boolean ret = true; boolean ret = true;
List<GnpRichiesteDonor82> richiesteDN = dao.getAltreRichiesteStessoCowDN(richiesta.getDn(), richiesta.getCowDonating()); List<GnpRichiesteDonor82> richiesteDN = dao.getAltreRichiesteStessoCowDN(richiesta.getDn(), richiesta.getCowDonating());
GnpRichiesteCsNpg103 richiesteCsNpg103s = npg103DAO.findByDn(richiesta.getDn()); //check su 103 è fattibile? TODO query GnpRichiesteCsNpg103 richiesteCsNpg103s = npg103DAO.findByDn(richiesta.getDn()); //check su 103 e' fattibile? TODO query
List<GnpRichiesteDonor> richieste274 = dao.getAltreRichiesteStessoCowDN(richiesta.getDn(), richiesta.getCowDonating()); List<GnpRichiesteDonor> richieste274 = dao.getAltreRichiesteStessoCowDN(richiesta.getDn(), richiesta.getCowDonating());
Boolean daRifiutare = false; Boolean daRifiutare = false;
@@ -585,7 +585,7 @@ public class RequestManagerDonor82 {
/** /**
* Passaggio di stato in PRESAINCARICO. * Passaggio di stato in PRESAINCARICO.
* <p/> * <p/>
* Ritorna false se il COW Donating non � mappato su uno di quelli Telecom * Ritorna false se il COW Donating non e' mappato su uno di quelli Telecom
* *
* @param richiesta * @param richiesta
* @param log * @param log
@@ -608,7 +608,7 @@ public class RequestManagerDonor82 {
/* /*
* *
* Penso che la presa in carico sia più corretta considerare la prima data e non questa * Penso che la presa in carico sia piu' corretta considerare la prima data e non questa
* quindi non sovrascrivere la precedente * quindi non sovrascrivere la precedente
*/ */
//richiesta.setDataPresaincarico(new java.util.Date()); //richiesta.setDataPresaincarico(new java.util.Date());
@@ -700,43 +700,15 @@ public class RequestManagerDonor82 {
} }
private static void callVerificaFase2DBSS(ProcessLogger log, GnpRichiesteDonor82 richiesta, GnpCrmNotifyDonorOutDAO dbssDonorOutRecDAO) throws Exception { private static void callVerificaFase2DBSS(ProcessLogger log, GnpRichiesteDonor82 richiesta, GnpCrmNotifyDonorOutDAO dbssDonorOutRecDAO) throws Exception {
log.write("9999", "START Chiamata al WS WirelineLineCodeQuery DBSS DN:["+richiesta.getDn()+"]");
// chiamata al WS WirelineLineCodeQuery
DBSSController dbssController = DBSSController.getInstance(); DBSSController dbssController = DBSSController.getInstance();
GnpCrmNotifyDonorOut dbssDonorOut = dbssController.creaRichiestaVerificaFase2(richiesta); GnpCrmNotifyDonorOut dbssDonorOut = dbssController.creaRichiestaVerificaFase2(richiesta);
WirelineCeaseCheck82ResponseType dbssResponse = dbssController.callNotificaDbssD82(dbssDonorOut); dbssController.invioNotificaD82(dbssDonorOut);
String esito = null;
if (dbssResponse != null) {
esito = dbssResponse.getProcessData().getReturnDescription();
dbssDonorOutRecDAO.save(dbssDonorOut);
log.write("9999", "Esito sincrono chiamata: " + esito);
}else {
log.write("9999", "Risposta vuota non gestita: "+richiesta.getCrmCompetenza()+" DN:"+richiesta.getDn()+" Id-Richiesta: "+richiesta.getIdRichiesta());
buildScartiVerificaCs(richiesta,VERIFICA_CS_DBSS_ESITO_NON_GESTITO,VERIFICA_CS_DBSS_ESITO_NON_GESTITO_DESCRIZIONE,log);
}
log.write("9999", "END Chiamata al WS WirelineLineCodeQuery DBSS DN:["+richiesta.getDn()+"]");
} }
public static void callNotificaFase3DBSS(ProcessLogger log, GnpRichiesteDonor82 richiesta, GnpCrmNotifyDonorOutDAO dbssDonorOutRecDAO, GnpNowD82RichiesteOut nowDonorOut) throws Exception { public static void callNotificaFase3DBSS(ProcessLogger log, GnpRichiesteDonor82 richiesta, GnpCrmNotifyDonorOutDAO dbssDonorOutRecDAO, GnpNowD82RichiesteOut nowDonorOut) throws Exception {
log.write("9999", "START Chiamata al WS WirelineLineCodeQuery DBSS DN:["+richiesta.getDn()+"]");
// chiamata al WS WirelineLineCodeQuery
DBSSController dbssController = DBSSController.getInstance(); DBSSController dbssController = DBSSController.getInstance();
GnpCrmNotifyDonorOut dbssDonorOut = dbssController.creaNotificaEsitoN9(richiesta, nowDonorOut); GnpCrmNotifyDonorOut dbssDonorOut = dbssController.creaNotificaEsitoN9(richiesta, nowDonorOut);
WirelineCeaseCheck82ResponseType dbssResponse = dbssController.callNotificaDbssD82(dbssDonorOut); dbssController.invioNotificaD82(dbssDonorOut);
String esito = null;
if (dbssResponse != null) {
esito = dbssResponse.getProcessData().getReturnDescription();
dbssDonorOutRecDAO.save(dbssDonorOut);
log.write("9999", "Esito sincrono chiamata: " + esito);
}else {
log.write("9999", "Risposta vuota non gestita: "+richiesta.getCrmCompetenza()+" DN:"+richiesta.getDn()+" Id-Richiesta: "+richiesta.getIdRichiesta());
//buildScartiVerificaCs(richiesta,VERIFICA_CS_DBSS_ESITO_NON_GESTITO,VERIFICA_CS_DBSS_ESITO_NON_GESTITO_DESCRIZIONE,log);
}
log.write("9999", "END Chiamata al WS WirelineLineCodeQuery DBSS DN:["+richiesta.getDn()+"]");
} }
private static boolean isUtenzaDBSS(String piattaforma) { private static boolean isUtenzaDBSS(String piattaforma) {
@@ -797,4 +769,3 @@ public class RequestManagerDonor82 {
} }
} }

View File

@@ -108,6 +108,7 @@ public interface NotificationMessageIF {
public static final int NotificationType_DBSS_NOTIFICA_OUT = 94; public static final int NotificationType_DBSS_NOTIFICA_OUT = 94;
public static final int NotificationType_DBSS_VERIFICA_CS= 98; public static final int NotificationType_DBSS_VERIFICA_CS= 98;
public static final int NotificationType_DBSS_NOTIFICA_DONOR_OUT = 95; public static final int NotificationType_DBSS_NOTIFICA_DONOR_OUT = 95;
public static final int NotificationType_DBSS_NOTIFICA_DONOR_OUT_82 = 97;
// 152248 // 152248
public static final int NotificationType_DBSS_ESITO_VERIFICA_CS = 99; public static final int NotificationType_DBSS_ESITO_VERIFICA_CS = 99;
public static final int NotificationType_DBSS_ESPLETAMENTO_DONATING = 96; public static final int NotificationType_DBSS_ESPLETAMENTO_DONATING = 96;

View File

@@ -172,6 +172,10 @@ public class DBSSController extends SystemController {
inviaNotificaDbssDonorOut(messaggio); inviaNotificaDbssDonorOut(messaggio);
break; break;
case NotificationMessageIF.NotificationType_DBSS_NOTIFICA_DONOR_OUT_82:
notificaceaseWirelineCheck82(messaggio);
break;
case NotificationMessageIF.NotificationType_DBSS_ESPLETAMENTO_DONATING: case NotificationMessageIF.NotificationType_DBSS_ESPLETAMENTO_DONATING:
processaEspletamentoDonating(messaggio); processaEspletamentoDonating(messaggio);
break; break;
@@ -395,6 +399,50 @@ public class DBSSController extends SystemController {
} }
} }
public void invioNotificaD82(GnpCrmNotifyDonorOut notifica) throws Exception {
log.write("9999", "invioNotifica - codice richiesta: " + notifica.getCodiceRichiesta() + " - tipo evento: " + notifica.getTipoEvento() + " - unique id: " + notifica.getUniqueId());
NotificationMessage message = creaNotificaDonorOut82(notifica.getUniqueId());
inserisciNotificaInCoda(message);
}
public void notificaceaseWirelineCheck82(NotificationMessage message) throws Exception {
GnpCrmNotifyDonorOutDAO dao = new GnpCrmNotifyDonorOutDAO();
GnpCrmNotifyDonorOut dbssDonorOut = dao.findById(((UniqueIdNotificationMessage)message).getUnique_id());
int daScodare = -1;
daScodare = dbssDonorOut.getDaScodare().intValue();
switch (daScodare) {
case 0:
//se non ci sono record da aggiornare il messaggio e' gia' stato scodato
//e dunque viene solamente loggato l'id_richiesta
log.write("9999", "RICHIESTA GIA' SCODATA :[" + Func.getFieldDescription(dbssDonorOut) + "]");
break;
case 1:
log.write("9999", "START Chiamata al WS WirelineCeaseCheck82 DBSS DN:["+dbssDonorOut.getDirectoryNumber()+"]");
WirelineCeaseCheck82ResponseType dbssResponse = callNotificaDbssD82(dbssDonorOut);
String esito = null;
if (dbssResponse != null) {
esito = dbssResponse.getProcessData().getReturnDescription();
dbssDonorOut.setDaScodare(0L);
dbssNotifyDonorOutDAO.merge(dbssDonorOut);
log.write("9999", "Esito sincrono chiamata: " + esito);
}else {
log.write("9999", "Risposta vuota non gestita: "+dbssDonorOut.getSistComp()+" DN:"+dbssDonorOut.getDirectoryNumber()+" Id-Richiesta: "+dbssDonorOut.getCodiceRichiesta());
}
log.write("9999", "END Chiamata al WS WirelineCeaseCheck82 DBSS DN:["+dbssDonorOut.getDirectoryNumber()+"]");
break;
}
}
private void invioNotifica(GnpCrmNotifyDonorOut notifica) throws Exception { private void invioNotifica(GnpCrmNotifyDonorOut notifica) throws Exception {
log.write("9999", "invioNotifica - codice richiesta: " + notifica.getCodiceRichiesta() + " - tipo evento: " + notifica.getTipoEvento() + " - unique id: " + notifica.getUniqueId()); log.write("9999", "invioNotifica - codice richiesta: " + notifica.getCodiceRichiesta() + " - tipo evento: " + notifica.getTipoEvento() + " - unique id: " + notifica.getUniqueId());
// INIZIO: Recupero richiesta // INIZIO: Recupero richiesta
@@ -1462,6 +1510,14 @@ public class DBSSController extends SystemController {
return messaggio; return messaggio;
} }
public NotificationMessage creaNotificaDonorOut82(Long uniqueId) {
UniqueIdNotificationMessage messaggio = new UniqueIdNotificationMessage();
messaggio.setUnique_id(uniqueId);
messaggio.setNotificationType(NotificationMessageIF.NotificationType_DBSS_NOTIFICA_DONOR_OUT_82);
messaggio.setSystemProvider(NotificationMessageIF.SystemProvider_DBSS);
return messaggio;
}
//Modifica firma per C07 OLO in correction 14 maggio 2019 //Modifica firma per C07 OLO in correction 14 maggio 2019
public void notificaDbss(Date dateRichiesta, GnpRichiesteOlo103mn richiesta, int codiceNotifica, String DN) throws Exception { public void notificaDbss(Date dateRichiesta, GnpRichiesteOlo103mn richiesta, int codiceNotifica, String DN) throws Exception {
log.write("9999", "DbssController.notificaDbss(GnpRichiesteOlo35Mn richiesta, int codiceNotifica) INIZIO"); log.write("9999", "DbssController.notificaDbss(GnpRichiesteOlo35Mn richiesta, int codiceNotifica) INIZIO");

View File

@@ -132,8 +132,9 @@ public class WirelinePortOutOrderMgmtClient implements Loggable {
try { try {
WirelineCeaseCheck82_Impl service = new WirelineCeaseCheck82_Impl(); WirelineCeaseCheck82_Impl service = new WirelineCeaseCheck82_Impl();
WirelineCeaseCheck82PortType endPoint = service.getWirelineCeaseCheck82PortTypeHttps(); WirelineCeaseCheck82PortType endPoint = service.getWirelineCeaseCheck82PortTypeHttps();
String timeOutStr = (String) Resources.getTIMEOUT_WIRELINE_CEASE_CHECK82();
((WirelineCeaseCheck82PortType_Stub) endPoint)._setProperty("javax.xml.rpc.service.endpoint.address", Resources.getURL_WIRELINE_CEASE_CHECK82()); ((WirelineCeaseCheck82PortType_Stub) endPoint)._setProperty("javax.xml.rpc.service.endpoint.address", Resources.getURL_WIRELINE_CEASE_CHECK82());
((WirelineCeaseCheck82PortType_Stub) endPoint)._setProperty("weblogic.wsee.transport.connection.timeout", Resources.getTIMEOUT_WIRELINE_CEASE_CHECK82()); ((WirelineCeaseCheck82PortType_Stub) endPoint)._setProperty("weblogic.wsee.transport.connection.timeout", Integer.parseInt(timeOutStr));
HeaderTypeHolder header = new HeaderTypeHolder(); HeaderTypeHolder header = new HeaderTypeHolder();
HeaderType headerType = new HeaderType(); HeaderType headerType = new HeaderType();