[CARELLI - Calendario PV]
- gestita modifica utenti pianificazione con sincronizzazione DB
This commit is contained in:
@@ -1782,21 +1782,31 @@ public class ActivityService {
|
|||||||
.setMaxRepetitions(dto.getMaxRepetitions())
|
.setMaxRepetitions(dto.getMaxRepetitions())
|
||||||
.setRecurrenceRule(dto.getRecurrenceRule());
|
.setRecurrenceRule(dto.getRecurrenceRule());
|
||||||
plan.setOperation(dto.getId() == null ? OperationType.INSERT : OperationType.UPDATE);
|
plan.setOperation(dto.getId() == null ? OperationType.INSERT : OperationType.UPDATE);
|
||||||
|
List<SrlActivityPlanUser> utentiDb = null;
|
||||||
if (plan.getId() != null) {
|
if (plan.getId() != null) {
|
||||||
String whereCond = plan.getPkWhereCond();
|
utentiDb = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(),
|
||||||
whereCond = whereCond.replace("id", "plan_id");
|
Query.format("SELECT * from srl_activity_plan_user where plan_id = {}", plan.getId()),
|
||||||
SrlActivityPlanUser planUsers = new SrlActivityPlanUser();
|
SrlActivityPlanUser.class
|
||||||
planUsers.deleteAllEntities(multiDBTransactionManager.getPrimaryConnection(), whereCond);
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (utentiDb == null) {
|
||||||
|
utentiDb = new ArrayList<>();
|
||||||
|
}else{
|
||||||
|
utentiDb.forEach(x -> x.setOperation(OperationType.DELETE));
|
||||||
|
plan.getSrlActivityPlanUser().addAll(utentiDb);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (String username : dto.getUsers()) {
|
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
|
user
|
||||||
.setUserName(username)
|
.setUserName(username)
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||||
plan.getSrlActivityPlanUser().add(user);
|
plan.getSrlActivityPlanUser().add(user);
|
||||||
|
|
||||||
}
|
}
|
||||||
entityProcessor.processEntity(plan, true, multiDBTransactionManager);
|
entityProcessor.processEntity(plan, true, multiDBTransactionManager);
|
||||||
|
|
||||||
@@ -1839,7 +1849,7 @@ public class ActivityService {
|
|||||||
|
|
||||||
String activityIdOrd = "INSERIMENTO ORDINI FORNITORI";
|
String activityIdOrd = "INSERIMENTO ORDINI FORNITORI";
|
||||||
String activityIdScar = "SCARICO ORDINE FORNITORE";
|
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));
|
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
|
//region Creazione attività pianificate di ordini ai fornitori
|
||||||
for (String key : plannedOrders.keySet()) {
|
for (String key : plannedOrders.keySet()) {
|
||||||
List<PianoLogisticoDTO> orders = plannedOrders.get(key);
|
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);
|
activities.add(plan);
|
||||||
}
|
}
|
||||||
//endregion
|
//endregion
|
||||||
@@ -1868,13 +1878,13 @@ public class ActivityService {
|
|||||||
|
|
||||||
PianoLogisticoDTO defaultPlan = orders.get(0);
|
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()))
|
plan.setDescription(String.format("ORDINI A %d FORNITORI", orders.size()))
|
||||||
.setAction(null)
|
.setAction(null)
|
||||||
.setChildren(orders.stream().map(x -> {
|
.setChildren(orders.stream().map(x -> {
|
||||||
try {
|
try {
|
||||||
return getAttivitaOrdineDaPianoLogistico(x, activityIdOrd, codMdep,defaultReportName);
|
return getAttivitaOrdineDaPianoLogistico(x, activityIdOrd, codMdep, defaultReportName);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
@@ -1915,7 +1925,7 @@ public class ActivityService {
|
|||||||
boolean allDay = pianoLogisticoDTO.getOraMaxOrd() == null;
|
boolean allDay = pianoLogisticoDTO.getOraMaxOrd() == null;
|
||||||
LocalTime oraMaxOrd = UtilityLocalTime.isNull(pianoLogisticoDTO.getOraMaxOrd(), LocalTime.MAX);
|
LocalTime oraMaxOrd = UtilityLocalTime.isNull(pianoLogisticoDTO.getOraMaxOrd(), LocalTime.MAX);
|
||||||
LocalTime oraInizOrd = oraMaxOrd.minusHours(1);
|
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
|
dto
|
||||||
.setAllDay(allDay)
|
.setAllDay(allDay)
|
||||||
.setActivityTypeId(activityTypeId)
|
.setActivityTypeId(activityTypeId)
|
||||||
@@ -1931,14 +1941,14 @@ public class ActivityService {
|
|||||||
.setType(ActivityPlanActionDTO.ActionType.REPORT)
|
.setType(ActivityPlanActionDTO.ActionType.REPORT)
|
||||||
.setParams(new HashMap<String, Object>() {{
|
.setParams(new HashMap<String, Object>() {{
|
||||||
|
|
||||||
put("whereCond",Query.format("(griglia.cod_alis = %s)",pianoLogisticoDTO.getCodAlis()));
|
put("whereCond", Query.format("(griglia.cod_alis = %s)", pianoLogisticoDTO.getCodAlis()));
|
||||||
put("params",new HashMap<String, Object>() {{
|
put("params", new HashMap<String, Object>() {{
|
||||||
put("cod_mdep", codMdep);
|
put("cod_mdep", codMdep);
|
||||||
put("cod_alis", pianoLogisticoDTO.getCodAlis());
|
put("cod_alis", pianoLogisticoDTO.getCodAlis());
|
||||||
put("data_iniz_mese_prec", "");
|
put("data_iniz_mese_prec", "");
|
||||||
put("data_fine_mese_prec", "");
|
put("data_fine_mese_prec", "");
|
||||||
}});
|
}});
|
||||||
put("reportName", UtilityString.isNull(reportGriglia,defaultReportName));
|
put("reportName", UtilityString.isNull(reportGriglia, defaultReportName));
|
||||||
}});
|
}});
|
||||||
dto.setAction(action);
|
dto.setAction(action);
|
||||||
return dto;
|
return dto;
|
||||||
|
|||||||
Reference in New Issue
Block a user