[ROSSOGARGANO]
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

Servizio di trasferimento UL
This commit is contained in:
2024-12-19 18:13:49 +01:00
parent 5e9c853880
commit cc4a8cf979
5 changed files with 122 additions and 16 deletions

View File

@@ -546,6 +546,19 @@ public class WMSGenericController {
}
@RequestMapping(value = EmsRestConstants.PATH_SPOSTA_UL_IN_POSIZIONE_DTO, method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse spostaULInPosizioneDTO(@RequestParam(CommonConstants.PROFILE_DB) String configuration,
@RequestBody SpostaUlInPosizioneRequestDTO requestDTO) throws Exception {
wmsGenericService.spostaUL(requestDTO);
return ServiceRestResponse.createPositiveResponse();
}
@RequestMapping(value = EmsRestConstants.PATH_SPOSTA_ARTS_TRA_UL, method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse spostaArtsTraUL(@RequestParam(CommonConstants.PROFILE_DB) String configuration,

View File

@@ -0,0 +1,47 @@
package it.integry.ems.retail.wms.generic.dto;
import it.integry.ems_model.entity.MtbColt;
public class SpostaUlInPosizioneRequestDTO {
private String codMdep;
private String posizione;
private MtbColt mtbColtToMove;
private String annotazioni;
public String getCodMdep() {
return codMdep;
}
public SpostaUlInPosizioneRequestDTO setCodMdep(String codMdep) {
this.codMdep = codMdep;
return this;
}
public String getPosizione() {
return posizione;
}
public SpostaUlInPosizioneRequestDTO setPosizione(String posizione) {
this.posizione = posizione;
return this;
}
public MtbColt getMtbColtToMove() {
return mtbColtToMove;
}
public SpostaUlInPosizioneRequestDTO setMtbColtToMove(MtbColt mtbColtToMove) {
this.mtbColtToMove = mtbColtToMove;
return this;
}
public String getAnnotazioni() {
return annotazioni;
}
public SpostaUlInPosizioneRequestDTO setAnnotazioni(String annotazioni) {
this.annotazioni = annotazioni;
return this;
}
}

View File

@@ -31,6 +31,7 @@ import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.user.UserSession;
import it.integry.ems.utility.UtilityEntity;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.db.ResultSetMapper;
import it.integry.ems_model.entity.*;
import it.integry.ems_model.service.SetupGest;
@@ -1918,33 +1919,34 @@ public class WMSGenericService {
UtilityEntity.throwEntitiesException(entitiesToSave);
}
public void spostaULInPosizione(MtbColt mtbColtToMove, MtbDepoPosizioni mtbDepoPosizioni) throws Exception {
public void spostaUL(SpostaUlInPosizioneRequestDTO requestDTO) throws Exception {
if (mtbDepoPosizioni == null) {
throw new Exception("Nessuna posizione selezionata");
} else {
mtbDepoPosizioni.setOperation(OperationType.SELECT_OBJECT);
entityProcessor.processEntity(mtbDepoPosizioni, multiDBTransactionManager);
if (UtilityString.isNullOrEmpty(requestDTO.getCodMdep())) {
throw new Exception("Nessun deposito selezionato");
}
List<EntityBase> entitiesToSave = new ArrayList<>();
if (!UtilityString.equalsIgnoreCase(mtbColtToMove.getCodMdep(), mtbDepoPosizioni.getCodMdep())) {
MtbColt mtbColtToMove = requestDTO.getMtbColtToMove();
String codDtipToUse = setupGest.getSetupDepo(multiDBTransactionManager.getPrimaryConnection(), "PICKING", "LOGISTICA", "COD_DTIP_DOC_TRASF_INTERNI", mtbDepoPosizioni.getCodMdep());
MtbDepo mtbDepo = new MtbDepo();
mtbDepo.setCodMdep(requestDTO.getCodMdep())
.setOperation(OperationType.SELECT_OBJECT);
entityProcessor.processEntity(mtbDepo, multiDBTransactionManager);
if (!UtilityString.equalsIgnoreCase(mtbColtToMove.getCodMdep(), requestDTO.getCodMdep())) {
String codDtipToUse = setupGest.getSetupDepo(multiDBTransactionManager.getPrimaryConnection(), "PICKING", "LOGISTICA", "COD_DTIP_DOC_TRASF_INTERNI", requestDTO.getCodMdep());
if (UtilityString.isNullOrEmpty(codDtipToUse))
throw new Exception("La configurazione della setup gest non è completa per gestire gli spostamenti tra depositi");
MtbDepo mtbDepo = new MtbDepo()
.setCodMdep(mtbDepoPosizioni.getCodMdep());
mtbDepo.setOperation(OperationType.SELECT_OBJECT);
entityProcessor.processEntity(mtbDepo, multiDBTransactionManager);
DtbDoct dtbDoct = new DtbDoct()
.setCodMdep(mtbColtToMove.getCodMdep())
.setCodVdes(mtbDepo.getCodVdes())
.setCodAnag(mtbDepo.getCodAnag())
.setAnnotazioni(requestDTO.getAnnotazioni())
.setCodDtip(codDtipToUse);
dtbDoct.setOperation(OperationType.INSERT);
@@ -1967,14 +1969,32 @@ public class WMSGenericService {
mtbColtToMove.setOperation(OperationType.UPDATE);
mtbColtToMove
.setMtbColr(new ArrayList<>())
.setPosizione(mtbDepoPosizioni.getPosizione())
.setCodMdep(mtbDepoPosizioni.getCodMdep());
.setPosizione(UtilityString.isNull(requestDTO.getPosizione(), EmsRestConstants.NULL))
.setCodMdep(requestDTO.getCodMdep());
entitiesToSave.add(mtbColtToMove);
entityProcessor.processEntityList(entitiesToSave, true);
UtilityEntity.throwEntitiesException(entitiesToSave);
}
public void spostaULInPosizione(MtbColt mtbColtToMove, MtbDepoPosizioni mtbDepoPosizioni) throws Exception {
if (mtbDepoPosizioni == null) {
throw new Exception("Nessuna posizione selezionata");
} else {
mtbDepoPosizioni.setOperation(OperationType.SELECT_OBJECT);
entityProcessor.processEntity(mtbDepoPosizioni, multiDBTransactionManager);
}
SpostaUlInPosizioneRequestDTO requestDTO = new SpostaUlInPosizioneRequestDTO();
requestDTO.setMtbColtToMove(mtbColtToMove)
.setPosizione(mtbDepoPosizioni.getPosizione())
.setCodMdep(mtbDepoPosizioni.getCodMdep());
spostaUL(requestDTO);
}
public SpostaArtsTraULResponseDTO spostaArtsTraUL(MtbColt sourceMtbColt, MtbColt destinationMtbColt, boolean flagForceUseRefs) throws Exception {
@@ -2756,7 +2776,7 @@ public class WMSGenericService {
MtbColr mtbColrRettifica = (MtbColr) versamento.clone();
mtbColrRettifica
.setQtaCol(rientroMerceRequestDTO.getQtaRientro().negate())
.setNumCnf(mtbColrRettifica.getQtaCol().divide(mtbColrRettifica.getQtaCnf(),5,RoundingMode.HALF_UP))
.setNumCnf(mtbColrRettifica.getQtaCol().divide(mtbColrRettifica.getQtaCnf(), 5, RoundingMode.HALF_UP))
.setOperation(OperationType.INSERT_OR_UPDATE);
scarico.getMtbColr().add(mtbColrRettifica);