aggiunto inserimento attività per la trasferta
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
This commit is contained in:
@@ -12,6 +12,7 @@ public class UserAbsenceRequestDTO {
|
|||||||
private String note;
|
private String note;
|
||||||
private String fullname;
|
private String fullname;
|
||||||
private BigDecimal oreAssenza;
|
private BigDecimal oreAssenza;
|
||||||
|
private String codJcom;
|
||||||
|
|
||||||
public String getCodJflav() {
|
public String getCodJflav() {
|
||||||
return codJflav;
|
return codJflav;
|
||||||
@@ -75,4 +76,13 @@ public class UserAbsenceRequestDTO {
|
|||||||
this.oreAssenza = oreAssenza;
|
this.oreAssenza = oreAssenza;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getCodJcom() {
|
||||||
|
return codJcom;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserAbsenceRequestDTO setCodJcom(String codJcom) {
|
||||||
|
this.codJcom = codJcom;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,8 +11,10 @@ import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
|||||||
import it.integry.ems.user.service.UserService;
|
import it.integry.ems.user.service.UserService;
|
||||||
import it.integry.ems.utility.UtilityDebug;
|
import it.integry.ems.utility.UtilityDebug;
|
||||||
import it.integry.ems.utility.UtilityEntity;
|
import it.integry.ems.utility.UtilityEntity;
|
||||||
|
import it.integry.ems_model.base.EntityBase;
|
||||||
import it.integry.ems_model.entity.JtbGiustifica;
|
import it.integry.ems_model.entity.JtbGiustifica;
|
||||||
import it.integry.ems_model.entity.JtbRLavt;
|
import it.integry.ems_model.entity.JtbRLavt;
|
||||||
|
import it.integry.ems_model.entity.StbActivity;
|
||||||
import it.integry.ems_model.exception.DataConverterNotFoundException;
|
import it.integry.ems_model.exception.DataConverterNotFoundException;
|
||||||
import it.integry.ems_model.service.SetupGest;
|
import it.integry.ems_model.service.SetupGest;
|
||||||
import it.integry.ems_model.types.OperationType;
|
import it.integry.ems_model.types.OperationType;
|
||||||
@@ -83,7 +85,7 @@ public class UserAbsenceService {
|
|||||||
|
|
||||||
public void registerAbsence(List<UserAbsenceRequestDTO> assenzeList) throws Exception {
|
public void registerAbsence(List<UserAbsenceRequestDTO> assenzeList) throws Exception {
|
||||||
boolean sendEmail = sendEmail();
|
boolean sendEmail = sendEmail();
|
||||||
List<JtbRLavt> jtbRLavtList = new ArrayList<>();
|
List<EntityBase> entityList = new ArrayList<>();
|
||||||
|
|
||||||
for (UserAbsenceRequestDTO assenzaItem : assenzeList) {
|
for (UserAbsenceRequestDTO assenzaItem : assenzeList) {
|
||||||
|
|
||||||
@@ -109,18 +111,46 @@ public class UserAbsenceService {
|
|||||||
JtbRLavt jtbRLavt = new JtbRLavt()
|
JtbRLavt jtbRLavt = new JtbRLavt()
|
||||||
.setGiustificativo(assenzaItem.getGiustificativo())
|
.setGiustificativo(assenzaItem.getGiustificativo())
|
||||||
.setDataLav(UtilityLocalDate.localDateToDate(currentDate))
|
.setDataLav(UtilityLocalDate.localDateToDate(currentDate))
|
||||||
.setCodJflav(codJflav).
|
.setCodJflav(codJflav)
|
||||||
setOreAssenza(assenzaItem.getOreAssenza())
|
.setOreAssenza(assenzaItem.getOreAssenza())
|
||||||
.setNote(assenzaItem.getNote());
|
.setNote(assenzaItem.getNote());
|
||||||
jtbRLavt
|
jtbRLavt
|
||||||
.setOperation(OperationType.INSERT_OR_UPDATE);
|
.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||||
|
|
||||||
jtbRLavtList.add(jtbRLavt);
|
entityList.add(jtbRLavt);
|
||||||
|
|
||||||
|
if (assenzaItem.getCodJcom() != null) {
|
||||||
|
String sql = Query.format(
|
||||||
|
"SELECT parent_activity_id\n" +
|
||||||
|
"FROM stb_activity\n" +
|
||||||
|
" INNER JOIN (SELECT activity_type_id, flag_tipologia\n" +
|
||||||
|
" FROM srl_activity_type\n" +
|
||||||
|
" WHERE activity_type_id_next = %s\n" +
|
||||||
|
" AND flag_tipologia_next = 'A') s ON stb_activity.flag_tipologia = s.flag_tipologia\n" +
|
||||||
|
" AND stb_activity.activity_type_id = s.activity_type_id\n" +
|
||||||
|
" AND cod_jcom = %s",
|
||||||
|
assenzaItem.getGiustificativo(),
|
||||||
|
assenzaItem.getCodJcom()
|
||||||
|
);
|
||||||
|
String parentActivityId = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||||
|
if (parentActivityId != null) {
|
||||||
|
StbActivity stbActivity = new StbActivity()
|
||||||
|
.setCodJcom(assenzaItem.getCodJcom())
|
||||||
|
.setUserName(requestDataDTO.getUsername())
|
||||||
|
.setParentActivityId(parentActivityId)
|
||||||
|
.setActivityDescription(assenzaItem.getGiustificativo())
|
||||||
|
.setActivityTypeId(assenzaItem.getGiustificativo())
|
||||||
|
.setFlagTipologia("A")
|
||||||
|
.setEstimatedDate(UtilityLocalDate.localDateToDate(currentDate))
|
||||||
|
.setEstimatedEnddate(UtilityLocalDate.localDateToDate(currentDate));
|
||||||
|
stbActivity.setOperation(OperationType.INSERT);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (jtbRLavtList.isEmpty()) return;
|
if (entityList.isEmpty()) return;
|
||||||
|
|
||||||
UtilityEntity.throwEntitiesException(entityProcessor.processEntityList(jtbRLavtList, multiDBTransactionManager, true));
|
UtilityEntity.throwEntitiesException(entityProcessor.processEntityList(entityList, multiDBTransactionManager, true));
|
||||||
|
|
||||||
if (sendEmail) {
|
if (sendEmail) {
|
||||||
String startDate = CommonConstants.DATE_DMY_SLASHED_FORMATTER.format(assenzaItem.getDataInizio());
|
String startDate = CommonConstants.DATE_DMY_SLASHED_FORMATTER.format(assenzaItem.getDataInizio());
|
||||||
|
|||||||
Reference in New Issue
Block a user