diff --git a/ems-engine/src/main/java/it/integry/ems/activity/controller/UserAbsenceController.java b/ems-engine/src/main/java/it/integry/ems/activity/controller/UserAbsenceController.java index 8c3d826e54..6ff1413925 100644 --- a/ems-engine/src/main/java/it/integry/ems/activity/controller/UserAbsenceController.java +++ b/ems-engine/src/main/java/it/integry/ems/activity/controller/UserAbsenceController.java @@ -1,7 +1,7 @@ package it.integry.ems.activity.controller; import it.integry.common.var.CommonConstants; -import it.integry.ems.activity.dto.InsertUserAbsenceRequestDTO; +import it.integry.ems.activity.dto.UserAbsenceRequestDTO; import it.integry.ems.activity.service.UserAbsenceService; import it.integry.ems.javabeans.RequestDataDTO; import it.integry.ems.response.ServiceRestResponse; @@ -46,10 +46,28 @@ public class UserAbsenceController { @PreAuthorize("isAuthenticated()") @RequestMapping(value = "/register", method = RequestMethod.POST) - public ServiceRestResponse registerAssenze(HttpServletRequest request, - @RequestParam(CommonConstants.PROFILE_DB) String config, - @RequestBody List userAbsences) throws Exception { - userAbsenceService.registerAssenze(userAbsences, requestDataDTO.getUsername()); + public ServiceRestResponse registerAbsence(HttpServletRequest request, + @RequestParam(CommonConstants.PROFILE_DB) String config, + @RequestBody List userAbsences) throws Exception { + userAbsenceService.registerAbsence(userAbsences, requestDataDTO.getUsername()); + return ServiceRestResponse.createPositiveResponse(); + } + + @PreAuthorize("isAuthenticated()") + @RequestMapping(value = "/modify", method = RequestMethod.POST) + public ServiceRestResponse modifyAbsence(HttpServletRequest request, + @RequestParam(CommonConstants.PROFILE_DB) String config, + @RequestBody UserAbsenceRequestDTO absence) throws Exception { + userAbsenceService.modifyAbsence(absence, requestDataDTO.getUsername()); + return ServiceRestResponse.createPositiveResponse(); + } + + @PreAuthorize("isAuthenticated()") + @RequestMapping(value = "/delete", method = RequestMethod.POST) + public ServiceRestResponse deleteAbsence(HttpServletRequest request, + @RequestParam(CommonConstants.PROFILE_DB) String config, + @RequestBody UserAbsenceRequestDTO absence) throws Exception { + userAbsenceService.deleteAbsence(absence, requestDataDTO.getUsername()); return ServiceRestResponse.createPositiveResponse(); } } diff --git a/ems-engine/src/main/java/it/integry/ems/activity/dto/UserAbsenceRequestDTO.java b/ems-engine/src/main/java/it/integry/ems/activity/dto/UserAbsenceRequestDTO.java index 2ebcd34d19..3a9f045ba0 100644 --- a/ems-engine/src/main/java/it/integry/ems/activity/dto/UserAbsenceRequestDTO.java +++ b/ems-engine/src/main/java/it/integry/ems/activity/dto/UserAbsenceRequestDTO.java @@ -2,7 +2,7 @@ package it.integry.ems.activity.dto; import java.time.LocalDate; -public class InsertUserAbsenceRequestDTO { +public class UserAbsenceRequestDTO { private LocalDate dataInizio; private LocalDate dataFine; @@ -14,7 +14,7 @@ public class InsertUserAbsenceRequestDTO { return dataInizio; } - public InsertUserAbsenceRequestDTO setDataInizio(LocalDate dataInizio) { + public UserAbsenceRequestDTO setDataInizio(LocalDate dataInizio) { this.dataInizio = dataInizio; return this; } @@ -23,7 +23,7 @@ public class InsertUserAbsenceRequestDTO { return dataFine; } - public InsertUserAbsenceRequestDTO setDataFine(LocalDate dataFine) { + public UserAbsenceRequestDTO setDataFine(LocalDate dataFine) { this.dataFine = dataFine; return this; } @@ -32,7 +32,7 @@ public class InsertUserAbsenceRequestDTO { return giustificativo; } - public InsertUserAbsenceRequestDTO setGiustificativo(String giustificativo) { + public UserAbsenceRequestDTO setGiustificativo(String giustificativo) { this.giustificativo = giustificativo; return this; } @@ -41,7 +41,7 @@ public class InsertUserAbsenceRequestDTO { return note; } - public InsertUserAbsenceRequestDTO setNote(String note) { + public UserAbsenceRequestDTO setNote(String note) { this.note = note; return this; } diff --git a/ems-engine/src/main/java/it/integry/ems/activity/service/UserAbsenceService.java b/ems-engine/src/main/java/it/integry/ems/activity/service/UserAbsenceService.java index bf3357d36f..218c49873a 100644 --- a/ems-engine/src/main/java/it/integry/ems/activity/service/UserAbsenceService.java +++ b/ems-engine/src/main/java/it/integry/ems/activity/service/UserAbsenceService.java @@ -2,7 +2,7 @@ package it.integry.ems.activity.service; import it.integry.common.var.CommonConstants; import it.integry.ems.activity.dto.AssenzaDTO; -import it.integry.ems.activity.dto.InsertUserAbsenceRequestDTO; +import it.integry.ems.activity.dto.UserAbsenceRequestDTO; import it.integry.ems.exception.PrimaryDatabaseNotPresentException; import it.integry.ems.javabeans.RequestDataDTO; import it.integry.ems.service.EntityProcessor; @@ -69,14 +69,13 @@ public class UserAbsenceService { return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, JtbGiustifica.class); } - - public void registerAssenze(List assenzeList, String username) throws Exception { + public void registerAbsence(List assenzeList, String username) throws Exception { String codJflav = userService.retrieveCodJflav(username); String fullname = requestDataDTO.getUser().getFullname(); List jtbRLavtList = new ArrayList<>(); - for (InsertUserAbsenceRequestDTO assenzaItem : assenzeList) { + for (UserAbsenceRequestDTO assenzaItem : assenzeList) { if (assenzaItem.getDataInizio() == null) throw new Exception("Errore nella data inizio"); if (assenzaItem.getDataFine() == null) throw new Exception("Errore nella data fine"); @@ -113,8 +112,20 @@ public class UserAbsenceService { mailService.sendMail("amministrazione@integry.it", "m.morelli@integry.it", subject, message); } + } + public void modifyAbsence(UserAbsenceRequestDTO assenza, String username) throws Exception { + String codJflav = userService.retrieveCodJflav(username); + String fullname = requestDataDTO.getUser().getFullname(); + if (assenza.getDataInizio() == null) throw new Exception("Errore nella data inizio"); + } + + public void deleteAbsence(UserAbsenceRequestDTO assenza, String username) throws Exception { + String codJflav = userService.retrieveCodJflav(username); + String fullname = requestDataDTO.getUser().getFullname(); + + if (assenza.getDataInizio() == null) throw new Exception("Errore nella data inizio"); } }