elimiazione trigger e varie modifiche su ordini di produzione
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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<String, String> 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<String, String> 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<ActivityCicloProdDTO> activityCicloProd, boolean existOrd, HashMap<String, String> setup) throws Exception {
|
||||
private static void explodeDist(DtbOrdt ordT, Connection conn, ExplodeDistDTO datiDist, EntityBase dtbOrdr, List<ActivityCicloProdDTO> 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<String, String> setupOrdProdGest = setup.getSetupSection(conn, classNameOrdProd, "SETUP");
|
||||
HashMap<String, String> setupActivity = setup.getSetupSection(conn, classNameOrdProd, "ACTIVITY");
|
||||
HashMap<String, String> 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> 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<DtbOrdr> 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<DtbOrdr> 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> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<String, String> setupOrdProdGest = setup.getSetupSection(conn, classNameOrdProd, "SETUP");
|
||||
HashMap<String, String> setupActivity = setup.getSetupSection(conn, classNameOrdProd, "ACTIVITY");
|
||||
HashMap<String, String> 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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -256,6 +256,8 @@ public class DtbOrdr extends DtbOrdCommonR implements EquatableEntityInterface<D
|
||||
@Priority(3)
|
||||
private List<StbActivity> stbActivityList;
|
||||
|
||||
private List<JtbDistMate> distinta;
|
||||
|
||||
private HashMap<String, Object> datiListino;
|
||||
|
||||
public DtbOrdr() {
|
||||
@@ -1298,6 +1300,15 @@ public class DtbOrdr extends DtbOrdCommonR implements EquatableEntityInterface<D
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<JtbDistMate> getDistinta() {
|
||||
return distinta;
|
||||
}
|
||||
|
||||
public DtbOrdr setDistinta(List<JtbDistMate> distinta) {
|
||||
this.distinta = distinta;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkPreSave() throws Exception {
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user