From 8eee38ba3585020a29c4002a69428a330c52814f Mon Sep 17 00:00:00 2001 From: vincenzofariello Date: Mon, 17 Jun 2024 15:19:15 +0200 Subject: [PATCH] DBCFX_RU_363 - Offerta Open Fiber FTTH (Business): Implement FASE 2 --- gnpdev/build/build_EsitoVerificaCSDonor.cmd | 2 +- gnpdev/build/databinding/initCmd.cmd | 2 +- .../crm/TIIOSetASCodMigrazioneDBCOnLine.xsd | 12 +++ .../lib/Castor-DbcFX2CRM-Donor-Http.jar | Bin 30080 -> 43689 bytes .../ear/res/APP-INF/lib/WSCRM_DonorCommon.jar | Bin 16501 -> 16604 bytes .../dao/db/hb/crm/AbstractGnpCrmDonorOut.java | 101 ++++++++++++++++- .../gnp/dao/db/hb/crm/GnpCrmbDonorOut.hbm.xml | 34 ++++++ .../systemcontroller/crm/CRMBController.java | 102 +++++++++++++++--- .../crm/AbstractCRMFormatController.java | 54 +++++++++- .../crm/CRMBFormatController.java | 15 +++ .../EsitoVerificaCSDonorPortTypeImpl.java | 24 +++-- .../wsdl/crmdonor/CRM_TO_DBCFX_DONOR.xsd | 1 + 12 files changed, 321 insertions(+), 26 deletions(-) diff --git a/gnpdev/build/build_EsitoVerificaCSDonor.cmd b/gnpdev/build/build_EsitoVerificaCSDonor.cmd index 18628072..57ce5524 100644 --- a/gnpdev/build/build_EsitoVerificaCSDonor.cmd +++ b/gnpdev/build/build_EsitoVerificaCSDonor.cmd @@ -1,5 +1,5 @@ @set ANT_HOME=apache-ant-1.9.2 -@set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45 +@set JAVA_HOME=C:/Program Files/Java/jdk1.6.0_45s @set PATH=%ANT_HOME%/bin;%JAVA_HOME%/bin @set ANT_OPTS=-Xms512m -Xmx512m diff --git a/gnpdev/build/databinding/initCmd.cmd b/gnpdev/build/databinding/initCmd.cmd index 40bdf70e..bb9df073 100644 --- a/gnpdev/build/databinding/initCmd.cmd +++ b/gnpdev/build/databinding/initCmd.cmd @@ -1,3 +1,3 @@ @set ANT_HOME=../apache-ant-1.9.2 -@set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45 +@set JAVA_HOME=C:/Program Files/Java/jdk1.6.0_45 @set PATH=%ANT_HOME%/bin;%JAVA_HOME%/bin \ No newline at end of file diff --git a/gnpdev/build/databinding/schema/crm/TIIOSetASCodMigrazioneDBCOnLine.xsd b/gnpdev/build/databinding/schema/crm/TIIOSetASCodMigrazioneDBCOnLine.xsd index cacada78..e4562e47 100644 --- a/gnpdev/build/databinding/schema/crm/TIIOSetASCodMigrazioneDBCOnLine.xsd +++ b/gnpdev/build/databinding/schema/crm/TIIOSetASCodMigrazioneDBCOnLine.xsd @@ -31,6 +31,18 @@ + + + + + + + + + + + + diff --git a/gnpdev/dbcfx/ear/res/APP-INF/lib/Castor-DbcFX2CRM-Donor-Http.jar b/gnpdev/dbcfx/ear/res/APP-INF/lib/Castor-DbcFX2CRM-Donor-Http.jar index b03aadb0bc69434ded3c4ecdbe0a4ae1f83bfdf2..c8c5648a2fc77afccc35eab52a62b581c6ab2cba 100644 GIT binary patch delta 15911 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 z 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 BIn)3E delta 4323 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 delta 7625 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 diff --git a/gnpdev/dbcfx/src/it/valueteam/gnp/dao/db/hb/crm/AbstractGnpCrmDonorOut.java b/gnpdev/dbcfx/src/it/valueteam/gnp/dao/db/hb/crm/AbstractGnpCrmDonorOut.java index f06b5399..2c6f60f4 100644 --- a/gnpdev/dbcfx/src/it/valueteam/gnp/dao/db/hb/crm/AbstractGnpCrmDonorOut.java +++ b/gnpdev/dbcfx/src/it/valueteam/gnp/dao/db/hb/crm/AbstractGnpCrmDonorOut.java @@ -11,10 +11,23 @@ public abstract class AbstractGnpCrmDonorOut implements java.io.Serializable { private String tipoChiamata; private Date dataInvio; + // DBCFX_RU_363 - Offerta Open Fiber FTTH (Business): Aggiunti 11 nuovi campi per CRMB + private Long codiceRichiesta; + private String cor; + private String codOLORecipient; + private String codOrdineOLO; + private String dn1; + private String dn2; + private String dn3; + private String dn4; + private String dn5; + private String dn6; + private String dn7; + + public AbstractGnpCrmDonorOut() { } - public AbstractGnpCrmDonorOut(Long daScodare, String cowDonating, String dn, String codiceSessione, String tipoChiamata) { this.daScodare = daScodare; this.cowDonating = cowDonating; @@ -81,4 +94,90 @@ public abstract class AbstractGnpCrmDonorOut implements java.io.Serializable { this.dataInvio = dataInvio; } + public Long getCodiceRichiesta() { + return codiceRichiesta; + } + + public void setCodiceRichiesta(Long codiceRichiesta) { + this.codiceRichiesta = codiceRichiesta; + } + + public String getCor() { + return cor; + } + + public void setCor(String cor) { + this.cor = cor; + } + + + public String getCodOLORecipient() { + return codOLORecipient; + } + + public void setCodOLORecipient(String codOLORecipient) { + this.codOLORecipient = codOLORecipient; + } + + public String getCodOrdineOLO() { + return codOrdineOLO; + } + + public void setCodOrdineOLO(String codOrdineOLO) { + this.codOrdineOLO = codOrdineOLO; + } + + public void setDn1(String dn1) { + this.dn1 = dn1; + } + public String getDn1() { + return dn1; + } + public String getDn2() { + return dn2; + } + + public void setDn2(String dn2) { + this.dn2 = dn2; + } + + public String getDn3() { + return dn3; + } + + public void setDn3(String dn3) { + this.dn3 = dn3; + } + + public String getDn4() { + return dn4; + } + + public void setDn4(String dn4) { + this.dn4 = dn4; + } + + public String getDn5() { + return dn5; + } + + public void setDn5(String dn5) { + this.dn5 = dn5; + } + + public String getDn6() { + return dn6; + } + + public void setDn6(String dn6) { + this.dn6 = dn6; + } + + public String getDn7() { + return dn7; + } + + public void setDn7(String dn7) { + this.dn7 = dn7; + } } diff --git a/gnpdev/dbcfx/src/it/valueteam/gnp/dao/db/hb/crm/GnpCrmbDonorOut.hbm.xml b/gnpdev/dbcfx/src/it/valueteam/gnp/dao/db/hb/crm/GnpCrmbDonorOut.hbm.xml index 9a09e23c..8e21706b 100644 --- a/gnpdev/dbcfx/src/it/valueteam/gnp/dao/db/hb/crm/GnpCrmbDonorOut.hbm.xml +++ b/gnpdev/dbcfx/src/it/valueteam/gnp/dao/db/hb/crm/GnpCrmbDonorOut.hbm.xml @@ -28,5 +28,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/crm/CRMBController.java b/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/crm/CRMBController.java index 229610e0..3c4730b0 100644 --- a/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/crm/CRMBController.java +++ b/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/crm/CRMBController.java @@ -24,10 +24,7 @@ import it.valueteam.gnp.recovery.RecoveryIF; import it.valueteam.gnp.systemcontroller.SystemControllerIF; import it.valueteam.gnp.systemcontroller.formatcontroller.crm.AbstractCRMFormatController; import it.valueteam.gnp.systemcontroller.formatcontroller.crm.CRMBFormatController; -import it.valueteam.gnp.utility.CRMCommunicationManager; -import it.valueteam.gnp.utility.Resources; -import it.valueteam.gnp.utility.UserTransactionUtility; -import it.valueteam.gnp.utility.XmlUtility; +import it.valueteam.gnp.utility.*; import tim.infobus.data.TID; import javax.transaction.UserTransaction; @@ -279,6 +276,12 @@ public class CRMBController extends AbstractCRMController implements RecoveryIF GnpRichiesteDonor richiesta = null; GnpRichiesteDonNatOlo richiestaDonNatOlo = null; + // DBCFX_RU_363 - Offerta Open Fiber FTTH (Business) + GnpRichiesteDonor82 richiesteD82 = new GnpRichiesteDonor82(); + GnpRichiesteDonor82DAO daoRichiesteD82 = new GnpRichiesteDonor82DAO(); + richiesteD82 = daoRichiesteD82.findByCodiceSessione(crmbDonorOut.getCodiceSessione()); + + if (richCsNpg35 == null) { richiesta = dao.findByCodiceSessione(crmbDonorOut.getCodiceSessione()); } @@ -286,21 +289,37 @@ public class CRMBController extends AbstractCRMController implements RecoveryIF richiestaDonNatOlo = donNatDao.findById(new Long(crmbDonorOut.getCodiceSessione())); } - if (richCsNpg35 != null || //se � una richiesta CsNpg35 + // oppure e' donor ma in stato 2 + //perche' se esiste una richiesta donor ma e' gia' in uno stato piu' avanti non manda una ceppa + // 152248 - 227248 del 103 + // DBCFX_RU_363 - Offerta Open Fiber FTTH (Business): esteso if richiesteD82 != null per Del.82 + if ( + richCsNpg35 != null || //se e' una richiesta CsNpg35 (richiesta != null && richiesta.getStato().intValue() == 2) || - (richiestaDonNatOlo != null && richiestaDonNatOlo.getStato().intValue() == StatoRichiestaDonNatOlo.ACQUISITA)) { // oppure � donor ma in stato 2 - //perche' se esiste una richiesta donor ma � gi� in uno stato piu' avanti non manda una ceppa - // 152248 - 227248 del 103 + (richiestaDonNatOlo != null && richiestaDonNatOlo.getStato().intValue() == StatoRichiestaDonNatOlo.ACQUISITA) || + (richiesteD82 != null) + ) { if (Resources.CHECK_FB_MC_ENABLED()) { - sendVerificaCSHttp(crmbDonorOut); - } else { + if(richiesteD82 != null) + sendVerificaCS82Http(crmbDonorOut); + else + sendVerificaCSHttp(crmbDonorOut); + } + else { sendVerificaCS(crmbDonorOut); } + if (richCsNpg35 != null) { RequestManagerCSNPg35.avanzaStatoInAttesaVerifica(richCsNpg35, log); - } else if (richiesta != null) { + } + else if (richiesta != null) { RequestManagerDonor.avanzaStatoInAttesaVerifica(crmbDonorOut.getCodiceSessione(), log); - } else { + } + else if(richiesteD82 != null){ + // DBCFX_RU_363 - Offerta Open Fiber FTTH (Business): avanziamo lo stato in Attesa Verifica (Fase 2) + RequestManagerDonor82.avanzaStatoInAttesaVerifica(richiesteD82.getCodiceSessione(), log); + } + else { RequestManagerDonNatOlo.avanzaStatoInAttesaVerifica(richiestaDonNatOlo, log); } } else { @@ -388,6 +407,65 @@ public class CRMBController extends AbstractCRMController implements RecoveryIF } } + /** + * DBCFX_RU_363 - Offerta Open Fiber FTTH (Delibera 82 - Business): invio richiesta verifica di uscita arrivata da OLO Recipient verso CRMB (FASE II) + * Colloquio DBC-FX  CRM-B per Richiesta Verifica CS - servizio: CheckFixedBusinessMigrationCode + * @param crmbDonorOut + * @throws Exception + */ + protected void sendVerificaCS82Http(GnpCrmbDonorOut crmbDonorOut) throws Exception { + SiebelMessage tracciato = new SiebelMessage(); + tracciato.setSystem(InfobusMap.IDSYSTEM_VERIFICACS_CRMB); + tracciato.setService(InfobusMap.IDSRVS_VERIFICACS_CRMB); + tracciato.setTid(new TID().toString()); + tracciato.setReturnCode("0"); + tracciato.setErrorDescription(""); + tracciato.setOperationCode(""); + tracciato.setMessageId(""); + tracciato.setMessageType("Integration Object"); + tracciato.setIntObjectName("TIIOSetASCodMigrazioneDBCOnLine"); + ListOfTiiosetascodmigrazionedbconline list = new ListOfTiiosetascodmigrazionedbconline(); + Tibcascodmigrazionedbconline request = new Tibcascodmigrazionedbconline(); + request.setTI_CODICE_SESSIONE(crmbDonorOut.getCodiceSessione()); + request.setTI_COR(crmbDonorOut.getCor()); + request.setTI_COW(crmbDonorOut.getCowDonating()); + request.setTI_TIPO_CHIAMATA(crmbDonorOut.getTipoChiamata()); + request.setTI_ID_ODM(crmbDonorOut.getCodOrdineOLO()); + request.setTI_COD_OAO_RECIPIENT(crmbDonorOut.getCodOLORecipient()); + request.setTI_NUMERAZIONE_PRINCIPALE(crmbDonorOut.getDn()); + request.setTI_DATA_ORA_NOTIFICA(DateUtils.toString(crmbDonorOut.getDataInvio(), "dd-MM-yyyy")); + // check campi numerazioni opzionali DN1,...DN7. + if(!Func.isNull(crmbDonorOut.getDn1())) + request.setTI_DN1(crmbDonorOut.getDn1()); + if(!Func.isNull(crmbDonorOut.getDn2())) + request.setTI_DN2(crmbDonorOut.getDn2()); + if(!Func.isNull(crmbDonorOut.getDn3())) + request.setTI_DN3(crmbDonorOut.getDn3()); + if(!Func.isNull(crmbDonorOut.getDn4())) + request.setTI_DN4(crmbDonorOut.getDn4()); + if(!Func.isNull(crmbDonorOut.getDn5())) + request.setTI_DN5(crmbDonorOut.getDn5()); + if(!Func.isNull(crmbDonorOut.getDn6())) + request.setTI_DN6(crmbDonorOut.getDn6()); + if(!Func.isNull(crmbDonorOut.getDn7())) + request.setTI_DN7(crmbDonorOut.getDn7()); + + list.addTibcascodmigrazionedbconline(request); + tracciato.setListOfTiiosetascodmigrazionedbconline(list); + CRMCommunicationManager crmClient = new CRMCommunicationManager("CRMB", "CHECKFIXEDBUSINESSMIGRATIONCODE"); + String xml = CrmXAO.getXmlFromSiebelMessage(tracciato); + log.write("9999", "tracciato sendVerificaCS82Http: " + xml); + String respXml = crmClient.sendFileMultipart(xml); + it.valueteam.gnp.dao.xml.crm.crmtodbcfx.ack.http.SiebelMessage respObj = + (it.valueteam.gnp.dao.xml.crm.crmtodbcfx.ack.http.SiebelMessage) XmlUtility + .getCastorXmlObjectFromXmlString(it.valueteam.gnp.dao.xml.crm.crmtodbcfx.ack.http.SiebelMessage.class, respXml, true); + if (!"0".equals(respObj.getReturnCode())) { + throw new Exception("esito sendVerificaCS82Http: " + respObj.getReturnCode() + " - descrizione sendVerificaCS82Http: " + respObj.getErrorDescription() + + " - Tid richiesta: " + tracciato.getTid()); + } + } + + /* * RU_274 * crea il tracciato per la verifica codice segreto e lo invia mediante diff --git a/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/formatcontroller/crm/AbstractCRMFormatController.java b/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/formatcontroller/crm/AbstractCRMFormatController.java index dab790bb..e9bccc15 100644 --- a/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/formatcontroller/crm/AbstractCRMFormatController.java +++ b/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/formatcontroller/crm/AbstractCRMFormatController.java @@ -10,18 +10,17 @@ import it.valueteam.gnp.dao.xml.crm.dbcfxtocrm.*; import it.valueteam.gnp.dao.xml.crm.donor.crmtodbcfx.EsitoVerificaCS; import it.valueteam.gnp.exception.xml.MalformedXmlException; import it.valueteam.gnp.log.ProcessLogger; +import it.valueteam.gnp.manager.RequestManagerDonor82; import it.valueteam.gnp.obj.*; import it.valueteam.gnp.systemcontroller.ControllerFactory; import it.valueteam.gnp.systemcontroller.crm.SistemaCrmIF; import it.valueteam.gnp.systemcontroller.formatcontroller.FormatController; -import it.valueteam.gnp.utility.DateUtils; -import it.valueteam.gnp.utility.Func; -import it.valueteam.gnp.utility.Resources; -import it.valueteam.gnp.utility.XmlUtility; +import it.valueteam.gnp.utility.*; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import tim.infobus.data.TID; +import javax.transaction.UserTransaction; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -300,6 +299,53 @@ public abstract class AbstractCRMFormatController extends FormatController { } + public static dbcfx.soa.esitoverificacsdonor.x20230323.AckToCRM esitoVerificaCS82(dbcfx.soa.esitoverificacsdonor.x20230323.EsitoVerificaCS body, ProcessLogger log) throws Exception { + log.write("9999", "[esitoVerificaCS82 da CRMB] Ricevuto sendEsitoVerificaCS Del.82 per CODICE_SESSIONE[" + body.getCODICE_SESSIONE() + "] ESITO[" + body.getESITO() + "]"); + + dbcfx.soa.esitoverificacsdonor.x20230323.AckToCRM response = new dbcfx.soa.esitoverificacsdonor.x20230323.AckToCRM(); + + UserTransaction utx = null; + try { + utx = UserTransactionUtility.beginUserTransaction(); + } catch (Exception e) { + log.error(e, "AbstractCRMFormatController.esitoVerificaCS82: beginUserTransaction"); + throw e; + } + + try { + GnpRichiesteDonor82DAO richDonorDao = new GnpRichiesteDonor82DAO(); + GnpRichiesteDonor82 richiestaD82 = richDonorDao.findByCodiceSessione(body.getCODICE_SESSIONE()); + + if (richiestaD82 != null) { + response.setCOD_RISPOSTA("0"); + response.setDESC_RISPOSTA("Esito sendEsitoVerificaCS Del.82 acquisito correttamente"); + + richiestaD82.setDataInvioEsitoFase2(new Date()); + richiestaD82.setCodiceEsitoFase2(body.getESITO()); + richiestaD82.setDescrEsitoFase2(body.getCAUSALE()); + + if (body.getESITO().equalsIgnoreCase("0")) { + RequestManagerDonor82.avanzaStatoInAccettata(richiestaD82, log); + } else { + RequestManagerDonor82.avanzaStatoInRifiutata(richiestaD82, body.getCAUSALE(), Integer.valueOf(body.getESITO()), false, log); + } + } else { + response.setCOD_RISPOSTA("1"); + response.setDESC_RISPOSTA("Codice Sessione non trovato per Del.82"); + log.write("9999", "[sendEsitoVerificaCS] Non trovata richiesta con codice sessione " + body.getCODICE_SESSIONE()); + } + UserTransactionUtility.endUserTransaction(utx, true); + } catch (Exception ex) { + log.write("9999", "Errore in acquisizione esitoVerificaCS82: ] codice_sessione[" + body.getCODICE_SESSIONE() + "]" + " exception " + ex.getMessage()); + response.setCOD_RISPOSTA("0"); + response.setDESC_RISPOSTA(ex.getMessage()); + ex.printStackTrace(); + UserTransactionUtility.endUserTransaction(utx, false); + } + + return response; + } + /** * metodo per la validazione del tracciato proveniente dai sistemi CRM * @param tracciato String - tracciato proveniente dai sistemi CRM diff --git a/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/formatcontroller/crm/CRMBFormatController.java b/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/formatcontroller/crm/CRMBFormatController.java index 09bd0d9f..9b51ace7 100644 --- a/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/formatcontroller/crm/CRMBFormatController.java +++ b/gnpdev/dbcfx/src/it/valueteam/gnp/systemcontroller/formatcontroller/crm/CRMBFormatController.java @@ -669,6 +669,21 @@ extends AbstractCRMFormatController { crmbDonorOut.setCodiceSessione(richiesta.getCodiceSessione()); crmbDonorOut.setTipoChiamata(ApplicationCostants.PROCESSO_DONOR.TIPO_CHIAMATA); + // DBCFX_RU_363 - Mapping nuovi campi verso CRMB + crmbDonorOut.setCodiceRichiesta(richiesta.getIdRichiesta()); + crmbDonorOut.setCodiceSessione(richiesta.getCodiceSessione()); + crmbDonorOut.setCor(richiesta.getCor()); + crmbDonorOut.setDataInvio(new Date()); + crmbDonorOut.setCodOrdineOLO(richiesta.getCodiceOrdineRecipient()); + crmbDonorOut.setCodOLORecipient(richiesta.getCowRecipient()); + crmbDonorOut.setDn1(richiesta.getDn2()); + crmbDonorOut.setDn2(richiesta.getDn3()); + crmbDonorOut.setDn3(richiesta.getDn4()); + crmbDonorOut.setDn4(richiesta.getDn5()); + crmbDonorOut.setDn5(richiesta.getDn6()); + crmbDonorOut.setDn6(richiesta.getDn7()); + crmbDonorOut.setDn7(richiesta.getDn8()); + return crmbDonorOut; } diff --git a/gnpdev/dbcfx/src/it/valueteam/gnp/ws/crmb/EsitoVerificaCSDonorPortTypeImpl.java b/gnpdev/dbcfx/src/it/valueteam/gnp/ws/crmb/EsitoVerificaCSDonorPortTypeImpl.java index 912f60f8..1d47e979 100644 --- a/gnpdev/dbcfx/src/it/valueteam/gnp/ws/crmb/EsitoVerificaCSDonorPortTypeImpl.java +++ b/gnpdev/dbcfx/src/it/valueteam/gnp/ws/crmb/EsitoVerificaCSDonorPortTypeImpl.java @@ -3,17 +3,24 @@ package it.valueteam.gnp.ws.crmb; import javax.jws.HandlerChain; import javax.jws.WebService; +import dbcfx.soa.esitoverificacsdonor.x20230323.EsitoVerificaCS; +import dbcfx.soa.esitoverificacsdonor.x20230323.AckToCRM; + +import it.telecomitalia.soa.soap.soapheader.holders.HeaderTypeHolder; import it.valueteam.gnp.log.Loggable; import it.valueteam.gnp.log.ProcessLogger; import it.valueteam.gnp.obj.LogInfo; import it.valueteam.gnp.obj.LogProcess; import it.valueteam.gnp.systemcontroller.crm.AbstractCRMController; import it.valueteam.gnp.systemcontroller.formatcontroller.crm.AbstractCRMFormatController; +import it.valueteam.gnp.utility.Func; import it.valueteam.gnp.utility.Resources; import it.valueteam.gnp.utility.XmlUtility; import it.valueteam.gnp.ws.crmws.EsitoVerificaCSDonorPortType; import weblogic.jws.*; + + /** * EsitoVerificaCSDonorPortTypeImpl class implements web service endpoint interface EsitoVerificaCSDonorPortType */ @@ -51,21 +58,24 @@ public class EsitoVerificaCSDonorPortTypeImpl implements EsitoVerificaCSDonorPor return logInfo; } - public dbcfx.soa.esitoverificacsdonor.x20230323.AckToCRM sendEsitoVerificaCS(it.telecomitalia.soa.soap.soapheader.holders.HeaderTypeHolder Header,dbcfx.soa.esitoverificacsdonor.x20230323.EsitoVerificaCS body) - - { - dbcfx.soa.esitoverificacsdonor.x20230323.AckToCRM toReturn = new dbcfx.soa.esitoverificacsdonor.x20230323.AckToCRM(); + public AckToCRM sendEsitoVerificaCS(HeaderTypeHolder Header, EsitoVerificaCS body) { + AckToCRM toReturn = new AckToCRM(); try { - log.write("9999", "Response relativa alla richiesta con CODICE_SESSIONE[" + body.getCODICE_SESSIONE() + "]: " + XmlUtility.getXmlStringFromCastorXmlObject(toReturn)); - toReturn = AbstractCRMFormatController.esitoVerificaCS(body, log); + log.write("9999", "Response sendEsitoVerificaCS relativa alla richiesta con CODICE_SESSIONE[" + body.getCODICE_SESSIONE() + "]: " + XmlUtility.getXmlStringFromCastorXmlObject(toReturn)); + + if(!Func.isNull(body.getCODICE_SESSIONE()) && body.getCODICE_SESSIONE().trim().startsWith("B")) + toReturn = AbstractCRMFormatController.esitoVerificaCS82(body, log); + else + toReturn = AbstractCRMFormatController.esitoVerificaCS(body, log); } catch (Exception e) { e.printStackTrace(); - log.write("0003", " eccezione durante l'acquisizione della richiesta: " + e); + log.write("0003", " eccezione durante l'acquisizione della richiesta sendEsitoVerificaCS: " + e); toReturn.setCOD_RISPOSTA(AbstractCRMController.KO_ATTIVAZIONE); toReturn.setDESC_RISPOSTA(e.getMessage()); } return toReturn; } + } \ No newline at end of file diff --git a/gnpdev/wsdbcfx/wsdl/crmdonor/CRM_TO_DBCFX_DONOR.xsd b/gnpdev/wsdbcfx/wsdl/crmdonor/CRM_TO_DBCFX_DONOR.xsd index f1f0f4ac..c1c30068 100644 --- a/gnpdev/wsdbcfx/wsdl/crmdonor/CRM_TO_DBCFX_DONOR.xsd +++ b/gnpdev/wsdbcfx/wsdl/crmdonor/CRM_TO_DBCFX_DONOR.xsd @@ -26,6 +26,7 @@ +