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