From 0dd3403946fd4f725ccb58617e41a9b8ac3910dd Mon Sep 17 00:00:00 2001 From: MarcoE Date: Tue, 9 Jul 2024 17:25:12 +0200 Subject: [PATCH] Fix customer id null e fix target quantity --- .../Import/service/ProductionPlanService.java | 30 ++++++++++++++----- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/ems-engine/src/main/java/it/integry/ems/production/Import/service/ProductionPlanService.java b/ems-engine/src/main/java/it/integry/ems/production/Import/service/ProductionPlanService.java index 805f182fd7..1c0ee878f4 100644 --- a/ems-engine/src/main/java/it/integry/ems/production/Import/service/ProductionPlanService.java +++ b/ems-engine/src/main/java/it/integry/ems/production/Import/service/ProductionPlanService.java @@ -1160,6 +1160,8 @@ public class ProductionPlanService { // Import clienti + List businessPartners = new ArrayList<>(); + List listCodJcom = dtbOrdrPianProdList.stream() .map(DtbOrdrPianProd::getCodJcom) .filter(codJcom -> !UtilityString.isNullOrEmpty(codJcom)) @@ -1176,20 +1178,33 @@ public class ProductionPlanService { "WHERE cod_jcom IN (%s)", UtilityQuery.concatStringFieldsWithSeparator(listCodJcom, ",") ); - } else { + + List tempBusinessPartners = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, BusinessPartnerData.class); + + if (!UtilityList.isNullOrEmpty(tempBusinessPartners)) { + businessPartners.addAll(tempBusinessPartners); + } + } + + if (businessPartners.size() < dtbOrdrPianProdList.size()) { String codJfasSede = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "PVM", "PIANIFICAZIONE_PRODUZIONE_ORTO", "COD_JFAS"); sql = Query.format( - "SELECT ga.cod_anag AS id,\n" + - " ga.cod_anag AS code,\n" + - " ga.rag_soc AS name\n" + + "SELECT ga.cod_anag AS id,\n" + + " ga.cod_anag AS code,\n" + + " ga.rag_soc AS name,\n" + + " CAST(NULL AS VARCHAR) AS cod_jcom\n" + "FROM gtb_anag ga\n" + " INNER JOIN mtb_depo md ON ga.cod_anag = md.cod_anag AND md.cod_jfas = %s", codJfasSede ); - } - List businessPartners = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, BusinessPartnerData.class); + List tempBusinessPartners = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, BusinessPartnerData.class); + + if (!UtilityList.isNullOrEmpty(tempBusinessPartners)) { + businessPartners.addAll(tempBusinessPartners); + } + } if (!UtilityList.isNullOrEmpty(businessPartners)) { businessPartners.forEach(businessPartner -> businessPartner.setIsCustomer(true)); @@ -1441,10 +1456,9 @@ public class ProductionPlanService { .divide(BigDecimal.valueOf(requestOrder.getUnitsPerPalletLayer()), RoundingMode.HALF_EVEN).intValue()) .setTargetQuantity(dtbOrdrPianProd.getQtaOrd() .divide(UtilityBigDecimal.isNull(article.getQtaCnf(), BigDecimal.ONE), RoundingMode.HALF_EVEN) - .divide(UtilityBigDecimal.isNull(article.getColliPedana(), BigDecimal.ONE), RoundingMode.HALF_EVEN) .doubleValue() ) - .setTargetQuantityUnit(TargetQuantityUnit.TERTIARY_PACKAGING); + .setTargetQuantityUnit(TargetQuantityUnit.SECONDARY_PACKAGING); }); }