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