Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-12-11 16:31:09 +01:00
2 changed files with 73 additions and 41 deletions

View File

@@ -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_20251211162655 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetupQuery("SI_NO", "SI_NO", "SELECT 'S' UNION ALL SELECT 'N'");
createSetup("PVM", "ORDINI_V_SLIM2K", "EXPORT_ORDINI", "N",
"Esporta gli ordini già esportati", false, "SI_NO", false, false,
false, false, false, null, false, "SELECT 'S' UNION ALL SELECT 'N'");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -10,11 +10,13 @@ import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.base.EntityBase; import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.entity.DtbOrdr; import it.integry.ems_model.entity.DtbOrdr;
import it.integry.ems_model.entity.DtbOrdt; import it.integry.ems_model.entity.DtbOrdt;
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.Query;
import it.integry.ems_model.utility.UtilityBigDecimal; import it.integry.ems_model.utility.UtilityBigDecimal;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
@@ -26,6 +28,9 @@ public class OrdiniVSlim2kService {
private final EntityProcessor entityProcessor; private final EntityProcessor entityProcessor;
private final EmsServices emsServices; private final EmsServices emsServices;
@Autowired
private SetupGest setupGest;
public OrdiniVSlim2kService(EntityProcessor entityProcessor, EmsServices emsServices) { public OrdiniVSlim2kService(EntityProcessor entityProcessor, EmsServices emsServices) {
this.entityProcessor = entityProcessor; this.entityProcessor = entityProcessor;
this.emsServices = emsServices; this.emsServices = emsServices;
@@ -43,7 +48,7 @@ public class OrdiniVSlim2kService {
List<HashMap<String, Object>> articoli = new ArrayList<>(); List<HashMap<String, Object>> articoli = new ArrayList<>();
List<HashMap<String, Object>> export = new ArrayList<>(); List<HashMap<String, Object>> export = new ArrayList<>();
for(DtbOrdt ord : groupOrdini.keySet()) { for (DtbOrdt ord : groupOrdini.keySet()) {
for (DtbOrdr dtbOrdr : groupOrdini.get(ord)) { for (DtbOrdr dtbOrdr : groupOrdini.get(ord)) {
String sql = String sql =
Query.format("SELECT * FROM dtb_ordt WHERE gestione = %s AND data_ord = %s AND num_ord = %s", Query.format("SELECT * FROM dtb_ordt WHERE gestione = %s AND data_ord = %s AND num_ord = %s",
@@ -73,12 +78,14 @@ public class OrdiniVSlim2kService {
} }
entityProcessor.processEntity(ord, multiDBTransactionManager, false); entityProcessor.processEntity(ord, multiDBTransactionManager, false);
boolean exportOrdini = setupGest.getSetupBoolean(multiDBTransactionManager.getPrimaryConnection(), "PVM", "ORDINI_V_SLIM2K", "EXPORT_ORDINI");
if (ord.getDataEsportazione() != null && exportOrdini) {
DtbOrdt finalOrd = ord; DtbOrdt finalOrd = ord;
Optional<HashMap<String, Object>> exportOpt = export.stream() Optional<HashMap<String, Object>> exportOpt = export.stream()
.filter(x -> ((String) x.get("cod_anag")).equalsIgnoreCase(finalOrd.getCodAnag())).findFirst(); .filter(x -> ((String) x.get("cod_anag")).equalsIgnoreCase(finalOrd.getCodAnag())).findFirst();
HashMap<String, Object> datiExport; HashMap<String, Object> datiExport;
if ( exportOpt.isPresent() ) { if (exportOpt.isPresent()) {
datiExport = exportOpt.get(); datiExport = exportOpt.get();
} else { } else {
String query = String query =
@@ -118,6 +125,7 @@ public class OrdiniVSlim2kService {
} }
} }
} }
}
return entities; return entities;
} }
} }