diff --git a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20250116110703.java b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20250116110703.java new file mode 100644 index 0000000000..a185b07439 --- /dev/null +++ b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20250116110703.java @@ -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 { + } +} \ No newline at end of file diff --git a/ems-core/src/main/java/it/integry/ems/rules/completing/QueryRules.java b/ems-core/src/main/java/it/integry/ems/rules/completing/QueryRules.java index 431d1748da..2a9371c1cd 100644 --- a/ems-core/src/main/java/it/integry/ems/rules/completing/QueryRules.java +++ b/ems-core/src/main/java/it/integry/ems/rules/completing/QueryRules.java @@ -82,7 +82,7 @@ public class QueryRules { return campi; } - public static T getEntityData(T data1, T data2) throws Exception { + public static T getEntityData(T data1, T data2) { return getEntityData(data1, data2, false); } diff --git a/ems-core/src/main/java/it/integry/ems_model/config/EmsRestConstants.java b/ems-core/src/main/java/it/integry/ems_model/config/EmsRestConstants.java index b9d23b6e7d..21d43c6cd8 100644 --- a/ems-core/src/main/java/it/integry/ems_model/config/EmsRestConstants.java +++ b/ems-core/src/main/java/it/integry/ems_model/config/EmsRestConstants.java @@ -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"; diff --git a/ems-engine/src/main/java/it/integry/ems/retail/wms/dto/UpdateTipoULRequestDTO.java b/ems-engine/src/main/java/it/integry/ems/retail/wms/dto/UpdateTipoULRequestDTO.java new file mode 100644 index 0000000000..65a91f836c --- /dev/null +++ b/ems-engine/src/main/java/it/integry/ems/retail/wms/dto/UpdateTipoULRequestDTO.java @@ -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; + } +} diff --git a/ems-engine/src/main/java/it/integry/ems/retail/wms/generic/controller/WMSGenericController.java b/ems-engine/src/main/java/it/integry/ems/retail/wms/generic/controller/WMSGenericController.java index 82677a6e68..b267d7a243 100644 --- a/ems-engine/src/main/java/it/integry/ems/retail/wms/generic/controller/WMSGenericController.java +++ b/ems-engine/src/main/java/it/integry/ems/retail/wms/generic/controller/WMSGenericController.java @@ -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(); + } } \ No newline at end of file diff --git a/ems-engine/src/main/java/it/integry/ems/retail/wms/generic/dto/SpostaUlInPosizioneRequestDTO.java b/ems-engine/src/main/java/it/integry/ems/retail/wms/generic/dto/SpostaUlRequestDTO.java similarity index 57% rename from ems-engine/src/main/java/it/integry/ems/retail/wms/generic/dto/SpostaUlInPosizioneRequestDTO.java rename to ems-engine/src/main/java/it/integry/ems/retail/wms/generic/dto/SpostaUlRequestDTO.java index f05e8fefed..87e011babb 100644 --- a/ems-engine/src/main/java/it/integry/ems/retail/wms/generic/dto/SpostaUlInPosizioneRequestDTO.java +++ b/ems-engine/src/main/java/it/integry/ems/retail/wms/generic/dto/SpostaUlRequestDTO.java @@ -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 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 mtbColtsToMove) { + public SpostaUlRequestDTO setMtbColtsToMove(List 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; + } } diff --git a/ems-engine/src/main/java/it/integry/ems/retail/wms/generic/service/WMSGenericService.java b/ems-engine/src/main/java/it/integry/ems/retail/wms/generic/service/WMSGenericService.java index cfb598b1e9..d90f882b5b 100644 --- a/ems-engine/src/main/java/it/integry/ems/retail/wms/generic/service/WMSGenericService.java +++ b/ems-engine/src/main/java/it/integry/ems/retail/wms/generic/service/WMSGenericService.java @@ -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 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); + } } diff --git a/ems-engine/src/main/java/it/integry/ems/retail/wms/lavorazione/service/WMSLavorazioneService.java b/ems-engine/src/main/java/it/integry/ems/retail/wms/lavorazione/service/WMSLavorazioneService.java index 5eefb25dc5..d00652c925 100644 --- a/ems-engine/src/main/java/it/integry/ems/retail/wms/lavorazione/service/WMSLavorazioneService.java +++ b/ems-engine/src/main/java/it/integry/ems/retail/wms/lavorazione/service/WMSLavorazioneService.java @@ -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); diff --git a/ems-engine/src/main/java/it/integry/ems/retail/wms/vendita/service/WMSSpedizioneService.java b/ems-engine/src/main/java/it/integry/ems/retail/wms/vendita/service/WMSSpedizioneService.java index ac64795fd2..1ad2ac871c 100644 --- a/ems-engine/src/main/java/it/integry/ems/retail/wms/vendita/service/WMSSpedizioneService.java +++ b/ems-engine/src/main/java/it/integry/ems/retail/wms/vendita/service/WMSSpedizioneService.java @@ -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);