elimiazione trigger e varie modifiche su ordini di produzione

This commit is contained in:
2024-08-05 10:47:52 +02:00
parent 511ee19120
commit 3684213b97
3 changed files with 108 additions and 13 deletions

View File

@@ -1040,7 +1040,7 @@ public class ProductionBusinessLogic {
String sql, desCom = null, codJfasCicl = null, colDescrArt, colDescrArtEstesa, colCodJfas, descrProd = null, descrEstesaProd = null,
codJfas = null;
final String gestioneLav = "L";
SetupGest setup = new SetupGest();
//SetupGest setup = new SetupGest();
OrdProdSetupDTO ordProdSetupDTO = new OrdProdSetupDTO();
boolean existActivity = true;
BigDecimal qtaProdDist = BigDecimal.ONE;
@@ -1060,15 +1060,10 @@ public class ProductionBusinessLogic {
ordProdSetupDTO = UtilityProduction.retrieveSetup(conn);
Boolean disableTriggerOrdl = setup.getSetupBoolean(conn, "DTB_ORDT", "SETUP", "DISABLE_TRIGGER_ORDL");
if ( disableTriggerOrdl == null) disableTriggerOrdl = false;
boolean disableTriggerOrdl = ordProdSetupDTO.isDisableTriggerOrdL();
// (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
// Acquisizione dati configurazioni
boolean assegnaAttivita = ordProdSetupDTO.isAssegnaAttivita();
String tipoGenerazione = ordProdSetupDTO.getTipoGenerazione();
@@ -1126,7 +1121,7 @@ public class ProductionBusinessLogic {
codJflav = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
if (UtilityString.isNullOrEmpty(codJflav)) {
String codJflavDef = setup.getSetup(conn, classNameOrdProd, "GENERA_LOTTO_PROD", "COD_JFLAV_DEF");
String codJflavDef = ordProdSetupDTO.getCodJflavDef();
if (UtilityString.isNullOrEmpty(codJflavDef)) {
throw new Exception("CODICE LAVORATO DI DEFAULT NON CONFIGURATO");
}
@@ -1700,7 +1695,6 @@ public class ProductionBusinessLogic {
String query;
final String gestName = "W_TLPROD_RC";
final String gestioneLav = "L";
SetupGest setup = new SetupGest();
PreparedStatement ps = null;
ResultSet rs = null;
DtbOrdt dtbOrdtLav = null;

View File

@@ -4,10 +4,17 @@ 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.Query;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityString;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class UtilityProduction {
public static OrdProdSetupDTO retrieveSetup(Connection conn) throws Exception {
@@ -16,9 +23,6 @@ public class UtilityProduction {
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"));
@@ -38,11 +42,51 @@ public class UtilityProduction {
ordProdSetupDTO.setExistCodJfasEqui(setupOrdProdGest.get("EXIST_COD_JFAS_EQUI"));
ordProdSetupDTO.setCodJcomRequired(UtilityString.isNull(setupOrdProdGest.get("COD_JCOM_REQUIRED"), "N").equalsIgnoreCase("S"));
HashMap<String, String> setupActivity = setup.getSetupSection(conn, classNameOrdProd, "ACTIVITY");
ordProdSetupDTO.setAssegnaAttivita( UtilityString.isNull(setupActivity.get("GENERA_ATTIVITA"), "N").equalsIgnoreCase("S"));
ordProdSetupDTO.setTipoGenerazione( UtilityString.isNull(setupActivity.get("TIPO_GENERAZIONE"), ""));
HashMap<String, String> setupLottoProd = setup.getSetupSection(conn, classNameOrdProd, "GENERA_LOTTO_PROD");
ordProdSetupDTO.setGenerateLotto(UtilityString.isNull(setupLottoProd.get("GENERA_LOTTO"), "N").equalsIgnoreCase("S"));
ordProdSetupDTO.setPartitaMagRequired(UtilityString.equalsIgnoreCase(setupLottoProd.get("PARTITA_MAG_REQUIRED"), "S"));
ordProdSetupDTO.setCodJflavDef(setupLottoProd.get("COD_JFLAV_DEF"));
ordProdSetupDTO.setDisableTriggerOrdL(setup.getSetupBoolean(conn, "DTB_ORDT", "SETUP", "DISABLE_TRIGGER_ORDL"));
List<HashMap<String, Object>> generaLottoProd = getSetupDepo(conn, classNameOrdProd, "GENERA_LOTTO_PROD");
Map<String, String> setupWhereCond = generaLottoProd.stream()
.filter(x -> UtilityString.equalsIgnoreCase((String) x.get("key_section"), "GENERA_LOTTO_AUT_WHERECOND_ESCLUDI"))
.collect(Collectors.toMap(
x -> (String) x.get("cod_mdep"),
x -> x.get("value").toString()
));
ordProdSetupDTO.setSetupDepowhereCondEscludiProd(setupWhereCond);
Map<String, Boolean> setupGeneraLotto = generaLottoProd.stream()
.filter(x -> UtilityString.equalsIgnoreCase((String) x.get("key_section"), "GENERA_LOTTO_AUTOMATICO_DEP"))
.collect(Collectors.toMap(
x -> (String) x.get("cod_mdep"),
x -> UtilityString.equalsIgnoreCase((String) x.get("value"), "S")
));
ordProdSetupDTO.setSetupDepoGeneraLottoAuto(setupGeneraLotto);
return ordProdSetupDTO;
}
private static List<HashMap<String, Object>> getSetupDepo (Connection conn, String gestName, String section) throws SQLException {
String sql =
Query.format("SELECT cod_mdep, key_section, value FROM stb_gest_setup_depo"
+ " WHERE gest_name = %s and section = %s",gestName, section);
List<HashMap<String, Object>> hashMaps = UtilityDB.executeSimpleQuery(conn, sql);
return hashMaps;
}
}

View File

@@ -3,6 +3,10 @@ package it.integry.ems_model.business_logic.dto;
import it.integry.common.var.CommonConstants;
import it.integry.ems_model.utility.UtilityString;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class OrdProdSetupDTO {
private boolean checkLockProd;
private boolean checkDepTerzista;
@@ -29,9 +33,17 @@ public class OrdProdSetupDTO {
private String tipoGenerazione;
private boolean generateLotto;
private String codJflavDef;
private boolean partitaMagRequired;
private boolean disableTriggerOrdL;
private Map<String, Boolean> setupDepoGeneraLottoAuto;
private Map<String, String> setupDepowhereCondEscludiProd;
private boolean generaLottoAut;
private String whereCondEscludiProd;
public boolean isCheckLockProd() {
return checkLockProd;
}
@@ -212,4 +224,49 @@ public class OrdProdSetupDTO {
this.partitaMagRequired = partitaMagRequired;
return this;
}
public String getCodJflavDef() {
return codJflavDef;
}
public OrdProdSetupDTO setCodJflavDef(String codJflavDef) {
this.codJflavDef = codJflavDef;
return this;
}
public boolean isDisableTriggerOrdL() {
return disableTriggerOrdL;
}
public OrdProdSetupDTO setDisableTriggerOrdL(boolean disableTriggerOrdL) {
this.disableTriggerOrdL = disableTriggerOrdL;
return this;
}
public Map<String, Boolean> getSetupDepoGeneraLottoAuto() {
return setupDepoGeneraLottoAuto;
}
public OrdProdSetupDTO setSetupDepoGeneraLottoAuto(Map<String, Boolean> setupDepoGeneraLottoAuto) {
this.setupDepoGeneraLottoAuto = setupDepoGeneraLottoAuto;
return this;
}
public Map<String, String> getSetupDepowhereCondEscludiProd() {
return setupDepowhereCondEscludiProd;
}
public OrdProdSetupDTO setSetupDepowhereCondEscludiProd(Map<String, String> setupDepowhereCondEscludiProd) {
this.setupDepowhereCondEscludiProd = setupDepowhereCondEscludiProd;
return this;
}
public boolean isGeneraLottoAut(String codMdep) {
return setupDepoGeneraLottoAuto.get(codMdep);
}
public String getWhereCondEscludiProd(String codMdep) {
return setupDepowhereCondEscludiProd.get(codMdep);
}
}