Merge remote-tracking branch 'origin/develop' into develop
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,29 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20241106145413 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
executeStatement("ALTER TABLE jtb_cicl_cq ADD tipo_valore TINYINT DEFAULT 0 NOT NULL\n" +
|
||||
"CHECK ([tipo_valore] = 0 OR [tipo_valore] = 1 OR [tipo_valore] = 2 OR [tipo_valore] = 3 OR [tipo_valore] = 4 OR [tipo_valore] = 5 OR [tipo_valore] = 6);",
|
||||
"EXEC sp_addextendedproperty 'MS_Description', 'Valori possibili: 0 -> Testo, 1 -> Boolean, 2 -> Intero, 3 -> Decimale, 4 -> Date, 5 -> Datetime, 6 -> Time',\n" +
|
||||
"'SCHEMA', 'dbo', 'TABLE', 'jtb_cicl_cq', 'COLUMN', 'tipo_valore'");
|
||||
|
||||
executeStatement("ALTER TABLE dtb_ord_cq ADD tipo_valore TINYINT DEFAULT 0 NOT NULL\n" +
|
||||
"CHECK ([tipo_valore] = 0 OR [tipo_valore] = 1 OR [tipo_valore] = 2 OR [tipo_valore] = 3 OR [tipo_valore] = 4 OR [tipo_valore] = 5 OR [tipo_valore] = 6);",
|
||||
"EXEC sp_addextendedproperty 'MS_Description', 'Valori possibili: 0 -> Testo, 1 -> Boolean, 2 -> Intero, 3 -> Decimale, 4 -> Date, 5 -> Datetime, 6 -> Time',\n" +
|
||||
" 'SCHEMA', 'dbo', 'TABLE', 'dtb_ord_cq', 'COLUMN', 'tipo_valore'");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20241107142940 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
executeStatement("alter table mtb_colr add cod_art_for varchar(25)");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20241108132034 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
dropFunction("getListinoVendita_new");
|
||||
dropFunction("getListinoVendita_old");
|
||||
dropFunction("getPromozioneVendita_new");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -620,15 +620,15 @@ public class AccountingRules extends QueryRules {
|
||||
} else {
|
||||
String sql =
|
||||
Query.format(
|
||||
"SELECT cast(count(*) as bit)" +
|
||||
" FROM ctb_parr " +
|
||||
" WHERE cod_anag = %s AND " +
|
||||
"tipo_anag = %s AND " +
|
||||
"anno_part = %s AND " +
|
||||
"ser_doc = %s AND " +
|
||||
"num_doc = %s AND " +
|
||||
"id_riga = %s ",
|
||||
ctbMovr.getCodAnag(), ctbMovr.getTipoAnag(), ctbMovr.getAnnoPart(), ctbMovr.getSerDoc(), ctbMovr.getNumDoc(), ctbMovr.getIdRiga());
|
||||
"SELECT cast(case when count(*) > 1 THEN 1 ELSE 0 eND as bit) " +
|
||||
" FROM ctb_parr " +
|
||||
" WHERE cod_anag = %s AND " +
|
||||
"tipo_anag = %s AND " +
|
||||
"anno_part = %s AND " +
|
||||
"ser_doc = %s AND " +
|
||||
"num_doc = %s AND " +
|
||||
"id_riga = %s ",
|
||||
ctbMovr.getCodAnag(), ctbMovr.getTipoAnag(), ctbMovr.getAnnoPart(), ctbMovr.getSerDoc(), ctbMovr.getNumDoc(), ctbMovr.getIdRiga());
|
||||
|
||||
boolean existRow = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ 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 it.integry.ems_model.entity._enum.TipoValore;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
@@ -63,6 +64,9 @@ public class DtbOrdCq extends EntityBase {
|
||||
@SqlField(value = "note", maxLength = 1024)
|
||||
private String note;
|
||||
|
||||
@SqlField(value = "tipo_valore", nullable = false, defaultObjectValue = "0")
|
||||
private TipoValore tipoValore;
|
||||
|
||||
@EntityChild
|
||||
private List<DtbOrdCqr> dtbOrdCqr = new ArrayList<>();
|
||||
|
||||
@@ -187,6 +191,15 @@ public class DtbOrdCq extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
public TipoValore getTipoValore() {
|
||||
return tipoValore;
|
||||
}
|
||||
|
||||
public DtbOrdCq setTipoValore(TipoValore tipoValore) {
|
||||
this.tipoValore = tipoValore;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkPreSave() throws Exception {
|
||||
for (DtbOrdCqr dtbOrdCqr : getDtbOrdCqr()) {
|
||||
|
||||
@@ -9,6 +9,7 @@ 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 it.integry.ems_model.entity._enum.TipoValore;
|
||||
|
||||
@PropertyReactive
|
||||
@Table(JtbCiclCq.ENTITY)
|
||||
@@ -46,6 +47,9 @@ public class JtbCiclCq extends EntityBase {
|
||||
@SqlField(value = "num_rip", defaultObjectValue = "0")
|
||||
private Integer numRip;
|
||||
|
||||
@SqlField(value = "tipo_valore", nullable = false, defaultObjectValue = "0")
|
||||
private TipoValore tipoValore;
|
||||
|
||||
public JtbCiclCq() {
|
||||
super(logger);
|
||||
}
|
||||
@@ -105,4 +109,13 @@ public class JtbCiclCq extends EntityBase {
|
||||
public void setNumRip(Integer numRip) {
|
||||
this.numRip = numRip;
|
||||
}
|
||||
|
||||
public TipoValore getTipoValore() {
|
||||
return tipoValore;
|
||||
}
|
||||
|
||||
public JtbCiclCq setTipoValore(TipoValore tipoValore) {
|
||||
this.tipoValore = tipoValore;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,6 +148,9 @@ public class MtbColr extends EntityBase implements EquatableEntityInterface<MtbC
|
||||
@SqlField(value = "peso_lordo_kg", nullable = false)
|
||||
private BigDecimal pesoLordoKg;
|
||||
|
||||
@SqlField(value = "cod_art_for", maxLength = 25)
|
||||
private String codArtFor;
|
||||
|
||||
@EntityChild
|
||||
MtbColrInfoProd mtbColrInfoProd;
|
||||
|
||||
@@ -536,6 +539,15 @@ public class MtbColr extends EntityBase implements EquatableEntityInterface<MtbC
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodArtFor() {
|
||||
return codArtFor;
|
||||
}
|
||||
|
||||
public MtbColr setCodArtFor(String codArtFor) {
|
||||
this.codArtFor = codArtFor;
|
||||
return this;
|
||||
}
|
||||
|
||||
public MtbPartitaMag getMtbPartitaMag() {
|
||||
return mtbPartitaMag;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
package it.integry.ems_model.entity._enum;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
public enum TipoValore implements IBaseEnum<TipoValore> {
|
||||
TESTO((short) 0),
|
||||
BOOLEAN((short) 1),
|
||||
INTERO((short) 2),
|
||||
DECIMALE((short) 3),
|
||||
DATE((short) 4),
|
||||
DATETIME((short) 5),
|
||||
TIME((short) 6);
|
||||
|
||||
private final short value;
|
||||
|
||||
TipoValore(final short value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public static TipoValore from(Object value) {
|
||||
short castValue = (short) value;
|
||||
|
||||
for (TipoValore b : TipoValore.values()) {
|
||||
if (b.value == castValue)
|
||||
return b;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public Short getValue() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object get() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TipoValore fromInternal(Object val) {
|
||||
return from(val);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.valueOf(value);
|
||||
}
|
||||
}
|
||||
@@ -193,36 +193,36 @@ public class TeleService {
|
||||
if(tipoInvio.compareTo("G")==0){
|
||||
|
||||
sql = "SELECT mtb_acc_recc.data_doc as data_doc, "+
|
||||
" mtb_acc_recc.tipo_file as tipo_file, "+
|
||||
" mtb_acc_recc.cod_acc as cod_acc, "+
|
||||
" mtb_acc_recc.data_rif as data_rif, "+
|
||||
" mtb_acc_recc.tipo_rec as tipo_rec, "+
|
||||
" mtb_acc_recc.tipo_ric as tipo_ric, " +
|
||||
" mtb_acc_recc.tipo_reg as tipo_reg, "+
|
||||
" mtb_acc_recc.cod_uff as cod_uff, "+
|
||||
" mtb_acc_recc.anno_prot as anno_prot, "+
|
||||
" mtb_acc_recc.num_prot as num_prot," +
|
||||
" mtb_acc_recc.cod_prod as cod_prod," +
|
||||
" sum(mtb_acc_recc.lit_anid) as lit_anid, " +
|
||||
" sum(mtb_acc_recc.lit_idr) as lit_idr, " +
|
||||
" mtb_acc_recc.tipo_stoc as tipo_stoc, "+
|
||||
" mtb_acc_recc.vol_cnf as vol_cnf, "+
|
||||
" sum(mtb_acc_recc.num_cnf) as num_cnf," +
|
||||
" mtb_acc_recc.tipo_doc as tipo_doc, " +
|
||||
" mtb_acc_recc.num_doc_acc as num_doc_acc, " +
|
||||
" mtb_acc_recc.tipo_movi as tipo_movi, "+
|
||||
" mtb_acc_recc.causale as causale, "+
|
||||
" mtb_acc_recc.pos_fisc as pos_fisc, "+
|
||||
" case when mtb_acc_recc.causale = " + UtilityDB.valueToString(causaleDistr) + " then 0 else sum(mtb_acc_recc.accisa) end as accisa, " +
|
||||
" mtb_acc_recc.progr_riga as progr_riga," +
|
||||
" mtb_acc_recc.nazione as nazione," +
|
||||
" mtb_acc_recc.mitt_dest as mitt_dest," +
|
||||
" ctb_nc_intraceer.sezione as sezione," +
|
||||
" sum(mtb_acc_recc.peso_kg) as peso_kg," +
|
||||
" sum(mtb_acc_recc.qta_scar) as qta_scar," +
|
||||
" mtb_acc_recc.num_progr_arc, " +
|
||||
" mtb_acc_recc.arc, " +
|
||||
" mtb_acc_recc.dett_arc " +
|
||||
" mtb_acc_recc.tipo_file as tipo_file, "+
|
||||
" mtb_acc_recc.cod_acc as cod_acc, "+
|
||||
" mtb_acc_recc.data_rif as data_rif, "+
|
||||
" mtb_acc_recc.tipo_rec as tipo_rec, "+
|
||||
" mtb_acc_recc.tipo_ric as tipo_ric, " +
|
||||
" mtb_acc_recc.tipo_reg as tipo_reg, "+
|
||||
" mtb_acc_recc.cod_uff as cod_uff, "+
|
||||
" mtb_acc_recc.anno_prot as anno_prot, "+
|
||||
" mtb_acc_recc.num_prot as num_prot," +
|
||||
" mtb_acc_recc.cod_prod as cod_prod," +
|
||||
" sum(mtb_acc_recc.lit_anid) as lit_anid, " +
|
||||
" sum(mtb_acc_recc.lit_idr) as lit_idr, " +
|
||||
" mtb_acc_recc.tipo_stoc as tipo_stoc, "+
|
||||
" mtb_acc_recc.vol_cnf as vol_cnf, "+
|
||||
" sum(mtb_acc_recc.num_cnf) as num_cnf," +
|
||||
" mtb_acc_recc.tipo_doc as tipo_doc, " +
|
||||
" mtb_acc_recc.num_doc_acc as num_doc_acc, " +
|
||||
" mtb_acc_recc.tipo_movi as tipo_movi, "+
|
||||
" mtb_acc_recc.causale as causale, "+
|
||||
" mtb_acc_recc.pos_fisc as pos_fisc, "+
|
||||
" case when mtb_acc_recc.causale = " + UtilityDB.valueToString(causaleDistr) + " then 0 else sum(mtb_acc_recc.accisa) end as accisa, " +
|
||||
" mtb_acc_recc.progr_riga as progr_riga," +
|
||||
" mtb_acc_recc.nazione as nazione," +
|
||||
" mtb_acc_recc.mitt_dest as mitt_dest," +
|
||||
" ctb_nc_intraceer.sezione as sezione," +
|
||||
" sum(mtb_acc_recc.peso_kg) as peso_kg," +
|
||||
" sum(mtb_acc_recc.qta_scar) as qta_scar," +
|
||||
" mtb_acc_recc.num_progr_arc, " +
|
||||
" mtb_acc_recc.arc, " +
|
||||
" mtb_acc_recc.dett_arc " +
|
||||
" FROM mtb_acc_recc, ctb_nc_intraceer, mtb_aart " +
|
||||
" WHERE (mtb_acc_recc.data_reg BETWEEN " + UtilityDB.valueDateToString(dataIniz, CommonConstants.DATE_FORMAT_YMD) +" AND "+UtilityDB.valueDateToString(dataFine, CommonConstants.DATE_FORMAT_YMD)+") AND " +
|
||||
" mtb_aart.cod_nc_intracee = ctb_nc_intraceer.cod_nc_intracee AND "+
|
||||
@@ -329,7 +329,7 @@ public class TeleService {
|
||||
" mtb_acc_recc.tipo_movi as tipo_movi, "+
|
||||
" Convert(varchar(1),'')as causale," +
|
||||
" mtb_acc_recc.pos_fisc as pos_fisc," +
|
||||
" case when mtb_acc_recc.causale = " + UtilityDB.valueToString(causaleDistr) + " then 0 else sum(mtb_acc_recc.accisa) end as accisa, " +
|
||||
" sum(mtb_acc_recc.accisa) as accisa, " +
|
||||
" mtb_acc_recc.progr_riga as progr_riga," +
|
||||
" Convert(varchar(2),'') as nazione," +
|
||||
" Convert(varchar(20),'') as mitt_dest," +
|
||||
@@ -361,36 +361,36 @@ public class TeleService {
|
||||
" mtb_acc_recc.causale " +
|
||||
" UNION ALL " +
|
||||
"SELECT mtb_acc_recc.data_doc as data_doc, "+
|
||||
" mtb_acc_recc.tipo_file as tipo_file, "+
|
||||
" mtb_acc_recc.cod_acc as cod_acc, "+
|
||||
" mtb_acc_recc.data_rif as data_rif, "+
|
||||
" mtb_acc_recc.tipo_rec as tipo_rec, "+
|
||||
" mtb_acc_recc.tipo_ric as tipo_ric, " +
|
||||
" mtb_acc_recc.tipo_reg as tipo_reg, "+
|
||||
" mtb_acc_recc.cod_uff as cod_uff, "+
|
||||
" mtb_acc_recc.anno_prot as anno_prot, "+
|
||||
" mtb_acc_recc.num_prot as num_prot," +
|
||||
" mtb_acc_recc.cod_prod as cod_prod," +
|
||||
" sum(mtb_acc_recc.lit_anid) as lit_anid, " +
|
||||
" sum(mtb_acc_recc.lit_idr) as lit_idr, " +
|
||||
" mtb_acc_recc.tipo_stoc as tipo_stoc, "+
|
||||
" mtb_acc_recc.vol_cnf as vol_cnf, "+
|
||||
" sum(mtb_acc_recc.num_cnf) as num_cnf," +
|
||||
" mtb_acc_recc.tipo_doc as tipo_doc, " +
|
||||
" mtb_acc_recc.num_doc_acc as num_doc_acc, " +
|
||||
" mtb_acc_recc.tipo_movi as tipo_movi, "+
|
||||
" mtb_acc_recc.causale as causale, "+
|
||||
" mtb_acc_recc.pos_fisc as pos_fisc, "+
|
||||
" sum(mtb_acc_recc.accisa) as accisa, " +
|
||||
" mtb_acc_recc.progr_riga as progr_riga," +
|
||||
" mtb_acc_recc.nazione as nazione," +
|
||||
" mtb_acc_recc.mitt_dest as mitt_dest," +
|
||||
" ctb_nc_intraceer.sezione as sezione," +
|
||||
" sum(mtb_acc_recc.peso_kg) as peso_kg," +
|
||||
" sum(mtb_acc_recc.qta_scar) as qta_scar," +
|
||||
" mtb_acc_recc.num_progr_arc, " +
|
||||
" mtb_acc_recc.arc, " +
|
||||
" mtb_acc_recc.dett_arc " +
|
||||
" mtb_acc_recc.tipo_file as tipo_file, "+
|
||||
" mtb_acc_recc.cod_acc as cod_acc, "+
|
||||
" mtb_acc_recc.data_rif as data_rif, "+
|
||||
" mtb_acc_recc.tipo_rec as tipo_rec, "+
|
||||
" mtb_acc_recc.tipo_ric as tipo_ric, " +
|
||||
" mtb_acc_recc.tipo_reg as tipo_reg, "+
|
||||
" mtb_acc_recc.cod_uff as cod_uff, "+
|
||||
" mtb_acc_recc.anno_prot as anno_prot, "+
|
||||
" mtb_acc_recc.num_prot as num_prot," +
|
||||
" mtb_acc_recc.cod_prod as cod_prod," +
|
||||
" sum(mtb_acc_recc.lit_anid) as lit_anid, " +
|
||||
" sum(mtb_acc_recc.lit_idr) as lit_idr, " +
|
||||
" mtb_acc_recc.tipo_stoc as tipo_stoc, "+
|
||||
" mtb_acc_recc.vol_cnf as vol_cnf, "+
|
||||
" sum(mtb_acc_recc.num_cnf) as num_cnf," +
|
||||
" mtb_acc_recc.tipo_doc as tipo_doc, " +
|
||||
" mtb_acc_recc.num_doc_acc as num_doc_acc, " +
|
||||
" mtb_acc_recc.tipo_movi as tipo_movi, "+
|
||||
" mtb_acc_recc.causale as causale, "+
|
||||
" mtb_acc_recc.pos_fisc as pos_fisc, "+
|
||||
" case when mtb_acc_recc.causale = " + UtilityDB.valueToString(causaleDistr) + " then 0 else sum(mtb_acc_recc.accisa) end as accisa, " +
|
||||
" mtb_acc_recc.progr_riga as progr_riga," +
|
||||
" mtb_acc_recc.nazione as nazione," +
|
||||
" mtb_acc_recc.mitt_dest as mitt_dest," +
|
||||
" ctb_nc_intraceer.sezione as sezione," +
|
||||
" sum(mtb_acc_recc.peso_kg) as peso_kg," +
|
||||
" sum(mtb_acc_recc.qta_scar) as qta_scar," +
|
||||
" mtb_acc_recc.num_progr_arc, " +
|
||||
" mtb_acc_recc.arc, " +
|
||||
" mtb_acc_recc.dett_arc " +
|
||||
" FROM mtb_acc_recc, ctb_nc_intraceer, mtb_aart " +
|
||||
" WHERE (mtb_acc_recc.data_reg BETWEEN " + UtilityDB.valueDateToString(dataIniz, CommonConstants.DATE_FORMAT_YMD)+" AND "+UtilityDB.valueDateToString(dataFine, CommonConstants.DATE_FORMAT_YMD)+") AND " +
|
||||
" mtb_aart.cod_nc_intracee = ctb_nc_intraceer.cod_nc_intracee AND "+
|
||||
|
||||
@@ -44,6 +44,7 @@ public class CaricoProdFinLavDTO {
|
||||
private String terminaLavorazioneLinea;
|
||||
private String activityID;
|
||||
private Integer idLotto;
|
||||
private boolean escludiArticoliGestitiDaWmsInScarico;
|
||||
|
||||
public String getCodJfas() {
|
||||
return codJfas;
|
||||
@@ -207,6 +208,10 @@ public class CaricoProdFinLavDTO {
|
||||
return terminaLavorazione;
|
||||
}
|
||||
|
||||
public boolean isTerminaLavorazione() {
|
||||
return "S".equalsIgnoreCase(terminaLavorazione);
|
||||
}
|
||||
|
||||
@XmlElement(name = "TERMINA_LAVORAZIONE")
|
||||
public void setTerminaLavorazione(String terminaLavorazione) {
|
||||
this.terminaLavorazione = terminaLavorazione;
|
||||
@@ -361,6 +366,15 @@ public class CaricoProdFinLavDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isEscludiArticoliGestitiDaWmsInScarico() {
|
||||
return escludiArticoliGestitiDaWmsInScarico;
|
||||
}
|
||||
|
||||
public CaricoProdFinLavDTO setEscludiArticoliGestitiDaWmsInScarico(boolean escludiArticoliGestitiDaWmsInScarico) {
|
||||
this.escludiArticoliGestitiDaWmsInScarico = escludiArticoliGestitiDaWmsInScarico;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getGenerateJson() {
|
||||
return generateJson;
|
||||
}
|
||||
|
||||
@@ -825,7 +825,7 @@ public class DocumentProdService {
|
||||
docT.getDtbDocr().add(docR);
|
||||
|
||||
// Chiusura forzata ordine
|
||||
if ("S".equals(carico.getTerminaLavorazione())) {
|
||||
if (carico.isTerminaLavorazione()) {
|
||||
DtbOrdt ordT = new DtbOrdt();
|
||||
ordT.setOperation(OperationType.UPDATE);
|
||||
ordT.setGestione(gestione);
|
||||
@@ -1027,21 +1027,19 @@ public class DocumentProdService {
|
||||
" data_ord = " + UtilityDB.valueDateToString(dataOrd, CommonConstants.DATE_FORMAT_YMD) + " AND " +
|
||||
" num_ord = " + UtilityDB.valueToString(numOrd);
|
||||
HashMap<String, Object> datiOrd = UtilityDB.executeSimpleQueryOnlyFirstRow(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
if (datiOrd != null && datiOrd.size() > 0) {
|
||||
if (datiOrd != null && !datiOrd.isEmpty()) {
|
||||
codProd = (String) datiOrd.get("cod_prod");
|
||||
partitaMag = (String) datiOrd.get("partita_mag");
|
||||
}
|
||||
|
||||
if (carico.getTerminaLavorazione().compareTo("N") == 0) {
|
||||
if (carico.isTerminaLavorazione()) {
|
||||
if (codJfas != null) {
|
||||
condFase = "mtb_colt.cod_jfas = " + UtilityDB.valueToString(codJfas);
|
||||
}
|
||||
}
|
||||
|
||||
String flagCaricoImmediato = setupGest.getSetupDepo(multiDBTransactionManager.getPrimaryConnection(), "CARICO_SCARICO_PF", "SETUP", "GENERA_CARICO_SCARICO_IMMEDIATO", carico.getCodMdep());
|
||||
if (UtilityString.isNullOrEmpty(flagCaricoImmediato)) {
|
||||
flagCaricoImmediato = "N";
|
||||
}
|
||||
boolean flagCaricoImmediato = setupGest.getSetupDepoBoolean(multiDBTransactionManager.getPrimaryConnection(), "CARICO_SCARICO_PF", "SETUP", "GENERA_CARICO_SCARICO_IMMEDIATO", carico.getCodMdep());
|
||||
|
||||
|
||||
/*Se la data del documento non è stata passata da fuori allora la data documento dovrà essere quella del collo */
|
||||
List<DataDocFromCollo> results = new ArrayList<>();
|
||||
@@ -1066,7 +1064,7 @@ public class DocumentProdService {
|
||||
|
||||
sql = UtilityDB.addwhereCond(sql, condFase, false);
|
||||
results = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, DataDocFromCollo.class);
|
||||
if ((results == null || results.size() == 0) && "S".equals(carico.getTerminaLavorazione()) && flagCaricoImmediato.compareTo("N") == 0) {
|
||||
if ((results == null || results.isEmpty()) && "S".equals(carico.getTerminaLavorazione()) && !flagCaricoImmediato) {
|
||||
throw new Exception("Non ci sono colli di produzione generati per la produzione in corso");
|
||||
}
|
||||
} else {
|
||||
@@ -1120,7 +1118,7 @@ public class DocumentProdService {
|
||||
|
||||
loadColli.setColli(colli);
|
||||
|
||||
if (loadColli.getColli() != null && loadColli.getColli().size() > 0) {
|
||||
if (loadColli.getColli() != null && !loadColli.getColli().isEmpty()) {
|
||||
DtbDoct docT = null;
|
||||
docT = loadColliService.createDocFromColli(multiDBTransactionManager, loadColli);
|
||||
docT
|
||||
@@ -1136,7 +1134,7 @@ public class DocumentProdService {
|
||||
}
|
||||
|
||||
// Chiusura forzata ordine
|
||||
if ("S".equals(carico.getTerminaLavorazione())) {
|
||||
if (carico.isTerminaLavorazione()) {
|
||||
DtbOrdt ordT = new DtbOrdt()
|
||||
.setGestione(gestione)
|
||||
.setDataOrd(dataOrd)
|
||||
@@ -1664,50 +1662,28 @@ public class DocumentProdService {
|
||||
Connection conn = multiDBTransactionManager.getPrimaryConnection();
|
||||
|
||||
// Acquisizione dati configurazione e passati dall'esterno
|
||||
String scaricoUnico = setupGest.getSetup(conn, "CARICO_SCARICO_PF", "SETUP", "SCARICO_UNICO"); //todo Creare query su STB_GEST_SEUP
|
||||
String generateLotto = setupGest.getSetup(conn, "W_PORDI_RC", "GENERA_LOTTO_PROD", "GENERA_LOTTO");
|
||||
if (UtilityString.isNullOrEmpty(generateLotto)) {
|
||||
generateLotto = "N";
|
||||
}
|
||||
boolean scaricoUnico = setupGest.getSetupBoolean(conn, "CARICO_SCARICO_PF", "SETUP", "SCARICO_UNICO"); //todo Creare query su STB_GEST_SEUP
|
||||
boolean generateLotto = setupGest.getSetupBoolean(conn, "W_PORDI_RC", "GENERA_LOTTO_PROD", "GENERA_LOTTO");
|
||||
|
||||
String gestione = carico.getGestione();
|
||||
Integer numOrd = carico.getNumOrd();
|
||||
Date dataOrd = carico.getDataOrd();
|
||||
Date dataProd = carico.getDataProd();
|
||||
String effettuaScaricoMateriali = carico.getEffettuaScaricoMateriali();
|
||||
String effettuaCaricoProdotto = carico.getEffettuaCaricoProdotto();
|
||||
Date dataDoc = carico.getDataDoc();
|
||||
String codAnag = carico.getCodAnag();
|
||||
String codMdep = carico.getCodMdep();
|
||||
String codMdepScar = carico.getCodMdepScar();
|
||||
String codDtipScar = carico.getCodDtipScar();
|
||||
String terminaLavorazione = carico.getTerminaLavorazione();
|
||||
String serDoc = carico.getSerDoc();
|
||||
Date dataVersamento = carico.getDataVersamento();
|
||||
String creaColloVersaDaColloCarico = carico.getCreaColloVersDaColloCarico();
|
||||
String creaScaricoDaCollo = carico.getCreaScaricoDaCollo();
|
||||
|
||||
// Impostazione default
|
||||
if (UtilityString.isNullOrEmpty(creaScaricoDaCollo)) {
|
||||
creaScaricoDaCollo = "N";
|
||||
}
|
||||
if (UtilityString.isNullOrEmpty(effettuaScaricoMateriali)) {
|
||||
effettuaScaricoMateriali = "S";
|
||||
}
|
||||
if (UtilityString.isNullOrEmpty(effettuaCaricoProdotto)) {
|
||||
effettuaCaricoProdotto = "S";
|
||||
}
|
||||
if (UtilityString.isNullOrEmpty(codMdepScar)) {
|
||||
codMdepScar = codMdep;
|
||||
}
|
||||
if (UtilityString.isNullOrEmpty(terminaLavorazione)) {
|
||||
terminaLavorazione = "N";
|
||||
}
|
||||
if (UtilityString.isNullOrEmpty(serDoc)) {
|
||||
serDoc = null;
|
||||
}
|
||||
if (UtilityString.isNullOrEmpty(scaricoUnico)) {
|
||||
scaricoUnico = "N";
|
||||
}
|
||||
|
||||
String order = setupGest.getSetupDepo(conn, "CARICO_SCARICO_PF", "SETUP", "ORDINAMENTO_PARTITA", codMdep);
|
||||
if (order == null) {
|
||||
@@ -1734,7 +1710,7 @@ public class DocumentProdService {
|
||||
" isnull(ordL.cod_jfas, jtb_cicl.cod_jfas) as cod_jfas, " +
|
||||
" ordL.cod_jcom, " +
|
||||
" jtb_lotr.id_lotto, " +
|
||||
" jtb_lotr.cod_jfas, " +
|
||||
" jtb_lotr.cod_jfas AS cod_jfas_lotto, " +
|
||||
" dtb_ordr.num_cnf " +
|
||||
" FROM dtb_ordt ordL LEFT OUTER JOIN jtb_lotr ON ordL.gestione = jtb_lotr.gestione AND " +
|
||||
" ordL.data_ord = jtb_lotr.data_ord AND " +
|
||||
@@ -1751,30 +1727,24 @@ public class DocumentProdService {
|
||||
" ordL.data_ord = " + UtilityDB.valueDateToString(dataOrd, CommonConstants.DATE_FORMAT_YMD) + " AND " +
|
||||
" ordL.num_ord = " + UtilityDB.valueToString(numOrd);
|
||||
|
||||
info = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
res = info.executeQuery();
|
||||
Integer rows = UtilityDB.countRow(res);
|
||||
if (rows == 0) {
|
||||
throw new Exception("L'ordine di lavorazione n." + UtilityDB.valueToString(numOrd) + " del " + UtilityDB.valueDateToString(dataOrd, CommonConstants.DATE_FORMAT_YMD) + " e/o la distinta corrispondente presentano delle anomalie.");
|
||||
}
|
||||
while (res.next()) {
|
||||
codProd = res.getString(1);
|
||||
untMisProd = res.getString(2);
|
||||
rapConvProd = res.getBigDecimal(3);
|
||||
partitaMagProd = res.getString(4);
|
||||
codJfas = res.getString(5);
|
||||
codJcom = res.getString(6);
|
||||
idLotto = res.getInt(7);
|
||||
codJfasLotto = res.getString(8);
|
||||
numCnfProd = res.getBigDecimal(9);
|
||||
}
|
||||
res.close();
|
||||
info.close();
|
||||
final HashMap<String, Object> resultOrd = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
|
||||
|
||||
codProd = UtilityHashMap.getValueIfExists(resultOrd, "cod_prod");
|
||||
untMisProd = UtilityHashMap.getValueIfExists(resultOrd, "unt_mis_prod");
|
||||
rapConvProd = UtilityHashMap.getValueIfExists(resultOrd, "rap_conv_prod");
|
||||
partitaMagProd = UtilityHashMap.getValueIfExists(resultOrd, "partita_mag");
|
||||
codJfas = UtilityHashMap.getValueIfExists(resultOrd, "cod_jfas");
|
||||
codJcom = UtilityHashMap.getValueIfExists(resultOrd, "cod_jcom");
|
||||
idLotto = UtilityHashMap.getValueIfExists(resultOrd, "id_lotto");
|
||||
codJfasLotto = UtilityHashMap.getValueIfExists(resultOrd, "cod_jfas_lotto");
|
||||
numCnfProd = UtilityHashMap.getValueIfExists(resultOrd, "num_cnf");
|
||||
|
||||
|
||||
// Acquisizione dati prodotto dall'estetno
|
||||
BigDecimal qtaProdUMMag = carico.getProdotti().getRow().get(0).getQtaProdAna();
|
||||
BigDecimal numConf = carico.getProdotti().getRow().get(0).getNumCart();
|
||||
BigDecimal qtaProd = qtaProdUMMag.divide(rapConvProd, 5, RoundingMode.HALF_UP);
|
||||
|
||||
if (numConf == null) {
|
||||
numConf = BigDecimal.ZERO;
|
||||
}
|
||||
@@ -1787,7 +1757,7 @@ public class DocumentProdService {
|
||||
// Se è attiva l'opzione scarico unico allora lo scarico degli imnballaggi e delle materie prime deve essere
|
||||
// fatto sempre sullo stesso documento nella giornata
|
||||
BigDecimal qtaProdScaricoPrec = BigDecimal.ZERO;
|
||||
if (scaricoUnico.compareTo("S") == 0) {
|
||||
if (scaricoUnico) {
|
||||
sql =
|
||||
" SELECT dtb_doct.num_doc, " +
|
||||
" dtb_doct.ser_doc, " +
|
||||
@@ -1799,17 +1769,12 @@ public class DocumentProdService {
|
||||
" dtb_doct.data_ord = " + UtilityDB.valueDateToString(dataOrd, CommonConstants.DATE_FORMAT_YMD) + " AND " +
|
||||
" dtb_doct.num_ord = " + UtilityDB.valueToString(numOrd);
|
||||
|
||||
info = conn.prepareStatement(sql);
|
||||
res = info.executeQuery();
|
||||
final HashMap<String, Object> resultDtbDoct = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
|
||||
existScar = resultDtbDoct != null && !resultDtbDoct.isEmpty();
|
||||
|
||||
while (res.next()) {
|
||||
existScar = true;
|
||||
numDoc = res.getInt(1);
|
||||
serDoc = res.getString(2);
|
||||
qtaProdScaricoPrec = res.getBigDecimal(3);
|
||||
}
|
||||
res.close();
|
||||
info.close();
|
||||
numDoc = UtilityHashMap.getValueIfExists(resultDtbDoct, "num_doc");
|
||||
serDoc = UtilityHashMap.getValueIfExists(resultDtbDoct, "ser_doc");
|
||||
qtaProdScaricoPrec = UtilityHashMap.getValueIfExists(resultDtbDoct, "qta_prod");
|
||||
}
|
||||
|
||||
// Creazione testata documento di scarico (Imballaggi e materiali se presenti)
|
||||
@@ -1841,7 +1806,7 @@ public class DocumentProdService {
|
||||
arrayEntity.add(docT);
|
||||
|
||||
// Creazione riga commento
|
||||
if (scaricoUnico.compareTo("S") == 0) {
|
||||
if (scaricoUnico) {
|
||||
DtbDocr docR = new DtbDocr();
|
||||
docR.setOperation(OperationType.INSERT);
|
||||
docR.setDescrizione("PRODUZIONE DELLE " + new SimpleDateFormat(CommonConstants.DATETIME_FORMAT_DMY).format(new Date()));
|
||||
@@ -1850,7 +1815,7 @@ public class DocumentProdService {
|
||||
|
||||
// Aggancio condizione che esclude eventuali materiali già presenti in colli di versamento
|
||||
String tableMPScarDaCollo = "", condMPScarDaCollo = "";
|
||||
if ("S".compareTo(creaScaricoDaCollo) == 0) {
|
||||
if (carico.isCreaScaricoDaCollo()) {
|
||||
condMPScarDaCollo = "righeOrdScar.num_ord is null";
|
||||
tableMPScarDaCollo = "LEFT OUTER JOIN ( select distinct mtb_colt.gestione, mtb_colr.data_ord, mtb_colr.num_ord, mtb_colr.riga_ord " +
|
||||
" from mtb_colt, mtb_colr " +
|
||||
@@ -1885,15 +1850,14 @@ public class DocumentProdService {
|
||||
" dtb_ordr.num_fase, " +
|
||||
" round(dtb_ordt.qta_evasa_prod * dtb_ordt.rap_conv_prod, 5), " +
|
||||
" dbo.f_getTipoGruppoMP(dtb_ordr.cod_mart) as gruppo_conto_mp " +
|
||||
" FROM dtb_ordt, " +
|
||||
" mtb_aart, " +
|
||||
" dtb_ordr " +
|
||||
" FROM dtb_ordt " +
|
||||
" INNER JOIN dtb_ordr ON dtb_ordt.gestione = dtb_ordr.gestione " +
|
||||
" AND dtb_ordt.data_ord = dtb_ordr.data_ord " +
|
||||
" AND dtb_ordt.num_ord = dtb_ordr.num_ord " +
|
||||
" INNER JOIN mtb_aart ON dtb_ordr.cod_mart = mtb_aart.cod_mart " +
|
||||
(carico.isEscludiArticoliGestitiDaWmsInScarico() ? " INNER JOIN dbo.mvw_articoli_esclusi_wms mdaew ON mtb_aart.cod_mart = mdaew.cod_mart " : "") +
|
||||
tableMPScarDaCollo +
|
||||
" WHERE dtb_ordr.cod_mart = mtb_aart.cod_mart AND " +
|
||||
" dtb_ordt.gestione = dtb_ordr.gestione AND " +
|
||||
" dtb_ordt.data_ord = dtb_ordr.data_ord AND " +
|
||||
" dtb_ordt.num_ord = dtb_ordr.num_ord AND " +
|
||||
" dtb_ordr.flag_evaso_forzato = 'N' AND " +
|
||||
" WHERE dtb_ordr.flag_evaso_forzato = 'N' AND " +
|
||||
" dtb_ordr.gestione = " + UtilityDB.valueToString(gestione) + " AND " +
|
||||
" dtb_ordr.data_ord = " + UtilityDB.valueDateToString(dataOrd, CommonConstants.DATE_FORMAT_YMD) + " AND " +
|
||||
" dtb_ordr.num_ord = " + UtilityDB.valueToString(numOrd);
|
||||
@@ -2014,7 +1978,7 @@ public class DocumentProdService {
|
||||
|
||||
infoDati = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
resDati = infoDati.executeQuery();
|
||||
rows = UtilityDB.countRow(resDati);
|
||||
int rows = UtilityDB.countRow(resDati);
|
||||
while (resDati.next()) {
|
||||
Integer rigaOrdMate = resDati.getInt(1);
|
||||
BigDecimal qtaDaScaricareOrd = resDati.getBigDecimal(2);
|
||||
@@ -2197,7 +2161,7 @@ public class DocumentProdService {
|
||||
|
||||
// Verifica chiusura lotto di produzione se tutti gli ordini ad esso associati sono evasi
|
||||
Integer ordInevasi = null;
|
||||
if ("S".equals(terminaLavorazione) && "S".equals(generateLotto)) {
|
||||
if (carico.isTerminaLavorazione() && generateLotto) {
|
||||
sql =
|
||||
" SELECT ISNULL(sum(CASE WHEN flag_evaso_prod = 'I' THEN 1 ELSE 0 END), 0) as ordini_inevasi " +
|
||||
" FROM jtb_lotr, " +
|
||||
@@ -2225,7 +2189,7 @@ public class DocumentProdService {
|
||||
lotT.setIdLotto(idLotto);
|
||||
lotT.setCodJfas(codJfasLotto);
|
||||
lotT.setDataChiusura(dataDoc);
|
||||
lotT.setFlagComp(terminaLavorazione);
|
||||
lotT.setFlagComp(carico.isTerminaLavorazione() ? "S" : "N");
|
||||
arrayEntity.add(lotT);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user