From 37f38ed2f7044e90311d562d2a70b71570ab2229 Mon Sep 17 00:00:00 2001 From: MinaR Date: Fri, 2 Aug 2024 18:22:04 +0200 Subject: [PATCH] elimiazione trigger e varie modifiche su ordini di produzione --- .../ems/rules/completing/DocOrdRules.java | 2 +- .../ProductionBusinessLogic.java | 167 +++++++------- .../business_logic/UtilityProduction.java | 48 ++++ .../business_logic/dto/OrdProdSetupDTO.java | 215 ++++++++++++++++++ .../it/integry/ems_model/entity/DtbOrdr.java | 11 + 5 files changed, 359 insertions(+), 84 deletions(-) create mode 100644 ems-core/src/main/java/it/integry/ems_model/business_logic/UtilityProduction.java create mode 100644 ems-core/src/main/java/it/integry/ems_model/business_logic/dto/OrdProdSetupDTO.java diff --git a/ems-core/src/main/java/it/integry/ems/rules/completing/DocOrdRules.java b/ems-core/src/main/java/it/integry/ems/rules/completing/DocOrdRules.java index 6efce97d54..a67684ce20 100644 --- a/ems-core/src/main/java/it/integry/ems/rules/completing/DocOrdRules.java +++ b/ems-core/src/main/java/it/integry/ems/rules/completing/DocOrdRules.java @@ -947,7 +947,7 @@ public class DocOrdRules extends QueryRules { SetupGest setup = new SetupGest(); Boolean disableTriggerOrdl = setup.getSetupBoolean(connection, "DTB_ORDT", "SETUP", "DISABLE_TRIGGER_ORDL"); - if (!disableTriggerOrdl) return null; + if (!disableTriggerOrdl || dtbOrdt.isGeneraOrdLavDaProd()) return null; DtbOrdt dtbOrdtProd = new DtbOrdt() diff --git a/ems-core/src/main/java/it/integry/ems_model/business_logic/ProductionBusinessLogic.java b/ems-core/src/main/java/it/integry/ems_model/business_logic/ProductionBusinessLogic.java index a3e9ad1beb..b4581ac4ea 100644 --- a/ems-core/src/main/java/it/integry/ems_model/business_logic/ProductionBusinessLogic.java +++ b/ems-core/src/main/java/it/integry/ems_model/business_logic/ProductionBusinessLogic.java @@ -8,20 +8,14 @@ import it.integry.ems.rules.completing.OrderRules; import it.integry.ems.rules.completing.QueryRules; import it.integry.ems.rules.completing.dto.DatiPartitaMagDTO; import it.integry.ems_model.base.EntityBase; -import it.integry.ems_model.business_logic.dto.ActivityCicloProdDTO; -import it.integry.ems_model.business_logic.dto.CommessaDTO; -import it.integry.ems_model.business_logic.dto.ElencoProdDTO; -import it.integry.ems_model.business_logic.dto.ExplodeDistDTO; +import it.integry.ems_model.business_logic.dto.*; import it.integry.ems_model.config.EmsRestConstants; import it.integry.ems_model.db.ResultSetMapper; import it.integry.ems_model.entity.*; import it.integry.ems_model.rules.util.DroolsUtil; import it.integry.ems_model.service.SetupGest; import it.integry.ems_model.types.OperationType; -import it.integry.ems_model.utility.Query; -import it.integry.ems_model.utility.UtilityDB; -import it.integry.ems_model.utility.UtilityHashMap; -import it.integry.ems_model.utility.UtilityString; +import it.integry.ems_model.utility.*; import org.json.JSONArray; import java.math.BigDecimal; @@ -33,16 +27,15 @@ import java.util.Date; import java.util.*; public class ProductionBusinessLogic { - public static void getNextCodJcom(Connection conn, CommessaDTO datiComm, HashMap setup) throws Exception { + public static void getNextCodJcom(Connection conn, CommessaDTO datiComm, OrdProdSetupDTO ordProdSetupDTO) throws Exception { // Acquisizione configurazioni commessa boolean generazioneAutomatica = false; boolean aggiungiGestione = false; if ("V".equals(datiComm.getGestione())) { - generazioneAutomatica = UtilityString.equalsIgnoreCase(setup.get("GEN_AUTOMATICA_COMM_VEN"), "S"); - - aggiungiGestione = UtilityString.equalsIgnoreCase(setup.get("AGGIUNGI_GEST_VEN"), "S"); + generazioneAutomatica = ordProdSetupDTO.isGenerazioneAutomaticaVend(); + aggiungiGestione = ordProdSetupDTO.isAggiungiGestione(); } else if ("L".equals(datiComm.getGestione()) || "A".equals(datiComm.getGestione())) { - generazioneAutomatica = UtilityString.equalsIgnoreCase(setup.get("GEN_AUTOMATICA_COMM_LAV"), "S"); + generazioneAutomatica = ordProdSetupDTO.isGenerazioneAutomaticaLav(); } // Definizione nuovo codice commessa @@ -325,13 +318,14 @@ public class ProductionBusinessLogic { return activityIDRoot; } - private static void assegnaPartitaMag(Connection conn, DtbOrdr dtbOrdr, String classNameOrdProd, HashMap setupLottoProd) throws Exception { + private static void assegnaPartitaMag(Connection conn, DtbOrdr dtbOrdr, String classNameOrdProd, OrdProdSetupDTO ordProdSetupDTO) throws Exception { String gestione = "L", parameter, sql = ""; Date dataScad = null; DateFormat formato = new SimpleDateFormat("yyyy/MM/dd"); PreparedStatement ps = null; ResultSet rs = null; + String codJfas = dtbOrdr.getCodJfas(); String codMdep = dtbOrdr.getCodMdep(); String codMart = dtbOrdr.getCodMart(); @@ -341,10 +335,9 @@ public class ProductionBusinessLogic { Integer numOrd = dtbOrdr.getNumOrd(); Date dataCons = dtbOrdr.getDataCons(); - boolean generaLottoProdAutomatico = UtilityString.equalsIgnoreCase(setupLottoProd.get("GENERA_LOTTO_AUTOMATICO_DEP_" + codMdep), "S"); - - boolean partitaMagRequired = UtilityString.equalsIgnoreCase(setupLottoProd.get("PARTITA_MAG_REQUIRED"), "S"); + boolean generaLottoProdAutomatico = UtilityString.equalsIgnoreCase(new SetupGest().getSetup(conn, classNameOrdProd, "GENERA_LOTTO_PROD", "GENERA_LOTTO_AUTOMATICO_DEP_" + codMdep), "S"); + boolean partitaMagRequired = ordProdSetupDTO.isPartitaMagRequired(); // Se il prodotto è presente tra quelli da escludere dall'assegnazione automatica allora non viene generato il lotto String whereCondEscludiProd = new SetupGest().getSetupDepo(conn, classNameOrdProd, "GENERA_LOTTO_PROD", "GENERA_LOTTO_AUT_WHERECOND_ESCLUDI", codMdep); if (!UtilityString.isNullOrEmpty(whereCondEscludiProd)) { @@ -407,7 +400,7 @@ public class ProductionBusinessLogic { } } - private static void explodeDist(DtbOrdt ordT, Connection conn, ExplodeDistDTO datiDist, EntityBase dtbOrdr, List activityCicloProd, boolean existOrd, HashMap setup) throws Exception { + private static void explodeDist(DtbOrdt ordT, Connection conn, ExplodeDistDTO datiDist, EntityBase dtbOrdr, List activityCicloProd, boolean existOrd, OrdProdSetupDTO ordProdSetupDTO) throws Exception { String codJfasRow = null; Integer durataFasiPrec = 0, numFaseOld = 0; String untMisPRI = null, sql = null, fasiCicloProdOrdine = null, columnFaseCicloProdOrd = "", tableCicloProdOrd = "", columnFaseParentCicloProdOrd = ""; @@ -416,10 +409,10 @@ public class ProductionBusinessLogic { ResultSet rs = null; BigDecimal rapConvPRI = BigDecimal.ZERO; - boolean assPeriodoFase = UtilityString.equalsIgnoreCase(setup.get("ASS_PERIODO_FASE_LAV"), "S"); - boolean visCodJfas = UtilityString.equalsIgnoreCase(setup.get("VISUALIZZA_COD_JFAS"), "S"); - boolean visNoteRigaDist = UtilityString.equalsIgnoreCase(setup.get("VIS_NOTE_RIGA_DISTINTA"), "S"); - boolean pesoInQtaLav = UtilityString.equalsIgnoreCase(setup.get("PESO_IN_QTA_LAV"), "S"); + boolean assPeriodoFase = ordProdSetupDTO.isAssPeriodoFase(); + boolean visCodJfas = ordProdSetupDTO.isVisCodJfas(); + boolean visNoteRigaDist = ordProdSetupDTO.isVisNoteRigaDist(); + boolean pesoInQtaLav = ordProdSetupDTO.isPesoInQtaLav(); boolean isSameLav = datiDist.isSameLav(); boolean isRoot = datiDist.isRoot(); String fasiSel = datiDist.getCodJfasRow(); @@ -582,7 +575,7 @@ public class ProductionBusinessLogic { } else { datiDist.setSameLav(true); } - explodeDist(ordT, conn, datiDist, dtbOrdr, activityCicloProd, existOrd, setup); + explodeDist(ordT, conn, datiDist, dtbOrdr, activityCicloProd, existOrd, ordProdSetupDTO); } else { // Verifica esistenza distinta in anagrafica, se non presente blocca la procedura if (codMate != null) { @@ -714,7 +707,7 @@ public class ProductionBusinessLogic { // il codice fase del ciclo produttivo ha un codice di equivalenza/relazione associato alla fase specificata dall'utente // ed in tal caso sostituirlo // La struttura delle fasi dovrebbe essere uguale per i primi 4 caratteri e l'ultimo cambiare (Es.: LAV1 --> IMPA1, COTT1 e l'altra linea LAV2 --> IMPA2, COTT2) - String existCodJfasEqui = setup.get("EXIST_COD_JFAS_EQUI"); + String existCodJfasEqui = ordProdSetupDTO.getExistCodJfasEqui(); if (UtilityString.isNullOrEmpty(existCodJfasEqui)) { existCodJfasEqui = "N"; } @@ -1048,6 +1041,7 @@ public class ProductionBusinessLogic { codJfas = null; final String gestioneLav = "L"; SetupGest setup = new SetupGest(); + OrdProdSetupDTO ordProdSetupDTO = new OrdProdSetupDTO(); boolean existActivity = true; BigDecimal qtaProdDist = BigDecimal.ONE; @@ -1062,36 +1056,31 @@ public class ProductionBusinessLogic { Integer numOrd = dtbOrdt.getNumOrd(); String compilatoDa = dtbOrdt.getCompilatoDa(); String userName = dtbOrdt.getUsername(); - if (activityID == null) { - existActivity = false; - } + existActivity = activityID != null; + + ordProdSetupDTO = UtilityProduction.retrieveSetup(conn); Boolean disableTriggerOrdl = setup.getSetupBoolean(conn, "DTB_ORDT", "SETUP", "DISABLE_TRIGGER_ORDL"); if ( disableTriggerOrdl == null) disableTriggerOrdl = false; // (todo FABIO): gestire in cancellazione ordini lavorazione regola che se si tratta dell'ultimo // ordine di lavorazione dell'ordine di produzione deve cancellare anche l'ordine di produzione - HashMap setupOrdProdGest = setup.getSetupSection(conn, classNameOrdProd, "SETUP"); - HashMap setupActivity = setup.getSetupSection(conn, classNameOrdProd, "ACTIVITY"); - HashMap setupLottoProd = setup.getSetupSection(conn, classNameOrdProd, "GENERA_LOTTO_PROD"); - //boolean explodeDistNew = UtilityString.isNull(setupOrdProdGest.get("ESPLODE_DIST_NEW"), "S").equalsIgnoreCase("S"); + + // Acquisizione dati configurazioni - boolean assegnaAttivita = UtilityString.isNull(setupActivity.get("GENERA_ATTIVITA"), "N").equalsIgnoreCase("S"); - String tipoGenerazione = UtilityString.isNull(setupActivity.get("TIPO_GENERAZIONE"), ""); - - boolean generateLotto = UtilityString.isNull(setupLottoProd.get("GENERA_LOTTO"), "N").equalsIgnoreCase("S"); - -// String assPeriodoFase =UtilityString.isNull(setupGest.get("ASS_PERIODO_FASE_LAV"), "N"); + boolean assegnaAttivita = ordProdSetupDTO.isAssegnaAttivita(); + String tipoGenerazione = ordProdSetupDTO.getTipoGenerazione(); + boolean generateLotto = ordProdSetupDTO.isGenerateLotto(); if (tipoGenerazione.length() == 0 && assegnaAttivita) { throw new Exception("E' necessario specificare la tipologia di generazione attività per poter procedere"); } - boolean checkLockProd = UtilityString.isNull(setupOrdProdGest.get("LOCK_PROD"), "S").equalsIgnoreCase("S"); + boolean checkLockProd = ordProdSetupDTO.isCheckLockProd(); + boolean checkDepTerzista = ordProdSetupDTO.isCheckDepTerzista(); + boolean genAutoCommOrdProd = ordProdSetupDTO.isGenAutoCommOrdProd(); - boolean checkDepTerzista = UtilityString.isNull(setupOrdProdGest.get("CHECK_DEP_TERZISTA"), "N").equalsIgnoreCase("S"); - boolean genAutoCommOrdProd = UtilityString.isNull(setupOrdProdGest.get("GENERA_COMM_ORD_PROD"), "N").equalsIgnoreCase("S"); // Acquisizione dati anagrafici intestatario boolean isTerzista = false; if (genAutoCommOrdProd || checkDepTerzista) { @@ -1145,16 +1134,16 @@ public class ProductionBusinessLogic { } } - boolean flagDescrizDaOrdine = UtilityString.equalsIgnoreCase(setupOrdProdGest.get("DESCRIZIONE_DA_ORDINE"), "S"); - String statoCommessa = UtilityString.isNull(setupOrdProdGest.get("STATO_COMMESSA"), null); - String tipoCommessa = UtilityString.isNull(setupOrdProdGest.get("TIPO_COMMESSA"), null); - String tipoValCosto = UtilityString.isNull(setupOrdProdGest.get("TIPO_VAL_COSTO"), CommonConstants.DIST); + boolean flagDescrizDaOrdine = ordProdSetupDTO.isFlagDescrizDaOrdine(); + String statoCommessa = ordProdSetupDTO.getStatoCommessa(); + String tipoCommessa = ordProdSetupDTO.getTipoCommessa(); + String tipoValCosto = ordProdSetupDTO.getTipoValCosto(); int index = 0; boolean isFistOrdLav = true; Short ggLav = 0; // Disabilita salvataggio righe ordine produzione perchè verranno generata - // dal trigger di salvataggio delle testa dell'ordine di lavorazione + // dal trigger di salvataggio delle testata dell'ordine di lavorazione Stream.of(dtbOrdt.getDtbOrdr()).filter(x -> x.getLoadedFromDb()).forEach(x -> x.setOperation(OperationType.NO_OP)); List dtbOrdr = Stream.of(dtbOrdt.getDtbOrdr()).filter(x -> !x.getLoadedFromDb()).toList(); @@ -1211,32 +1200,23 @@ public class ProductionBusinessLogic { // Verifica se l'articolo prevede l'obbligo del codice di commessa, in tal caso si blocca la procedura. // Il campo COD_JCOM_REQUIRED può contenere o S/N se qualsiasi produzione deve avere la specifica della commessa, // oppure la specifica di una etichetta (Disegni) sui quali prodotti è necessario specificare la commessa - String codJcomRequired = UtilityString.isNull(setupOrdProdGest.get("COD_JCOM_REQUIRED"), ""); + boolean codJcomRequired = ordProdSetupDTO.isCodJcomRequired(); - if (codJcomRequired.length() != 0) { - Integer count = 0; - if ("S".equals(codJcomRequired)) { - /* Se uguale S vuol dire che il controllo deve essere fatto su tutte le commesse, altrimenti verrà fatto in base a delle etichette*/ - if (codJcom == null || codJcom.equals(EmsRestConstants.NULL)) { - count = 1; - } - } else { - sql = - "SELECT count(*) as counter" + - " FROM jrl_cicl_disegni, " + - " stb_gest_setup " + - " WHERE stb_gest_setup.gest_name = 'w_pordi_rc' and " + - " stb_gest_setup.section = 'SETUP' and " + - " stb_gest_setup.key_section = 'COD_JCOM_REQUIRED' and " + - " charindex('|' + jrl_cicl_disegni.cod_disegno + '|' , stb_gest_setup.value ) <> 0 AND " + - " jrl_cicl_disegni.cod_prod = " + UtilityDB.valueToString(codProd); + if (!codJcomRequired) { + sql = + "SELECT cast(count(*) as bit ) as counter" + + " FROM jrl_cicl_disegni, " + + " stb_gest_setup " + + " WHERE stb_gest_setup.gest_name = 'w_pordi_rc' and " + + " stb_gest_setup.section = 'SETUP' and " + + " stb_gest_setup.key_section = 'COD_JCOM_REQUIRED' and " + + " charindex('|' + jrl_cicl_disegni.cod_disegno + '|' , stb_gest_setup.value ) <> 0 AND " + + " jrl_cicl_disegni.cod_prod = " + UtilityDB.valueToString(codProd); - count = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql); - } - - if (count != 0 && (codJcom == null || codJcom.equals(EmsRestConstants.NULL))) { - throw new Exception("Il prodotto " + codProd + " prevede il codice commessa obbligatoriamente, impossibile procedere alla generazione dell'ordine di produzione"); - } + codJcomRequired = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql); + } + if (codJcomRequired && (codJcom == null || codJcom.equals(EmsRestConstants.NULL))) { + throw new Exception("Il prodotto " + codProd + " prevede il codice commessa obbligatoriamente, impossibile procedere alla generazione dell'ordine di produzione"); } boolean existOrd = false; @@ -1330,7 +1310,7 @@ public class ProductionBusinessLogic { } // Assegnazione partita di magazzino se automatica if (partitaMag == null) { - assegnaPartitaMag(conn, row, classNameOrdProd, setupLottoProd); + assegnaPartitaMag(conn, row, classNameOrdProd, ordProdSetupDTO); partitaMag = row.getPartitaMag(); } @@ -1481,7 +1461,7 @@ public class ProductionBusinessLogic { .setStatoCommessa(statoCommessa); if (codJcom != null) { - getNextCodJcom(conn, datiComm, setupOrdProdGest); + getNextCodJcom(conn, datiComm, ordProdSetupDTO); assegnaCodJcom(datiComm, row); codJcom = datiComm.getCodjcom(); } @@ -1563,7 +1543,14 @@ public class ProductionBusinessLogic { .setCodJflav(codJflavLav) .setColliPedana(colliPedana) .setCodTcolUl(codTcolUl) - .setCodTcolUi(codTcolUi); + .setCodTcolUi(codTcolUi) + .setGeneraOrdLavDaProd(dtbOrdt.isGeneraOrdLavDaProd()); + + String flagAnnulla = "N"; + if (UtilityString.equalsIgnoreCase(row.getFlagEvaso(), "A")){ + flagAnnulla = "S"; + } + ordT.setFlagAnnulla(flagAnnulla); ordT.setOperation(operation); ordT.setExecuteRecalc(true); ordT.setUsername(userName); @@ -1600,7 +1587,7 @@ public class ProductionBusinessLogic { .setRoot(true) .setSameLav(false); - explodeDist(ordT, conn, datiDist, row, activityCicloProd, existOrd, setupOrdProdGest); + explodeDist(ordT, conn, datiDist, row, activityCicloProd, existOrd, ordProdSetupDTO); // ----------------------------------------------------------- // SERVIZI ORDINE DI LAVORAZIONE (SOLO SE DEPOSITO TERZISTA) @@ -1661,7 +1648,7 @@ public class ProductionBusinessLogic { } else { sql = Query.format( - "SELECT qta_prod*rap_conv as qta_prod " + + "SELECT qta_prod*rap_conv_prod as qta_prod " + " FROM dtb_ordt "+ " WHERE dtb_ordt.gestione_rif = %s AND " + " dtb_ordt.data_ord_rif = %s AND " + @@ -1674,18 +1661,32 @@ public class ProductionBusinessLogic { BigDecimal qtaProdOld = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql); BigDecimal qtaProdNew = qtaProd.multiply(rapConv); - BigDecimal moltiplicatore = qtaProdNew.divide(qtaProdOld); - sql = "SELECT * FROM dtb_ordr"; - sql = UtilityDB.addwhereCond(sql, dtbOrdt.getPkWhereCond(), true); - List dtbOrdrL = UtilityDB.executeSimpleQueryDTO(conn, sql, DtbOrdr.class); - dtbOrdrL.stream().forEach(x->{ - x.setQtaOrd(x.getQtaOrd().multiply(moltiplicatore)); - x.setOperation(OperationType.UPDATE); - }); + if (!moltiplicatore.equals(BigDecimal.ONE)) { + sql = "SELECT * FROM dtb_ordr"; + sql = UtilityDB.addwhereCond(sql, ordT.getPkWhereCond(), true); + List dtbOrdrL = UtilityDB.executeSimpleQueryDTO(conn, sql, DtbOrdr.class); + + dtbOrdrL.stream().forEach(x -> { + x.setQtaOrd(x.getQtaOrd().multiply(moltiplicatore)); + x.setOperation(OperationType.UPDATE); + }); + + ordT.setDtbOrdr(dtbOrdrL); + + sql = "SELECT * FROM dtb_ord_steps"; + sql = UtilityDB.addwhereCond(sql, ordT.getPkWhereCond(), true); + List dtbOrdSteps = UtilityDB.executeSimpleQueryDTO(conn, sql, DtbOrdSteps.class); + + dtbOrdSteps.stream().forEach(x -> { + x.setQtaProd(x.getQtaProd().multiply(moltiplicatore)); + x.setOperation(OperationType.UPDATE); + }); + + ordT.setDtbOrdSteps(dtbOrdSteps); + } - ordT.setDtbOrdr(dtbOrdrL); } } } diff --git a/ems-core/src/main/java/it/integry/ems_model/business_logic/UtilityProduction.java b/ems-core/src/main/java/it/integry/ems_model/business_logic/UtilityProduction.java new file mode 100644 index 0000000000..624c2740e5 --- /dev/null +++ b/ems-core/src/main/java/it/integry/ems_model/business_logic/UtilityProduction.java @@ -0,0 +1,48 @@ +package it.integry.ems_model.business_logic; + + +import it.integry.common.var.CommonConstants; +import it.integry.ems_model.business_logic.dto.OrdProdSetupDTO; +import it.integry.ems_model.service.SetupGest; +import it.integry.ems_model.utility.UtilityString; + +import java.sql.Connection; +import java.util.HashMap; + +public class UtilityProduction { + public static OrdProdSetupDTO retrieveSetup(Connection conn) throws Exception { + final String classNameOrdProd = "W_PORDI_RC"; + SetupGest setup = new SetupGest(); + OrdProdSetupDTO ordProdSetupDTO = new OrdProdSetupDTO(); + + HashMap setupOrdProdGest = setup.getSetupSection(conn, classNameOrdProd, "SETUP"); + HashMap setupActivity = setup.getSetupSection(conn, classNameOrdProd, "ACTIVITY"); + HashMap setupLottoProd = setup.getSetupSection(conn, classNameOrdProd, "GENERA_LOTTO_PROD"); + + ordProdSetupDTO.setCheckLockProd(UtilityString.isNull(setupOrdProdGest.get("LOCK_PROD"), "S").equalsIgnoreCase("S")); + ordProdSetupDTO.setCheckDepTerzista (UtilityString.isNull(setupOrdProdGest.get("CHECK_DEP_TERZISTA"), "N").equalsIgnoreCase("S")); + ordProdSetupDTO.setGenAutoCommOrdProd(UtilityString.isNull(setupOrdProdGest.get("GENERA_COMM_ORD_PROD"), "N").equalsIgnoreCase("S")); + ordProdSetupDTO.setFlagDescrizDaOrdine(UtilityString.equalsIgnoreCase(setupOrdProdGest.get("DESCRIZIONE_DA_ORDINE"), "S")); + ordProdSetupDTO.setStatoCommessa(UtilityString.isNull(setupOrdProdGest.get("STATO_COMMESSA"), null)); + ordProdSetupDTO.setTipoCommessa(UtilityString.isNull(setupOrdProdGest.get("TIPO_COMMESSA"), null)); + ordProdSetupDTO.setTipoValCosto(UtilityString.isNull(setupOrdProdGest.get("TIPO_VAL_COSTO"), CommonConstants.DIST)); + ordProdSetupDTO.setGenerazioneAutomaticaVend(UtilityString.equalsIgnoreCase(setupOrdProdGest.get("GEN_AUTOMATICA_COMM_VEN"), "S")); + ordProdSetupDTO.setGenerazioneAutomaticaLav(UtilityString.equalsIgnoreCase(setupOrdProdGest.get("GEN_AUTOMATICA_COMM_LAV"), "S")); + ordProdSetupDTO.setAggiungiGestione(UtilityString.equalsIgnoreCase(setupOrdProdGest.get("AGGIUNGI_GEST_VEN"), "S")); + + ordProdSetupDTO.setAssPeriodoFase(UtilityString.equalsIgnoreCase(setupOrdProdGest.get("ASS_PERIODO_FASE_LAV"), "S")); + ordProdSetupDTO.setVisCodJfas(UtilityString.equalsIgnoreCase(setupOrdProdGest.get("VISUALIZZA_COD_JFAS"), "S")); + ordProdSetupDTO.setVisNoteRigaDist(UtilityString.equalsIgnoreCase(setupOrdProdGest.get("VIS_NOTE_RIGA_DISTINTA"), "S")); + ordProdSetupDTO.setPesoInQtaLav(UtilityString.equalsIgnoreCase(setupOrdProdGest.get("PESO_IN_QTA_LAV"), "S")); + + ordProdSetupDTO.setExistCodJfasEqui(setupOrdProdGest.get("EXIST_COD_JFAS_EQUI")); + ordProdSetupDTO.setCodJcomRequired(UtilityString.isNull(setupOrdProdGest.get("COD_JCOM_REQUIRED"), "N").equalsIgnoreCase("S")); + + ordProdSetupDTO.setAssegnaAttivita( UtilityString.isNull(setupActivity.get("GENERA_ATTIVITA"), "N").equalsIgnoreCase("S")); + ordProdSetupDTO.setTipoGenerazione( UtilityString.isNull(setupActivity.get("TIPO_GENERAZIONE"), "")); + + ordProdSetupDTO.setGenerateLotto(UtilityString.isNull(setupLottoProd.get("GENERA_LOTTO"), "N").equalsIgnoreCase("S")); + ordProdSetupDTO.setPartitaMagRequired(UtilityString.equalsIgnoreCase(setupLottoProd.get("PARTITA_MAG_REQUIRED"), "S")); + return ordProdSetupDTO; + } +} diff --git a/ems-core/src/main/java/it/integry/ems_model/business_logic/dto/OrdProdSetupDTO.java b/ems-core/src/main/java/it/integry/ems_model/business_logic/dto/OrdProdSetupDTO.java new file mode 100644 index 0000000000..e572d7e507 --- /dev/null +++ b/ems-core/src/main/java/it/integry/ems_model/business_logic/dto/OrdProdSetupDTO.java @@ -0,0 +1,215 @@ +package it.integry.ems_model.business_logic.dto; + +import it.integry.common.var.CommonConstants; +import it.integry.ems_model.utility.UtilityString; + +public class OrdProdSetupDTO { + private boolean checkLockProd; + private boolean checkDepTerzista; + private boolean genAutoCommOrdProd; + + private boolean flagDescrizDaOrdine; + private String statoCommessa; + private String tipoCommessa; + private String tipoValCosto; + + private boolean generazioneAutomaticaVend; + private boolean generazioneAutomaticaLav; + private boolean aggiungiGestione; + + private boolean assPeriodoFase; + private boolean visCodJfas; + private boolean visNoteRigaDist; + private boolean pesoInQtaLav; + + private String existCodJfasEqui; + private boolean codJcomRequired; + + private boolean assegnaAttivita; + private String tipoGenerazione; + + private boolean generateLotto; + + private boolean partitaMagRequired; + + public boolean isCheckLockProd() { + return checkLockProd; + } + + public OrdProdSetupDTO setCheckLockProd(boolean checkLockProd) { + this.checkLockProd = checkLockProd; + return this; + } + + public boolean isCheckDepTerzista() { + return checkDepTerzista; + } + + public OrdProdSetupDTO setCheckDepTerzista(boolean checkDepTerzista) { + this.checkDepTerzista = checkDepTerzista; + return this; + } + + public boolean isGenAutoCommOrdProd() { + return genAutoCommOrdProd; + } + + public OrdProdSetupDTO setGenAutoCommOrdProd(boolean genAutoCommOrdProd) { + this.genAutoCommOrdProd = genAutoCommOrdProd; + return this; + } + + public boolean isFlagDescrizDaOrdine() { + return flagDescrizDaOrdine; + } + + public OrdProdSetupDTO setFlagDescrizDaOrdine(boolean flagDescrizDaOrdine) { + this.flagDescrizDaOrdine = flagDescrizDaOrdine; + return this; + } + + public String getStatoCommessa() { + return statoCommessa; + } + + public OrdProdSetupDTO setStatoCommessa(String statoCommessa) { + this.statoCommessa = statoCommessa; + return this; + } + + public String getTipoCommessa() { + return tipoCommessa; + } + + public OrdProdSetupDTO setTipoCommessa(String tipoCommessa) { + this.tipoCommessa = tipoCommessa; + return this; + } + + public String getTipoValCosto() { + return tipoValCosto; + } + + public OrdProdSetupDTO setTipoValCosto(String tipoValCosto) { + this.tipoValCosto = tipoValCosto; + return this; + } + + public boolean isGenerazioneAutomaticaVend() { + return generazioneAutomaticaVend; + } + + public OrdProdSetupDTO setGenerazioneAutomaticaVend(boolean generazioneAutomaticaVend) { + this.generazioneAutomaticaVend = generazioneAutomaticaVend; + return this; + } + + public boolean isGenerazioneAutomaticaLav() { + return generazioneAutomaticaLav; + } + + public OrdProdSetupDTO setGenerazioneAutomaticaLav(boolean generazioneAutomaticaLav) { + this.generazioneAutomaticaLav = generazioneAutomaticaLav; + return this; + } + + public boolean isAggiungiGestione() { + return aggiungiGestione; + } + + public OrdProdSetupDTO setAggiungiGestione(boolean aggiungiGestione) { + this.aggiungiGestione = aggiungiGestione; + return this; + } + + + public boolean isAssPeriodoFase() { + return assPeriodoFase; + } + + public OrdProdSetupDTO setAssPeriodoFase(boolean assPeriodoFase) { + this.assPeriodoFase = assPeriodoFase; + return this; + } + + public boolean isVisCodJfas() { + return visCodJfas; + } + + public OrdProdSetupDTO setVisCodJfas(boolean visCodJfas) { + this.visCodJfas = visCodJfas; + return this; + } + + public boolean isVisNoteRigaDist() { + return visNoteRigaDist; + } + + public OrdProdSetupDTO setVisNoteRigaDist(boolean visNoteRigaDist) { + this.visNoteRigaDist = visNoteRigaDist; + return this; + } + + public boolean isPesoInQtaLav() { + return pesoInQtaLav; + } + + public OrdProdSetupDTO setPesoInQtaLav(boolean pesoInQtaLav) { + this.pesoInQtaLav = pesoInQtaLav; + return this; + } + + public String getExistCodJfasEqui() { + return existCodJfasEqui; + } + + public OrdProdSetupDTO setExistCodJfasEqui(String existCodJfasEqui) { + this.existCodJfasEqui = existCodJfasEqui; + return this; + } + + public boolean isCodJcomRequired() { + return codJcomRequired; + } + + public OrdProdSetupDTO setCodJcomRequired(boolean codJcomRequired) { + this.codJcomRequired = codJcomRequired; + return this; + } + + public boolean isAssegnaAttivita() { + return assegnaAttivita; + } + + public OrdProdSetupDTO setAssegnaAttivita(boolean assegnaAttivita) { + this.assegnaAttivita = assegnaAttivita; + return this; + } + + public String getTipoGenerazione() { + return tipoGenerazione; + } + + public OrdProdSetupDTO setTipoGenerazione(String tipoGenerazione) { + this.tipoGenerazione = tipoGenerazione; + return this; + } + + public boolean isGenerateLotto() { + return generateLotto; + } + + public OrdProdSetupDTO setGenerateLotto(boolean generateLotto) { + this.generateLotto = generateLotto; + return this; + } + + public boolean isPartitaMagRequired() { + return partitaMagRequired; + } + + public OrdProdSetupDTO setPartitaMagRequired(boolean partitaMagRequired) { + this.partitaMagRequired = partitaMagRequired; + return this; + } +} diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/DtbOrdr.java b/ems-core/src/main/java/it/integry/ems_model/entity/DtbOrdr.java index a16997dbf9..65b9d4eb35 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/DtbOrdr.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/DtbOrdr.java @@ -256,6 +256,8 @@ public class DtbOrdr extends DtbOrdCommonR implements EquatableEntityInterface stbActivityList; + private List distinta; + private HashMap datiListino; public DtbOrdr() { @@ -1298,6 +1300,15 @@ public class DtbOrdr extends DtbOrdCommonR implements EquatableEntityInterface getDistinta() { + return distinta; + } + + public DtbOrdr setDistinta(List distinta) { + this.distinta = distinta; + return this; + } + @Override public void checkPreSave() throws Exception { }