modificato controllo su gruppo merceologico in versamento materiale (presi i tipi SL & PF dalla tabella dei gruppi invece che dalla setup)
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-07-15 15:14:17 +02:00
parent b4ce3f8d27
commit 8e99c0898d

View File

@@ -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<String> 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);
//
//<editor-fold desc="Assegna una nuova partita se l'ordine non ha nessuna partita o se il semilavorato ha diversa partitaMagProd">
if (matchLottoSlToOrdine
&& infoScarichi.getCodGruppo().equalsIgnoreCase(codMgrpSL)) {
&& Arrays.asList(MtbGrup.TipoGruppo.SEMILAVORATI, MtbGrup.TipoGruppo.PRODOTTI_FINITI).contains(mtbGrup.getTipoMgrp())
) {
MtbPartitaMag partitaOrdine = null;