Fix su arraylist di mtbColt null nel servizio di spostaArtsTraUl
This commit is contained in:
@@ -549,7 +549,7 @@ 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,
|
||||
ServiceRestResponse spostaULInPosizione(@RequestParam(CommonConstants.PROFILE_DB) String configuration,
|
||||
@RequestBody SpostaUlInPosizioneRequestDTO requestDTO) throws Exception {
|
||||
|
||||
wmsGenericService.spostaUL(requestDTO);
|
||||
|
||||
@@ -2,14 +2,15 @@ package it.integry.ems.retail.wms.generic.dto;
|
||||
|
||||
import it.integry.ems_model.entity.MtbColt;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class SpostaUlInPosizioneRequestDTO {
|
||||
|
||||
private String codMdep;
|
||||
private String posizione;
|
||||
private List<MtbColt> mtbColtsToMove;
|
||||
private String annotazioni;
|
||||
private List<MtbColt> mtbColtsToMove = new ArrayList<>();
|
||||
|
||||
public String getCodMdep() {
|
||||
return codMdep;
|
||||
|
||||
@@ -1924,26 +1924,38 @@ public class WMSGenericService {
|
||||
if (UtilityString.isNullOrEmpty(requestDTO.getCodMdep())) {
|
||||
throw new Exception("Nessun deposito di arrivo selezionato");
|
||||
}
|
||||
List<EntityBase> entitiesToSave = new ArrayList<>();
|
||||
|
||||
List<MtbColt> mtbCotlList = requestDTO.getMtbColtsToMove();
|
||||
|
||||
|
||||
List<String> codMdeps = mtbCotlList.stream().map(MtbColt::getCodMdep).distinct().collect(Collectors.toList());
|
||||
|
||||
if (codMdeps.isEmpty()) {
|
||||
throw new Exception("Nessun deposito di partenza selezionato!");
|
||||
}
|
||||
|
||||
if (codMdeps.size() > 1) {
|
||||
throw new Exception("Le UL selezionate provengono da depositi differenti");
|
||||
}
|
||||
|
||||
MtbDepo mtbDepo = new MtbDepo();
|
||||
mtbDepo.setCodMdep(requestDTO.getCodMdep())
|
||||
.setOperation(OperationType.SELECT_OBJECT);
|
||||
|
||||
entityProcessor.processEntity(mtbDepo, multiDBTransactionManager);
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(requestDTO.getPosizione())) {
|
||||
MtbDepoPosizioni mtbDepoPosizioni = new MtbDepoPosizioni()
|
||||
.setCodMdep(requestDTO.getCodMdep())
|
||||
.setPosizione(requestDTO.getPosizione());
|
||||
mtbDepoPosizioni.setOperation(OperationType.SELECT_OBJECT);
|
||||
|
||||
if (codMdeps.size() > 1) {
|
||||
throw new Exception("Le UL selezionate provengono da depositi differenti! ");
|
||||
entityProcessor.processEntity(mtbDepoPosizioni, multiDBTransactionManager);
|
||||
|
||||
if(mtbDepoPosizioni.getCodMdep() == null || mtbDepoPosizioni.getPosizione() == null) {
|
||||
throw new Exception("La posizione " + requestDTO.getPosizione() + " non esiste nel deposito " + requestDTO.getCodMdep());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
List<EntityBase> entitiesToSave = new ArrayList<>();
|
||||
String codMdepPartenza = codMdeps.get(0);
|
||||
|
||||
if (!UtilityString.equalsIgnoreCase(codMdepPartenza, requestDTO.getCodMdep())) {
|
||||
@@ -1953,18 +1965,17 @@ public class WMSGenericService {
|
||||
if (UtilityString.isNullOrEmpty(codDtipToUse))
|
||||
throw new Exception("La configurazione della setup gest non è completa per gestire gli spostamenti tra depositi");
|
||||
|
||||
|
||||
DtbDoct dtbDoct = new DtbDoct()
|
||||
.setCodMdep(codMdepPartenza)
|
||||
.setCodVdes(mtbDepo.getCodVdes())
|
||||
.setCodAnag(mtbDepo.getCodAnag())
|
||||
.setAnnotazioni(requestDTO.getAnnotazioni())
|
||||
.setCodDtip(codDtipToUse);
|
||||
|
||||
dtbDoct.setOperation(OperationType.INSERT);
|
||||
for (MtbColt mtbColtToMove : mtbCotlList) {
|
||||
for (MtbColr mtbColr : mtbColtToMove.getMtbColr()) {
|
||||
|
||||
|
||||
DtbDocr dtbDocr = new DtbDocr()
|
||||
.setCodMart(mtbColr.getCodMart())
|
||||
.setPartitaMag(mtbColr.getPartitaMag())
|
||||
|
||||
Reference in New Issue
Block a user