Finish Feature-revisione_ordiniWeb
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.IntegryCustomerDB;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20250827114912 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
if (isCustomerDb(IntegryCustomerDB.Ime_ImeTe) || isCustomerDb(IntegryCustomerDB.Materica_ImeBa)) {
|
||||
updateSetupValue("W_PORDI_RC", "SETUP", "CHECK_DEP_TERZISTA", "S");
|
||||
updateSetupValue("DTB_ORDT", "SETUP", "DISABLE_TRIGGER_ORDL", "S");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20250827151739 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
|
||||
executeStatement(
|
||||
"exec dropPrimaryKey 'dtb_ord_log_import'",
|
||||
"alter table dtb_ord_log_import add id bigint identity",
|
||||
"alter table dtb_ord_log_import add constraint pk_dtb_ord_log_import primary key (id)");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.base.EntityInterface;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.db.ResultSetMapper;
|
||||
import it.integry.ems_model.entity.*;
|
||||
@@ -365,6 +366,7 @@ public class DocOrdRules extends QueryRules {
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (isOrdine) {
|
||||
sql = "SELECT gtb_spes.descrizione, "
|
||||
+ " CAST(0 AS NUMERIC(20, 5)) as qta, "
|
||||
@@ -376,6 +378,7 @@ public class DocOrdRules extends QueryRules {
|
||||
+ " gtb_divi "
|
||||
+ " WHERE gtb_divi.cod_divi = " + UtilityDB.valueToString(codDivi) + " and "
|
||||
+ " gtb_spes.cod_spes = " + UtilityDB.valueToString(codSpes);
|
||||
|
||||
} else {
|
||||
sql = "SELECT gtb_spes.descrizione, "
|
||||
+ " CAST(0 AS NUMERIC(20, 5)) as qta, "
|
||||
@@ -417,6 +420,8 @@ public class DocOrdRules extends QueryRules {
|
||||
} else if (columnName.equals("untMis")) {
|
||||
columnValue = untMisServ;
|
||||
}
|
||||
} else if (spese instanceof DtbOrds && ((DtbOrds) spese).getValUnt() != null && columnName.equals("importo")) {
|
||||
valueEntity = ((DtbOrds) spese).getValUnt().multiply(((DtbOrds) spese).getQta());
|
||||
}
|
||||
|
||||
if (valueEntity == null) {
|
||||
@@ -972,12 +977,12 @@ public class DocOrdRules extends QueryRules {
|
||||
.setGeneraOrdLavDaProd(false);
|
||||
dtbOrdtProd.setOperation(OperationType.NO_OP);
|
||||
|
||||
/*
|
||||
/*
|
||||
BigDecimal valUnt = new BigDecimal(0);
|
||||
if (dtbOrdt.getQtaProd().compareTo(BigDecimal.ZERO) > 0) {
|
||||
valUnt = dtbOrdt.getTotImponib().divide(dtbOrdt.getQtaProd(), 5, BigDecimal.ROUND_HALF_UP);
|
||||
}*/
|
||||
|
||||
}
|
||||
*/
|
||||
DtbOrdr dtbOrdrProd =
|
||||
new DtbOrdr().setRigaOrd(dtbOrdt.getRigaOrdRif());
|
||||
if (dtbOrdt.getOperation() == OperationType.DELETE) {
|
||||
@@ -993,7 +998,7 @@ public class DocOrdRules extends QueryRules {
|
||||
.setRapConv(dtbOrdt.getRapConvProd())
|
||||
.setQtaOrd(dtbOrdt.getQtaProd())
|
||||
.setQtaEvasa(dtbOrdt.getQtaEvasaProd())
|
||||
/*.setValUnt(valUnt)*/
|
||||
//.setValUnt(valUnt)
|
||||
.setSconto5(dtbOrdt.getSconto1())
|
||||
.setSconto6(dtbOrdt.getSconto2())
|
||||
.setSconto7(dtbOrdt.getSconto3())
|
||||
|
||||
@@ -3,10 +3,12 @@ package it.integry.ems.rules.completing;
|
||||
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.base.EntityInterface;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.entity.*;
|
||||
import it.integry.ems_model.entity.common.DtbDocOrdT;
|
||||
import it.integry.ems_model.entity.common.DtbOrdCommonR;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.types.ApplicationName;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.*;
|
||||
@@ -527,4 +529,47 @@ public class OrderRules extends QueryRules {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void completeImportoRigaOrdProd(Connection connection, DtbOrdt dtbOrdt) throws Exception {
|
||||
SetupGest setup = new SetupGest();
|
||||
boolean disableTriggerOrdl = setup.getSetupBoolean(connection, "DTB_ORDT", "SETUP", "DISABLE_TRIGGER_ORDL");
|
||||
|
||||
if (!disableTriggerOrdl) return;
|
||||
|
||||
String sql = Query.format(
|
||||
"SELECT importo_riga FROM dtb_ordr WHERE gestione = %s AND data_ord = %s AND num_ord = %s AND riga_ord = %s ",
|
||||
dtbOrdt.getGestioneRif(),
|
||||
dtbOrdt.getDataOrdRif(),
|
||||
dtbOrdt.getNumOrdRif(),
|
||||
dtbOrdt.getRigaOrdRif()
|
||||
);
|
||||
|
||||
BigDecimal importoRigaOrdP = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||
BigDecimal importoSpese = dtbOrdt.getDtbOrds().stream().map(x-> x.getImporto()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
|
||||
BigDecimal valUnt = new BigDecimal(0);
|
||||
if (dtbOrdt.getQtaProd().compareTo(BigDecimal.ZERO) > 0) {
|
||||
valUnt = importoSpese.divide(dtbOrdt.getQtaProd().multiply(dtbOrdt.getRapConvProd()), 5, BigDecimal.ROUND_HALF_UP);
|
||||
}
|
||||
|
||||
if (UtilityBigDecimal.equalsTo(importoSpese, importoRigaOrdP)) return;
|
||||
|
||||
DtbOrdt dtbOrdtProd =
|
||||
new DtbOrdt()
|
||||
.setGestione(dtbOrdt.getGestioneRif())
|
||||
.setDataOrd(dtbOrdt.getDataOrdRif())
|
||||
.setNumOrd(dtbOrdt.getNumOrdRif())
|
||||
.setGeneraOrdLavDaProd(false);
|
||||
dtbOrdtProd.setOperation(OperationType.NO_OP);
|
||||
DtbOrdr dtbOrdrProd =
|
||||
new DtbOrdr()
|
||||
.setRigaOrd(dtbOrdt.getRigaOrdRif())
|
||||
.setValUnt(valUnt)
|
||||
.setImportoRiga(importoSpese);
|
||||
dtbOrdrProd.setOperation(OperationType.UPDATE);
|
||||
dtbOrdtProd.addDtbOrdr(dtbOrdrProd);
|
||||
dtbOrdt.setDtbOrdtProd(dtbOrdtProd);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1447,7 +1447,6 @@ public abstract class EntityBase implements Serializable, Cloneable, EntityInter
|
||||
insertSqlTrace.append(")");
|
||||
|
||||
logger.trace("Query tracing: {}", insertSqlTrace);
|
||||
|
||||
long insertedRowCount = insertBulkPs.executeLargeUpdate();
|
||||
if (insertedRowCount > 0 && containsIdentity) {
|
||||
ResultSet rs = insertBulkPs.getGeneratedKeys();
|
||||
|
||||
@@ -8,10 +8,7 @@ import it.integry.ems.rules.completing.OrderRules;
|
||||
import it.integry.ems.rules.completing.dto.DatiPartitaMagDTO;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
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.ExplodeDistDTO;
|
||||
import it.integry.ems_model.business_logic.dto.OrdProdSetupDTO;
|
||||
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.*;
|
||||
@@ -220,7 +217,7 @@ public class GeneraOrdLav {
|
||||
qtaProdDist = UtilityHashMap.getValueIfExists(datiDistinta, "qta_prod");
|
||||
}
|
||||
|
||||
if ( row.getDistinta() != null && !row.getDistinta().isEmpty()) {
|
||||
if (row.getDistinta() != null && !row.getDistinta().isEmpty()) {
|
||||
datiDistinta.put("qta_prod", row.getQta());
|
||||
datiDistinta.put("rap_conv_prod", row.getRapConv());
|
||||
}
|
||||
@@ -333,9 +330,16 @@ public class GeneraOrdLav {
|
||||
.setColliPedana(row.getColliPedana())
|
||||
.setCodTcolUl(row.getCodTcolUl())
|
||||
.setCodTcolUi(row.getCodTcolUi())
|
||||
.setFlagEvasoProd(flagEvasoProd!=null?flagEvasoProd.getValue().toString():null)
|
||||
.setFlagEvasoProd(flagEvasoProd != null ? flagEvasoProd.getValue().toString() : null)
|
||||
.setGeneraOrdLavDaProd(dtbOrdt.isGeneraOrdLavDaProd());
|
||||
|
||||
if (row.getFlagSospesoOrdl() !=null) {
|
||||
ordT.setFlagSospeso(row.getFlagSospesoOrdl());
|
||||
}
|
||||
if (row.getRifOrdOrdl() !=null) {
|
||||
ordT.setRifOrd(row.getRifOrdOrdl());
|
||||
}
|
||||
|
||||
String flagAnnulla = "N";
|
||||
if (row.getFlagEvaso() == FlagEvaso.ANNULLATO) {
|
||||
flagAnnulla = "S";
|
||||
@@ -869,7 +873,7 @@ public class GeneraOrdLav {
|
||||
BigDecimal rapporto = qtaProd.divide(qtaProdDist, EmsRestConstants.cifreDecMax, RoundingMode.HALF_UP);
|
||||
|
||||
List<ExplodeDistDTO> artDist = new ArrayList<>();
|
||||
List<JtbDistMate> jtbDistMates;
|
||||
List<DatiMaterialiDTO> jtbDistMates;
|
||||
String sql;
|
||||
Integer durataFasiPrec = 0;
|
||||
if (((DtbOrdr) dtbOrdr).getDistinta() == null) {
|
||||
@@ -889,7 +893,7 @@ public class GeneraOrdLav {
|
||||
"WHERE is_foglia = 1\n" +
|
||||
"ORDER BY item_id", codProd);
|
||||
|
||||
jtbDistMates = UtilityDB.executeSimpleQueryDTO(conn, sql, JtbDistMate.class);
|
||||
jtbDistMates = UtilityDB.executeSimpleQueryDTO(conn, sql, DatiMaterialiDTO.class);
|
||||
|
||||
} else {
|
||||
jtbDistMates = ((DtbOrdr) dtbOrdr).getDistinta();
|
||||
@@ -904,13 +908,13 @@ public class GeneraOrdLav {
|
||||
.setDataCons(dataConsDist)
|
||||
);
|
||||
} else {
|
||||
for (JtbDistMate mp : jtbDistMates) {
|
||||
Integer numFase = mp.getNumFase();
|
||||
String codProdPri = mp.getCodProdPri();
|
||||
String descrMate = mp.getDescrizione();
|
||||
String descrEstesaMate = mp.getDescrizioneEstesa();
|
||||
BigDecimal qtaMate = mp.getQtaStd();
|
||||
String untMisMate = mp.getUntMisDist();
|
||||
for (DatiMaterialiDTO mp : jtbDistMates) {
|
||||
Integer numFase = mp.getJtbDistMate().getNumFase();
|
||||
String codProdPri = mp.getJtbDistMate().getCodProdPri();
|
||||
String descrMate = mp.getJtbDistMate().getDescrizione();
|
||||
String descrEstesaMate = mp.getJtbDistMate().getDescrizioneEstesa();
|
||||
BigDecimal qtaMate = mp.getJtbDistMate().getQtaStd();
|
||||
String untMisMate = mp.getJtbDistMate().getUntMisDist();
|
||||
BigDecimal qta = qtaMate.multiply(rapporto);
|
||||
|
||||
String flagUMDig =
|
||||
@@ -922,24 +926,27 @@ public class GeneraOrdLav {
|
||||
qta = qta.setScale(0, RoundingMode.CEILING);
|
||||
}
|
||||
|
||||
if (mp.getCodMart() != null) {
|
||||
existCodMart(conn, mp.getCodMart());
|
||||
if (mp.getJtbDistMate().getCodMart() != null) {
|
||||
existCodMart(conn, mp.getJtbDistMate().getCodMart());
|
||||
}
|
||||
|
||||
if (descrMate == null) descrMate = UtilityString.left(descrEstesaMate, 40);
|
||||
// Inserimento riga materiale nell'ordine di lavorazione
|
||||
DtbOrdr ordR =
|
||||
new DtbOrdr()
|
||||
.setCodMart(mp.getCodMart())
|
||||
.setCodMart(mp.getJtbDistMate().getCodMart())
|
||||
.setCodJcom(ordT.getCodJcom())
|
||||
.setDescrizione(descrMate)
|
||||
.setDescrizioneEstesa(descrEstesaMate)
|
||||
.setQtaOrd(qta)
|
||||
.setUntOrd(untMisMate)
|
||||
.setRapConv(mp.getRapConvDist())
|
||||
.setNumFase(numFase);
|
||||
.setRapConv(mp.getJtbDistMate().getRapConvDist())
|
||||
.setNumFase(numFase)
|
||||
.setValUnt(mp.getValUnt())
|
||||
.setCodAlis(mp.getCodAlis())
|
||||
.setCodArtFor(mp.getCodArtForn());
|
||||
|
||||
if (visNoteRigaDist) ordR.setNote(mp.getNote());
|
||||
if (visNoteRigaDist) ordR.setNote(mp.getJtbDistMate().getNote());
|
||||
|
||||
|
||||
// Calcolo data consegna materiali per fase di lavoro
|
||||
@@ -966,15 +973,15 @@ public class GeneraOrdLav {
|
||||
sql =
|
||||
Query.format(
|
||||
"SELECT cod_jfas FROM jtb_cicl WHERE cod_prod = %s",
|
||||
mp.getCodProdPri());
|
||||
mp.getJtbDistMate().getCodProdPri());
|
||||
String codJfasSL = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
isSameLav = !UtilityString.equalsIgnoreCase(codJfasDist, codJfasSL);
|
||||
if (!isSameLav) {
|
||||
artDist.add(new ExplodeDistDTO().setCodProd(mp.getCodProdPri()).setRoot(false).setNumFase(numFase)
|
||||
artDist.add(new ExplodeDistDTO().setCodProd(mp.getJtbDistMate().getCodProdPri()).setRoot(false).setNumFase(numFase)
|
||||
.setQtaProd(qta)
|
||||
.setUntMis(untMisMate)
|
||||
.setCodJfasRow(codJfasSL)
|
||||
.setRapConv(mp.getRapConvDist())
|
||||
.setRapConv(mp.getJtbDistMate().getRapConvDist())
|
||||
.setDataCons(ordR.getDataCons())
|
||||
);
|
||||
}
|
||||
@@ -1475,8 +1482,8 @@ public class GeneraOrdLav {
|
||||
List<DtbOrdSteps> dtbOrdSteps = UtilityDB.executeSimpleQueryDTO(conn, sql, DtbOrdSteps.class);
|
||||
|
||||
dtbOrdSteps.stream().forEach(x -> {
|
||||
x.setDataIniz(x.getDataIniz()!=null?UtilityDate.dateAdd(x.getDataIniz(), ggDiff):null);
|
||||
x.setDataFine(x.getDataFine() != null ?UtilityDate.dateAdd(x.getDataFine(), ggDiff):null);
|
||||
x.setDataIniz(x.getDataIniz() != null ? UtilityDate.dateAdd(x.getDataIniz(), ggDiff) : null);
|
||||
x.setDataFine(x.getDataFine() != null ? UtilityDate.dateAdd(x.getDataFine(), ggDiff) : null);
|
||||
x.setOperation(OperationType.UPDATE);
|
||||
});
|
||||
|
||||
@@ -1544,12 +1551,15 @@ public class GeneraOrdLav {
|
||||
sql = UtilityDB.addwhereCond(sql, ordT.getPkWhereCond(), true);
|
||||
List<DtbOrdSteps> dtbOrdSteps = UtilityDB.executeSimpleQueryDTO(conn, sql, DtbOrdSteps.class);
|
||||
|
||||
dtbOrdSteps.forEach(x -> {
|
||||
x.setQtaProd(x.getQtaProd().multiply(moltiplicatore).setScale(2, RoundingMode.HALF_UP));
|
||||
x.setOperation(OperationType.UPDATE);
|
||||
});
|
||||
if (dtbOrdSteps != null) {
|
||||
|
||||
ordT.setDtbOrdSteps(dtbOrdSteps);
|
||||
dtbOrdSteps.forEach(x -> {
|
||||
x.setQtaProd(x.getQtaProd().multiply(moltiplicatore).setScale(2, RoundingMode.HALF_UP));
|
||||
x.setOperation(OperationType.UPDATE);
|
||||
});
|
||||
|
||||
ordT.setDtbOrdSteps(dtbOrdSteps);
|
||||
}
|
||||
}
|
||||
|
||||
sql = "SELECT * FROM dtb_ords";
|
||||
@@ -1626,7 +1636,7 @@ public class GeneraOrdLav {
|
||||
private static HashMap<String, Object> checkOrdLav(Connection conn, boolean checkLockProd, String gestione, Date dataOrd, Integer numOrd, Integer rigaOrd) throws Exception {
|
||||
// Controllo se l'ordine di lavorazione è stato avviato
|
||||
String sql = "select distinct " +
|
||||
" CAST(case when dtb_ordt.flag_evaso_prod = 'E' or dtb_ordt.flag_evaso_forzato = 'S' or ordSteps.prodAvviata <> 0 then 1 else 0 end as bit) as flag_lock, " +
|
||||
" CAST(case when dtb_ordt.flag_evaso_prod = 'E' or dtb_ordt.flag_evaso_forzato = 'S' or iSnULL(ordSteps.prodAvviata,0) <> 0 then 1 else 0 end as bit) as flag_lock, " +
|
||||
" dtb_ordt.data_ord, " +
|
||||
" dtb_ordt.num_ord " +
|
||||
"from (select gestione, data_ord, num_ord " +
|
||||
@@ -1634,11 +1644,14 @@ public class GeneraOrdLav {
|
||||
" where dtb_ordt.gestione_rif = " + UtilityDB.valueToString(gestione) + " AND " +
|
||||
" dtb_ordt.data_ord_rif = " + UtilityDB.valueDateToString(dataOrd, CommonConstants.DATE_FORMAT_YMD) + " AND " +
|
||||
" dtb_ordt.num_ord_rif = " + UtilityDB.valueToString(numOrd) + " AND " +
|
||||
" dtb_ordt.riga_ord_rif = " + UtilityDB.valueToString(rigaOrd) + ") ordlav, " +
|
||||
" dtb_ordt left outer join dtb_ordr on dtb_ordr.gestione = dtb_ordt.gestione " +
|
||||
" dtb_ordt.riga_ord_rif = " + UtilityDB.valueToString(rigaOrd) + ") ordlav " +
|
||||
" INNER JOIN dtb_ordt on ordLav.gestione = dtb_ordt.gestione and \n" +
|
||||
" ordLav.data_ord = dtb_ordt.data_ord and \n" +
|
||||
" ordLav.num_ord = dtb_ordt.num_ord " +
|
||||
" left outer join dtb_ordr on dtb_ordr.gestione = dtb_ordt.gestione " +
|
||||
" AND dtb_ordr.data_ord = dtb_ordt.data_ord " +
|
||||
" AND dtb_ordr.num_ord = dtb_ordt.num_ord," +
|
||||
" ( select dtb_ordt.gestione, " +
|
||||
" AND dtb_ordr.num_ord = dtb_ordt.num_ord " +
|
||||
" LEFT OUTER JOIN ( select dtb_ordt.gestione, " +
|
||||
" dtb_ordt.data_ord, " +
|
||||
" dtb_ordt.num_ord, " +
|
||||
" sum(case when id_step <> 0 then 1 else 0 end) as prodAvviata " +
|
||||
@@ -1653,11 +1666,7 @@ public class GeneraOrdLav {
|
||||
" dtb_ordt.riga_ord_rif = " + UtilityDB.valueToString(rigaOrd) + " " +
|
||||
" group by dtb_ordt.gestione, " +
|
||||
" dtb_ordt.data_ord, " +
|
||||
" dtb_ordt.num_ord)ordSteps " +
|
||||
"where ordLav.gestione = dtb_ordt.gestione and " +
|
||||
" ordLav.data_ord = dtb_ordt.data_ord and " +
|
||||
" ordLav.num_ord = dtb_ordt.num_ord and " +
|
||||
" dtb_ordt.gestione = ordSteps.gestione and " +
|
||||
" dtb_ordt.num_ord)ordSteps on dtb_ordt.gestione = ordSteps.gestione and " +
|
||||
" dtb_ordt.data_ord = ordSteps.data_ord and " +
|
||||
" dtb_ordt.num_ord = ordSteps.num_ord";
|
||||
|
||||
@@ -1669,20 +1678,21 @@ public class GeneraOrdLav {
|
||||
if (flagLock && checkLockProd) {
|
||||
throw new Exception("La produzione num. " + numOrdLav + " del " + (new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(dataOrdLav)) + " è stata già avviata, non è pertanto possibile apportare modifiche");
|
||||
}
|
||||
}
|
||||
|
||||
// Acquisizione fase da testa ordine di lavorazione
|
||||
sql = " select cod_jfas, activity_id, cod_jflav from dtb_ordt "
|
||||
+ "WHERE gestione_rif = " + UtilityDB.valueToString(gestione) + " AND "
|
||||
+ " data_ord_rif = " + UtilityDB.valueDateToString(dataOrd, CommonConstants.DATE_FORMAT_YMD) + " AND "
|
||||
+ " num_ord_rif = " + UtilityDB.valueToString(numOrd.toString()) + " AND "
|
||||
+ " riga_ord_rif = " + UtilityDB.valueToString(rigaOrd.toString());
|
||||
HashMap<String, Object> dati = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
|
||||
if (UtilityHashMap.isPresent(dati)) {
|
||||
String activityID = UtilityHashMap.getValueIfExists(datiOrdine, "activity_id");
|
||||
datiOrdine.put("activity_id", activityID);
|
||||
String codJflavLav = UtilityHashMap.getValueIfExists(datiOrdine, "cod_jflav");
|
||||
datiOrdine.put("cod_jflav", codJflavLav);
|
||||
|
||||
// Acquisizione fase da testa ordine di lavorazione
|
||||
sql = " select cod_jfas, activity_id, cod_jflav from dtb_ordt "
|
||||
+ "WHERE gestione_rif = " + UtilityDB.valueToString(gestione) + " AND "
|
||||
+ " data_ord_rif = " + UtilityDB.valueDateToString(dataOrd, CommonConstants.DATE_FORMAT_YMD) + " AND "
|
||||
+ " num_ord_rif = " + UtilityDB.valueToString(numOrd.toString()) + " AND "
|
||||
+ " riga_ord_rif = " + UtilityDB.valueToString(rigaOrd.toString());
|
||||
HashMap<String, Object> dati = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
|
||||
if (UtilityHashMap.isPresent(dati)) {
|
||||
String activityID = UtilityHashMap.getValueIfExists(dati, "activity_id");
|
||||
datiOrdine.put("activity_id", activityID);
|
||||
String codJflavLav = UtilityHashMap.getValueIfExists(dati, "cod_jflav");
|
||||
datiOrdine.put("cod_jflav", codJflavLav);
|
||||
}
|
||||
}
|
||||
return datiOrdine;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
package it.integry.ems_model.business_logic.dto;
|
||||
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
import it.integry.ems_model.entity.JtbDistMate;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
public class DatiMaterialiDTO {
|
||||
@SqlField
|
||||
private JtbDistMate jtbDistMate;
|
||||
|
||||
private BigDecimal valUnt;
|
||||
private String codAlis;
|
||||
private String codArtForn;
|
||||
|
||||
public JtbDistMate getJtbDistMate() {
|
||||
return jtbDistMate;
|
||||
}
|
||||
|
||||
public DatiMaterialiDTO setJtbDistMate(JtbDistMate jtbDistMate) {
|
||||
this.jtbDistMate = jtbDistMate;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getValUnt() {
|
||||
return valUnt;
|
||||
}
|
||||
|
||||
public DatiMaterialiDTO setValUnt(BigDecimal valUnt) {
|
||||
this.valUnt = valUnt;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodAlis() {
|
||||
return codAlis;
|
||||
}
|
||||
|
||||
public DatiMaterialiDTO setCodAlis(String codAlis) {
|
||||
this.codAlis = codAlis;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodArtForn() {
|
||||
return codArtForn;
|
||||
}
|
||||
|
||||
public DatiMaterialiDTO setCodArtForn(String codArtForn) {
|
||||
this.codArtForn = codArtForn;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -1,48 +1,55 @@
|
||||
package it.integry.ems_model.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import it.integry.ems_model.annotation.Master;
|
||||
import it.integry.ems_model.annotation.PK;
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
import it.integry.ems_model.annotation.Table;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.annotation.Master;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
import it.integry.ems_model.annotation.Table;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import java.util.Date;
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
import java.math.BigDecimal;
|
||||
import it.integry.ems_model.annotation.PK;
|
||||
import it.integry.ems_model.annotation.Identity;
|
||||
|
||||
@Master
|
||||
@PropertyReactive
|
||||
@Table(DtbOrdLogImport.ENTITY)
|
||||
@JsonTypeName(DtbOrdLogImport.ENTITY)
|
||||
@Master()
|
||||
@PropertyReactive()
|
||||
@Table(value = DtbOrdLogImport.ENTITY)
|
||||
@JsonTypeName(value = DtbOrdLogImport.ENTITY)
|
||||
public class DtbOrdLogImport extends EntityBase {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
public final static String ENTITY = "dtb_ord_log_import";
|
||||
|
||||
private final static Long serialVersionUID = 1L;
|
||||
|
||||
private final static Logger logger = LogManager.getLogger();
|
||||
|
||||
public static final String ENTITY = "dtb_ord_log_import";
|
||||
public DtbOrdLogImport() {
|
||||
super(logger);
|
||||
}
|
||||
|
||||
@PK
|
||||
@SqlField(value = "data_import", nullable = false)
|
||||
private LocalDateTime dataImport;
|
||||
|
||||
@PK
|
||||
@SqlField(value = "id_riga", nullable = false)
|
||||
@SqlField(value = "id_riga", nullable = false, defaultObjectValue = "0")
|
||||
private Integer idRiga;
|
||||
|
||||
@SqlField(value = "gestione", maxLength = 1)
|
||||
@SqlField(value = "gestione", maxLength = 1, nullable = true)
|
||||
private String gestione;
|
||||
|
||||
@SqlField(value = "data_ord")
|
||||
private LocalDateTime dataOrd;
|
||||
@SqlField(value = "data_ord", nullable = true)
|
||||
private LocalDate dataOrd;
|
||||
|
||||
@SqlField(value = "num_ord")
|
||||
@SqlField(value = "num_ord", nullable = true)
|
||||
private Integer numOrd;
|
||||
|
||||
@SqlField(value = "flag_tipo_ord", maxLength = 1)
|
||||
@SqlField(value = "flag_tipo_ord", maxLength = 1, nullable = true)
|
||||
private String flagTipoOrd;
|
||||
|
||||
@SqlField(value = "flag_tipo_log", maxLength = 1, nullable = false)
|
||||
@@ -61,17 +68,18 @@ public class DtbOrdLogImport extends EntityBase {
|
||||
private BigDecimal totQtaOrd;
|
||||
|
||||
@SqlField(value = "tot_qta_omg", nullable = false)
|
||||
private BigDecimal totQuaOmg;
|
||||
private BigDecimal totQtaOmg;
|
||||
|
||||
@SqlField(value = "tot_qta_resi", nullable = false)
|
||||
private BigDecimal totQuaResi;
|
||||
private BigDecimal totQtaResi;
|
||||
|
||||
@SqlField(value = "serie", maxLength = 5)
|
||||
@SqlField(value = "serie", maxLength = 5, nullable = true)
|
||||
private String serie;
|
||||
|
||||
public DtbOrdLogImport() {
|
||||
super(logger);
|
||||
}
|
||||
@PK()
|
||||
@Identity()
|
||||
@SqlField(value = "id", nullable = false)
|
||||
private Long id;
|
||||
|
||||
public LocalDateTime getDataImport() {
|
||||
return dataImport;
|
||||
@@ -100,11 +108,11 @@ public class DtbOrdLogImport extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
public LocalDateTime getDataOrd() {
|
||||
public LocalDate getDataOrd() {
|
||||
return dataOrd;
|
||||
}
|
||||
|
||||
public DtbOrdLogImport setDataOrd(LocalDateTime dataOrd) {
|
||||
public DtbOrdLogImport setDataOrd(LocalDate dataOrd) {
|
||||
this.dataOrd = dataOrd;
|
||||
return this;
|
||||
}
|
||||
@@ -172,21 +180,21 @@ public class DtbOrdLogImport extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getTotQuaOmg() {
|
||||
return totQuaOmg;
|
||||
public BigDecimal getTotQtaOmg() {
|
||||
return totQtaOmg;
|
||||
}
|
||||
|
||||
public DtbOrdLogImport setTotQuaOmg(BigDecimal totQuaOmg) {
|
||||
this.totQuaOmg = totQuaOmg;
|
||||
public DtbOrdLogImport setTotQtaOmg(BigDecimal totQtaOmg) {
|
||||
this.totQtaOmg = totQtaOmg;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getTotQuaResi() {
|
||||
return totQuaResi;
|
||||
public BigDecimal getTotQtaResi() {
|
||||
return totQtaResi;
|
||||
}
|
||||
|
||||
public DtbOrdLogImport setTotQuaResi(BigDecimal totQuaResi) {
|
||||
this.totQuaResi = totQuaResi;
|
||||
public DtbOrdLogImport setTotQtaResi(BigDecimal totQtaResi) {
|
||||
this.totQtaResi = totQtaResi;
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -198,4 +206,13 @@ public class DtbOrdLogImport extends EntityBase {
|
||||
this.serie = serie;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public DtbOrdLogImport setId(Long id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.rules.completing.dto.UntMisDTO;
|
||||
import it.integry.ems_model.annotation.*;
|
||||
import it.integry.ems_model.base.EquatableEntityInterface;
|
||||
import it.integry.ems_model.business_logic.dto.DatiMaterialiDTO;
|
||||
import it.integry.ems_model.entity._enum.FlagEvaso;
|
||||
import it.integry.ems_model.entity.common.DtbDocOrdR;
|
||||
import it.integry.ems_model.entity.common.DtbOrdCommonR;
|
||||
@@ -347,6 +348,10 @@ public class DtbOrdr extends DtbOrdCommonR implements EquatableEntityInterface<D
|
||||
|
||||
private String codJflav;
|
||||
|
||||
private String flagSospesoOrdl;
|
||||
|
||||
private String rifOrdOrdl;
|
||||
|
||||
private MtbAart mtbAart;
|
||||
|
||||
private UntMisDTO untMisDTO;
|
||||
@@ -360,7 +365,7 @@ public class DtbOrdr extends DtbOrdCommonR implements EquatableEntityInterface<D
|
||||
@Priority(3)
|
||||
private List<StbActivity> stbActivityList;
|
||||
|
||||
private List<JtbDistMate> distinta;
|
||||
private List<DatiMaterialiDTO> distinta;
|
||||
|
||||
private HashMap<String, Object> datiListino;
|
||||
|
||||
@@ -1359,6 +1364,24 @@ public class DtbOrdr extends DtbOrdCommonR implements EquatableEntityInterface<D
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagSospesoOrdl() {
|
||||
return flagSospesoOrdl;
|
||||
}
|
||||
|
||||
public DtbOrdr setFlagSospesoOrdl(String flagSospesoOrdl) {
|
||||
this.flagSospesoOrdl = flagSospesoOrdl;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getRifOrdOrdl() {
|
||||
return rifOrdOrdl;
|
||||
}
|
||||
|
||||
public DtbOrdr setRifOrdOrdl(String rifOrdOrdl) {
|
||||
this.rifOrdOrdl = rifOrdOrdl;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MtbAart getMtbAart() {
|
||||
return mtbAart;
|
||||
@@ -1406,11 +1429,11 @@ public class DtbOrdr extends DtbOrdCommonR implements EquatableEntityInterface<D
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<JtbDistMate> getDistinta() {
|
||||
public List<DatiMaterialiDTO> getDistinta() {
|
||||
return distinta;
|
||||
}
|
||||
|
||||
public DtbOrdr setDistinta(List<JtbDistMate> distinta) {
|
||||
public DtbOrdr setDistinta(List<DatiMaterialiDTO> distinta) {
|
||||
this.distinta = distinta;
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import it.integry.ems.rules.util.*
|
||||
import it.integry.ems.rules.completing.*
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.utility.UtilityDB
|
||||
import it.integry.ems_model.base.EntityInterface
|
||||
|
||||
global Connection conn
|
||||
global String username
|
||||
@@ -138,7 +139,7 @@ then
|
||||
modify($entity){
|
||||
setDtbOrdtProd(dtbOrdtProd)
|
||||
}
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -65,6 +65,9 @@ then
|
||||
DocOrdCalTotaliRules.calcTotali(conn, $testata);
|
||||
OrderRules.sospendiOrdine(conn, $testata);
|
||||
}
|
||||
if ($testata.getGestione().equalsIgnoreCase("L") && $testata.getGestioneRif() != null && $testata.getGestioneRif().equalsIgnoreCase("A") && $testata.getDtbOrds().size() > 0) {
|
||||
OrderRules.completeImportoRigaOrdProd(conn, $testata);
|
||||
}
|
||||
end
|
||||
|
||||
rule "completeCalcTotaliDoc"
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
package it.integry.ems.order.Import.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import it.integry.ems_model.annotation.EntityChild;
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
import it.integry.ems_model.entity.WdtbOrdt;
|
||||
|
||||
public class ImporOrdiniWebDTO {
|
||||
@SqlField
|
||||
private WdtbOrdt wdtbOrdt;
|
||||
|
||||
@SqlField(value = "flag_td")
|
||||
private String flagTd;
|
||||
|
||||
@SqlField(value = "cod_vlis_clie")
|
||||
private String codVlisClie;
|
||||
|
||||
@SqlField(value = "cod_vlis_dest")
|
||||
private String codVlisDest;
|
||||
|
||||
@SqlField(value = "new_clie")
|
||||
private Boolean newClie;
|
||||
|
||||
public WdtbOrdt getWdtbOrdt() {
|
||||
return wdtbOrdt;
|
||||
}
|
||||
|
||||
public ImporOrdiniWebDTO setWdtbOrdt(WdtbOrdt wdtbOrdt) {
|
||||
this.wdtbOrdt = wdtbOrdt;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagTd() {
|
||||
return flagTd==null?"N":flagTd;
|
||||
}
|
||||
|
||||
public ImporOrdiniWebDTO setFlagTd(String flagTd) {
|
||||
this.flagTd = flagTd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodVlisClie() {
|
||||
return codVlisClie;
|
||||
}
|
||||
|
||||
public ImporOrdiniWebDTO setCodVlisClie(String codVlisClie) {
|
||||
this.codVlisClie = codVlisClie;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodVlisDest() {
|
||||
return codVlisDest;
|
||||
}
|
||||
|
||||
public ImporOrdiniWebDTO setCodVlisDest(String codVlisDest) {
|
||||
this.codVlisDest = codVlisDest;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Boolean getNewClie() {
|
||||
return newClie;
|
||||
}
|
||||
|
||||
public ImporOrdiniWebDTO setNewClie(Boolean newClie) {
|
||||
this.newClie = newClie;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package it.integry.ems.order.Import.dto;
|
||||
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
import it.integry.ems_model.entity.WdtbOrdr;
|
||||
import it.integry.ems_model.entity.WdtbOrdt;
|
||||
|
||||
public class ImportOrdiniWebRowDTO {
|
||||
@SqlField
|
||||
private WdtbOrdr wdtbOrdr;
|
||||
|
||||
@SqlField(value = "flag_stato_art")
|
||||
private String flagStatoArt;
|
||||
|
||||
public WdtbOrdr getWdtbOrdr() {
|
||||
return wdtbOrdr;
|
||||
}
|
||||
|
||||
public ImportOrdiniWebRowDTO setWdtbOrdr(WdtbOrdr wdtbOrdr) {
|
||||
this.wdtbOrdr = wdtbOrdr;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagStatoArt() {
|
||||
return flagStatoArt;
|
||||
}
|
||||
|
||||
public ImportOrdiniWebRowDTO setFlagStatoArt(String flagStatoArt) {
|
||||
this.flagStatoArt = flagStatoArt;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -43,6 +43,7 @@ import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.utility.UtilityDebug;
|
||||
import it.integry.ems.utility.UtilityEntity;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.business_logic.dto.DatiMaterialiDTO;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.db.ResultSetMapper;
|
||||
import it.integry.ems_model.entity.*;
|
||||
@@ -2398,9 +2399,10 @@ public class MesProductionServiceV2 {
|
||||
|
||||
jtbDistMate.setOperation(OperationType.INSERT);
|
||||
|
||||
DatiMaterialiDTO datiMaterialiDTO = new DatiMaterialiDTO().setJtbDistMate(jtbDistMate);
|
||||
ordLav
|
||||
.getDistinta()
|
||||
.add(jtbDistMate);
|
||||
.add(datiMaterialiDTO);
|
||||
}
|
||||
|
||||
entityProcessor.processEntity(ordProd, true, multiDBTransactionManager);
|
||||
|
||||
Reference in New Issue
Block a user