[Consegna] Fix sincronizzazione incasso
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2024-12-23 12:15:53 +01:00
parent 1470364637
commit 8f79fc7c65
4 changed files with 50 additions and 9 deletions

View File

@@ -68,7 +68,11 @@ public class EntityProcessor {
return processEntity(entity, false, multiDBTransactionManager);
}
public <T> T processEntity(EntityInterface entity, boolean skipCommit, MultiDBTransactionManager multiDBTransactionManager) throws Exception {
public <T> T processEntity(EntityInterface entity, MultiDBTransactionManager multiDBTransactionManager, boolean completeEntity) throws Exception {
return processEntity(entity, false, multiDBTransactionManager, completeEntity);
}
public <T> 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> T processEntity(EntityInterface entity, boolean skipCommit, MultiDBTransactionManager multiDBTransactionManager) throws Exception {
return processEntity(entity, skipCommit, multiDBTransactionManager, true);
}
public EntityBase processEntity(EntityInterface entity, Boolean isSync,

View File

@@ -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

View File

@@ -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() {

View File

@@ -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);
}
}