Gestita creazione nuova commessa in modifica preventivo

This commit is contained in:
2024-10-16 15:39:53 +02:00
parent 3aa6224532
commit 372ce92b94

View File

@@ -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