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;
}
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);
}

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_IN_POSIZIONE = PATH + "wms/spostaArtInPosizione";
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_DTO = PATH + "wms/spostaUL";
public static final String PATH_SPOSTA_UL_IN_POSIZIONE = PATH + "wms/spostaUL";
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_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.pvmRetail.dto.GiacenzaColliInMagDTO;
import it.integry.ems.retail.pvmRetail.dto.PickingObjectDTO;
import it.integry.ems.retail.wms.dto.CanULBeDeletedRequestDTO;
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.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.GetPickingListSpedizioneDTO;
@@ -28,8 +25,6 @@ import it.integry.ems_model.entity.MtbColt;
import it.integry.ems_model.entity.MtbDepoPosizioni;
import it.integry.ems_model.utility.UtilityDate;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
@@ -48,8 +43,6 @@ import java.util.*;
@Scope("request")
public class WMSGenericController {
private final Logger logger = LogManager.getLogger();
@Autowired
private EmsProperties emsProperties;
@@ -524,36 +517,11 @@ public class WMSGenericController {
return ServiceRestResponse.createPositiveResponse();
}
@RequestMapping(value = EmsRestConstants.PATH_SPOSTA_UL_IN_POSIZIONE, method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse spostaULInPosizione(@RequestParam(CommonConstants.PROFILE_DB) String configuration,
@RequestParam String codMdep,
@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 {
@RequestBody SpostaUlRequestDTO requestDTO) throws Exception {
wmsGenericService.spostaUL(requestDTO);
return ServiceRestResponse.createPositiveResponse();
}
@@ -654,4 +622,13 @@ public class WMSGenericController {
wmsGenericService.rientroMerce(rientroMerceRequestDTO);
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.List;
public class SpostaUlInPosizioneRequestDTO {
public class SpostaUlRequestDTO {
private String codMdep;
private String posizione;
private String annotazioni;
private boolean createDocAutomatically = true;
private List<MtbColt> mtbColtsToMove = new ArrayList<>();
public String getCodMdep() {
return codMdep;
}
public SpostaUlInPosizioneRequestDTO setCodMdep(String codMdep) {
public SpostaUlRequestDTO setCodMdep(String codMdep) {
this.codMdep = codMdep;
return this;
}
@@ -25,7 +26,7 @@ public class SpostaUlInPosizioneRequestDTO {
return posizione;
}
public SpostaUlInPosizioneRequestDTO setPosizione(String posizione) {
public SpostaUlRequestDTO setPosizione(String posizione) {
this.posizione = posizione;
return this;
}
@@ -34,7 +35,7 @@ public class SpostaUlInPosizioneRequestDTO {
return mtbColtsToMove;
}
public SpostaUlInPosizioneRequestDTO setMtbColtsToMove(List<MtbColt> mtbColtsToMove) {
public SpostaUlRequestDTO setMtbColtsToMove(List<MtbColt> mtbColtsToMove) {
this.mtbColtsToMove = mtbColtsToMove;
return this;
}
@@ -43,8 +44,17 @@ public class SpostaUlInPosizioneRequestDTO {
return annotazioni;
}
public SpostaUlInPosizioneRequestDTO setAnnotazioni(String annotazioni) {
public SpostaUlRequestDTO setAnnotazioni(String annotazioni) {
this.annotazioni = annotazioni;
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.PickingObjectDTO;
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.InvalidQtaCnfException;
import it.integry.ems.retail.wms.generic.dto.*;
@@ -1920,7 +1921,7 @@ public class WMSGenericService {
UtilityEntity.throwEntitiesException(entitiesToSave);
}
public void spostaUL(SpostaUlInPosizioneRequestDTO requestDTO) throws Exception {
public void spostaUL(SpostaUlRequestDTO requestDTO) throws Exception {
if (UtilityString.isNullOrEmpty(requestDTO.getCodMdep())) {
throw new Exception("Nessun deposito di arrivo selezionato");
@@ -1959,7 +1960,7 @@ public class WMSGenericService {
List<EntityBase> entitiesToSave = new ArrayList<>();
String codMdepPartenza = codMdeps.get(0);
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());
@@ -2010,7 +2011,7 @@ public class WMSGenericService {
entitiesToSave.add(mtbColtToMove);
}
if (!UtilityString.isNullOrEmpty(requestDTO.getAnnotazioni()) && dtbDoct != null) {
if (dtbDoct != null && !UtilityString.isNullOrEmpty(requestDTO.getAnnotazioni())) {
DtbDocr dtbDocr = new DtbDocr()
.setDescrizione(UtilityString.substring(requestDTO.getAnnotazioni(), 0, 40))
.setDescrizioneEstesa(requestDTO.getAnnotazioni());
@@ -2032,7 +2033,7 @@ public class WMSGenericService {
mtbDepoPosizioni.setOperation(OperationType.SELECT_OBJECT);
entityProcessor.processEntity(mtbDepoPosizioni, multiDBTransactionManager);
}
SpostaUlInPosizioneRequestDTO requestDTO = new SpostaUlInPosizioneRequestDTO();
SpostaUlRequestDTO requestDTO = new SpostaUlRequestDTO();
requestDTO
.setPosizione(mtbDepoPosizioni.getPosizione())
.setCodMdep(mtbDepoPosizioni.getCodMdep())
@@ -2881,4 +2882,19 @@ public class WMSGenericService {
MtbColr versamento = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), sql, MtbColr.class);
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!");
}
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);
entityProcessor.processEntity(targetMtbColt,true, multiDBTransactionManager);

View File

@@ -285,8 +285,12 @@ public class WMSSpedizioneService {
throw new UsernameNotFoundException("Utente " + userSession.getUsername() + " non riconoscuto!");
}
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);
entityProcessor.processEntity(targetMtbColt, multiDBTransactionManager);