Merge branch 'develop' into feature/JDK11
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,65 @@
|
||||
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;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.entity.JtbCiclCq;
|
||||
import it.integry.ems_model.entity.JtbCiclCqValori;
|
||||
import it.integry.ems_model.entity._enum.TipoValore;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityList;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Migration_20251029181607 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
executeStatement(
|
||||
"EXEC sp_updateextendedproperty 'MS_Description',\n" +
|
||||
" 'Valori possibili: 0 -> Testo, 1 -> Boolean, 2 -> Intero, 3 -> Decimale, 4 -> Date, 5 -> Datetime, 6 -> Time, 7 -> DropdownList',\n" +
|
||||
" 'SCHEMA', 'dbo', 'TABLE', 'jtb_cicl_cq', 'COLUMN', 'tipo_valore';",
|
||||
"EXEC sp_updateextendedproperty 'MS_Description',\n" +
|
||||
" 'Valori possibili: 0 -> Testo, 1 -> Boolean, 2 -> Intero, 3 -> Decimale, 4 -> Date, 5 -> Datetime, 6 -> Time, 7 -> DropdownList',\n" +
|
||||
" 'SCHEMA', 'dbo', 'TABLE', 'dtb_ord_cq', 'COLUMN', 'tipo_valore';"
|
||||
);
|
||||
|
||||
dropChecks("jtb_cicl_cq", "tipo_valore");
|
||||
dropChecks("dtb_ord_cq", "tipo_valore");
|
||||
|
||||
executeStatement(
|
||||
"ALTER TABLE jtb_cicl_cq\n" +
|
||||
" ADD CHECK ([tipo_valore] = 0 OR [tipo_valore] = 1 OR [tipo_valore] = 2 OR [tipo_valore] = 3 OR [tipo_valore] = 4 OR\n" +
|
||||
" [tipo_valore] = 5 OR [tipo_valore] = 6 OR [tipo_valore] = 7);",
|
||||
"ALTER TABLE dtb_ord_cq\n" +
|
||||
" ADD CHECK ([tipo_valore] = 0 OR [tipo_valore] = 1 OR [tipo_valore] = 2 OR [tipo_valore] = 3 OR [tipo_valore] = 4 OR\n" +
|
||||
" [tipo_valore] = 5 OR [tipo_valore] = 6 OR [tipo_valore] = 7);",
|
||||
"CREATE TABLE jtb_cicl_cq_valori\n" +
|
||||
"(\n" +
|
||||
" id BIGINT IDENTITY\n" +
|
||||
" CONSTRAINT jtb_cicl_cq_valori_pk\n" +
|
||||
" PRIMARY KEY,\n" +
|
||||
" descrizione VARCHAR(255) NOT NULL,\n" +
|
||||
" valori VARCHAR(MAX) NOT NULL\n" +
|
||||
");",
|
||||
"ALTER TABLE jtb_cicl_cq\n" +
|
||||
" ADD id_valori BIGINT\n" +
|
||||
" CONSTRAINT jtb_cicl_cq_jtb_cicl_cq_valori_id_fk\n" +
|
||||
" REFERENCES dbo.jtb_cicl_cq_valori;",
|
||||
"ALTER TABLE dtb_ord_cq\n" +
|
||||
" ADD id_valori BIGINT\n" +
|
||||
" CONSTRAINT dtb_ord_cq_jtb_cicl_cq_valori_id_fk\n" +
|
||||
" REFERENCES dbo.jtb_cicl_cq_valori;"
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
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;
|
||||
import it.integry.ems_model.entity.JtbCiclCq;
|
||||
import it.integry.ems_model.entity.JtbCiclCqValori;
|
||||
import it.integry.ems_model.entity._enum.TipoValore;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityList;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class Migration_20251030093449 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
if (!isCustomerDb(IntegryCustomerDB.Gramm_Gramm)) {
|
||||
return;
|
||||
}
|
||||
|
||||
JtbCiclCqValori jtbCiclCqValori = new JtbCiclCqValori()
|
||||
.setDescrizione("Tipologia Fermi Macchina")
|
||||
.setValori("FERMO MACCHINA|CAMBIO FORMATO|CAMBIO COLORE|PULIZIA|ATTESA PRODOTTO");
|
||||
|
||||
jtbCiclCqValori.setOperation(OperationType.INSERT);
|
||||
|
||||
jtbCiclCqValori.manageWithParentConnection(connection);
|
||||
|
||||
String sql =
|
||||
"SELECT DISTINCT cod_prod, num_fase, MAX(id_riga) + 1 AS id_riga\n" +
|
||||
"FROM jtb_cicl_cq\n" +
|
||||
"WHERE tipologia = 'FERMI_MACCHINA'\n" +
|
||||
"GROUP BY cod_prod, num_fase";
|
||||
|
||||
List<JtbCiclCq> jtbCiclCqList = UtilityDB.executeSimpleQueryDTO(connection, sql, JtbCiclCq.class);
|
||||
|
||||
if (UtilityList.isNullOrEmpty(jtbCiclCqList)) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (JtbCiclCq jtbCiclCq : jtbCiclCqList) {
|
||||
jtbCiclCq
|
||||
.setControllo("Tipologia")
|
||||
.setNumRip(0)
|
||||
.setTipologia("FERMI_MACCHINA")
|
||||
.setTipoValore(TipoValore.DROPDOWNLIST)
|
||||
.setIdValori(jtbCiclCqValori.getId());
|
||||
|
||||
jtbCiclCq.setOperation(OperationType.INSERT);
|
||||
|
||||
jtbCiclCq.manageWithParentConnection(connection);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
}
|
||||
}
|
||||
@@ -1043,7 +1043,7 @@ public class GeneraOrdLav {
|
||||
// ---------------------------------------------------------------------------
|
||||
// CONTROLLI DI QUALITA' ASSOCIATI ALLA DISTINTA
|
||||
// ---------------------------------------------------------------------------
|
||||
addControlliQualità(ordT, conn, artDist);
|
||||
addControlliQualita(ordT, conn, artDist);
|
||||
|
||||
// -------------------------------------------------
|
||||
// DISEGNI ORDINE DI LAVORAZIONE
|
||||
@@ -1317,38 +1317,52 @@ public class GeneraOrdLav {
|
||||
}
|
||||
}
|
||||
|
||||
private static void addControlliQualità(DtbOrdt ordT, Connection conn, List<ExplodeDistDTO> artDist) throws SQLException {
|
||||
private static void addControlliQualita(DtbOrdt ordT, Connection conn, List<ExplodeDistDTO> artDist) throws Exception {
|
||||
List<DtbOrdCq> listOrdCQ = new ArrayList<>();
|
||||
|
||||
for (ExplodeDistDTO art : artDist) {
|
||||
String sql =
|
||||
Query.format(
|
||||
"SELECT jtb_cicl_cq.num_fase, "
|
||||
+ " jtb_cicl_cq.controllo, "
|
||||
+ " jtb_cicl_cq.valore_rif, "
|
||||
+ " jtb_cicl_cq.num_rip, "
|
||||
+ " jtb_cicl_cq.tipologia, "
|
||||
+ " jtb_cicl_cq.tipo_valore "
|
||||
+ "FROM jtb_cicl_cq "
|
||||
+ "WHERE jtb_cicl_cq.cod_prod = %s "
|
||||
+ "ORDER BY jtb_cicl_cq.id_riga ",
|
||||
"SELECT jtb_cicl_cq.num_fase,\n" +
|
||||
" jtb_cicl_cq.controllo,\n" +
|
||||
" jtb_cicl_cq.valore_rif,\n" +
|
||||
" jtb_cicl_cq.num_rip,\n" +
|
||||
" jtb_cicl_cq.tipologia,\n" +
|
||||
" jtb_cicl_cq.tipo_valore,\n" +
|
||||
" jtb_cicl_cq.id_valori\n" +
|
||||
"FROM jtb_cicl_cq\n" +
|
||||
"WHERE jtb_cicl_cq.cod_prod = %s\n" +
|
||||
"ORDER BY jtb_cicl_cq.id_riga",
|
||||
art.getCodProd());
|
||||
List<HashMap<String, Object>> datiCQ = UtilityDB.executeSimpleQuery(conn, sql);
|
||||
for (HashMap<String, Object> cq : datiCQ) {
|
||||
Integer numFase = UtilityHashMap.getValueIfExists(cq, "num_fase");
|
||||
|
||||
List<JtbCiclCq> jtbCiclCqList = UtilityDB.executeSimpleQueryDTO(conn, sql, JtbCiclCq.class);
|
||||
|
||||
if (UtilityList.isNullOrEmpty(jtbCiclCqList)) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (JtbCiclCq cq : jtbCiclCqList) {
|
||||
Integer numFase = cq.getNumFase();
|
||||
|
||||
numFase = art.getNumFase() + numFase - 1;
|
||||
|
||||
DtbOrdCq ordCQ =
|
||||
new DtbOrdCq()
|
||||
.setControllo(UtilityHashMap.getValueIfExists(cq, "controllo"))
|
||||
.setValoreRif(UtilityHashMap.getValueIfExists(cq, "valore_rif"))
|
||||
.setNumRip(UtilityHashMap.getValueIfExists(cq, "num_rip"))
|
||||
.setTipologia(UtilityHashMap.getValueIfExists(cq, "tipologia"))
|
||||
.setTipoValore(TipoValore.from(UtilityHashMap.getValueIfExists(cq, "tipo_valore")))
|
||||
.setControllo(cq.getControllo())
|
||||
.setValoreRif(cq.getValoreRif())
|
||||
.setNumRip(cq.getNumRip())
|
||||
.setTipologia(cq.getTipologia())
|
||||
.setTipoValore(cq.getTipoValore())
|
||||
.setIdValori(cq.getIdValori())
|
||||
.setNumFase(numFase);
|
||||
|
||||
ordCQ.setOperation(OperationType.INSERT);
|
||||
|
||||
listOrdCQ.add(ordCQ);
|
||||
}
|
||||
}
|
||||
if (listOrdCQ != null && !listOrdCQ.isEmpty())
|
||||
|
||||
if (!listOrdCQ.isEmpty())
|
||||
ordT.setDtbOrdCq(listOrdCQ);
|
||||
}
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ public class ProductionBusinessLogic {
|
||||
Integer durataFasiPrec = 0;
|
||||
Date dataIniz = null, dataFine = null;
|
||||
String classNameOrdProd = "W_PORDI_RC", activityIDRoot = null, activityTypeID = null, flagTipologia = null, sql;
|
||||
StbActivity activity = new StbActivity();
|
||||
StbActivity activity;
|
||||
List<StbActivity> activityList = new ArrayList<StbActivity>();
|
||||
SetupGest setup = new SetupGest();
|
||||
PreparedStatement ps = null;
|
||||
@@ -851,23 +851,25 @@ public class ProductionBusinessLogic {
|
||||
// CONTROLLI DI QUALITA' ASSOCIATI ALLA DISTINTA
|
||||
// ---------------------------------------------------------------------------
|
||||
sql =
|
||||
"SELECT jtb_cicl_cq.num_fase, "
|
||||
+ " jtb_cicl_cq.controllo, "
|
||||
+ " jtb_cicl_cq.valore_rif, "
|
||||
+ " jtb_cicl_cq.num_rip, "
|
||||
+ " jtb_cicl_cq.tipologia, "
|
||||
+ " jtb_cicl_cq.tipo_valore "
|
||||
+ "FROM jtb_cicl_cq "
|
||||
+ "WHERE jtb_cicl_cq.cod_prod = " + UtilityDB.valueToString(codProd) + " "
|
||||
+ "ORDER BY jtb_cicl_cq.id_riga ";
|
||||
ps = conn.prepareStatement(sql);
|
||||
rs = ps.executeQuery();
|
||||
while (rs.next()) {
|
||||
int numFase = rs.getInt("num_fase");
|
||||
String controllo = rs.getString("controllo");
|
||||
String valoreRif = rs.getString("valore_rif");
|
||||
int numRip = rs.getInt("num_rip");
|
||||
String tipologia = rs.getString("tipologia");
|
||||
"SELECT jtb_cicl_cq.num_fase,\n"
|
||||
+ " jtb_cicl_cq.controllo,\n"
|
||||
+ " jtb_cicl_cq.valore_rif,\n"
|
||||
+ " jtb_cicl_cq.num_rip,\n"
|
||||
+ " jtb_cicl_cq.tipologia,\n"
|
||||
+ " jtb_cicl_cq.tipo_valore,\n"
|
||||
+ " jtb_cicl_cq.id_valori\n"
|
||||
+ "FROM jtb_cicl_cq\n"
|
||||
+ "WHERE jtb_cicl_cq.cod_prod = " + UtilityDB.valueToString(codProd) + "\n"
|
||||
+ "ORDER BY jtb_cicl_cq.id_riga\n";
|
||||
|
||||
List<JtbCiclCq> jtbCiclCqList = UtilityDB.executeSimpleQueryDTO(conn, sql, JtbCiclCq.class);
|
||||
|
||||
for (JtbCiclCq cq : jtbCiclCqList) {
|
||||
int numFase = cq.getNumFase();
|
||||
String controllo = cq.getControllo();
|
||||
String valoreRif = cq.getValoreRif();
|
||||
int numRip = cq.getNumRip();
|
||||
String tipologia = cq.getTipologia();
|
||||
datiDist.setIdRigaContrCQ(datiDist.getIdRigaContrCQ() + 1);
|
||||
|
||||
// Inserimento controllo di qualità nell'ordine di lavorazione
|
||||
@@ -879,7 +881,8 @@ public class ProductionBusinessLogic {
|
||||
ordCQ.setNumRip(numRip);
|
||||
ordCQ.setNumFase(numFase);
|
||||
ordCQ.setTipologia(tipologia);
|
||||
ordCQ.setTipoValore(TipoValore.from(rs.getShort("tipo_valore")));
|
||||
ordCQ.setTipoValore(cq.getTipoValore());
|
||||
ordCQ.setIdValori(cq.getIdValori());
|
||||
if (isRoot) {
|
||||
ordCQ.setNumFase(numFase + datiDist.getNumFase());
|
||||
} else {
|
||||
@@ -891,8 +894,6 @@ public class ProductionBusinessLogic {
|
||||
ordT.getDtbOrdCq().add(ordCQ);
|
||||
//((DtbOrdr) dtbOrdr).getOrdLav().getDtbOrdCq().add(ordCQ);
|
||||
}
|
||||
rs.close();
|
||||
ps.close();
|
||||
|
||||
// -------------------------------------------------
|
||||
// DISEGNI ORDINE DI LAVORAZIONE
|
||||
|
||||
@@ -67,6 +67,10 @@ public class DtbOrdCq extends EntityBase {
|
||||
@SqlField(value = "tipo_valore", nullable = false, defaultObjectValue = "0")
|
||||
private TipoValore tipoValore;
|
||||
|
||||
@FK(tableName = "jtb_cicl_cq_valori", columnName = "id")
|
||||
@SqlField(value = "id_valori")
|
||||
private Long idValori;
|
||||
|
||||
@EntityChild
|
||||
private List<DtbOrdCqr> dtbOrdCqr = new ArrayList<>();
|
||||
|
||||
@@ -200,6 +204,15 @@ public class DtbOrdCq extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Long getIdValori() {
|
||||
return idValori;
|
||||
}
|
||||
|
||||
public DtbOrdCq setIdValori(Long idValori) {
|
||||
this.idValori = idValori;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkPreSave() throws Exception {
|
||||
for (DtbOrdCqr dtbOrdCqr : getDtbOrdCqr()) {
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
package it.integry.ems_model.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import it.integry.ems_model.annotation.PK;
|
||||
import it.integry.ems_model.annotation.SqlDetailId;
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
import it.integry.ems_model.annotation.Table;
|
||||
import it.integry.ems_model.annotation.*;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
@@ -50,6 +47,10 @@ public class JtbCiclCq extends EntityBase {
|
||||
@SqlField(value = "tipo_valore", nullable = false, defaultObjectValue = "0")
|
||||
private TipoValore tipoValore;
|
||||
|
||||
@FK(tableName = "jtb_cicl_cq_valori", columnName = "id")
|
||||
@SqlField(value = "id_valori")
|
||||
private Long idValori;
|
||||
|
||||
public JtbCiclCq() {
|
||||
super(logger);
|
||||
}
|
||||
@@ -58,56 +59,63 @@ public class JtbCiclCq extends EntityBase {
|
||||
return codProd;
|
||||
}
|
||||
|
||||
public void setCodProd(String codProd) {
|
||||
public JtbCiclCq setCodProd(String codProd) {
|
||||
this.codProd = codProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getIdRiga() {
|
||||
return idRiga;
|
||||
}
|
||||
|
||||
public void setIdRiga(Integer idRiga) {
|
||||
public JtbCiclCq setIdRiga(Integer idRiga) {
|
||||
this.idRiga = idRiga;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getNumFase() {
|
||||
return numFase;
|
||||
}
|
||||
|
||||
public void setNumFase(Integer numFase) {
|
||||
public JtbCiclCq setNumFase(Integer numFase) {
|
||||
this.numFase = numFase;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getControllo() {
|
||||
return controllo;
|
||||
}
|
||||
|
||||
public void setControllo(String controllo) {
|
||||
public JtbCiclCq setControllo(String controllo) {
|
||||
this.controllo = controllo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String tipologia() {
|
||||
public String getTipologia() {
|
||||
return tipologia;
|
||||
}
|
||||
|
||||
public void setTipologia(String tipologia) {
|
||||
public JtbCiclCq setTipologia(String tipologia) {
|
||||
this.tipologia = tipologia;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getValoreRif() {
|
||||
return valoreRif;
|
||||
}
|
||||
|
||||
public void setValoreRif(String valoreRif) {
|
||||
public JtbCiclCq setValoreRif(String valoreRif) {
|
||||
this.valoreRif = valoreRif;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getNumRip() {
|
||||
return numRip;
|
||||
}
|
||||
|
||||
public void setNumRip(Integer numRip) {
|
||||
public JtbCiclCq setNumRip(Integer numRip) {
|
||||
this.numRip = numRip;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TipoValore getTipoValore() {
|
||||
@@ -118,4 +126,13 @@ public class JtbCiclCq extends EntityBase {
|
||||
this.tipoValore = tipoValore;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Long getIdValori() {
|
||||
return idValori;
|
||||
}
|
||||
|
||||
public JtbCiclCq setIdValori(Long idValori) {
|
||||
this.idValori = idValori;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
package it.integry.ems_model.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import it.integry.ems_model.annotation.*;
|
||||
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;
|
||||
|
||||
@Master
|
||||
@PropertyReactive
|
||||
@Table(JtbCiclCqValori.ENTITY)
|
||||
@JsonTypeName(JtbCiclCqValori.ENTITY)
|
||||
public class JtbCiclCqValori extends EntityBase {
|
||||
public static final String ENTITY = "jtb_cicl_cq_valori";
|
||||
|
||||
private static final Logger logger = LogManager.getLogger();
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@PK
|
||||
@Identity
|
||||
@SqlField(value = "id", nullable = false)
|
||||
private Long id;
|
||||
|
||||
@SqlField(value = "descrizione", nullable = false, maxLength = 255)
|
||||
private String descrizione;
|
||||
|
||||
@SqlField(value = "valori", nullable = false)
|
||||
private String valori;
|
||||
|
||||
public JtbCiclCqValori() {
|
||||
super(logger);
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public JtbCiclCqValori setId(Long id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrizione() {
|
||||
return descrizione;
|
||||
}
|
||||
|
||||
public JtbCiclCqValori setDescrizione(String descrizione) {
|
||||
this.descrizione = descrizione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getValori() {
|
||||
return valori;
|
||||
}
|
||||
|
||||
public JtbCiclCqValori setValori(String valori) {
|
||||
this.valori = valori;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,8 @@ public enum TipoValore implements IBaseEnum<TipoValore> {
|
||||
DECIMALE((short) 3),
|
||||
DATE((short) 4),
|
||||
DATETIME((short) 5),
|
||||
TIME((short) 6);
|
||||
TIME((short) 6),
|
||||
DROPDOWNLIST((short) 7);
|
||||
|
||||
private final short value;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user