diff --git a/ems-core/src/main/java/it/integry/ems/service/EntityProcessor.java b/ems-core/src/main/java/it/integry/ems/service/EntityProcessor.java index d8103bcb63..51d14dc17e 100644 --- a/ems-core/src/main/java/it/integry/ems/service/EntityProcessor.java +++ b/ems-core/src/main/java/it/integry/ems/service/EntityProcessor.java @@ -68,7 +68,11 @@ public class EntityProcessor { return processEntity(entity, false, multiDBTransactionManager); } - public T processEntity(EntityInterface entity, boolean skipCommit, MultiDBTransactionManager multiDBTransactionManager) throws Exception { + public T processEntity(EntityInterface entity, MultiDBTransactionManager multiDBTransactionManager, boolean completeEntity) throws Exception { + return processEntity(entity, false, multiDBTransactionManager, completeEntity); + } + + public T processEntity(EntityInterface entity, boolean skipCommit, MultiDBTransactionManager multiDBTransactionManager, boolean completeEntity) throws Exception { final RequestDataDTO requestDataDTO = ContextLoader.getCurrentWebApplicationContext().getBean(RequestDataDTO.class); String username = ""; @@ -77,7 +81,11 @@ public class EntityProcessor { username = requestDataDTO.getUsername(); } - return (T) processEntity(entity, true, skipCommit, username, multiDBTransactionManager, requestDataDTO, true, false); + return (T) processEntity(entity, true, skipCommit, username, multiDBTransactionManager, requestDataDTO, completeEntity, false); + } + + public T processEntity(EntityInterface entity, boolean skipCommit, MultiDBTransactionManager multiDBTransactionManager) throws Exception { + return processEntity(entity, skipCommit, multiDBTransactionManager, true); } public EntityBase processEntity(EntityInterface entity, Boolean isSync, diff --git a/ems-core/src/main/resources/rules/vendite.drl b/ems-core/src/main/resources/rules/vendite.drl index eebf31777f..7f95436291 100644 --- a/ems-core/src/main/resources/rules/vendite.drl +++ b/ems-core/src/main/resources/rules/vendite.drl @@ -6,6 +6,7 @@ import it.integry.ems_model.entity.* import it.integry.ems_model.base.EntityBase import it.integry.ems.rules.util.* import it.integry.ems.rules.completing.* +import it.integry.ems_model.utility.UtilityDB import it.integry.ems_model.types.OperationType import it.integry.ems.sync.MultiDBTransaction.Connection; @@ -25,6 +26,20 @@ then modify ( $vtbDistIncat ) { setNumDist(numDist) } end +rule "completeDescrizPagaDistinta" +no-loop +when + eval(completeRulesEnabled) + $vtbDistIncar : VtbDistIncar(descrizPaga == null && codPaga != null) +then + String sql = "SELECT descrizione FROM gtb_paga WHERE cod_paga = " + UtilityDB.valueToString($vtbDistIncar.getCodPaga()); + String descrPaga = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql); + + modify($vtbDistIncar){ + setDescrizPaga(descrPaga) + } +end + rule "completeFlagTipoFatturazione" no-loop when diff --git a/ems-engine/src/main/java/it/integry/ems/logistic/conSegna/dto/SospesiClienteDTO.java b/ems-engine/src/main/java/it/integry/ems/logistic/conSegna/dto/SospesiClienteDTO.java index 19b75650b1..1b31ca733a 100644 --- a/ems-engine/src/main/java/it/integry/ems/logistic/conSegna/dto/SospesiClienteDTO.java +++ b/ems-engine/src/main/java/it/integry/ems/logistic/conSegna/dto/SospesiClienteDTO.java @@ -1,5 +1,7 @@ package it.integry.ems.logistic.conSegna.dto; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeName; import it.integry.ems_model.annotation.SqlField; import java.math.BigDecimal; @@ -39,8 +41,11 @@ public class SospesiClienteDTO { private BigDecimal importoPagato; + @JsonProperty(value = "contanti") private boolean contanti; + @JsonProperty(value = "assegni") private boolean assegni; + @JsonProperty(value = "carte") private boolean carte; public String getCodAnag() { diff --git a/ems-engine/src/main/java/it/integry/ems/logistic/conSegna/service/ConSegnaService.java b/ems-engine/src/main/java/it/integry/ems/logistic/conSegna/service/ConSegnaService.java index d20eb8693d..8298eab615 100644 --- a/ems-engine/src/main/java/it/integry/ems/logistic/conSegna/service/ConSegnaService.java +++ b/ems-engine/src/main/java/it/integry/ems/logistic/conSegna/service/ConSegnaService.java @@ -4,15 +4,10 @@ import it.integry.ems.logistic.conSegna.dto.*; import it.integry.ems.service.EntityProcessor; import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; -import it.integry.ems.utility.UtilityEntity; -import it.integry.ems_model.entity.DtbDocr; -import it.integry.ems_model.entity.StbFilesAttached; -import it.integry.ems_model.entity.VtbDistIncar; -import it.integry.ems_model.entity.VtbDistIncat; +import it.integry.ems_model.entity.*; import it.integry.ems_model.types.OperationType; import it.integry.ems_model.utility.Query; import it.integry.ems_model.utility.UtilityDB; -import org.josql.expressions.SelectItemExpression; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; @@ -43,6 +38,7 @@ public class ConSegnaService { " dtb_doct.cod_anag,\n" + " dtb_doct.cod_dtip,\n" + " dtb_doct.ser_doc,\n" + + " dtb_doct.annotazioni AS note,\n" + " dtb_doct.data_doc,\n" + " IIF(dtb_tipi.segno_qta_scar > 0, dtb_doct.num_colli, NULL) AS num_colli,\n" + " dtb_doct.cod_vdes,\n" + @@ -224,6 +220,23 @@ public class ConSegnaService { } public void syncDocumenti(DatiConsegneDTO datiConsegna) throws Exception { - return; + String sql = Query.format( + "SELECT *\n" + + "FROM dtb_doct\n" + + "WHERE data_doc = %s\n" + + " AND ser_doc = %s\n" + + " AND cod_dtip = %s\n" + + " AND cod_anag = %s\n" + + " AND num_doc = %s", + datiConsegna.getDataDoc(), datiConsegna.getSerDoc(), datiConsegna.getCodDtip(), datiConsegna.getCodAnag(), datiConsegna.getNumDoc() + ); + + DtbDoct dtbDoct = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), sql, DtbDoct.class); + + dtbDoct + .setAnnotazioni(datiConsegna.getNote()) + .setOperation(OperationType.UPDATE); + + entityProcessor.processEntity(dtbDoct, multiDBTransactionManager, false); } } \ No newline at end of file