This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package it.integry.ems.order.crm.dto;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class CRMActivityDTO {
|
||||
|
||||
@@ -25,6 +27,8 @@ public class CRMActivityDTO {
|
||||
private Date effectiveTime;
|
||||
private Date effectiveEndtime;
|
||||
|
||||
private List<String> userNameList;
|
||||
|
||||
public String getActivityId() {
|
||||
return activityId;
|
||||
}
|
||||
@@ -124,6 +128,15 @@ public class CRMActivityDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<String> getUserNameList() {
|
||||
return userNameList;
|
||||
}
|
||||
|
||||
public CRMActivityDTO setUserNameList(List<String> userNameList) {
|
||||
this.userNameList = userNameList;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUserCreator() {
|
||||
return userCreator;
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.user.service.UserService;
|
||||
import it.integry.ems.utility.UtilityEntity;
|
||||
import it.integry.ems.utility.UtilityFile;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.entity.*;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
@@ -31,6 +32,7 @@ import org.springframework.stereotype.Service;
|
||||
import java.io.File;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -178,75 +180,81 @@ public class CrmService {
|
||||
return response;
|
||||
}
|
||||
|
||||
public StbActivity saveActivity(CRMActivityDTO activity) throws Exception {
|
||||
public List<StbActivity> saveActivity(CRMActivityDTO activity) throws Exception {
|
||||
Connection conn = multiDBTransactionManager.getPrimaryConnection();
|
||||
|
||||
String codJcomInterno = setupGest.getSetup(conn, "PVM", "CONTATTI_COMMESSE", "CODJCOM_INTERNO");
|
||||
|
||||
if (activity != null) {
|
||||
StbActivity stbActivity;
|
||||
List<StbActivity> entityList = new ArrayList<>();
|
||||
for ( String userName:activity.getUserNameList()) {
|
||||
StbActivity stbActivity;
|
||||
activity.setUserName(userName);
|
||||
|
||||
if (UtilityString.isNullOrEmpty(activity.getActivityId())) {
|
||||
if (activity.getParentActivityId() != null) {
|
||||
String sql = Query.format(
|
||||
"SELECT tipo_anag, cod_anag\n" +
|
||||
"FROM jtb_comt\n" +
|
||||
"WHERE cod_jcom = %s",
|
||||
activity.getCodJcom()
|
||||
);
|
||||
HashMap<String, Object> result = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
|
||||
if (result == null) throw new Exception("Commessa non valida");
|
||||
if (UtilityString.isNullOrEmpty(activity.getActivityId())) {
|
||||
if (activity.getParentActivityId() != null) {
|
||||
String sql = Query.format(
|
||||
"SELECT tipo_anag, cod_anag\n" +
|
||||
"FROM jtb_comt\n" +
|
||||
"WHERE cod_jcom = %s",
|
||||
activity.getCodJcom()
|
||||
);
|
||||
HashMap<String, Object> result = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
|
||||
if (result == null) throw new Exception("Commessa non valida");
|
||||
|
||||
if (activity.getUserName().equalsIgnoreCase(requestDataDTO.getUsername()))
|
||||
activity.setOraViewAct(new Date());
|
||||
if (userName.equalsIgnoreCase(requestDataDTO.getUsername()))
|
||||
activity.setOraViewAct(new Date());
|
||||
|
||||
activity.setTipoAnag((String) result.get("tipo_anag"))
|
||||
.setCodAnag((String) result.get("cod_anag"))
|
||||
.setFlagTipologia("A");
|
||||
activity.setTipoAnag((String) result.get("tipo_anag"))
|
||||
.setCodAnag((String) result.get("cod_anag"))
|
||||
.setFlagTipologia("A");
|
||||
|
||||
stbActivity = createNewActivity(activity, null);
|
||||
} else if (activity.getCodJcom().equals(codJcomInterno)) {
|
||||
activity.setFlagTipologia("A");
|
||||
stbActivity = createNewActivity(activity, null);
|
||||
} else if (activity.getCodJcom().equals(codJcomInterno)) {
|
||||
activity.setFlagTipologia("A");
|
||||
|
||||
if (activity.getUserName().equalsIgnoreCase(requestDataDTO.getUsername()))
|
||||
activity.setOraViewAct(new Date());
|
||||
if (userName.equalsIgnoreCase(requestDataDTO.getUsername()))
|
||||
activity.setOraViewAct(new Date());
|
||||
|
||||
stbActivity = createNewActivity(activity, null);
|
||||
stbActivity = createNewActivity(activity, null);
|
||||
} else {
|
||||
throw new Exception("Processo non valido");
|
||||
}
|
||||
} else {
|
||||
throw new Exception("Processo non valido");
|
||||
}
|
||||
} else {
|
||||
stbActivity = CRMUtility.buildStbActivity(activity);
|
||||
stbActivity.setOperation(OperationType.UPDATE);
|
||||
stbActivity.setActivityId(activity.getActivityId());
|
||||
stbActivity = CRMUtility.buildStbActivity(activity);
|
||||
stbActivity.setOperation(OperationType.UPDATE);
|
||||
stbActivity.setActivityId(activity.getActivityId());
|
||||
|
||||
if (activity.getUserName().equalsIgnoreCase(requestDataDTO.getUsername())) {
|
||||
String sql = Query.format(
|
||||
"SELECT ora_view_act\n" +
|
||||
"FROM stb_activity\n" +
|
||||
"WHERE activity_id = %s",
|
||||
activity.getActivityId()
|
||||
);
|
||||
Object oraViewAct = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
if (userName.equalsIgnoreCase(requestDataDTO.getUsername())) {
|
||||
String sql = Query.format(
|
||||
"SELECT ora_view_act\n" +
|
||||
"FROM stb_activity\n" +
|
||||
"WHERE activity_id = %s",
|
||||
activity.getActivityId()
|
||||
);
|
||||
Object oraViewAct = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
|
||||
if (oraViewAct == null) {
|
||||
stbActivity.setOraViewAct(new Date());
|
||||
if (oraViewAct == null) {
|
||||
stbActivity.setOraViewAct(new Date());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
boolean flag_creaRapportino = activity.getActivityResultId() != null &&
|
||||
(activity.getEffectiveTime() != null || !activity.getEffectiveTime().equals(DATE_NULL)) &&
|
||||
(activity.getEffectiveEndtime() != null || !activity.getEffectiveEndtime().equals(DATE_NULL));
|
||||
|
||||
if (flag_creaRapportino) {
|
||||
stbActivity.setOreRapportino(UtilityDate.timeDiff(activity.getEffectiveEndtime(), activity.getEffectiveTime()));
|
||||
}
|
||||
|
||||
entityList.add(stbActivity);
|
||||
}
|
||||
List<EntityBase> entityRet = entityProcessor.processEntityList(entityList, multiDBTransactionManager, true);
|
||||
UtilityEntity.throwEntitiesException(entityRet);
|
||||
entityRet.stream().forEach(x->x.setOperation(OperationType.SELECT_OBJECT));
|
||||
|
||||
boolean flag_creaRapportino = activity.getActivityResultId() != null &&
|
||||
(activity.getEffectiveTime() != null || !activity.getEffectiveTime().equals(DATE_NULL)) &&
|
||||
(activity.getEffectiveEndtime() != null || !activity.getEffectiveEndtime().equals(DATE_NULL));
|
||||
|
||||
if (flag_creaRapportino) {
|
||||
stbActivity.setOreRapportino(UtilityDate.timeDiff(activity.getEffectiveEndtime(), activity.getEffectiveTime()));
|
||||
}
|
||||
|
||||
entityProcessor.processEntity(stbActivity, multiDBTransactionManager);
|
||||
|
||||
stbActivity.setOperation(OperationType.SELECT_OBJECT);
|
||||
return stbActivity;
|
||||
return UtilityEntity.toCustomEntity(entityRet);
|
||||
}
|
||||
|
||||
throw new Exception("Lista attivita vuota");
|
||||
|
||||
@@ -193,7 +193,7 @@ public class CRMUtility {
|
||||
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
}
|
||||
|
||||
public static StbActivity buildStbActivity(CRMActivityDTO activityRequest) {
|
||||
public static StbActivity buildStbActivity(CRMActivityDTO activityRequest ) {
|
||||
return new StbActivity()
|
||||
.setTipoAnag(activityRequest.getTipoAnag())
|
||||
.setCodAnag(activityRequest.getCodAnag())
|
||||
|
||||
Reference in New Issue
Block a user