Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-05-27 16:47:00 +02:00

View File

@@ -1782,21 +1782,31 @@ public class ActivityService {
.setMaxRepetitions(dto.getMaxRepetitions())
.setRecurrenceRule(dto.getRecurrenceRule());
plan.setOperation(dto.getId() == null ? OperationType.INSERT : OperationType.UPDATE);
List<SrlActivityPlanUser> utentiDb = null;
if (plan.getId() != null) {
String whereCond = plan.getPkWhereCond();
whereCond = whereCond.replace("id", "plan_id");
SrlActivityPlanUser planUsers = new SrlActivityPlanUser();
planUsers.deleteAllEntities(multiDBTransactionManager.getPrimaryConnection(), whereCond);
utentiDb = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(),
Query.format("SELECT * from srl_activity_plan_user where plan_id = {}", plan.getId()),
SrlActivityPlanUser.class
);
}
if (utentiDb == null) {
utentiDb = new ArrayList<>();
}else{
utentiDb.forEach(x -> x.setOperation(OperationType.DELETE));
plan.getSrlActivityPlanUser().addAll(utentiDb);
}
for (String username : dto.getUsers()) {
SrlActivityPlanUser user = new SrlActivityPlanUser();
SrlActivityPlanUser user = utentiDb.stream().filter(x -> x.getUserName().equalsIgnoreCase(username)).findFirst().orElse(null);
if (user == null){
user = new SrlActivityPlanUser();
plan.getSrlActivityPlanUser().add(user);
}
user
.setUserName(username)
.setOperation(OperationType.INSERT);
.setOperation(OperationType.INSERT_OR_UPDATE);
plan.getSrlActivityPlanUser().add(user);
}
entityProcessor.processEntity(plan, true, multiDBTransactionManager);
@@ -1839,7 +1849,7 @@ public class ActivityService {
String activityIdOrd = "INSERIMENTO ORDINI FORNITORI";
String activityIdScar = "SCARICO ORDINE FORNITORE";
String defaultReportName = gestSetup.getSetup(multiDBTransactionManager.getPrimaryConnection(), "PVM", "ORDINI_A", "REPORT_NAME_GRIGLIA");
String defaultReportName = gestSetup.getSetup(multiDBTransactionManager.getPrimaryConnection(), "PVM", "ORDINI_A", "REPORT_NAME_GRIGLIA");
Map<String, List<PianoLogisticoDTO>> plannedOrders = listPianoLogistico.stream().collect(Collectors.groupingBy(PianoLogisticoDTO::getRecurrenceOrdKey));
@@ -1848,7 +1858,7 @@ public class ActivityService {
//region Creazione attività pianificate di ordini ai fornitori
for (String key : plannedOrders.keySet()) {
List<PianoLogisticoDTO> orders = plannedOrders.get(key);
ActivityPlanDTO plan = (orders.size() > 1) ? getNestedOrdersActivities(orders, activityIdOrd, codMdep,defaultReportName) : getAttivitaOrdineDaPianoLogistico(orders.get(0), activityIdOrd, codMdep,defaultReportName);
ActivityPlanDTO plan = (orders.size() > 1) ? getNestedOrdersActivities(orders, activityIdOrd, codMdep, defaultReportName) : getAttivitaOrdineDaPianoLogistico(orders.get(0), activityIdOrd, codMdep, defaultReportName);
activities.add(plan);
}
//endregion
@@ -1868,13 +1878,13 @@ public class ActivityService {
PianoLogisticoDTO defaultPlan = orders.get(0);
ActivityPlanDTO plan = getAttivitaOrdineDaPianoLogistico(defaultPlan, activityIdOrd, codMdep,defaultReportName);
ActivityPlanDTO plan = getAttivitaOrdineDaPianoLogistico(defaultPlan, activityIdOrd, codMdep, defaultReportName);
plan.setDescription(String.format("ORDINI A %d FORNITORI", orders.size()))
.setAction(null)
.setChildren(orders.stream().map(x -> {
try {
return getAttivitaOrdineDaPianoLogistico(x, activityIdOrd, codMdep,defaultReportName);
return getAttivitaOrdineDaPianoLogistico(x, activityIdOrd, codMdep, defaultReportName);
} catch (Exception e) {
throw new RuntimeException(e);
}
@@ -1915,7 +1925,7 @@ public class ActivityService {
boolean allDay = pianoLogisticoDTO.getOraMaxOrd() == null;
LocalTime oraMaxOrd = UtilityLocalTime.isNull(pianoLogisticoDTO.getOraMaxOrd(), LocalTime.MAX);
LocalTime oraInizOrd = oraMaxOrd.minusHours(1);
String reportGriglia = gestSetup.getSetupDet(multiDBTransactionManager.getPrimaryConnection(), "PVM", "ORDINI_A", "REPORT_NAME_GRIGLIA",pianoLogisticoDTO.getCodAlis());
String reportGriglia = gestSetup.getSetupDet(multiDBTransactionManager.getPrimaryConnection(), "PVM", "ORDINI_A", "REPORT_NAME_GRIGLIA", pianoLogisticoDTO.getCodAlis());
dto
.setAllDay(allDay)
.setActivityTypeId(activityTypeId)
@@ -1931,14 +1941,14 @@ public class ActivityService {
.setType(ActivityPlanActionDTO.ActionType.REPORT)
.setParams(new HashMap<String, Object>() {{
put("whereCond",Query.format("(griglia.cod_alis = %s)",pianoLogisticoDTO.getCodAlis()));
put("params",new HashMap<String, Object>() {{
put("whereCond", Query.format("(griglia.cod_alis = %s)", pianoLogisticoDTO.getCodAlis()));
put("params", new HashMap<String, Object>() {{
put("cod_mdep", codMdep);
put("cod_alis", pianoLogisticoDTO.getCodAlis());
put("data_iniz_mese_prec", "");
put("data_fine_mese_prec", "");
}});
put("reportName", UtilityString.isNull(reportGriglia,defaultReportName));
put("reportName", UtilityString.isNull(reportGriglia, defaultReportName));
}});
dto.setAction(action);
return dto;