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()) .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);