From 99680dccd84166ffbeab6b7cf10b0ac74f3e19f9 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 11 Dec 2025 11:21:14 +0100 Subject: [PATCH] Creata nuova utility getMtbUntMisFromCodMart --- .../ems/rules/completing/CommonRules.java | 2 +- .../ems/utility/entity/MtbUntMisUtils.java | 34 +++++++++++++++++++ .../src/main/resources/rules/logistic.drl | 14 ++++---- 3 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 ems-core/src/main/java/it/integry/ems/utility/entity/MtbUntMisUtils.java diff --git a/ems-core/src/main/java/it/integry/ems/rules/completing/CommonRules.java b/ems-core/src/main/java/it/integry/ems/rules/completing/CommonRules.java index a830b63e4b..1e4a9578c6 100644 --- a/ems-core/src/main/java/it/integry/ems/rules/completing/CommonRules.java +++ b/ems-core/src/main/java/it/integry/ems/rules/completing/CommonRules.java @@ -730,7 +730,7 @@ public class CommonRules extends QueryRules { public static String completeFlagQtaCnfFissa(Connection connection, IntegryCustomerDB customerDB, String codMart) { final EntityCacheComponent entityCacheComponent = ApplicationContextProvider.getApplicationContext().getBean(EntityCacheComponent.class); - final List cachedMtbAarts = entityCacheComponent.getCachedEntitiesList(customerDB, MtbAart.ENTITY, x -> x.getCodMart().equals(codMart)); + final List cachedMtbAarts = entityCacheComponent.getCachedEntitiesList(customerDB, MtbAart.ENTITY, x -> x.getCodMart().equalsIgnoreCase(codMart)); if (cachedMtbAarts == null || cachedMtbAarts.isEmpty()) return null; diff --git a/ems-core/src/main/java/it/integry/ems/utility/entity/MtbUntMisUtils.java b/ems-core/src/main/java/it/integry/ems/utility/entity/MtbUntMisUtils.java new file mode 100644 index 0000000000..1b921c3336 --- /dev/null +++ b/ems-core/src/main/java/it/integry/ems/utility/entity/MtbUntMisUtils.java @@ -0,0 +1,34 @@ +package it.integry.ems.utility.entity; + +import it.integry.ems._context.ApplicationContextProvider; +import it.integry.ems.dynamic_cache.EntityCacheComponent; +import it.integry.ems.migration._base.IntegryCustomerDB; +import it.integry.ems_model.entity.MtbAart; +import it.integry.ems_model.entity.MtbUntMis; + +import java.sql.SQLException; + +public class MtbUntMisUtils { + + public static final MtbUntMis getMtbUntMisFromCodMart(IntegryCustomerDB customerDB, String codMart) throws SQLException { + final EntityCacheComponent entityCacheComponent = ApplicationContextProvider.getApplicationContext().getBean(EntityCacheComponent.class); + + MtbAart mtbAart = entityCacheComponent.getCachedEntitiesStream(customerDB, MtbAart.ENTITY, + x -> x.getCodMart().equalsIgnoreCase(codMart)) + .findFirst() + .orElse(null); + + if (mtbAart != null) { + return null; + } + + + final MtbUntMis mtbUntMis = entityCacheComponent.getCachedEntitiesStream(customerDB, MtbUntMis.ENTITY, + x -> x.getUntMis().equalsIgnoreCase(mtbAart.getUntMis())) + .findFirst() + .orElse(null); + + return mtbUntMis; + } + +} diff --git a/ems-core/src/main/resources/rules/logistic.drl b/ems-core/src/main/resources/rules/logistic.drl index f695a1c589..86d23365ac 100644 --- a/ems-core/src/main/resources/rules/logistic.drl +++ b/ems-core/src/main/resources/rules/logistic.drl @@ -18,6 +18,7 @@ import java.time.LocalDate import it.integry.ems_model.utility.UtilityLocalDate; import it.integry.ems.migration._base.IntegryCustomerDB; import it.integry.ems.migration._base.IntegryCustomer +import it.integry.ems.utility.entity.MtbUntMisUtils global Connection conn global String username @@ -225,14 +226,13 @@ when eval(completeRulesEnabled) $entity : MtbColr(artAPeso == null && codMart != null ) then - String sql = - "SELECT CASE WHEN dbo.f_getTipoUntMis(mtb_aart.unt_mis) = 'KG' THEN 'S' ELSE 'N' END " + - " FROM mtb_aart WHERE cod_mart = " + UtilityDB.valueToString($entity.getCodMart()); + MtbUntMis mtbUntMis = MtbUntMisUtils.getMtbUntMisFromCodMart(customerDb, $entity.getCodMart()); + + String artAPeso = "N"; + + if (mtbUntMis != null) + artAPeso = "KG".equalsIgnoreCase(mtbUntMis.getUntMis()) ? "S" : "N"; - String artAPeso = (String) QueryRules.getSingleValue(conn, sql); - if (artAPeso == null ) { - artAPeso = "N"; - } modify ( $entity ) { setArtAPeso(artAPeso) } end