[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())
|
||||
.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;
|
||||
|
||||
Reference in New Issue
Block a user