crm
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-06-18 17:21:49 +02:00
parent 9d7f95a3c6
commit d428ab467b
3 changed files with 73 additions and 52 deletions

View File

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

View File

@@ -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,13 +180,16 @@ 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) {
List<StbActivity> entityList = new ArrayList<>();
for ( String userName:activity.getUserNameList()) {
StbActivity stbActivity;
activity.setUserName(userName);
if (UtilityString.isNullOrEmpty(activity.getActivityId())) {
if (activity.getParentActivityId() != null) {
@@ -197,7 +202,7 @@ public class CrmService {
HashMap<String, Object> result = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
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.setTipoAnag((String) result.get("tipo_anag"))
@@ -208,7 +213,7 @@ public class CrmService {
} else if (activity.getCodJcom().equals(codJcomInterno)) {
activity.setFlagTipologia("A");
if (activity.getUserName().equalsIgnoreCase(requestDataDTO.getUsername()))
if (userName.equalsIgnoreCase(requestDataDTO.getUsername()))
activity.setOraViewAct(new Date());
stbActivity = createNewActivity(activity, null);
@@ -220,7 +225,7 @@ public class CrmService {
stbActivity.setOperation(OperationType.UPDATE);
stbActivity.setActivityId(activity.getActivityId());
if (activity.getUserName().equalsIgnoreCase(requestDataDTO.getUsername())) {
if (userName.equalsIgnoreCase(requestDataDTO.getUsername())) {
String sql = Query.format(
"SELECT ora_view_act\n" +
"FROM stb_activity\n" +
@@ -243,10 +248,13 @@ public class CrmService {
stbActivity.setOreRapportino(UtilityDate.timeDiff(activity.getEffectiveEndtime(), activity.getEffectiveTime()));
}
entityProcessor.processEntity(stbActivity, multiDBTransactionManager);
entityList.add(stbActivity);
}
List<EntityBase> entityRet = entityProcessor.processEntityList(entityList, multiDBTransactionManager, true);
UtilityEntity.throwEntitiesException(entityRet);
entityRet.stream().forEach(x->x.setOperation(OperationType.SELECT_OBJECT));
stbActivity.setOperation(OperationType.SELECT_OBJECT);
return stbActivity;
return UtilityEntity.toCustomEntity(entityRet);
}
throw new Exception("Lista attivita vuota");

View File

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