Finish Hotfix-1

This commit is contained in:
2024-10-03 17:10:48 +02:00
6 changed files with 523 additions and 35 deletions

View File

@@ -0,0 +1,452 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
import it.integry.ems_model.entity.*;
import it.integry.ems_model.types.OperationType;
public class Migration_20240930110848 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB() || !isCustomer(IntegryCustomer.Tosca))
return;
updateSetupValue("w_dordi_rc", "CREA_COMMESSA", "AUTO_GENERATE","N");
if (isCustomerDb(IntegryCustomerDB.Tosca_Cloud)) {
executeStatement("SET IDENTITY_INSERT tosca_cloud.dbo.stb_publications ON;");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (10, N'Sincronizzazione Anagrafiche');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (11, N'Sincronizzazione impegnato (Triggiano)');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (12, N'Sincronizzazione impegnato (Caserta)');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (13, N'Sincronizzazione impegnato (Catanzaro)');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (14, N'Sincronizzazione impegnato (Forlì-Cesena)');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (15, N'Sincronizzazione impegnato (Milano)');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (16, N'Sincronizzazione impegnato (Ragusa)');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (17, N'Sincronizzazione impegnato (Roma)');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (18, N'Sincronizzazione impegnato (Verona)');");
executeStatement("SET IDENTITY_INSERT tosca_cloud.dbo.stb_publications OFF;");
//<editor-fold desc="Pubblicazione anagrafiche">
StbPublications anagPublication = new StbPublications();
anagPublication
.setId(10L)
.setPublicationDescription("Sincronizzazione Anagrafiche");
anagPublication.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailGtbAnag = new StbPublicationsDetail();
detailGtbAnag
.setActive(true)
.setStbPublicationId(10L)
.setReadyToTransmit(true)
.setEntityName(GtbAnag.ENTITY)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
anagPublication.getStbPublicationsDetails().add(detailGtbAnag);
StbPublicationsDetail detailVtbDest = new StbPublicationsDetail();
detailVtbDest.setActive(true)
.setStbPublicationId(10L)
.setReadyToTransmit(true)
.setEntityName(VtbDest.ENTITY)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
anagPublication.getStbPublicationsDetails().add(detailVtbDest);
StbPublicationsDetail detailMtbDepo = new StbPublicationsDetail();
detailMtbDepo.setActive(true)
.setStbPublicationId(10L)
.setReadyToTransmit(true)
.setEntityName(MtbDepo.ENTITY)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
anagPublication.getStbPublicationsDetails().add(detailMtbDepo);
StbPublicationsDetail detailVtbClie = new StbPublicationsDetail();
detailVtbClie
.setActive(true)
.setStbPublicationId(10L)
.setReadyToTransmit(true)
.setEntityName(VtbClie.ENTITY)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
anagPublication.getStbPublicationsDetails().add(detailVtbClie);
StbPublicationsDetail detailAtbForn = new StbPublicationsDetail();
detailAtbForn
.setActive(true)
.setStbPublicationId(10L)
.setEntityName(AtbForn.ENTITY)
.setReadyToTransmit(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
anagPublication.getStbPublicationsDetails().add(detailAtbForn);
anagPublication.manageWithParentConnection(advancedDataSource.getConnection(),droolsDataCompleting);
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Triggiano)">
StbPublications impegnatoTriggiano = new StbPublications();
impegnatoTriggiano.setId(11L).setPublicationDescription("Sincronizzazione impegnato (Triggiano)");
impegnatoTriggiano.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtBA = new StbPublicationsDetail();
detailDtbOrdtBA
.setStbPublicationId(11L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdt.ENTITY)
.setWhereCondField("gestione = 'V' AND codMdep = 'BA'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoTriggiano.getStbPublicationsDetails().add(detailDtbOrdtBA);
StbPublicationsDetail detailDtbOrdrBA = new StbPublicationsDetail();
detailDtbOrdrBA
.setStbPublicationId(11L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdr.ENTITY)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'BA'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoTriggiano.getStbPublicationsDetails().add(detailDtbOrdrBA);
impegnatoTriggiano.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Caserta)">
StbPublications impegnatoCaserta = new StbPublications();
impegnatoCaserta.setId(12L).setPublicationDescription("Sincronizzazione impegnato (Caserta)");
impegnatoCaserta.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtCE = new StbPublicationsDetail();
detailDtbOrdtCE
.setStbPublicationId(12L)
.setEntityName(DtbOrdt.ENTITY)
.setReadyToTransmit(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'CE'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoCaserta.getStbPublicationsDetails().add(detailDtbOrdtCE);
StbPublicationsDetail detailDtbOrdrCE = new StbPublicationsDetail();
detailDtbOrdrCE
.setStbPublicationId(12L)
.setEntityName(DtbOrdr.ENTITY)
.setReadyToTransmit(true)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'CE'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoCaserta.getStbPublicationsDetails().add(detailDtbOrdrCE);
impegnatoCaserta.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Catanzaro)">
StbPublications impegnatoCatanzaro = new StbPublications();
impegnatoCatanzaro.setId(13L).setPublicationDescription("Sincronizzazione impegnato (Catanzaro)");
impegnatoCatanzaro.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtCZ = new StbPublicationsDetail();
detailDtbOrdtCZ
.setStbPublicationId(13L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdt.ENTITY)
.setWhereCondField("gestione = 'V' AND codMdep = 'CZ'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoCatanzaro.getStbPublicationsDetails().add(detailDtbOrdtCZ);
StbPublicationsDetail detailDtbOrdrCZ = new StbPublicationsDetail();
detailDtbOrdrCZ
.setStbPublicationId(13L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdr.ENTITY)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'CZ'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoCatanzaro.getStbPublicationsDetails().add(detailDtbOrdrCZ);
impegnatoCatanzaro.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Forlì-Cesena)">
StbPublications impegnatoFC = new StbPublications();
impegnatoFC.setId(14L).setPublicationDescription("Sincronizzazione impegnato (Forlì-Cesena)");
impegnatoFC.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtFC = new StbPublicationsDetail();
detailDtbOrdtFC
.setStbPublicationId(14L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdt.ENTITY)
.setWhereCondField("gestione = 'V' AND codMdep = 'FC'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoFC.getStbPublicationsDetails().add(detailDtbOrdtFC);
StbPublicationsDetail detailDtbOrdrFC = new StbPublicationsDetail();
detailDtbOrdrFC
.setStbPublicationId(14L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdr.ENTITY)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'FC'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoFC.getStbPublicationsDetails().add(detailDtbOrdrFC);
impegnatoFC.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Milano)">
StbPublications impegnatoMI = new StbPublications();
impegnatoMI.setId(15L).setPublicationDescription("Sincronizzazione impegnato (Milano)");
impegnatoMI.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtMI = new StbPublicationsDetail();
detailDtbOrdtMI
.setStbPublicationId(15L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdt.ENTITY)
.setWhereCondField("gestione = 'V' AND codMdep = 'MI'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoMI.getStbPublicationsDetails().add(detailDtbOrdtMI);
StbPublicationsDetail detailDtbOrdrMI = new StbPublicationsDetail();
detailDtbOrdrMI
.setStbPublicationId(15L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdr.ENTITY)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'MI'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoMI.getStbPublicationsDetails().add(detailDtbOrdrMI);
impegnatoMI.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Ragusa)">
StbPublications impegnatoRG = new StbPublications();
impegnatoRG.setId(16L).setPublicationDescription("Sincronizzazione impegnato (Ragusa)");
impegnatoRG.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtRG = new StbPublicationsDetail();
detailDtbOrdtRG
.setStbPublicationId(16L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdt.ENTITY)
.setWhereCondField("gestione = 'V' AND codMdep = 'RG'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoRG.getStbPublicationsDetails().add(detailDtbOrdtRG);
StbPublicationsDetail detailDtbOrdrRG = new StbPublicationsDetail();
detailDtbOrdrRG
.setStbPublicationId(16L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdr.ENTITY)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'RG'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoRG.getStbPublicationsDetails().add(detailDtbOrdrRG);
impegnatoRG.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Roma)">
StbPublications impegnatoRoma = new StbPublications();
impegnatoRoma.setId(17L).setPublicationDescription("Sincronizzazione impegnato (Roma)");
impegnatoRoma.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtRM = new StbPublicationsDetail();
detailDtbOrdtRM
.setStbPublicationId(17L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdt.ENTITY)
.setWhereCondField("gestione = 'V' AND codMdep = 'RM'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoRoma.getStbPublicationsDetails().add(detailDtbOrdtRM);
StbPublicationsDetail detailDtbOrdrRM = new StbPublicationsDetail();
detailDtbOrdrRM
.setStbPublicationId(17L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdr.ENTITY)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'RM'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoRoma.getStbPublicationsDetails().add(detailDtbOrdrRM);
impegnatoRoma.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Verona)">
StbPublications impegnatoVR = new StbPublications();
impegnatoVR.setId(18L).setPublicationDescription("Sincronizzazione impegnato (Verona)");
impegnatoVR.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtVR = new StbPublicationsDetail();
detailDtbOrdtVR
.setStbPublicationId(18L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdt.ENTITY)
.setWhereCondField("gestione = 'V' AND codMdep = 'VR'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoVR.getStbPublicationsDetails().add(detailDtbOrdtVR);
StbPublicationsDetail detailDtbOrdrVR = new StbPublicationsDetail();
detailDtbOrdrVR
.setStbPublicationId(18L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdr.ENTITY)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'VR'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoVR.getStbPublicationsDetails().add(detailDtbOrdrVR);
impegnatoVR.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
} else {
//<editor-fold desc="sottoscrizione anagrafiche">
StbRemoteSubscription anagSubscription = new StbRemoteSubscription();
anagSubscription
.setActive(true)
.setPublicationId(10L)
.setPublicationDescription("Sincronizzazione anagrafiche clienti/fornitori")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setProfileDb("TOSCA_CLOUD")
.setOperation(OperationType.INSERT);
anagSubscription.manageWithParentConnection(advancedDataSource.getConnection());
;
//</editor-fold>
if (isCustomerDb(IntegryCustomerDB.Tosca_Ba)) {
StbRemoteSubscription syncImpegnatoBa = new StbRemoteSubscription();
syncImpegnatoBa.setActive(true)
.setPublicationId(11L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Ba)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoBa.manageWithParentConnection(advancedDataSource.getConnection());
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Ce)) {
StbRemoteSubscription syncImpegnatoCe = new StbRemoteSubscription();
syncImpegnatoCe.setActive(true)
.setPublicationId(12L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Caserta)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoCe.manageWithParentConnection(advancedDataSource.getConnection());
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Cz)) {
StbRemoteSubscription syncImpegnatoCz = new StbRemoteSubscription();
syncImpegnatoCz.setActive(true)
.setPublicationId(13L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Catanzaro)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoCz.manageWithParentConnection(advancedDataSource.getConnection());
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Fc)) {
StbRemoteSubscription syncImpegnatoFc = new StbRemoteSubscription();
syncImpegnatoFc.setActive(true)
.setPublicationId(14L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Forlì-Cesena)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoFc.manageWithParentConnection(advancedDataSource.getConnection());
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Mi)) {
StbRemoteSubscription syncImpegnatoMi = new StbRemoteSubscription();
syncImpegnatoMi.setActive(true)
.setPublicationId(15L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Milano)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoMi.manageWithParentConnection(advancedDataSource.getConnection());
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Rg)) {
StbRemoteSubscription syncImpegnatoRg = new StbRemoteSubscription();
syncImpegnatoRg.setActive(true)
.setPublicationId(16L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Ragusa)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoRg.manageWithParentConnection(advancedDataSource.getConnection());
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Rm)) {
StbRemoteSubscription syncImpegnatoRm = new StbRemoteSubscription();
syncImpegnatoRm.setActive(true)
.setPublicationId(17L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Roma)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoRm.manageWithParentConnection(advancedDataSource.getConnection());
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Vr)) {
StbRemoteSubscription syncImpegnatoVr = new StbRemoteSubscription();
syncImpegnatoVr.setActive(true)
.setPublicationId(18L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Verona)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoVr.manageWithParentConnection(advancedDataSource.getConnection());
}
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,25 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241001133030 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomer(IntegryCustomer.Tosca))
updateSetupValue("PICKING","SPEDIZIONE","FLAG_CAN_ADD_EXTRA_ITEMS","S");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -12,9 +12,7 @@ import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.entity.StbPublicationsDetail;
import it.integry.ems_model.entity.StbTransactionLog;
import it.integry.ems_model.types.OperationType;
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.*;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.josql.Query;
@@ -100,35 +98,37 @@ public class AsyncManager {
return 0;
String tableName = entityBase.getTableName().toUpperCase();
StbPublicationsDetail activePublication = cachedSetup.get(dbName).stream()
List<StbPublicationsDetail> activePublications = cachedSetup.get(dbName).stream()
.filter(x -> x.getEntityName().equalsIgnoreCase(tableName))
.findFirst()
.orElse(null);
.collect(Collectors.toList());
if (activePublication == null)
if (UtilityList.isNullOrEmpty(activePublications))
return 0;
//logger.debug("SYNC OFFLINE ABILITATA SU " + tableName);
List<EntityBase> myObjs = new ArrayList<>();
myObjs.add(entityBase);
for (StbPublicationsDetail activePublication : activePublications){
List<EntityBase> myObjs = new ArrayList<>();
myObjs.add(entityBase);
String selectSql = "SELECT * FROM " + entityBase.getClass().getCanonicalName();
if (!UtilityString.isNullOrEmpty(activePublication.getWhereCondField())) {
selectSql = selectSql + " WHERE " + activePublication.getWhereCondField();
String selectSql = "SELECT * FROM " + entityBase.getClass().getCanonicalName();
if (!UtilityString.isNullOrEmpty(activePublication.getWhereCondField())) {
selectSql = selectSql + " WHERE " + activePublication.getWhereCondField();
}
// Create a new Query.
Query q = new Query();
q.parse(selectSql);
QueryResults qr = q.execute(myObjs);
List<?> res = qr.getResults();
if (res == null || res.isEmpty())
continue;
return activePublication.getStbPublicationId();
}
// Create a new Query.
Query q = new Query();
q.parse(selectSql);
QueryResults qr = q.execute(myObjs);
List<?> res = qr.getResults();
if (res == null || res.isEmpty())
return 0;
return activePublication.getStbPublicationId();
return 0;
}
@@ -165,7 +165,7 @@ public class AsyncManager {
Long tmpTransactionGroupId = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(
connection, "SELECT MAX(group_id) AS max_id FROM " + StbTransactionLog.ENTITY);
tmpTransactionGroupId = tmpTransactionGroupId != 0 ? tmpTransactionGroupId : 0L;
tmpTransactionGroupId = UtilityLong.isNull(tmpTransactionGroupId,0L);
transactionGroupId = Math.max(maxToBeProcessed, tmpTransactionGroupId);
} else {

View File

@@ -943,8 +943,10 @@ public abstract class EntityBase implements Serializable, Cloneable, EntityInter
for (EntityBase entityChild : (List<EntityBase>) entityChildRef) {
entityChild.setOnlyPkMaster(false);
}
} else
((EntityBase) entityChildRef).setOnlyPkMaster(false);
} else {
if (entityChildRef != null)
((EntityBase) entityChildRef).setOnlyPkMaster(false);
}
}
transactionGroupId = AsyncManager.saveNewTransaction(connection, dbName, clonedEntity, publicationId, transactionGroupId);

View File

@@ -0,0 +1,17 @@
package it.integry.ems_model.utility;
public class UtilityLong {
public static Long isNull(Long valOrig, Long valDef) {
return valOrig==null?valDef:valOrig;
}
public static boolean isNullOrZero(Long numCollo) {
return numCollo == null || numCollo == 0;
}
public static Long stringToLong(String str) {
if (!UtilityString.isNullOrEmpty(str)) { return Long.parseLong(str); }
return null;
}
}

View File

@@ -36,19 +36,11 @@ public class ToscaSalesService {
private EntityProcessor entityProcessor;
public void importOrdiniLavorazione() {
}
public void importOrdiniVendita(MultipartFile file) throws Exception {
InputStream inputStream = file.getInputStream();
List<ToscaOrdineVenditaDTO> ordiniDaImportare = parseFile(inputStream);
List<Date> invalidDates = ordiniDaImportare.stream().map(ToscaOrdineVenditaDTO::getDateTransaction).distinct().filter(d -> d.before(UtilityDate.getStartOfDay(new Date()))).collect(Collectors.toList());
if (!UtilityList.isNullOrEmpty(invalidDates))
throw new Exception("Caricare l'impegnato per giorni passati non è consentito");
importAnagrafiche(ordiniDaImportare);
Map<String, List<ToscaOrdineVenditaDTO>> ordini = ordiniDaImportare.stream().collect(Collectors.groupingBy(ToscaOrdineVenditaDTO::getTransactionNumber));