From 8e99c0898d76aa6520ee02133543b7be1ec92241 Mon Sep 17 00:00:00 2001 From: Valerio Castellana Date: Tue, 15 Jul 2025 15:14:17 +0200 Subject: [PATCH] modificato controllo su gruppo merceologico in versamento materiale (presi i tipi SL & PF dalla tabella dei gruppi invece che dalla setup) --- .../service/MesProductionServiceV2.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) 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 02dbd3727c..5afc1ca9cc 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 @@ -1424,7 +1424,6 @@ public class MesProductionServiceV2 { entityProcessor.processEntity(partitaMagOrdine, true, multiDBTransactionManager); } - String codMgrpSL = setupGest.getSetup("w_lpianoprod_rc", "SETUP", "GRUPPO_SL"); boolean matchLottoSlToOrdine = setupGest.getSetupDetBoolean("MES", "SETUP", "VINCOLA_LOTTO_ORDINE_A_SL", dto.getCodJfas()); List codMarts = rows.stream() @@ -1438,6 +1437,11 @@ public class MesProductionServiceV2 { MtbAart rowArt = WMSUtility.getArticoloByCodMart(codMarts.get(0), multiDBTransactionManager.getPrimaryConnection()); GiacenzaArtInBarcodeDTO invDto = new GiacenzaArtInBarcodeDTO(); + MtbGrup mtbGrup = new MtbGrup(); + mtbGrup.setCodMgrp(rowArt.getCodMgrp()); + mtbGrup.setOperation(OperationType.SELECT_OBJECT); + entityProcessor.processEntity(mtbGrup, true, multiDBTransactionManager); + invDto .setBarcodeUl(collo.getBarcodeUl()) .setCodMart(rowArt.getCodMart()) @@ -1471,15 +1475,15 @@ public class MesProductionServiceV2 { entityProcessor.processEntity(partitaMagRow, true, multiDBTransactionManager); - if (rowArt.getCodMgrp().equalsIgnoreCase(codMgrpSL) + if (Arrays.asList(MtbGrup.TipoGruppo.SEMILAVORATI, MtbGrup.TipoGruppo.PRODOTTI_FINITI).contains(mtbGrup.getTipoMgrp()) && matchLottoSlToOrdine && !UtilityString.isNullOrEmpty(ordineLav.getPartitaMag()) && !partitaMagRow.getPartitaMagProd().equalsIgnoreCase(partitaMagOrdine.getPartitaMagProd())) { // if (!partitaMagRow.getPartitaMagProd().equalsIgnoreCase(partitaMagOrdine.getPartitaMagProd())) { - response.getAnomalie().add(AnomalieDTO.warning(String.format( - "Lotto di produzione (%s) diverso da quello in lavorazione (%s).\nVuoi creare un nuovo ordine?", - partitaMagRow.getPartitaMag(), - partitaMagOrdine.getPartitaMagProd()))); + response.getAnomalie().add(AnomalieDTO.warning(String.format( + "Lotto di produzione (%s) diverso da quello in lavorazione (%s).\nVuoi creare un nuovo ordine?", + partitaMagRow.getPartitaMag(), + partitaMagOrdine.getPartitaMagProd()))); // } else { // response.getAnomalie().add(AnomalieDTO.warning(String.format( // "La data di scadenza del lotto versato (%s) รจ diversa da quella del lotto di lavorazione (%s).\nVuoi creare un nuovo ordine?", @@ -1590,7 +1594,6 @@ public class MesProductionServiceV2 { MtbColt uds; try { - String codMgrpSL = setupGest.getSetup("w_lpianoprod_rc", "SETUP", "GRUPPO_SL"); boolean matchLottoSlToOrdine = setupGest.getSetupDetBoolean("MES", "SETUP", "VINCOLA_LOTTO_ORDINE_A_SL", dto.getCodJfas()); MtbPartitaMag partitaSL = new MtbPartitaMag(); @@ -1600,12 +1603,16 @@ public class MesProductionServiceV2 { .setOperation(OperationType.SELECT_OBJECT); entityProcessor.processEntity(partitaSL, true, multiDBTransactionManager); - + MtbGrup mtbGrup = new MtbGrup(); + mtbGrup.setCodMgrp(infoScarichi.getCodGruppo()); + mtbGrup.setOperation(OperationType.SELECT_OBJECT); + entityProcessor.processEntity(mtbGrup, true, multiDBTransactionManager); // // if (matchLottoSlToOrdine - && infoScarichi.getCodGruppo().equalsIgnoreCase(codMgrpSL)) { + && Arrays.asList(MtbGrup.TipoGruppo.SEMILAVORATI, MtbGrup.TipoGruppo.PRODOTTI_FINITI).contains(mtbGrup.getTipoMgrp()) + ) { MtbPartitaMag partitaOrdine = null;