Aggiornati servizi WMS per gestire il cambio deposito e il cambio tipo collo

This commit is contained in:
2025-01-16 11:09:03 +01:00
parent c288e5ac7d
commit 4be6e58de0
9 changed files with 112 additions and 49 deletions

View File

@@ -0,0 +1,25 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20250116110703 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if(!isCustomer(IntegryCustomer.RossoGargano))
return;
updateSetupValue("PICKING", "SPEDIZIONE", "FLAG_ASK_INFO_AGGIUNTIVE", "S");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -82,7 +82,7 @@ public class QueryRules {
return campi; return campi;
} }
public static <T> T getEntityData(T data1, T data2) throws Exception { public static <T> T getEntityData(T data1, T data2) {
return getEntityData(data1, data2, false); return getEntityData(data1, data2, false);
} }

View File

@@ -204,8 +204,7 @@ public class EmsRestConstants {
public static final String PATH_SPOSTA_ART_DA_POSIZIONE_IN_POSIZIONE = PATH + "wms/spostaArtDaPosizioneInPosizione"; public static final String PATH_SPOSTA_ART_DA_POSIZIONE_IN_POSIZIONE = PATH + "wms/spostaArtDaPosizioneInPosizione";
public static final String PATH_SPOSTA_ART_IN_POSIZIONE = PATH + "wms/spostaArtInPosizione"; public static final String PATH_SPOSTA_ART_IN_POSIZIONE = PATH + "wms/spostaArtInPosizione";
public static final String PATH_WMS_PRINT_CLOSED_ORDERS = PATH + "wms/printClosedOrders"; public static final String PATH_WMS_PRINT_CLOSED_ORDERS = PATH + "wms/printClosedOrders";
public static final String PATH_SPOSTA_UL_IN_POSIZIONE = PATH + "wms/spostaULInPosizione"; public static final String PATH_SPOSTA_UL_IN_POSIZIONE = PATH + "wms/spostaUL";
public static final String PATH_SPOSTA_UL_IN_POSIZIONE_DTO = PATH + "wms/spostaUL";
public static final String PATH_SPOSTA_ARTS_TRA_UL = PATH + "wms/spostaArtsTraUL"; public static final String PATH_SPOSTA_ARTS_TRA_UL = PATH + "wms/spostaArtsTraUL";
public static final String PATH_PRINT_ETICHETTA_SSCC = PATH + "wms/printEtichettaSSCC"; public static final String PATH_PRINT_ETICHETTA_SSCC = PATH + "wms/printEtichettaSSCC";
public static final String PATH_VERSAMENTO_AUTOMATICO_UL = PATH + "wms/versamentoAutomaticoUL"; public static final String PATH_VERSAMENTO_AUTOMATICO_UL = PATH + "wms/versamentoAutomaticoUL";

View File

@@ -0,0 +1,27 @@
package it.integry.ems.retail.wms.dto;
import it.integry.ems_model.entity.MtbColt;
public class UpdateTipoULRequestDTO {
private MtbColt mtbColt;
private String codTcol;
public MtbColt getMtbColt() {
return mtbColt;
}
public UpdateTipoULRequestDTO setMtbColt(MtbColt mtbColt) {
this.mtbColt = mtbColt;
return this;
}
public String getCodTcol() {
return codTcol;
}
public UpdateTipoULRequestDTO setCodTcol(String codTcol) {
this.codTcol = codTcol;
return this;
}
}

View File

@@ -8,10 +8,7 @@ import it.integry.ems.response.ServiceRestResponse;
import it.integry.ems.retail.dto.PrintOrderCloseDTO; import it.integry.ems.retail.dto.PrintOrderCloseDTO;
import it.integry.ems.retail.pvmRetail.dto.GiacenzaColliInMagDTO; import it.integry.ems.retail.pvmRetail.dto.GiacenzaColliInMagDTO;
import it.integry.ems.retail.pvmRetail.dto.PickingObjectDTO; import it.integry.ems.retail.pvmRetail.dto.PickingObjectDTO;
import it.integry.ems.retail.wms.dto.CanULBeDeletedRequestDTO; import it.integry.ems.retail.wms.dto.*;
import it.integry.ems.retail.wms.dto.DeleteULRequestDTO;
import it.integry.ems.retail.wms.dto.PrintULRequestDTO;
import it.integry.ems.retail.wms.dto.RientroMerceRequestDTO;
import it.integry.ems.retail.wms.generic.dto.*; import it.integry.ems.retail.wms.generic.dto.*;
import it.integry.ems.retail.wms.generic.dto.picking_list.GetPickingListAccettazioneDTO; import it.integry.ems.retail.wms.generic.dto.picking_list.GetPickingListAccettazioneDTO;
import it.integry.ems.retail.wms.generic.dto.picking_list.GetPickingListSpedizioneDTO; import it.integry.ems.retail.wms.generic.dto.picking_list.GetPickingListSpedizioneDTO;
@@ -28,8 +25,6 @@ import it.integry.ems_model.entity.MtbColt;
import it.integry.ems_model.entity.MtbDepoPosizioni; import it.integry.ems_model.entity.MtbDepoPosizioni;
import it.integry.ems_model.utility.UtilityDate; import it.integry.ems_model.utility.UtilityDate;
import it.integry.ems_model.utility.UtilityString; import it.integry.ems_model.utility.UtilityString;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.drools.core.util.IoUtils; import org.drools.core.util.IoUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
@@ -48,8 +43,6 @@ import java.util.*;
@Scope("request") @Scope("request")
public class WMSGenericController { public class WMSGenericController {
private final Logger logger = LogManager.getLogger();
@Autowired @Autowired
private EmsProperties emsProperties; private EmsProperties emsProperties;
@@ -524,36 +517,11 @@ public class WMSGenericController {
return ServiceRestResponse.createPositiveResponse(); return ServiceRestResponse.createPositiveResponse();
} }
@RequestMapping(value = EmsRestConstants.PATH_SPOSTA_UL_IN_POSIZIONE, method = RequestMethod.POST) @RequestMapping(value = EmsRestConstants.PATH_SPOSTA_UL_IN_POSIZIONE, method = RequestMethod.POST)
public @ResponseBody public @ResponseBody
ServiceRestResponse spostaULInPosizione(@RequestParam(CommonConstants.PROFILE_DB) String configuration, ServiceRestResponse spostaULInPosizione(@RequestParam(CommonConstants.PROFILE_DB) String configuration,
@RequestParam String codMdep, @RequestBody SpostaUlRequestDTO requestDTO) throws Exception {
@RequestParam String posizione,
@RequestBody MtbColt mtbColtToMove) throws Exception {
MtbDepoPosizioni mtbDepoPosizioni = null;
if (!UtilityString.isNullOrEmpty(codMdep) && !UtilityString.isNullOrEmpty(posizione))
mtbDepoPosizioni = new MtbDepoPosizioni()
.setCodMdep(codMdep)
.setPosizione(posizione);
wmsGenericService.spostaULInPosizione(mtbColtToMove, mtbDepoPosizioni);
return ServiceRestResponse.createPositiveResponse();
}
@RequestMapping(value = EmsRestConstants.PATH_SPOSTA_UL_IN_POSIZIONE_DTO, method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse spostaULInPosizione(@RequestParam(CommonConstants.PROFILE_DB) String configuration,
@RequestBody SpostaUlInPosizioneRequestDTO requestDTO) throws Exception {
wmsGenericService.spostaUL(requestDTO); wmsGenericService.spostaUL(requestDTO);
return ServiceRestResponse.createPositiveResponse(); return ServiceRestResponse.createPositiveResponse();
} }
@@ -654,4 +622,13 @@ public class WMSGenericController {
wmsGenericService.rientroMerce(rientroMerceRequestDTO); wmsGenericService.rientroMerce(rientroMerceRequestDTO);
return ServiceRestResponse.createPositiveResponse(); return ServiceRestResponse.createPositiveResponse();
} }
@RequestMapping(value = "wms/updateTipoUL", method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse updateTipoUL(@RequestParam(CommonConstants.PROFILE_DB) String profileDB,
@RequestBody UpdateTipoULRequestDTO updateTipoULRequest) throws Exception {
wmsGenericService.cambiaTipoUL(updateTipoULRequest);
return ServiceRestResponse.createPositiveResponse();
}
} }

View File

@@ -5,18 +5,19 @@ import it.integry.ems_model.entity.MtbColt;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class SpostaUlInPosizioneRequestDTO { public class SpostaUlRequestDTO {
private String codMdep; private String codMdep;
private String posizione; private String posizione;
private String annotazioni; private String annotazioni;
private boolean createDocAutomatically = true;
private List<MtbColt> mtbColtsToMove = new ArrayList<>(); private List<MtbColt> mtbColtsToMove = new ArrayList<>();
public String getCodMdep() { public String getCodMdep() {
return codMdep; return codMdep;
} }
public SpostaUlInPosizioneRequestDTO setCodMdep(String codMdep) { public SpostaUlRequestDTO setCodMdep(String codMdep) {
this.codMdep = codMdep; this.codMdep = codMdep;
return this; return this;
} }
@@ -25,7 +26,7 @@ public class SpostaUlInPosizioneRequestDTO {
return posizione; return posizione;
} }
public SpostaUlInPosizioneRequestDTO setPosizione(String posizione) { public SpostaUlRequestDTO setPosizione(String posizione) {
this.posizione = posizione; this.posizione = posizione;
return this; return this;
} }
@@ -34,7 +35,7 @@ public class SpostaUlInPosizioneRequestDTO {
return mtbColtsToMove; return mtbColtsToMove;
} }
public SpostaUlInPosizioneRequestDTO setMtbColtsToMove(List<MtbColt> mtbColtsToMove) { public SpostaUlRequestDTO setMtbColtsToMove(List<MtbColt> mtbColtsToMove) {
this.mtbColtsToMove = mtbColtsToMove; this.mtbColtsToMove = mtbColtsToMove;
return this; return this;
} }
@@ -43,8 +44,17 @@ public class SpostaUlInPosizioneRequestDTO {
return annotazioni; return annotazioni;
} }
public SpostaUlInPosizioneRequestDTO setAnnotazioni(String annotazioni) { public SpostaUlRequestDTO setAnnotazioni(String annotazioni) {
this.annotazioni = annotazioni; this.annotazioni = annotazioni;
return this; return this;
} }
public boolean isCreateDocAutomatically() {
return createDocAutomatically;
}
public SpostaUlRequestDTO setCreateDocAutomatically(boolean createDocAutomatically) {
this.createDocAutomatically = createDocAutomatically;
return this;
}
} }

View File

@@ -17,6 +17,7 @@ import it.integry.ems.retail.pvmRetail.dto.OrdineInevasoDTO;
import it.integry.ems.retail.pvmRetail.dto.OrdineInevasoGroupMercDTO; import it.integry.ems.retail.pvmRetail.dto.OrdineInevasoGroupMercDTO;
import it.integry.ems.retail.pvmRetail.dto.PickingObjectDTO; import it.integry.ems.retail.pvmRetail.dto.PickingObjectDTO;
import it.integry.ems.retail.wms.dto.RientroMerceRequestDTO; import it.integry.ems.retail.wms.dto.RientroMerceRequestDTO;
import it.integry.ems.retail.wms.dto.UpdateTipoULRequestDTO;
import it.integry.ems.retail.wms.exceptions.InvalidGestioneLUException; import it.integry.ems.retail.wms.exceptions.InvalidGestioneLUException;
import it.integry.ems.retail.wms.exceptions.InvalidQtaCnfException; import it.integry.ems.retail.wms.exceptions.InvalidQtaCnfException;
import it.integry.ems.retail.wms.generic.dto.*; import it.integry.ems.retail.wms.generic.dto.*;
@@ -1920,7 +1921,7 @@ public class WMSGenericService {
UtilityEntity.throwEntitiesException(entitiesToSave); UtilityEntity.throwEntitiesException(entitiesToSave);
} }
public void spostaUL(SpostaUlInPosizioneRequestDTO requestDTO) throws Exception { public void spostaUL(SpostaUlRequestDTO requestDTO) throws Exception {
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");
@@ -1959,7 +1960,7 @@ public class WMSGenericService {
List<EntityBase> entitiesToSave = new ArrayList<>(); List<EntityBase> entitiesToSave = new ArrayList<>();
String codMdepPartenza = codMdeps.get(0); String codMdepPartenza = codMdeps.get(0);
DtbDoct dtbDoct = null; DtbDoct dtbDoct = null;
if (!UtilityString.equalsIgnoreCase(codMdepPartenza, requestDTO.getCodMdep())) { if (requestDTO.isCreateDocAutomatically() && !UtilityString.equalsIgnoreCase(codMdepPartenza, requestDTO.getCodMdep())) {
String codDtipToUse = setupGest.getSetupDepo(multiDBTransactionManager.getPrimaryConnection(), "PICKING", "LOGISTICA", "COD_DTIP_DOC_TRASF_INTERNI", requestDTO.getCodMdep()); String codDtipToUse = setupGest.getSetupDepo(multiDBTransactionManager.getPrimaryConnection(), "PICKING", "LOGISTICA", "COD_DTIP_DOC_TRASF_INTERNI", requestDTO.getCodMdep());
@@ -2010,7 +2011,7 @@ public class WMSGenericService {
entitiesToSave.add(mtbColtToMove); entitiesToSave.add(mtbColtToMove);
} }
if (!UtilityString.isNullOrEmpty(requestDTO.getAnnotazioni()) && dtbDoct != null) { if (dtbDoct != null && !UtilityString.isNullOrEmpty(requestDTO.getAnnotazioni())) {
DtbDocr dtbDocr = new DtbDocr() DtbDocr dtbDocr = new DtbDocr()
.setDescrizione(UtilityString.substring(requestDTO.getAnnotazioni(), 0, 40)) .setDescrizione(UtilityString.substring(requestDTO.getAnnotazioni(), 0, 40))
.setDescrizioneEstesa(requestDTO.getAnnotazioni()); .setDescrizioneEstesa(requestDTO.getAnnotazioni());
@@ -2032,7 +2033,7 @@ public class WMSGenericService {
mtbDepoPosizioni.setOperation(OperationType.SELECT_OBJECT); mtbDepoPosizioni.setOperation(OperationType.SELECT_OBJECT);
entityProcessor.processEntity(mtbDepoPosizioni, multiDBTransactionManager); entityProcessor.processEntity(mtbDepoPosizioni, multiDBTransactionManager);
} }
SpostaUlInPosizioneRequestDTO requestDTO = new SpostaUlInPosizioneRequestDTO(); SpostaUlRequestDTO requestDTO = new SpostaUlRequestDTO();
requestDTO requestDTO
.setPosizione(mtbDepoPosizioni.getPosizione()) .setPosizione(mtbDepoPosizioni.getPosizione())
.setCodMdep(mtbDepoPosizioni.getCodMdep()) .setCodMdep(mtbDepoPosizioni.getCodMdep())
@@ -2881,4 +2882,19 @@ public class WMSGenericService {
MtbColr versamento = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), sql, MtbColr.class); MtbColr versamento = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), sql, MtbColr.class);
return versamento; return versamento;
} }
public void cambiaTipoUL(UpdateTipoULRequestDTO cambiaTipoULRequest) throws Exception {
if (cambiaTipoULRequest.getMtbColt() == null)
throw new MissingDataException("UL da aggiornare");
MtbColt mtbColt = new MtbColt()
.setGestione(cambiaTipoULRequest.getMtbColt().getGestione())
.setNumCollo(cambiaTipoULRequest.getMtbColt().getNumCollo())
.setDataCollo(cambiaTipoULRequest.getMtbColt().getDataCollo())
.setSerCollo(cambiaTipoULRequest.getMtbColt().getSerCollo())
.setCodTcol(cambiaTipoULRequest.getCodTcol());
mtbColt.setOperation(OperationType.UPDATE);
entityProcessor.processEntity(mtbColt, multiDBTransactionManager);
}
} }

View File

@@ -265,7 +265,12 @@ public class WMSLavorazioneService {
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconosciuto!"); throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconosciuto!");
} }
MtbColt targetMtbColt = insertUDSRowRequestDTO.getTargetMtbColt(); //Prendo solo la chiave
MtbColt targetMtbColt = new MtbColt()
.setNumCollo(insertUDSRowRequestDTO.getTargetMtbColt().getNumCollo())
.setDataCollo(insertUDSRowRequestDTO.getTargetMtbColt().getDataCollo())
.setSerCollo(insertUDSRowRequestDTO.getTargetMtbColt().getSerCollo())
.setGestione(insertUDSRowRequestDTO.getTargetMtbColt().getGestione());
targetMtbColt.setOperation(OperationType.SELECT_OBJECT); targetMtbColt.setOperation(OperationType.SELECT_OBJECT);
entityProcessor.processEntity(targetMtbColt,true, multiDBTransactionManager); entityProcessor.processEntity(targetMtbColt,true, multiDBTransactionManager);

View File

@@ -285,8 +285,12 @@ public class WMSSpedizioneService {
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconoscuto!"); throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconoscuto!");
} }
//Prendo solo la chiave
MtbColt targetMtbColt = insertUDSRowRequestDTO.getTargetMtbColt(); MtbColt targetMtbColt = new MtbColt()
.setNumCollo(insertUDSRowRequestDTO.getTargetMtbColt().getNumCollo())
.setDataCollo(insertUDSRowRequestDTO.getTargetMtbColt().getDataCollo())
.setSerCollo(insertUDSRowRequestDTO.getTargetMtbColt().getSerCollo())
.setGestione(insertUDSRowRequestDTO.getTargetMtbColt().getGestione());
targetMtbColt.setOperation(OperationType.SELECT_OBJECT); targetMtbColt.setOperation(OperationType.SELECT_OBJECT);
entityProcessor.processEntity(targetMtbColt, multiDBTransactionManager); entityProcessor.processEntity(targetMtbColt, multiDBTransactionManager);