Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -0,0 +1,43 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20241007155146 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
createOrUpdateView("mvw_colli_contatore_lavorazione","CREATE VIEW [dbo].[mvw_colli_contatore_lavorazione] AS\n" +
|
||||||
|
"WITH colli AS (SELECT DISTINCT mtb_colt.gestione,\n" +
|
||||||
|
" mtb_colt.data_collo,\n" +
|
||||||
|
" mtb_colt.num_collo,\n" +
|
||||||
|
" mtb_colt.ser_collo,\n" +
|
||||||
|
" mtb_colr.data_ord,\n" +
|
||||||
|
" mtb_colr.num_ord,\n" +
|
||||||
|
" mtb_colr.partita_mag,\n" +
|
||||||
|
" mtb_colt.flag_stampato\n" +
|
||||||
|
" FROM mtb_colt\n" +
|
||||||
|
" INNER JOIN mtb_colr ON mtb_colt.gestione = mtb_colr.gestione AND\n" +
|
||||||
|
" mtb_colt.data_collo = mtb_colr.data_collo AND\n" +
|
||||||
|
" mtb_colt.ser_collo = mtb_colr.ser_collo AND\n" +
|
||||||
|
" mtb_colt.num_collo = mtb_colr.num_collo\n" +
|
||||||
|
" WHERE mtb_colt.gestione = 'L'\n" +
|
||||||
|
" AND mtb_colt.segno = 1\n" +
|
||||||
|
" AND mtb_colr.data_ord IS NOT NULL)\n" +
|
||||||
|
"SELECT *,\n" +
|
||||||
|
" DENSE_RANK() OVER (PARTITION BY data_ord, num_ord,partita_mag ORDER BY data_collo, ser_collo, num_collo) AS prog_collo,\n" +
|
||||||
|
" COUNT(*) OVER (PARTITION BY data_ord, num_ord,partita_mag ) AS tot_colli\n" +
|
||||||
|
"FROM colli\n" +
|
||||||
|
"GO\n" +
|
||||||
|
"\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -13,6 +13,7 @@ import java.math.BigDecimal;
|
|||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -111,8 +112,8 @@ public class OrderRules extends QueryRules {
|
|||||||
return dataCons;
|
return dataCons;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Date completeDataInizProdOrdP(Connection conn, DtbOrdr dtbOrdr) {
|
public static LocalDate completeDataInizProdOrdP(Connection conn, DtbOrdr dtbOrdr) {
|
||||||
return dtbOrdr.getDataOrd();
|
return UtilityLocalDate.localDateFromDate(dtbOrdr.getDataOrd());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String completeCausaleTrasp(String gestione) {
|
public static String completeCausaleTrasp(String gestione) {
|
||||||
|
|||||||
@@ -7,27 +7,29 @@ import it.integry.ems.rules.completing.DocOrdRules;
|
|||||||
import it.integry.ems.rules.completing.OrderRules;
|
import it.integry.ems.rules.completing.OrderRules;
|
||||||
import it.integry.ems.rules.completing.dto.DatiPartitaMagDTO;
|
import it.integry.ems.rules.completing.dto.DatiPartitaMagDTO;
|
||||||
import it.integry.ems_model.base.EntityBase;
|
import it.integry.ems_model.base.EntityBase;
|
||||||
import it.integry.ems_model.business_logic.dto.*;
|
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.config.EmsRestConstants;
|
import it.integry.ems_model.config.EmsRestConstants;
|
||||||
import it.integry.ems_model.db.ResultSetMapper;
|
import it.integry.ems_model.db.ResultSetMapper;
|
||||||
import it.integry.ems_model.entity.*;
|
import it.integry.ems_model.entity.*;
|
||||||
import it.integry.ems_model.exception.DataConverterNotFoundException;
|
import it.integry.ems_model.exception.DataConverterNotFoundException;
|
||||||
import it.integry.ems_model.service.SetupGest;
|
import it.integry.ems_model.service.SetupGest;
|
||||||
import it.integry.ems_model.types.OperationType;
|
import it.integry.ems_model.types.OperationType;
|
||||||
import it.integry.ems_model.utility.Query;
|
import it.integry.ems_model.utility.*;
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
|
||||||
import it.integry.ems_model.utility.UtilityHashMap;
|
|
||||||
import it.integry.ems_model.utility.UtilityString;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.sql.*;
|
import java.sql.Connection;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
@@ -238,7 +240,7 @@ public class GeneraOrdLav {
|
|||||||
// Generazione automatica nuova commessa
|
// Generazione automatica nuova commessa
|
||||||
if (genAutoCommOrdProd && UtilityString.isNullOrEmpty(codJcom)) {
|
if (genAutoCommOrdProd && UtilityString.isNullOrEmpty(codJcom)) {
|
||||||
assegnaCodJcom(conn, ordProdSetupDTO, dtbOrdt.getTipoAnag(), codAnag,
|
assegnaCodJcom(conn, ordProdSetupDTO, dtbOrdt.getTipoAnag(), codAnag,
|
||||||
gestioneLav, dataOrd, numOrdLav, dataCons, row.getDataInizProd(),
|
gestioneLav, dataOrd, numOrdLav, dataCons, UtilityLocalDate.localDateToDate(row.getDataInizProd()),
|
||||||
desCom, row);
|
desCom, row);
|
||||||
codJcom = row.getCodJcom();
|
codJcom = row.getCodJcom();
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,12 @@
|
|||||||
package it.integry.ems_model.business_logic;
|
package it.integry.ems_model.business_logic;
|
||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
||||||
import it.integry.common.var.CommonConstants;
|
import it.integry.common.var.CommonConstants;
|
||||||
import it.integry.ems.json.ResponseJSONObjectMapper;
|
|
||||||
import it.integry.ems.rules.completing.ConfigActivityRules;
|
import it.integry.ems.rules.completing.ConfigActivityRules;
|
||||||
import it.integry.ems.rules.completing.DocOrdRules;
|
import it.integry.ems.rules.completing.DocOrdRules;
|
||||||
import it.integry.ems.rules.completing.OrderRules;
|
import it.integry.ems.rules.completing.OrderRules;
|
||||||
import it.integry.ems.rules.completing.QueryRules;
|
import it.integry.ems.rules.completing.QueryRules;
|
||||||
import it.integry.ems.rules.completing.dto.DatiPartitaMagDTO;
|
import it.integry.ems.rules.completing.dto.DatiPartitaMagDTO;
|
||||||
import it.integry.ems.utility.UtilityDebug;
|
|
||||||
import it.integry.ems_model.base.EntityBase;
|
import it.integry.ems_model.base.EntityBase;
|
||||||
import it.integry.ems_model.business_logic.dto.ActivityCicloProdDTO;
|
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.CommessaDTO;
|
||||||
@@ -21,19 +18,15 @@ import it.integry.ems_model.entity.*;
|
|||||||
import it.integry.ems_model.rules.util.DroolsUtil;
|
import it.integry.ems_model.rules.util.DroolsUtil;
|
||||||
import it.integry.ems_model.service.SetupGest;
|
import it.integry.ems_model.service.SetupGest;
|
||||||
import it.integry.ems_model.types.OperationType;
|
import it.integry.ems_model.types.OperationType;
|
||||||
import it.integry.ems_model.utility.Query;
|
import it.integry.ems_model.utility.*;
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
|
||||||
import it.integry.ems_model.utility.UtilityHashMap;
|
|
||||||
import it.integry.ems_model.utility.UtilityString;
|
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.StringWriter;
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@@ -1200,7 +1193,7 @@ public class ProductionBusinessLogic {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String codProd = row.getCodMart();
|
String codProd = row.getCodMart();
|
||||||
Date dataInizProd = row.getDataInizProd();
|
LocalDate dataInizProd = row.getDataInizProd();
|
||||||
Date dataOrdRif = row.getDataOrdRif();
|
Date dataOrdRif = row.getDataOrdRif();
|
||||||
String descrizione = row.getDescrizione();
|
String descrizione = row.getDescrizione();
|
||||||
String descrizioneEstesa = row.getDescrizioneEstesa();
|
String descrizioneEstesa = row.getDescrizioneEstesa();
|
||||||
@@ -1502,7 +1495,7 @@ public class ProductionBusinessLogic {
|
|||||||
.setGestione(gestioneLav)
|
.setGestione(gestioneLav)
|
||||||
.setDataOrd(dataOrd)
|
.setDataOrd(dataOrd)
|
||||||
.setDataCons(dataCons)
|
.setDataCons(dataCons)
|
||||||
.setDataInizLav(dataInizProd)
|
.setDataInizLav(UtilityLocalDate.localDateToDate(dataInizProd))
|
||||||
.setNumOrd(numOrdLav)
|
.setNumOrd(numOrdLav)
|
||||||
.setTipoAnag(tipoAnag)
|
.setTipoAnag(tipoAnag)
|
||||||
.setDescrComm(desCom)
|
.setDescrComm(desCom)
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import org.apache.logging.log4j.Logger;
|
|||||||
import org.kie.api.definition.type.PropertyReactive;
|
import org.kie.api.definition.type.PropertyReactive;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@PropertyReactive
|
@PropertyReactive
|
||||||
@@ -333,7 +334,7 @@ public class DtbOrdr extends DtbOrdCommonR implements EquatableEntityInterface<D
|
|||||||
|
|
||||||
private String tipoIva;
|
private String tipoIva;
|
||||||
|
|
||||||
private Date dataInizProd;
|
private LocalDate dataInizProd;
|
||||||
|
|
||||||
private Date dataOrdRif;
|
private Date dataOrdRif;
|
||||||
|
|
||||||
@@ -1303,11 +1304,11 @@ public class DtbOrdr extends DtbOrdCommonR implements EquatableEntityInterface<D
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getDataInizProd() {
|
public LocalDate getDataInizProd() {
|
||||||
return dataInizProd;
|
return dataInizProd;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DtbOrdr setDataInizProd(Date dataInizProd) {
|
public DtbOrdr setDataInizProd(LocalDate dataInizProd) {
|
||||||
this.dataInizProd = dataInizProd;
|
this.dataInizProd = dataInizProd;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import org.kie.api.definition.type.PropertyReactive;
|
|||||||
import org.springframework.web.context.ContextLoader;
|
import org.springframework.web.context.ContextLoader;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -160,7 +161,7 @@ public class DtbOrdt extends DtbDocOrdT implements EquatableEntityInterface<DtbO
|
|||||||
private Date dataConferma;
|
private Date dataConferma;
|
||||||
|
|
||||||
@SqlField(value = "data_iniz_prod")
|
@SqlField(value = "data_iniz_prod")
|
||||||
private Date dataInizProd;
|
private LocalDate dataInizProd;
|
||||||
|
|
||||||
@SqlField(value = "data_iniz_trasp")
|
@SqlField(value = "data_iniz_trasp")
|
||||||
private Date dataInizTrasp;
|
private Date dataInizTrasp;
|
||||||
@@ -816,11 +817,11 @@ public class DtbOrdt extends DtbDocOrdT implements EquatableEntityInterface<DtbO
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getDataInizProd() {
|
public LocalDate getDataInizProd() {
|
||||||
return dataInizProd;
|
return dataInizProd;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DtbOrdt setDataInizProd(Date dataInizProd) {
|
public DtbOrdt setDataInizProd(LocalDate dataInizProd) {
|
||||||
this.dataInizProd = dataInizProd;
|
this.dataInizProd = dataInizProd;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import it.integry.ems.rules.util.*
|
|||||||
import it.integry.ems.rules.completing.*
|
import it.integry.ems.rules.completing.*
|
||||||
import java.sql.Connection
|
import java.sql.Connection
|
||||||
import it.integry.ems_model.types.OperationType
|
import it.integry.ems_model.types.OperationType
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
global Connection conn
|
global Connection conn
|
||||||
global String username
|
global String username
|
||||||
@@ -51,7 +52,7 @@ when
|
|||||||
eval(completeRulesEnabled)
|
eval(completeRulesEnabled)
|
||||||
$ordR : DtbOrdr(dataInizProd == null && gestione == "A" && gestioneRif != null)
|
$ordR : DtbOrdr(dataInizProd == null && gestione == "A" && gestioneRif != null)
|
||||||
then
|
then
|
||||||
Date dataInizProd = OrderRules.completeDataInizProdOrdP(conn, $ordR);
|
LocalDate dataInizProd = OrderRules.completeDataInizProdOrdP(conn, $ordR);
|
||||||
modify ( $ordR ) { setDataInizProd(dataInizProd) }
|
modify ( $ordR ) { setDataInizProd(dataInizProd) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -46,8 +46,8 @@ public class ScadenzeExporterService {
|
|||||||
" 'N' AS 'raiting',\n" +
|
" 'N' AS 'raiting',\n" +
|
||||||
" REPLACE(CONVERT(VARCHAR(10), ctb_scad.data_scad, 103), '/', '') AS 'data_scadenza',\n" +
|
" REPLACE(CONVERT(VARCHAR(10), ctb_scad.data_scad, 103), '/', '') AS 'data_scadenza',\n" +
|
||||||
" REPLACE(CONVERT(VARCHAR(10), ctb_scad.data_scad, 103), '/', '') AS 'data_valuta',\n" +
|
" REPLACE(CONVERT(VARCHAR(10), ctb_scad.data_scad, 103), '/', '') AS 'data_valuta',\n" +
|
||||||
" CASE WHEN c.banc_azi THEN LEFT(gtb_banc_azi_intercode.intercode, 8) ELSE '' END AS 'banca',\n" +
|
" CASE WHEN c.banc_azi = 1 THEN LEFT(gtb_banc_azi_intercode.intercode, 8) ELSE '' END AS 'banca',\n" +
|
||||||
" CASE WHEN c.banc_azi THEN RIGHT(gtb_banc_azi_intercode.intercode, 4) ELSE '' END AS 'rbn',\n" +
|
" CASE WHEN c.banc_azi = 1 THEN RIGHT(gtb_banc_azi_intercode.intercode, 4) ELSE '' END AS 'rbn',\n" +
|
||||||
" 'N' AS 'bloccata',\n" +
|
" 'N' AS 'bloccata',\n" +
|
||||||
" IIF(ctb_part.tipo_anag = 'F', '0201', '0101') AS 'voce',\n" +
|
" IIF(ctb_part.tipo_anag = 'F', '0201', '0101') AS 'voce',\n" +
|
||||||
" gtb_anag.diacod AS 'piano_dei_conti',\n" +
|
" gtb_anag.diacod AS 'piano_dei_conti',\n" +
|
||||||
@@ -66,14 +66,14 @@ public class ScadenzeExporterService {
|
|||||||
" ctb_scad.id_riga,\n" +
|
" ctb_scad.id_riga,\n" +
|
||||||
" ctb_scad.tipo_anag)) AS 'chiave coge',\n" +
|
" ctb_scad.tipo_anag)) AS 'chiave coge',\n" +
|
||||||
" 'ROSSOGARGA' AS 'azienda',\n" +
|
" 'ROSSOGARGA' AS 'azienda',\n" +
|
||||||
" CASE WHEN c.banc_azi THEN '' ELSE Right(ctb_part.iban,12) END AS 'numero_cc',\n" +
|
" CASE WHEN c.banc_azi = 1 THEN '' ELSE Right(ctb_part.iban,12) END AS 'numero_cc',\n" +
|
||||||
" CASE WHEN c.banc_azi THEN '' ELSE SUBSTRING(ctb_part.iban, 5, 1) END AS 'cin',\n" +
|
" CASE WHEN c.banc_azi = 1 THEN '' ELSE SUBSTRING(ctb_part.iban, 5, 1) END AS 'cin',\n" +
|
||||||
" CASE WHEN c.banc_azi THEN '' ELSE LEFT(ctb_part.iban, 2) END AS 'paese',\n" +
|
" CASE WHEN c.banc_azi = 1 THEN '' ELSE LEFT(ctb_part.iban, 2) END AS 'paese',\n" +
|
||||||
" CASE WHEN c.banc_azi THEN '' ELSE SUBSTRING(ctb_part.iban, 3, 2) END AS 'chk_paese',\n" +
|
" CASE WHEN c.banc_azi = 1 THEN '' ELSE SUBSTRING(ctb_part.iban, 3, 2) END AS 'chk_paese',\n" +
|
||||||
" REPLACE(CONVERT(VARCHAR(10), ctb_part.data_doc, 103), '/', '') AS 'data_documento',\n" +
|
" REPLACE(CONVERT(VARCHAR(10), ctb_part.data_doc, 103), '/', '') AS 'data_documento',\n" +
|
||||||
" ctb_parr.des_agg AS 'note',\n" +
|
" ctb_parr.des_agg AS 'note',\n" +
|
||||||
" IIF(vtb_clie.cod_anag IS NULL, atb_forn.cod_bic, vtb_clie.cod_bic) AS 'cod_bic',\n" +
|
" IIF(vtb_clie.cod_anag IS NULL, atb_forn.cod_bic, vtb_clie.cod_bic) AS 'cod_bic',\n" +
|
||||||
" CASE WHEN c.banc_azi THEN '' ELSE gtb_banc_azi.cod_iban ELSE ctb_part.iban END AS iban\n" +
|
" CASE WHEN c.banc_azi = 1 THEN gtb_banc_azi.cod_iban ELSE ctb_part.iban END AS iban\n" +
|
||||||
"FROM ctb_part\n" +
|
"FROM ctb_part\n" +
|
||||||
" INNER JOIN ctb_scad ON ctb_part.tipo_anag = ctb_scad.tipo_anag AND ctb_part.cod_anag = ctb_scad.cod_anag AND\n" +
|
" INNER JOIN ctb_scad ON ctb_part.tipo_anag = ctb_scad.tipo_anag AND ctb_part.cod_anag = ctb_scad.cod_anag AND\n" +
|
||||||
" ctb_part.anno_part = ctb_scad.anno_part AND ctb_part.ser_doc = ctb_scad.ser_doc AND\n" +
|
" ctb_part.anno_part = ctb_scad.anno_part AND ctb_part.ser_doc = ctb_scad.ser_doc AND\n" +
|
||||||
@@ -98,7 +98,7 @@ public class ScadenzeExporterService {
|
|||||||
" AND ctb_part.anno_part = ctb_parr.anno_part\n" +
|
" AND ctb_part.anno_part = ctb_parr.anno_part\n" +
|
||||||
" AND ctb_part.ser_doc = ctb_parr.ser_doc\n" +
|
" AND ctb_part.ser_doc = ctb_parr.ser_doc\n" +
|
||||||
" AND ctb_part.num_doc = ctb_parr.num_doc\n" +
|
" AND ctb_part.num_doc = ctb_parr.num_doc\n" +
|
||||||
" ORDER BY ctb_parr.data_cmov) ctb_parr\n" +
|
" ORDER BY ctb_parr.data_cmov, ctb_parr.num_cmov) ctb_parr\n" +
|
||||||
" OUTER APPLY (SELECT CASE WHEN (ctb_part.tipo_anag = 'F' AND gtb_tipi_paga.flag_banca_acq = 'A' ) OR (ctb_part.tipo_anag = 'C' AND gtb_tipi_paga.flag_banca_ven = 'A' ) THEN 1 ELSE 0 END as banca_azi ) c\n " +
|
" OUTER APPLY (SELECT CASE WHEN (ctb_part.tipo_anag = 'F' AND gtb_tipi_paga.flag_banca_acq = 'A' ) OR (ctb_part.tipo_anag = 'C' AND gtb_tipi_paga.flag_banca_ven = 'A' ) THEN 1 ELSE 0 END as banca_azi ) c\n " +
|
||||||
"WHERE ctb_scad.data_pag IS NULL\n" +
|
"WHERE ctb_scad.data_pag IS NULL\n" +
|
||||||
"UNION ALL\n" +
|
"UNION ALL\n" +
|
||||||
@@ -143,7 +143,7 @@ public class ScadenzeExporterService {
|
|||||||
" '' AS 'cambio_della_gestione',\n" +
|
" '' AS 'cambio_della_gestione',\n" +
|
||||||
" ISNULL(ctb_movr_intercode.num_doc_orig, '') AS 'numero_doc_origine',\n" +
|
" ISNULL(ctb_movr_intercode.num_doc_orig, '') AS 'numero_doc_origine',\n" +
|
||||||
" IIF(ctb_movr_intercode.intercode IS NOT NULL, ctb_movr_intercode.intercode + FORMAT(\n" +
|
" IIF(ctb_movr_intercode.intercode IS NOT NULL, ctb_movr_intercode.intercode + FORMAT(\n" +
|
||||||
" DENSE_RANK() OVER (PARTITION BY ctb_movr.cod_anag, ctb_movt.num_doc ORDER BY ctb_movt.data_cmov), '000'),\n" +
|
" DENSE_RANK() OVER (PARTITION BY ctb_movr.cod_anag, ctb_movt.num_doc, ctb_movr_intercode.intercode ORDER BY ctb_movt.data_cmov), '000'),\n" +
|
||||||
" RIGHT(ctb_movr.num_cmov, LEN(ctb_movr.num_cmov) - 2) + FORMAT(ctb_movr.id_riga, '000') +\n" +
|
" RIGHT(ctb_movr.num_cmov, LEN(ctb_movr.num_cmov) - 2) + FORMAT(ctb_movr.id_riga, '000') +\n" +
|
||||||
" '001') AS chiave_coge,\n" +
|
" '001') AS chiave_coge,\n" +
|
||||||
" 'ROSSOGARGA' AS 'azienda',\n" +
|
" 'ROSSOGARGA' AS 'azienda',\n" +
|
||||||
|
|||||||
@@ -125,6 +125,10 @@ public class RossoGarganoProductionService {
|
|||||||
.setScarto(cert.getScartoKg())
|
.setScarto(cert.getScartoKg())
|
||||||
.setCnfRese(cert.getCasseRese())
|
.setCnfRese(cert.getCasseRese())
|
||||||
.setNumCnf(cert.getCasseScaricate())
|
.setNumCnf(cert.getCasseScaricate())
|
||||||
|
.setPesoLordoCamion(cert.getPesoLordoKg())
|
||||||
|
.setPesoNettoPedane(cert.getPesoNettoKg())
|
||||||
|
.setQtaCol(cert.getPesoNettoKg())
|
||||||
|
.setCodVzon(cert.getCodVzon())
|
||||||
.setIndiceVariazione(cert.getIndiceVariazione())
|
.setIndiceVariazione(cert.getIndiceVariazione())
|
||||||
.setTassoRiduzione(cert.getTassoRiduzione())
|
.setTassoRiduzione(cert.getTassoRiduzione())
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import it.integry.ems_model.types.OperationType;
|
|||||||
import it.integry.ems_model.utility.Query;
|
import it.integry.ems_model.utility.Query;
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
import it.integry.ems_model.utility.UtilityHashMap;
|
import it.integry.ems_model.utility.UtilityHashMap;
|
||||||
|
import it.integry.ems_model.utility.UtilityLocalDate;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Scope;
|
import org.springframework.context.annotation.Scope;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -116,7 +117,7 @@ public class ToscaProductionService {
|
|||||||
|
|
||||||
if (numOrd >= 0) dtbOrdtToInsert.setNumOrd(numOrd);
|
if (numOrd >= 0) dtbOrdtToInsert.setNumOrd(numOrd);
|
||||||
else {
|
else {
|
||||||
DtbOrdr dtbOrdr = new DtbOrdr().setCodJfas(codJfas).setDataInizProd(dataOrd).setQtaOrd(BigDecimal.ONE).setNumCnf(BigDecimal.ONE).setQtaCnf(BigDecimal.ONE).setDescrizione("Cassette da lavare");
|
DtbOrdr dtbOrdr = new DtbOrdr().setCodJfas(codJfas).setDataInizProd(UtilityLocalDate.localDateFromDate(dataOrd)).setQtaOrd(BigDecimal.ONE).setNumCnf(BigDecimal.ONE).setQtaCnf(BigDecimal.ONE).setDescrizione("Cassette da lavare");
|
||||||
dtbOrdr.setOperation(OperationType.INSERT);
|
dtbOrdr.setOperation(OperationType.INSERT);
|
||||||
|
|
||||||
dtbOrdtToInsert.getDtbOrdr().add(dtbOrdr);
|
dtbOrdtToInsert.getDtbOrdr().add(dtbOrdr);
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import it.integry.ems_model.entity.*;
|
|||||||
import it.integry.ems_model.service.SetupGest;
|
import it.integry.ems_model.service.SetupGest;
|
||||||
import it.integry.ems_model.types.OperationType;
|
import it.integry.ems_model.types.OperationType;
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
|
import it.integry.ems_model.utility.UtilityLocalDate;
|
||||||
import it.integry.ems_model.utility.UtilityString;
|
import it.integry.ems_model.utility.UtilityString;
|
||||||
import it.integry.ems_model.utility.UtilityXML;
|
import it.integry.ems_model.utility.UtilityXML;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
@@ -1853,7 +1854,7 @@ public class FarmMesImportService {
|
|||||||
ordR.setQtaOrd(qtaProdOrd);
|
ordR.setQtaOrd(qtaProdOrd);
|
||||||
ordR.setRapConv(rapConvProd);
|
ordR.setRapConv(rapConvProd);
|
||||||
ordR.setUntOrd(untMisProd);
|
ordR.setUntOrd(untMisProd);
|
||||||
ordR.setDataInizProd(dataReg);
|
ordR.setDataInizProd(UtilityLocalDate.localDateFromDate(dataReg));
|
||||||
ordR.setDataCons(dataReg);
|
ordR.setDataCons(dataReg);
|
||||||
ordT.getDtbOrdr().add(ordR);
|
ordT.getDtbOrdr().add(ordR);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import it.integry.ems_model.entity.*;
|
|||||||
import it.integry.ems_model.service.SetupGest;
|
import it.integry.ems_model.service.SetupGest;
|
||||||
import it.integry.ems_model.types.OperationType;
|
import it.integry.ems_model.types.OperationType;
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
|
import it.integry.ems_model.utility.UtilityLocalDate;
|
||||||
import it.integry.ems_model.utility.UtilityString;
|
import it.integry.ems_model.utility.UtilityString;
|
||||||
import org.josql.Query;
|
import org.josql.Query;
|
||||||
import org.josql.QueryResults;
|
import org.josql.QueryResults;
|
||||||
@@ -1436,7 +1437,7 @@ public class FarmMesScrofaieImportService {
|
|||||||
ordR.setQtaOrd(totCapiProd);
|
ordR.setQtaOrd(totCapiProd);
|
||||||
ordR.setRapConv(dettProdNow.getRapConvProd());
|
ordR.setRapConv(dettProdNow.getRapConvProd());
|
||||||
ordR.setUntOrd(dettProdNow.getUntMisProd());
|
ordR.setUntOrd(dettProdNow.getUntMisProd());
|
||||||
ordR.setDataInizProd(transaction.getDataMov());
|
ordR.setDataInizProd(UtilityLocalDate.localDateFromDate(transaction.getDataMov()));
|
||||||
ordR.setDataCons(transaction.getDataMov());
|
ordR.setDataCons(transaction.getDataMov());
|
||||||
ordT.getDtbOrdr().add(ordR);
|
ordT.getDtbOrdr().add(ordR);
|
||||||
|
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ public class AgribookFieldService {
|
|||||||
.setCodMdep(codMdepDest)
|
.setCodMdep(codMdepDest)
|
||||||
.setCodVdes(codVdes)
|
.setCodVdes(codVdes)
|
||||||
.setCodVzon(dto.getCodVzon())
|
.setCodVzon(dto.getCodVzon())
|
||||||
.setDataInizProd(UtilityLocalDate.localDateToDate(dto.getDataInizProd()))
|
.setDataInizProd(dto.getDataInizProd())
|
||||||
.setDtbOrdr(ordrList)
|
.setDtbOrdr(ordrList)
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
|
|
||||||
|
|||||||
@@ -47,16 +47,6 @@ public class MrpConsumiHandlerService {
|
|||||||
looperService.add(() -> this.internalCacheConsumi(consumiCachedData), (UtilityDebug.isDebugExecution()?5:1) * 60 * 1000, MrpConsumiHandlerService.class.getName());
|
looperService.add(() -> this.internalCacheConsumi(consumiCachedData), (UtilityDebug.isDebugExecution()?5:1) * 60 * 1000, MrpConsumiHandlerService.class.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (UtilityDebug.isIntegryServer()) {
|
|
||||||
looperService.add(() -> {
|
|
||||||
try {
|
|
||||||
loadConsumi( "biolevante", "BIOLEVANTE", consumiCachedData);
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
}, 5 * 1000, ProductionOrderDataHandlerService.class.getName());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean saveCache(){
|
private boolean saveCache(){
|
||||||
@@ -250,7 +240,7 @@ public class MrpConsumiHandlerService {
|
|||||||
public Map<String, List<MRPDailyConsumiDTO>> getConsumi() throws Exception {
|
public Map<String, List<MRPDailyConsumiDTO>> getConsumi() throws Exception {
|
||||||
MultiDBTransactionManager multiDBTransactionManager = ContextLoader.getCurrentWebApplicationContext().getBean(MultiDBTransactionManager.class);
|
MultiDBTransactionManager multiDBTransactionManager = ContextLoader.getCurrentWebApplicationContext().getBean(MultiDBTransactionManager.class);
|
||||||
|
|
||||||
if (!saveCache() && !multiDBTransactionManager.getPrimaryDatasource().getDbName().equalsIgnoreCase("biolevante")) {
|
if (!saveCache()) {
|
||||||
return getConsumi(multiDBTransactionManager);
|
return getConsumi(multiDBTransactionManager);
|
||||||
} else {
|
} else {
|
||||||
HashMap<String, HashMap<String, Map<String, List<MRPDailyConsumiDTO>>>> inputMap = consumiCachedData;
|
HashMap<String, HashMap<String, Map<String, List<MRPDailyConsumiDTO>>>> inputMap = consumiCachedData;
|
||||||
|
|||||||
@@ -52,15 +52,7 @@ public class ProductionOrderDataHandlerService {
|
|||||||
looperService.add(() -> this.internalCacheOrdiniLavorazione(true, inevasiOrdersCachedData), 5 * 1000, ProductionOrderDataHandlerService.class.getName());
|
looperService.add(() -> this.internalCacheOrdiniLavorazione(true, inevasiOrdersCachedData), 5 * 1000, ProductionOrderDataHandlerService.class.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UtilityDebug.isIntegryServer()) {
|
|
||||||
looperService.add(() -> {
|
|
||||||
try {
|
|
||||||
loadOrdiniProfile(false, "biolevante", "BIOLEVANTE", inevasiOrdersCachedData);
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
}, 5 * 1000, ProductionOrderDataHandlerService.class.getName());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -152,7 +144,7 @@ public class ProductionOrderDataHandlerService {
|
|||||||
MultiDBTransactionManager multiDBTransactionManager = ContextLoader.getCurrentWebApplicationContext().getBean(MultiDBTransactionManager.class);
|
MultiDBTransactionManager multiDBTransactionManager = ContextLoader.getCurrentWebApplicationContext().getBean(MultiDBTransactionManager.class);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
((UtilityDebug.isIntegryServer() || UtilityDebug.isDebugExecution()) && !multiDBTransactionManager.getPrimaryDatasource().getDbName().equalsIgnoreCase("biolevante")) ||
|
UtilityDebug.isIntegryServer() || UtilityDebug.isDebugExecution() ||
|
||||||
UtilityString.isNullOrEmpty(flagEvaso)
|
UtilityString.isNullOrEmpty(flagEvaso)
|
||||||
|| !flagEvaso.equalsIgnoreCase("I")
|
|| !flagEvaso.equalsIgnoreCase("I")
|
||||||
|| !isMESEnabled(multiDBTransactionManager)) {
|
|| !isMESEnabled(multiDBTransactionManager)) {
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ public class ExchangeDocumentImportService {
|
|||||||
mtbColrLavTableName, Query.format("data_doc BETWEEN {} AND {}", minDate, maxDate), retrieveAlreadyImported);
|
mtbColrLavTableName, Query.format("data_doc BETWEEN {} AND {}", minDate, maxDate), retrieveAlreadyImported);
|
||||||
|
|
||||||
|
|
||||||
righe.parallelStream()
|
final List<DtbDoct> orphanTestateToAdd = righe.parallelStream()
|
||||||
.filter(riga ->
|
.filter(riga ->
|
||||||
testate.parallelStream()
|
testate.parallelStream()
|
||||||
.noneMatch(testata ->
|
.noneMatch(testata ->
|
||||||
@@ -208,7 +208,7 @@ public class ExchangeDocumentImportService {
|
|||||||
Objects.equals(riga.getDataDoc(), testata.getDataDoc()) &&
|
Objects.equals(riga.getDataDoc(), testata.getDataDoc()) &&
|
||||||
Objects.equals(riga.getNumDoc(), testata.getNumDoc()) &&
|
Objects.equals(riga.getNumDoc(), testata.getNumDoc()) &&
|
||||||
Objects.equals(riga.getSerDoc(), testata.getSerDoc()))))
|
Objects.equals(riga.getSerDoc(), testata.getSerDoc()))))
|
||||||
.forEach(riga -> {
|
.map(riga -> {
|
||||||
DtbDoct testata = new DtbDoct()
|
DtbDoct testata = new DtbDoct()
|
||||||
.setSerDoc(riga.getSerDoc())
|
.setSerDoc(riga.getSerDoc())
|
||||||
.setDataDoc(riga.getDataDoc())
|
.setDataDoc(riga.getDataDoc())
|
||||||
@@ -217,9 +217,12 @@ public class ExchangeDocumentImportService {
|
|||||||
.setCodAnag(riga.getCodAnag());
|
.setCodAnag(riga.getCodAnag());
|
||||||
|
|
||||||
testata.setOperation(OperationType.UPDATE);
|
testata.setOperation(OperationType.UPDATE);
|
||||||
testate.add(testata);
|
return testata;
|
||||||
});
|
})
|
||||||
|
.filter(testataOrphan -> testate.stream().noneMatch(testataOrphan::equalsKey))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
testate.addAll(orphanTestateToAdd);
|
||||||
|
|
||||||
|
|
||||||
testate.parallelStream()
|
testate.parallelStream()
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ import it.integry.ems.system.exchange.service.structure.ExchangeImportDataManage
|
|||||||
import it.integry.ems.system.exchange.service.structure.ExchangeImportSchemaManagerService;
|
import it.integry.ems.system.exchange.service.structure.ExchangeImportSchemaManagerService;
|
||||||
import it.integry.ems_model.base.EquatableEntityInterface;
|
import it.integry.ems_model.base.EquatableEntityInterface;
|
||||||
import it.integry.ems_model.entity.MtbPartitaMag;
|
import it.integry.ems_model.entity.MtbPartitaMag;
|
||||||
|
import it.integry.ems_model.exception.EntityException;
|
||||||
import it.integry.ems_model.exception.MergeEntityDBToObjectException;
|
import it.integry.ems_model.exception.MergeEntityDBToObjectException;
|
||||||
import it.integry.ems_model.types.OperationType;
|
import it.integry.ems_model.types.OperationType;
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
import it.integry.ems_model.utility.UtilityLocalDate;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -47,71 +47,80 @@ public class ExchangePartiteMagazzinoImportService {
|
|||||||
|
|
||||||
boolean useTempTable = true;
|
boolean useTempTable = true;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
exchangeImportSchemaManagerService.syncSchema(exchangeMultiDb.getPrimaryConnection(), ExchangeImportSchemaManagerService.SchemaType.PartiteMagazzinoLavorazione, useTempTable);
|
exchangeImportSchemaManagerService.syncSchema(exchangeMultiDb.getPrimaryConnection(), ExchangeImportSchemaManagerService.SchemaType.PartiteMagazzinoLavorazione, useTempTable);
|
||||||
|
|
||||||
final List<MtbPartitaMag> exchangeImportedData = retrievePartite(
|
final List<MtbPartitaMag> exchangeImportedData = retrievePartite(
|
||||||
exchangeMultiDb.getPrimaryConnection(),
|
exchangeMultiDb.getPrimaryConnection(),
|
||||||
LocalDate.of(2022, 1, 1),
|
null,
|
||||||
UtilityLocalDate.getNow(),
|
null,
|
||||||
true, false);
|
true, false);
|
||||||
|
|
||||||
final List<MtbPartitaMag> exchangeUpdatedData = retrievePartite(
|
final List<MtbPartitaMag> exchangeUpdatedData = retrievePartite(
|
||||||
exchangeMultiDb.getPrimaryConnection(),
|
exchangeMultiDb.getPrimaryConnection(),
|
||||||
LocalDate.of(2022, 1, 1),
|
null,
|
||||||
UtilityLocalDate.getNow(),
|
null,
|
||||||
false, useTempTable);
|
false, useTempTable);
|
||||||
|
|
||||||
List<EquatableEntityInterface> allData = exchangeImportDataManagerService
|
exchangeMultiDb.commitAll();
|
||||||
.runSync(MtbPartitaMag.class, exchangeImportedData, exchangeUpdatedData);
|
|
||||||
|
|
||||||
allData.forEach(x -> x.setOperation(x.getOperation() == OperationType.INSERT ? OperationType.INSERT_OR_UPDATE : x.getOperation()));
|
List<EquatableEntityInterface> allData = exchangeImportDataManagerService
|
||||||
|
.runSync(MtbPartitaMag.class, exchangeImportedData, exchangeUpdatedData);
|
||||||
|
|
||||||
|
allData.forEach(x -> x.setOperation(x.getOperation() == OperationType.INSERT ? OperationType.INSERT_OR_UPDATE : x.getOperation()));
|
||||||
|
|
||||||
// allData = allData.stream().filter(x -> x.getOperation() != OperationType.DELETE)
|
// allData = allData.stream().filter(x -> x.getOperation() != OperationType.DELETE)
|
||||||
// .collect(Collectors.toList());
|
// .collect(Collectors.toList());
|
||||||
|
|
||||||
final Exception[] firstExceptionToThrow = {null};
|
final Exception[] firstExceptionToThrow = {null};
|
||||||
|
|
||||||
AtomicInteger importedCounter = new AtomicInteger();
|
AtomicInteger importedCounter = new AtomicInteger();
|
||||||
List<RunnableThrowable> calls = new ArrayList<>();
|
List<RunnableThrowable> calls = new ArrayList<>();
|
||||||
|
|
||||||
for (EquatableEntityInterface dataToSave : allData) {
|
for (EquatableEntityInterface dataToSave : allData) {
|
||||||
|
|
||||||
//if(dataToSave.getOperation() == OperationType.DELETE) continue;
|
//if(dataToSave.getOperation() == OperationType.DELETE) continue;
|
||||||
|
|
||||||
// calls.add(() -> {
|
// calls.add(() -> {
|
||||||
logger.debug("Importate {} partite di magazzino di {}", importedCounter.incrementAndGet(), allData.size());
|
logger.debug("Importate {} partite di magazzino di {}", importedCounter.incrementAndGet(), allData.size());
|
||||||
|
try {
|
||||||
try {
|
try {
|
||||||
try {
|
entityProcessor.processEntity(dataToSave, true, true, ROSSOGARGANO_EXCHANGE_USER, internalMultiDb, requestDataDTO);
|
||||||
entityProcessor.processEntity(dataToSave, true, true, ROSSOGARGANO_EXCHANGE_USER, internalMultiDb, requestDataDTO);
|
} catch (MergeEntityDBToObjectException mergeEntityDBToObjectException) {
|
||||||
} catch (MergeEntityDBToObjectException mergeEntityDBToObjectException) {
|
//ignore error if is DELETE
|
||||||
//ignore error if is DELETE
|
if (dataToSave.getOperation() != OperationType.DELETE) throw mergeEntityDBToObjectException;
|
||||||
if (dataToSave.getOperation() != OperationType.DELETE) throw mergeEntityDBToObjectException;
|
} catch (EntityException e) {
|
||||||
}
|
//ignore error if is DELETE & foreign key error and rollback
|
||||||
singleUpdateImported(exchangeMultiDb.getPrimaryConnection(), (MtbPartitaMag) dataToSave, useTempTable);
|
if (e.getSqlErrorCode() == 547 && dataToSave.getOperation() == OperationType.DELETE) {
|
||||||
|
internalMultiDb.rollbackAll();
|
||||||
internalMultiDb.commitAll();
|
exchangeMultiDb.rollbackAll();
|
||||||
exchangeMultiDb.commitAll();
|
continue;
|
||||||
|
} else throw e;
|
||||||
} catch (Exception ex) {
|
|
||||||
if (firstExceptionToThrow[0] == null) firstExceptionToThrow[0] = ex;
|
|
||||||
|
|
||||||
logger.error("Errore durante l'importazione della partita di magazzino", ex);
|
|
||||||
internalMultiDb.rollbackAll();
|
|
||||||
exchangeMultiDb.rollbackAll();
|
|
||||||
//throw ex;
|
|
||||||
}
|
}
|
||||||
|
singleUpdateImported(exchangeMultiDb.getPrimaryConnection(), (MtbPartitaMag) dataToSave, useTempTable);
|
||||||
|
|
||||||
|
internalMultiDb.commitAll();
|
||||||
|
exchangeMultiDb.commitAll();
|
||||||
|
|
||||||
|
} catch (Exception ex) {
|
||||||
|
if (firstExceptionToThrow[0] == null) firstExceptionToThrow[0] = ex;
|
||||||
|
|
||||||
|
logger.error("Errore durante l'importazione della partita di magazzino", ex);
|
||||||
|
internalMultiDb.rollbackAll();
|
||||||
|
exchangeMultiDb.rollbackAll();
|
||||||
|
//throw ex;
|
||||||
|
}
|
||||||
|
|
||||||
// });
|
// });
|
||||||
}
|
}
|
||||||
// UtilityThread.executeParallel(calls);
|
// UtilityThread.executeParallel(calls);
|
||||||
|
|
||||||
|
|
||||||
if (firstExceptionToThrow[0] != null) throw firstExceptionToThrow[0];
|
if (firstExceptionToThrow[0] != null) throw firstExceptionToThrow[0];
|
||||||
} finally {
|
} finally {
|
||||||
if (useTempTable)
|
if (useTempTable)
|
||||||
exchangeImportSchemaManagerService.deleteTempTables(exchangeMultiDb.getPrimaryConnection(), ExchangeImportSchemaManagerService.SchemaType.PartiteMagazzinoLavorazione);
|
exchangeImportSchemaManagerService.deleteTempTables(exchangeMultiDb.getPrimaryConnection(), ExchangeImportSchemaManagerService.SchemaType.PartiteMagazzinoLavorazione);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user