From ba1e8bb41c5f87a11a9e44eded599a94a92de155 Mon Sep 17 00:00:00 2001 From: AnthonyS Date: Tue, 30 Sep 2025 16:36:05 +0200 Subject: [PATCH] Fix creazione documento ddtp per documenti con costo acquirente --- .../service/DocumentiDirettiService.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/ems-engine/src/main/java/it/integry/ems/document/service/DocumentiDirettiService.java b/ems-engine/src/main/java/it/integry/ems/document/service/DocumentiDirettiService.java index 94bce71e6d..10d3e162c8 100644 --- a/ems-engine/src/main/java/it/integry/ems/document/service/DocumentiDirettiService.java +++ b/ems-engine/src/main/java/it/integry/ems/document/service/DocumentiDirettiService.java @@ -122,12 +122,21 @@ public class DocumentiDirettiService { entityRet = entityProcessor.processEntityList(mtbLisaCostoData, true); UtilityEntity.throwEntitiesException(entityRet); } - } else if (gestione.equalsIgnoreCase("V") && !UtilityString.isNullOrEmpty(dtbDoct.getCodFornTrasp()) && + } else if (gestione.equalsIgnoreCase("V") && TipoEmissione.valueOf(UtilityHashMap.getValueIfExists(datiTipoDoc, "tipo_emissione")) == TipoEmissione.DIRETTA && !dtbDoct.getDtbDocImb().isEmpty() && salvaImballiAttiva) { - DtbDoct dtbDoctSave = - entityRet.stream().filter(x -> x instanceof DtbDoct && ((DtbDoct) x).getCodDtip().equals(dtbDoct.getCodDtip())).map(x -> (DtbDoct) x).findFirst().orElse(null); - saveDocImballi(dtbDoctSave, isInsert); + sql = + Query.format( + "SELECT costo FROM gtb_porto WHERE porto = %s", + dtbDoct.getIncoterms()); + + GtbPorto porto = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), sql, GtbPorto.class); + + if ((porto != null && porto.getCosto() == GtbPorto.Costo.ACQUIRENTE) || !UtilityString.isNullOrEmpty(dtbDoct.getCodFornTrasp())) { + DtbDoct dtbDoctSave = + entityRet.stream().filter(x -> x instanceof DtbDoct && ((DtbDoct) x).getCodDtip().equals(dtbDoct.getCodDtip())).map(x -> (DtbDoct) x).findFirst().orElse(null); + saveDocImballi(dtbDoctSave, isInsert); + } } multiDBTransactionManager.commitAll();