From 372ce92b943f1c6c2873f32d3742f2a2e0972b37 Mon Sep 17 00:00:00 2001 From: AnthonyS Date: Wed, 16 Oct 2024 15:39:53 +0200 Subject: [PATCH] Gestita creazione nuova commessa in modifica preventivo --- .../ems/order/crm/service/CrmService.java | 170 ++++++++++-------- 1 file changed, 94 insertions(+), 76 deletions(-) diff --git a/ems-engine/src/main/java/it/integry/ems/order/crm/service/CrmService.java b/ems-engine/src/main/java/it/integry/ems/order/crm/service/CrmService.java index 4a66ec80a2..251147b493 100644 --- a/ems-engine/src/main/java/it/integry/ems/order/crm/service/CrmService.java +++ b/ems-engine/src/main/java/it/integry/ems/order/crm/service/CrmService.java @@ -716,94 +716,94 @@ public class CrmService { wdtbOrdsDelete.setNativeSql(sql); entityProcessor.processEntity(wdtbOrdsDelete, true, multiDBTransactionManager); - if (activityId == null) { // SE NON HA ATTIVITA PREVENTIVAZIONE, NE CREA UNA - if (codJcom == null) { - CrmCommessa crmCommessa = completaOrd.getCommessa(); + if (codJcom == null) { + CrmCommessa crmCommessa = completaOrd.getCommessa(); - if (crmCommessa != null) { - JtbComt jtbComt = new JtbComt(); - jtbComt.setOperation(OperationType.INSERT); - jtbComt.setPrecode("C"); - jtbComt.setTipoAnag(tipoAnag); - jtbComt.setCodAnag(codAnag); - jtbComt.setCodVdes(codVdes); - jtbComt.setDescrizione(crmCommessa.getDescrizione()); - jtbComt.setDescrizioneEstesa(crmCommessa.getDescrizioneEstesa()); - jtbComt.setNote(crmCommessa.getNote()); - jtbComt.setCodJflav(crmCommessa.getCodJflav()); - jtbComt.setCodJfas(crmCommessa.getCodJfas()); - jtbComt.setStatoCommessa(crmCommessa.getStatoCommessa()); + if (crmCommessa != null) { + JtbComt jtbComt = new JtbComt(); + jtbComt.setOperation(OperationType.INSERT); + jtbComt.setPrecode("C"); + jtbComt.setTipoAnag(tipoAnag); + jtbComt.setCodAnag(codAnag); + jtbComt.setCodVdes(codVdes); + jtbComt.setDescrizione(crmCommessa.getDescrizione()); + jtbComt.setDescrizioneEstesa(crmCommessa.getDescrizioneEstesa()); + jtbComt.setNote(crmCommessa.getNote()); + jtbComt.setCodJflav(crmCommessa.getCodJflav()); + jtbComt.setCodJfas(crmCommessa.getCodJfas()); + jtbComt.setStatoCommessa(crmCommessa.getStatoCommessa()); - entityProcessor.processEntity(jtbComt, true, multiDBTransactionManager); - entityBaseList.add(jtbComt); - codJcom = jtbComt.getCodJcom(); + entityProcessor.processEntity(jtbComt, true, multiDBTransactionManager); + entityBaseList.add(jtbComt); + codJcom = jtbComt.getCodJcom(); - if (!completaOrd.getCrmAttivita().isEmpty()) { - for (int i = 0; i < completaOrd.getCrmAttivita().size(); i++) { - CrmAttivita crmAttivita = completaOrd.getCrmAttivita().get(i); + if (!completaOrd.getCrmAttivita().isEmpty()) { + for (int i = 0; i < completaOrd.getCrmAttivita().size(); i++) { + CrmAttivita crmAttivita = completaOrd.getCrmAttivita().get(i); - StbActivity stbActivity = new StbActivity(); - stbActivity.setOperation(OperationType.INSERT); - if (processActivityId != null) { - stbActivity.setParentActivityId(processActivityId); - } - stbActivity.setTipoAnag(tipoAnag); - stbActivity.setCodAnag(codAnag); - stbActivity.setCodJcom(codJcom); - stbActivity.setActivityTypeId(crmAttivita.getActivityTypeId()); - stbActivity.setActivityDescription(crmAttivita.getActivityDescription()); - stbActivity.setActivityResultId(crmAttivita.getActivityResultId()); - stbActivity.setNote(crmAttivita.getNote()); - stbActivity.setFlagTipologia(crmAttivita.getFlagTipologia()); - stbActivity.setUserName(crmAttivita.getUserName()); - stbActivity.setUserCreator(crmAttivita.getUserCreator()); - stbActivity.setUserModifier(crmAttivita.getUserModifier()); - stbActivity.setOraModAct(crmAttivita.getOraModAct()); - stbActivity.setOraViewAct(crmAttivita.getOraViewAct()); - stbActivity.setEstimatedDate(crmAttivita.getEstimatedTime()); - stbActivity.setEstimatedTime(crmAttivita.getEstimatedTime()); - stbActivity.setEstimatedEnddate(crmAttivita.getEstimatedEndtime()); - stbActivity.setEstimatedEndtime(crmAttivita.getEstimatedEndtime()); - stbActivity.setEffectiveDate(crmAttivita.getEffectiveTime()); - stbActivity.setEffectiveTime(crmAttivita.getEffectiveTime()); - stbActivity.setEffectiveEnddate(crmAttivita.getEffectiveEndtime()); - stbActivity.setEffectiveEndtime(crmAttivita.getEffectiveEndtime()); - - entityProcessor.processEntity(stbActivity, true, multiDBTransactionManager); - if (i == 0 && processActivityId == null) { - // Se si tratta della prima attività e non è specificato il processActivityId (activity_id del processo) allora - // vuol dire che si sta creando un nuovo contatto e quindi verrà creato sia il processo che l'attività semplice - processActivityId = stbActivity.getActivityId(); - } + StbActivity stbActivity = new StbActivity(); + stbActivity.setOperation(OperationType.INSERT); + if (processActivityId != null) { + stbActivity.setParentActivityId(processActivityId); + } + stbActivity.setTipoAnag(tipoAnag); + stbActivity.setCodAnag(codAnag); + stbActivity.setCodJcom(codJcom); + stbActivity.setActivityTypeId(crmAttivita.getActivityTypeId()); + stbActivity.setActivityDescription(crmAttivita.getActivityDescription()); + stbActivity.setActivityResultId(crmAttivita.getActivityResultId()); + stbActivity.setNote(crmAttivita.getNote()); + stbActivity.setFlagTipologia(crmAttivita.getFlagTipologia()); + stbActivity.setUserName(crmAttivita.getUserName()); + stbActivity.setUserCreator(crmAttivita.getUserCreator()); + stbActivity.setUserModifier(crmAttivita.getUserModifier()); + stbActivity.setOraModAct(crmAttivita.getOraModAct()); + stbActivity.setOraViewAct(crmAttivita.getOraViewAct()); + stbActivity.setEstimatedDate(crmAttivita.getEstimatedTime()); + stbActivity.setEstimatedTime(crmAttivita.getEstimatedTime()); + stbActivity.setEstimatedEnddate(crmAttivita.getEstimatedEndtime()); + stbActivity.setEstimatedEndtime(crmAttivita.getEstimatedEndtime()); + stbActivity.setEffectiveDate(crmAttivita.getEffectiveTime()); + stbActivity.setEffectiveTime(crmAttivita.getEffectiveTime()); + stbActivity.setEffectiveEnddate(crmAttivita.getEffectiveEndtime()); + stbActivity.setEffectiveEndtime(crmAttivita.getEffectiveEndtime()); + + entityProcessor.processEntity(stbActivity, true, multiDBTransactionManager); + if (i == 0 && processActivityId == null) { + // Se si tratta della prima attività e non è specificato il processActivityId (activity_id del processo) allora + // vuol dire che si sta creando un nuovo contatto e quindi verrà creato sia il processo che l'attività semplice + processActivityId = stbActivity.getActivityId(); } - } else { - throw new Exception("I dati del processo e/o dell'attività da creare inesistenti"); } } else { - throw new Exception("Dati di commessa da creare inesistenti"); + throw new Exception("I dati del processo e/o dell'attività da creare inesistenti"); } + } else { + throw new Exception("Dati di commessa da creare inesistenti"); } + } - // Acquisizione processo padre - String parentActivityId = null; - String activityDescription = "PREVENTIVO N. " + numOrd + " DEL " + new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(dataOrd); - Date dataOraIns = new Date(); - Date dataIns = UtilityDate.removeTime(dataOraIns); - sql = "SELECT stb_activity.activity_id " + - "FROM stb_activity, stb_activity_type " + - "WHERE stb_activity.flag_tipologia = stb_activity_type.flag_tipologia AND " + - " stb_activity.activity_type_id = stb_activity_type.activity_type_id AND " + - " stb_activity_type.link_gest = 'PREVENTIVAZIONE' AND " + - " stb_activity.cod_jcom = " + UtilityDB.valueToString(codJcom); + // Acquisizione processo padre + String parentActivityId = null; + String activityDescription = "PREVENTIVO N. " + numOrd + " DEL " + new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(dataOrd); + Date dataOraIns = new Date(); + Date dataIns = UtilityDate.removeTime(dataOraIns); + sql = "SELECT stb_activity.activity_id " + + "FROM stb_activity, stb_activity_type " + + "WHERE stb_activity.flag_tipologia = stb_activity_type.flag_tipologia AND " + + " stb_activity.activity_type_id = stb_activity_type.activity_type_id AND " + + " stb_activity_type.link_gest = 'PREVENTIVAZIONE' AND " + + " stb_activity.cod_jcom = " + UtilityDB.valueToString(codJcom); - info = multiDBTransactionManager.prepareStatement(sql); - res = info.executeQuery(); - while (res.next()) { - parentActivityId = res.getString(1); - } - res.close(); - info.close(); + info = multiDBTransactionManager.prepareStatement(sql); + res = info.executeQuery(); + while (res.next()) { + parentActivityId = res.getString(1); + } + res.close(); + info.close(); + if (activityId == null) { // SE NON HA ATTIVITA PREVENTIVAZIONE, NE CREA UNA // Inserimento attività completamento ordine StbActivity stbActivity = new StbActivity(); stbActivity.setOperation(OperationType.INSERT); @@ -822,6 +822,24 @@ public class CrmService { entityProcessor.processEntity(stbActivity, true, multiDBTransactionManager); activityId = stbActivity.getActivityId(); + } else { + StbActivity stbActivity = new StbActivity(); + stbActivity.setOperation(OperationType.UPDATE); + stbActivity.setActivityId(activityId); + stbActivity.setParentActivityId(parentActivityId); + stbActivity.setTipoAnag(tipoAnag); + stbActivity.setCodAnag(codAnag); + stbActivity.setCodJcom(codJcom); + stbActivity.setActivityTypeId(activityTypeId); + stbActivity.setActivityDescription(activityDescription); + stbActivity.setFlagTipologia(flagTipologia); + stbActivity.setUserName(requestDataDTO.getUsername()); + stbActivity.setUserCreator(requestDataDTO.getUsername()); + stbActivity.setOraViewAct(dataOraIns); + stbActivity.setEffectiveDate(dataIns); + stbActivity.setEffectiveTime(dataOraIns); + + entityProcessor.processEntity(stbActivity, true, multiDBTransactionManager); } // Aggiornamento ordine WEB