From 83e346f70e1b75440135df08b3d6e53b2f7640e8 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 10 Apr 2025 11:53:13 +0200 Subject: [PATCH] Prima parte del servizio di Versamento Materiali WMS. Convertito campo MtbColt.dataColloRif in LocalDate. --- .../ems/json/ResponseJSONObjectMapper.java | 3 + .../BasicConnectionPool.java | 4 +- .../it/integry/ems_model/entity/MtbColr.java | 6 +- .../production/dto/CaricoLavorazioneDTO.java | 6 +- .../document/service/DocumentProdService.java | 7 +- .../Import/service/BiolexchImportService.java | 4 +- .../Import/service/ICONImportService.java | 7 +- .../controller/LogisticController.java | 3 +- .../logistic/service/ColliImportService.java | 4 +- .../ems/logistic/service/LogisticService.java | 8 +- .../service/PackagesImportService.java | 2 +- .../service/MesProductionServiceV2.java | 12 +-- .../ems/retail/wms/Utility/WMSUtility.java | 2 +- .../generic/service/WMSGenericService.java | 18 ++-- .../service/WMSLavorazioneService.java | 6 +- .../service/WMSMaterialiService.java | 84 ++++++++++++++----- .../vendita/service/WMSSpedizioneService.java | 4 +- 17 files changed, 109 insertions(+), 71 deletions(-) diff --git a/ems-core/src/main/java/it/integry/ems/json/ResponseJSONObjectMapper.java b/ems-core/src/main/java/it/integry/ems/json/ResponseJSONObjectMapper.java index c7f3aaf2c7..bde4d0a837 100644 --- a/ems-core/src/main/java/it/integry/ems/json/ResponseJSONObjectMapper.java +++ b/ems-core/src/main/java/it/integry/ems/json/ResponseJSONObjectMapper.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.BeanPropertyWriter; @@ -141,6 +142,8 @@ public class ResponseJSONObjectMapper extends ObjectMapper { setupEntityModules(simpleModule); registerModule(simpleModule); + configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); + configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); configure(DeserializationFeature.FAIL_ON_IGNORED_PROPERTIES, false); configure(DeserializationFeature.FAIL_ON_INVALID_SUBTYPE, false); diff --git a/ems-core/src/main/java/it/integry/ems/sync/MultiDBTransaction/BasicConnectionPool.java b/ems-core/src/main/java/it/integry/ems/sync/MultiDBTransaction/BasicConnectionPool.java index ad540ad34e..e1d1f8efc4 100644 --- a/ems-core/src/main/java/it/integry/ems/sync/MultiDBTransaction/BasicConnectionPool.java +++ b/ems-core/src/main/java/it/integry/ems/sync/MultiDBTransaction/BasicConnectionPool.java @@ -224,10 +224,12 @@ public class BasicConnectionPool { } private boolean handleConnectionRelease(DataSource ds) - throws SQLException { + throws SQLException, IOException { String connectionName = ds.getApplicationName(); String dbName = ds.getDbName(); + ds.getConnection().rollback(); + if (connectionName.startsWith(ExtraConnectionNamePrefix)) { activeConnectionNames.get(dbName).remove(connectionName); ds.forceClose(); diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/MtbColr.java b/ems-core/src/main/java/it/integry/ems_model/entity/MtbColr.java index 3682def0f4..7014b41c7e 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/MtbColr.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/MtbColr.java @@ -85,7 +85,7 @@ public class MtbColr extends EntityBase implements EquatableEntityInterface 0) { String gestione = resColli.getString(1); - Date dataCollo = resColli.getDate(2); + LocalDate dataCollo = UtilityLocalDate.localDateFromDate(resColli.getDate(2)); String serCollo = resColli.getString(3); Integer numCollo = resColli.getInt(4); String partitaMag = resColli.getString(5); diff --git a/ems-engine/src/main/java/it/integry/ems/logistic/Import/service/BiolexchImportService.java b/ems-engine/src/main/java/it/integry/ems/logistic/Import/service/BiolexchImportService.java index b9c67dcc1b..3591fe0a63 100644 --- a/ems-engine/src/main/java/it/integry/ems/logistic/Import/service/BiolexchImportService.java +++ b/ems-engine/src/main/java/it/integry/ems/logistic/Import/service/BiolexchImportService.java @@ -59,7 +59,7 @@ public class BiolexchImportService { List entitiesReturn = new ArrayList<>(); MtbColt colT = new MtbColt(); MtbColt colTCheck = new MtbColt(); - Date dataColloRif = null; + LocalDate dataColloRif = null; // Acquisizione dati configurazione Map setup = setupGest.getImportSetupSection(multiDBTransactionManager.getPrimaryConnection(), "COLLI", "BIOLEXCH"); @@ -187,7 +187,7 @@ public class BiolexchImportService { ResultSet res = info.executeQuery(); if (res.next()) { existColloRif = true; - dataColloRif = res.getDate(1); + dataColloRif = UtilityLocalDate.localDateFromDate(res.getDate(1)); serColloRif = res.getString(2); } res.close(); diff --git a/ems-engine/src/main/java/it/integry/ems/logistic/Import/service/ICONImportService.java b/ems-engine/src/main/java/it/integry/ems/logistic/Import/service/ICONImportService.java index 29f2a583ef..b0df89c9b7 100644 --- a/ems-engine/src/main/java/it/integry/ems/logistic/Import/service/ICONImportService.java +++ b/ems-engine/src/main/java/it/integry/ems/logistic/Import/service/ICONImportService.java @@ -195,7 +195,8 @@ public class ICONImportService { public List returnMissionePicking(String type, String format, List anomalies) throws Exception { String serColloMagAuto = null, gestioneMagMaga = null, filtroOrdini = null, codAnag = null, codVdes = null, codVlis = null, codMdep = null; - Date dataColloMagAuto = null, dataOrd = null; + LocalDate dataColloMagAuto = null; + Date dataOrd = null; Integer numColloMagAuto = null, numOrd = null; List respList = new ArrayList(); List colTDistributed = new ArrayList(); @@ -226,7 +227,7 @@ public class ICONImportService { PreparedStatement psInfo = conn.prepareStatement(query, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet resInfo = psInfo.executeQuery(); while (resInfo.next()) { - dataColloMagAuto = resInfo.getDate(1); + dataColloMagAuto = UtilityLocalDate.localDateFromDate(resInfo.getDate(1)); serColloMagAuto = resInfo.getString(2); numColloMagAuto = resInfo.getInt(3); gestioneMagMaga = resInfo.getString(4); @@ -557,7 +558,7 @@ public class ICONImportService { colR.setCodMart(codMart); colR.setQtaCol(qta); colR.setGestioneRif(gestioneAcc); - colR.setDataColloRif(dataColloAcc); + colR.setDataColloRif(UtilityLocalDate.localDateFromDate(dataColloAcc)); colR.setSerColloRif(serColloAcc); colR.setNumColloRif(numColloAcc); colR.setNote("DA MISSIONE N. " + keyMov); diff --git a/ems-engine/src/main/java/it/integry/ems/logistic/controller/LogisticController.java b/ems-engine/src/main/java/it/integry/ems/logistic/controller/LogisticController.java index 2f71b0e3f0..b7556abb24 100644 --- a/ems-engine/src/main/java/it/integry/ems/logistic/controller/LogisticController.java +++ b/ems-engine/src/main/java/it/integry/ems/logistic/controller/LogisticController.java @@ -48,6 +48,7 @@ import java.lang.reflect.Method; import java.math.BigDecimal; import java.net.InetAddress; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.util.*; @RestController @@ -488,7 +489,7 @@ public class LogisticController { row.setQtaCol(new BigDecimal(colloRowEsistente.getQtaCol().doubleValue() - row.getQtaCol().doubleValue())); row.setGestioneRif(gestione); - row.setDataColloRif(new SimpleDateFormat(CommonConstants.DATETIME_FORMAT_YMD).parse(dataCollo)); + row.setDataColloRif(LocalDate.parse(dataCollo, CommonConstants.DATETIME_YMD_DASHED_FORMATTER)); row.setNumColloRif(new Integer(numCollo)); row.setSerColloRif(serCollo); diff --git a/ems-engine/src/main/java/it/integry/ems/logistic/service/ColliImportService.java b/ems-engine/src/main/java/it/integry/ems/logistic/service/ColliImportService.java index e8c48a44b5..f332eedf48 100644 --- a/ems-engine/src/main/java/it/integry/ems/logistic/service/ColliImportService.java +++ b/ems-engine/src/main/java/it/integry/ems/logistic/service/ColliImportService.java @@ -4,14 +4,12 @@ import com.annimon.stream.Stream; import it.integry.common.var.CommonConstants; import it.integry.ems.Import.dto.AnomalieDTO; import it.integry.ems.Import.dto.ImportRequestDTO; -import it.integry.ems.javabeans.RequestDataDTO; import it.integry.ems.logistic.dto.ColliImportDTO; import it.integry.ems.logistic.dto.VebadDTO; import it.integry.ems.logistic.dto.piegarese.VebadDesadvCorpoDTO; import it.integry.ems.logistic.dto.piegarese.VebadDesadvDettagliLottiDTO; import it.integry.ems.logistic.dto.piegarese.VebadDesadvEstremiDTO; import it.integry.ems.logistic.dto.piegarese.VebadDesadvTestataDTO; -import it.integry.ems.logistic.dto.sm2.FiltroDistribuzioneColloDTO; import it.integry.ems.rules.businessLogic.LoadColliService; import it.integry.ems.rules.businessLogic.dto.LoadColliDTO; import it.integry.ems.service.EntityProcessor; @@ -357,7 +355,7 @@ public class ColliImportService { .map(x -> { MtbColt collo = new MtbColt() .setGestione(x.getGestioneRif()) - .setDataCollo(UtilityLocalDate.localDateFromDate(x.getDataColloRif())) + .setDataCollo(x.getDataColloRif()) .setSerCollo(x.getSerColloRif()) .setNumCollo(x.getNumColloRif()) .setDataDocProvv(new Date()); diff --git a/ems-engine/src/main/java/it/integry/ems/logistic/service/LogisticService.java b/ems-engine/src/main/java/it/integry/ems/logistic/service/LogisticService.java index 4d88ea31e7..4241658794 100644 --- a/ems-engine/src/main/java/it/integry/ems/logistic/service/LogisticService.java +++ b/ems-engine/src/main/java/it/integry/ems/logistic/service/LogisticService.java @@ -935,7 +935,7 @@ public class LogisticService { MtbColt colloRif = BarcodeUtility.getColloFromBarcode(barcodeRef); row.setGestioneRif(colloRif.getGestione()); - row.setDataColloRif(UtilityLocalDate.localDateToDate(colloRif.getDataCollo())); + row.setDataColloRif(colloRif.getDataCollo()); row.setNumColloRif(colloRif.getNumCollo()); row.setSerColloRif(colloRif.getSerCollo()); } @@ -1001,7 +1001,7 @@ public class LogisticService { MtbColt colloRif = BarcodeUtility.getColloFromBarcode(barcodeRef); row.setGestioneRif(colloRif.getGestione()); - row.setDataColloRif(UtilityLocalDate.localDateToDate(colloRif.getDataCollo())); + row.setDataColloRif(colloRif.getDataCollo()); row.setNumColloRif(colloRif.getNumCollo()); row.setSerColloRif(colloRif.getSerCollo()); } @@ -1999,7 +1999,7 @@ public class LogisticService { } if (!UtilityString.isNullOrEmpty(gestioneRif)) { mtbcolr.setGestioneRif(gestioneRif); - mtbcolr.setDataColloRif(UtilityString.parseDate(dataColloRif)); + mtbcolr.setDataColloRif(UtilityString.parseLocalDate(dataColloRif)); mtbcolr.setSerColloRif(serColloRif); mtbcolr.setNumColloRif(new Integer(numColloRif)); } @@ -2194,7 +2194,7 @@ public class LogisticService { mtbColrClone.setNumOrd(null); mtbColrClone.setRigaOrd(null); mtbColrClone.setGestioneRif(mtbColrSource.getGestione()); - mtbColrClone.setDataColloRif(UtilityLocalDate.localDateToDate(mtbColrSource.getDataCollo())); + mtbColrClone.setDataColloRif(mtbColrSource.getDataCollo()); mtbColrClone.setNumColloRif(mtbColrSource.getNumCollo()); mtbColrClone.setSerColloRif(mtbColrSource.getSerCollo()); diff --git a/ems-engine/src/main/java/it/integry/ems/logistic/service/PackagesImportService.java b/ems-engine/src/main/java/it/integry/ems/logistic/service/PackagesImportService.java index edd1d29c54..e484309bb1 100644 --- a/ems-engine/src/main/java/it/integry/ems/logistic/service/PackagesImportService.java +++ b/ems-engine/src/main/java/it/integry/ems/logistic/service/PackagesImportService.java @@ -432,7 +432,7 @@ public class PackagesImportService { .setPartitaMag(importColliProd.getPartitaMag()) .setGestioneRif(mtbColt.getGestione()) .setNumColloRif(mtbColt.getNumCollo()) - .setDataColloRif(UtilityLocalDate.localDateToDate(mtbColt.getDataCollo())) + .setDataColloRif(mtbColt.getDataCollo()) .setSerColloRif(mtbColt.getSerCollo()); mtbColtV.getMtbColr().add(mtbColrV); diff --git a/ems-engine/src/main/java/it/integry/ems/production/service/MesProductionServiceV2.java b/ems-engine/src/main/java/it/integry/ems/production/service/MesProductionServiceV2.java index e3075477aa..99968c7fe3 100644 --- a/ems-engine/src/main/java/it/integry/ems/production/service/MesProductionServiceV2.java +++ b/ems-engine/src/main/java/it/integry/ems/production/service/MesProductionServiceV2.java @@ -888,8 +888,6 @@ public class MesProductionServiceV2 { public List getOrdiniLavorazioneInCorsoPerMateriale(String codJfas, String idMateriale) throws Exception { - - String query = "select " + "dtb_ord_steps.gestione, " + "dtb_ord_steps.data_ord, " + @@ -925,16 +923,8 @@ public class MesProductionServiceV2 { " ISNULL(mtb_aart.id_art_equi,mtb_aart.cod_mart) = " + UtilityDB.valueToString(idMateriale) + " " + "group by dtb_ord_steps.gestione, dtb_ord_steps.data_ord, dtb_ord_steps.num_ord, dtb_ord_steps.cod_jfas, " + " dtb_ordt.cod_prod, dtb_ordt.descrizione_prod, dtb_ordt.partita_mag, jtb_comt.descrizione,jtb_comt.data_cons, dtb_ordr.data_ord, dtb_ordr.num_ord, dtb_ordr.riga_ord, dtb_ordt.note"; - PreparedStatement ps = multiDBTransactionManager.prepareStatement(query); - ResultSet res = ps.executeQuery(); - ResultSetMapper mapper = new ResultSetMapper(); - List ordiniInevasiList = mapper.mapResultSetToList(res, OrdineLavorazioneDTO.class); - - res.close(); - ps.close(); - - return ordiniInevasiList; + return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), query, OrdineLavorazioneDTO.class); } diff --git a/ems-engine/src/main/java/it/integry/ems/retail/wms/Utility/WMSUtility.java b/ems-engine/src/main/java/it/integry/ems/retail/wms/Utility/WMSUtility.java index ffff74cc4a..4112296aba 100644 --- a/ems-engine/src/main/java/it/integry/ems/retail/wms/Utility/WMSUtility.java +++ b/ems-engine/src/main/java/it/integry/ems/retail/wms/Utility/WMSUtility.java @@ -220,7 +220,7 @@ public class WMSUtility { .setGestioneRif(cloneMtbColr.getGestione()) .setSerColloRif(cloneMtbColr.getSerCollo()) .setNumColloRif(cloneMtbColr.getNumCollo()) - .setDataColloRif(UtilityLocalDate.localDateToDate(cloneMtbColr.getDataCollo())); + .setDataColloRif(cloneMtbColr.getDataCollo()); } if (sourceMtbColt.getGestione().equalsIgnoreCase("V") && sourceMtbColt.getSegno() == +1) { 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 830ac04011..4b2218a61b 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 @@ -1327,7 +1327,7 @@ public class WMSGenericService { .setQtaCnf(qtaCnf) .setNumCnf(differenceNumCnf) .setSerColloRif(mtbColtOrphan.getSerCollo()) - .setDataColloRif(UtilityLocalDate.localDateToDate(mtbColtOrphan.getDataCollo())) + .setDataColloRif(mtbColtOrphan.getDataCollo()) .setGestioneRif(mtbColtOrphan.getGestione()) .setNumColloRif(mtbColtOrphan.getNumCollo()) .setCausale(MtbColr.Causale.RETTIFICA) @@ -1361,7 +1361,7 @@ public class WMSGenericService { .setNumCnf(differenceNumCnf.abs()) .setCausale(MtbColr.Causale.RETTIFICA) .setSerColloRif(sourceMtbColr.getSerCollo()) - .setDataColloRif(UtilityLocalDate.localDateToDate(sourceMtbColr.getDataCollo())) + .setDataColloRif(sourceMtbColr.getDataCollo()) .setGestioneRif(sourceMtbColr.getGestione()) .setNumColloRif(sourceMtbColr.getNumCollo()) .setPesoNettoKg(null) @@ -1612,7 +1612,7 @@ public class WMSGenericService { .setQtaCol(qtaToTake) .setPartitaMag(giacInPosizioneItem.getPartitaMag()) .setNumColloRif(giacInPosizioneItem.getNumCollo()) - .setDataColloRif(UtilityLocalDate.localDateToDate(giacInPosizioneItem.getDataCollo())) + .setDataColloRif(giacInPosizioneItem.getDataCollo()) .setSerColloRif(giacInPosizioneItem.getSerCollo()) .setGestioneRif(giacInPosizioneItem.getGestione()) .setDatetimeRow(UtilityLocalDate.getNowTime()); @@ -1764,7 +1764,7 @@ public class WMSGenericService { .setQtaCol(qtaToTake) .setPartitaMag(giacenza.getPartitaMag()) .setNumColloRif(giacenza.getNumCollo()) - .setDataColloRif(UtilityLocalDate.localDateToDate(giacenza.getDataCollo())) + .setDataColloRif(giacenza.getDataCollo()) .setSerColloRif(giacenza.getSerCollo()) .setGestioneRif(giacenza.getGestione()) .setDatetimeRow(UtilityLocalDate.getNowTime()); @@ -2196,7 +2196,7 @@ public class WMSGenericService { .setGestioneRif(cloneMtbColr.getGestione()) .setSerColloRif(cloneMtbColr.getSerCollo()) .setNumColloRif(cloneMtbColr.getNumCollo()) - .setDataColloRif(UtilityLocalDate.localDateToDate(cloneMtbColr.getDataCollo())); + .setDataColloRif(cloneMtbColr.getDataCollo()); } if (sourceMtbColt.getGestione().equalsIgnoreCase("V") && sourceMtbColt.getSegno() == +1) { @@ -2357,7 +2357,7 @@ public class WMSGenericService { .setQtaCol(qtaToTake) .setPartitaMag(giacInPosizioneItem.getPartitaMag()) .setNumColloRif(giacInPosizioneItem.getNumCollo()) - .setDataColloRif(UtilityLocalDate.localDateToDate(giacInPosizioneItem.getDataCollo())) + .setDataColloRif(giacInPosizioneItem.getDataCollo()) .setSerColloRif(giacInPosizioneItem.getSerCollo()) .setGestioneRif(giacInPosizioneItem.getGestione()); mtbColr.setOperation(OperationType.INSERT); @@ -2497,7 +2497,7 @@ public class WMSGenericService { inputMtbColr .setNumColloRif(inputMtbColr.getNumCollo()) .setGestioneRif(inputMtbColr.getGestione()) - .setDataColloRif(UtilityLocalDate.localDateToDate(inputMtbColr.getDataCollo())) + .setDataColloRif(inputMtbColr.getDataCollo()) .setSerColloRif(inputMtbColr.getSerCollo()) .setDatetimeRow(UtilityLocalDate.getNowTime()) .setNumCollo(null) @@ -2829,7 +2829,7 @@ public class WMSGenericService { .setQtaCol(qtaToTake) .setPartitaMag(giacenza.getPartitaMag()) .setNumColloRif(giacenza.getNumCollo()) - .setDataColloRif(UtilityLocalDate.localDateToDate(giacenza.getDataCollo())) + .setDataColloRif(giacenza.getDataCollo()) .setSerColloRif(giacenza.getSerCollo()) .setGestioneRif(giacenza.getGestione()) .setDatetimeRow(UtilityLocalDate.localDateTimeFromLocalDate(maxDataCollo)); @@ -2897,7 +2897,7 @@ public class WMSGenericService { // se i riferimenti originali dello scarico sono diversi dalla ul di destinazione devo spostare le quantità rinate sul nuovo collo MtbColt colloRif = new MtbColt(); - colloRif.setDataCollo(UtilityLocalDate.localDateFromDate(versamento.getDataColloRif())) + colloRif.setDataCollo(versamento.getDataColloRif()) .setSerCollo(versamento.getSerColloRif()) .setNumCollo(versamento.getNumColloRif()) .setGestione(versamento.getGestioneRif()); 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 a0c4ad3c2b..45db081103 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 @@ -315,7 +315,7 @@ public class WMSLavorazioneService { targetMtbColr // .setCodJcom(UtilityString.emptyStr2Null(sourceMtbColr.getCodJcom())) .setSerColloRif(sourceMtbColr.getSerCollo()) - .setDataColloRif(UtilityLocalDate.localDateToDate(sourceMtbColr.getDataCollo())) + .setDataColloRif(sourceMtbColr.getDataCollo()) .setNumColloRif(sourceMtbColr.getNumCollo()) .setGestioneRif(sourceMtbColr.getGestione()); @@ -419,7 +419,7 @@ public class WMSLavorazioneService { targetMtbColr // .setCodJcom(UtilityString.emptyStr2Null(sourceMtbColr.getCodJcom())) .setSerColloRif(sourceMtbColr.getSerCollo()) - .setDataColloRif(UtilityLocalDate.localDateToDate(sourceMtbColr.getDataCollo())) + .setDataColloRif(sourceMtbColr.getDataCollo()) .setNumColloRif(sourceMtbColr.getNumCollo()) .setGestioneRif(sourceMtbColr.getGestione()); @@ -551,7 +551,7 @@ public class WMSLavorazioneService { final List giacenzaSourceMtbColr = wmsGiacenzaULService.retrieveArtsByUL(multiDBTransactionManager.getPrimaryConnection(), sourceMtbColr.getGestioneRif(), - UtilityLocalDate.localDateFromDate(sourceMtbColr.getDataColloRif()), + sourceMtbColr.getDataColloRif(), sourceMtbColr.getSerColloRif(), sourceMtbColr.getNumColloRif(), +1, diff --git a/ems-engine/src/main/java/it/integry/ems/retail/wms/lavorazione/service/WMSMaterialiService.java b/ems-engine/src/main/java/it/integry/ems/retail/wms/lavorazione/service/WMSMaterialiService.java index 11b5ecafb1..c5add71bb1 100644 --- a/ems-engine/src/main/java/it/integry/ems/retail/wms/lavorazione/service/WMSMaterialiService.java +++ b/ems-engine/src/main/java/it/integry/ems/retail/wms/lavorazione/service/WMSMaterialiService.java @@ -1,6 +1,6 @@ package it.integry.ems.retail.wms.lavorazione.service; -import it.integry.ems.product.importaz.service.ProductServices; +import it.integry.ems.production.service.MesProductionServiceV2; import it.integry.ems.retail.wms.Utility.WMSUtility; import it.integry.ems.retail.wms.exceptions.InvalidArticoloException; import it.integry.ems.retail.wms.generic.dto.MvwSitArtUdcDetInventarioDTO; @@ -41,7 +41,7 @@ public class WMSMaterialiService { private MultiDBTransactionManager multiDBTransactionManager; @Autowired - private ProductServices productServices; + private MesProductionServiceV2 mesProductionService; @Autowired private EntityProcessor entityProcessor; @@ -58,7 +58,7 @@ public class WMSMaterialiService { final boolean versamentoDirettoEnabled = setupGest.getSetupBoolean(multiDBTransactionManager.getPrimaryConnection(), "PICKING", "PRODUZIONE", "FLAG_VERSAMENTO_DIRETTO"); final boolean forceAllToColli = setupGest.getSetupBoolean(multiDBTransactionManager.getPrimaryConnection(), "PICKING", "SETUP", "FLAG_FORCE_ALL_TO_COLLI"); - if (request.getBarcodeUl() == null ) + if (request.getBarcodeUl() == null) throw new Exception("Indicare una UL in cui effettuare il carico del materiale"); List artsInGiacenza = @@ -67,49 +67,91 @@ public class WMSMaterialiService { .setPartitaMag(request.getPartitaMag()) .setBarcodeUl(request.getBarcodeUl())); - if(artsInGiacenza == null || artsInGiacenza.isEmpty()) + if (artsInGiacenza == null || artsInGiacenza.isEmpty()) throw new Exception("L'UL non contiene articoli (" + request.getBarcodeUl() + ")"); - MvwSitArtUdcDetInventarioDTO itemDaVersare = artsInGiacenza.get(0); - MtbAart mtbAart = WMSUtility.getArticoloByCodMart(itemDaVersare.getCodMart(), multiDBTransactionManager.getPrimaryConnection()); - if (mtbAart == null) - throw new InvalidArticoloException(request.getCodMart()); MtbDepoPosizioni posizioneVersamento = null; + boolean isPosizioneVersamentoLineaProduzione = false; - if(request.getPosizioneVersamento() != null) { + if (request.getPosizioneVersamento() != null) { posizioneVersamento = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), - Query.format("SELECT * FROM " + MtbDepoPosizioni.ENTITY + " WHERE cod_mdep = {} AND posizione = {}", itemDaVersare.getCodMdep(), request.getPosizioneVersamento()), + Query.format("SELECT * FROM " + MtbDepoPosizioni.ENTITY + " WHERE AND posizione = {}", request.getPosizioneVersamento()), MtbDepoPosizioni.class); - if(posizioneVersamento == null) + if (posizioneVersamento == null) throw new Exception("Posizione di versamento non trovata (" + request.getPosizioneVersamento() + ")"); + + String sql = Query.format("SELECT CAST(IIF(fasi.cod_jfas IS NULL, 0, 1) AS BIT) AS flag_linea_produzione " + + " FROM " + MtbDepoPosizioni.ENTITY + " posizioni" + + " LEFT OUTER JOIN " + JtbFasi.ENTITY + " fasi " + + " ON posizioni.posizione = fasi.cod_jfas " + + " WHERE posizioni.posizione = {}", request.getPosizioneVersamento()); + + isPosizioneVersamentoLineaProduzione = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql); } if (!versamentoDirettoEnabled) { -// createColloScarico(mtbDepoPosizione); + MvwSitArtUdcDetInventarioDTO itemDaVersare = artsInGiacenza.get(0); - if(posizioneVersamento == null) + MtbAart mtbAart = WMSUtility.getArticoloByCodMart(itemDaVersare.getCodMart(), multiDBTransactionManager.getPrimaryConnection()); + if (mtbAart == null) + throw new InvalidArticoloException(request.getCodMart()); + + if (posizioneVersamento == null) throw new Exception("Posizione di versamento non trovata (" + request.getPosizioneVersamento() + ")"); MtbColt internalMovement = WMSUtility.createInternalMovement(itemDaVersare.getCodMdep()) .setSegno(-1) .setPosizione(posizioneVersamento.getPosizione()); - if(posizioneVersamento.isFlagMonoCollo()) + if (isPosizioneVersamentoLineaProduzione) internalMovement.setCodJfas(posizioneVersamento.getPosizione()); MtbColr mtbColrVersamento = WMSUtility.convertMvwItemToMtbColr(itemDaVersare) + .setUtente(userSession.getFullname()) + .setNumCollo(null) .setDataCollo(null) .setSerCollo(null) - .setGestione(null); + .setGestione(null) -// .setDataColloRif(internalMovement.getDataCollo()); + .setDataColloRif(itemDaVersare.getDataCollo()) + .setNumColloRif(itemDaVersare.getNumCollo()) + .setGestioneRif(itemDaVersare.getGestione()) + .setSerColloRif(itemDaVersare.getSerCollo()); + + mtbColrVersamento + .setOperation(OperationType.INSERT); + + internalMovement.getMtbColr().add(mtbColrVersamento); + + entityProcessor.processEntity(internalMovement, false, multiDBTransactionManager); } else { + //TODO: Complete migration of versamento diretto +// if(posizioneVersamento == null) +// throw new Exception("Impossibile recuperare le informazioni della posizione (" + request.getPosizioneVersamento() + ")"); +// +// for(MvwSitArtUdcDetInventarioDTO artInGiacenza : artsInGiacenza) { +// final MtbAart currentArtAnag = WMSUtility.getArticoloByCodMart(artInGiacenza.getCodMart(), multiDBTransactionManager.getPrimaryConnection()); +// +// if(currentArtAnag == null) +// continue; +// +// final String idMateriale = UtilityString.isNull(currentArtAnag.getIdArtEqui(), currentArtAnag.getCodMart()); +// +// +// final List ordiniLavorazioneInCorsoPerMateriale = +// mesProductionService.getOrdiniLavorazioneInCorsoPerMateriale(posizioneVersamento.getPosizione(), idMateriale); +// +// } + + + + } @@ -121,7 +163,7 @@ public class WMSMaterialiService { final boolean versamentoDirettoEnabled = setupGest.getSetupBoolean(multiDBTransactionManager.getPrimaryConnection(), "PICKING", "PRODUZIONE", "FLAG_VERSAMENTO_DIRETTO"); final boolean forceAllToColli = setupGest.getSetupBoolean(multiDBTransactionManager.getPrimaryConnection(), "PICKING", "SETUP", "FLAG_FORCE_ALL_TO_COLLI"); - MtbAart mtbAart = WMSUtility.getArticoloByCodMart(request.getCodMart(),multiDBTransactionManager.getPrimaryConnection()); + MtbAart mtbAart = WMSUtility.getArticoloByCodMart(request.getCodMart(), multiDBTransactionManager.getPrimaryConnection()); if (mtbAart == null) throw new InvalidArticoloException(request.getCodMart()); @@ -180,7 +222,7 @@ public class WMSMaterialiService { .setDescrizione(UtilityString.isNull(mtbAart.getDescrizioneEstesa(), mtbAart.getDescrizione())) .setDatetimeRow(UtilityLocalDate.getNowTime()) .setNumColloRif(request.getNumColloRif()) - .setDataColloRif(UtilityLocalDate.localDateToDate(request.getDataColloRif())) + .setDataColloRif(request.getDataColloRif()) .setGestioneRif(request.getGestioneRif()) .setSerColloRif(request.getSerColloRif()) .setDataOrd(ordine.getData()) @@ -227,7 +269,7 @@ public class WMSMaterialiService { .setDescrizione(UtilityString.isNull(mtbAart.getDescrizioneEstesa(), mtbAart.getDescrizione())) .setDatetimeRow(UtilityLocalDate.getNowTime()) .setNumColloRif(request.getNumColloRif()) - .setDataColloRif(UtilityLocalDate.localDateToDate(request.getDataColloRif())) + .setDataColloRif(request.getDataColloRif()) .setGestioneRif(request.getGestioneRif()) .setSerColloRif(request.getSerColloRif()) .setDataOrd(ordine.getData()) @@ -247,7 +289,7 @@ public class WMSMaterialiService { .setDescrizione(UtilityString.isNull(mtbAart.getDescrizioneEstesa(), mtbAart.getDescrizione())) .setDatetimeRow(UtilityLocalDate.getNowTime()) .setNumColloRif(request.getNumColloRif()) - .setDataColloRif(UtilityLocalDate.localDateToDate(request.getDataColloRif())) + .setDataColloRif(request.getDataColloRif()) .setGestioneRif(request.getGestioneRif()) .setSerColloRif(request.getSerColloRif()); @@ -303,7 +345,7 @@ public class WMSMaterialiService { .setDescrizione(UtilityString.isNull(mtbAart.getDescrizioneEstesa(), mtbAart.getDescrizione())) .setDatetimeRow(UtilityLocalDate.getNowTime()) .setNumColloRif(request.getNumColloRif()) - .setDataColloRif(UtilityLocalDate.localDateToDate(request.getDataColloRif())) + .setDataColloRif(request.getDataColloRif()) .setGestioneRif(request.getGestioneRif()) .setSerColloRif(request.getSerColloRif()); 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 54a86334ac..6504c33ac0 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 @@ -281,7 +281,7 @@ public class WMSSpedizioneService { targetMtbColr // .setCodJcom(UtilityString.emptyStr2Null(sourceMtbColr.getCodJcom())) .setSerColloRif(sourceMtbColr.getSerCollo()) - .setDataColloRif(UtilityLocalDate.localDateToDate(sourceMtbColr.getDataCollo())) + .setDataColloRif(sourceMtbColr.getDataCollo()) .setNumColloRif(sourceMtbColr.getNumCollo()) .setGestioneRif(sourceMtbColr.getGestione()); @@ -412,7 +412,7 @@ public class WMSSpedizioneService { final List giacenzaSourceMtbColr = wmsGiacenzaULService.retrieveArtsByUL(multiDBTransactionManager.getPrimaryConnection(), sourceMtbColr.getGestioneRif(), - UtilityLocalDate.localDateFromDate(sourceMtbColr.getDataColloRif()), + sourceMtbColr.getDataColloRif(), sourceMtbColr.getSerColloRif(), sourceMtbColr.getNumColloRif(), +1,