From ee96e8e91b9ca2ab7b9a7a439ecb1edb66421470 Mon Sep 17 00:00:00 2001 From: MinaR Date: Wed, 15 May 2024 16:39:30 +0200 Subject: [PATCH] aggiunta cancellazione movimenti contabili --- .../service/RossoGarganoSyncService.java | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/ems-engine/src/main/java/it/integry/ems/contabil/service/RossoGarganoSyncService.java b/ems-engine/src/main/java/it/integry/ems/contabil/service/RossoGarganoSyncService.java index e4d465b093..f3935e17e2 100644 --- a/ems-engine/src/main/java/it/integry/ems/contabil/service/RossoGarganoSyncService.java +++ b/ems-engine/src/main/java/it/integry/ems/contabil/service/RossoGarganoSyncService.java @@ -72,6 +72,9 @@ public class RossoGarganoSyncService { savePdc(rgExchange.getConnection()); logger.info("Importazione agenti: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs"); + deleteCtbMovt(rgExchange.getConnection()); + logger.info("Cancellazione movimenti contabili: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs"); + String sql = "SELECT CAST(FORMAT(DATEPART(YEAR, data_iniz), '0000') +\n" + " FORMAT(DATEPART(MONTH, data_iniz), '00') +\n" + @@ -109,6 +112,26 @@ public class RossoGarganoSyncService { logger.info("Importazione altri movimenti contabili: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs"); } + private void deleteCtbMovt(Connection sourceData) throws Exception { + String sql = + "SELECT m.num_cmov\n" + + "FROM " + multiDBTransactionManager.getPrimaryDatasource().getDbName() + ".dbo.rg_crl_movt m\n" + + "WHERE NOT EXISTS (SELECT *\n" + + " FROM pnota\n" + + " WHERE pnota.pn_data_competenza = m.pn_data_competenza AND pnota.pn_nro_reg = m.pn_nro_reg)\n"; + + List listNumCmov = UtilityDB.executeSimpleQueryOnlyFirstColumn(sourceData, sql); + + for ( Integer numCmov : listNumCmov) { + CtbMovt ctbMovt = + new CtbMovt().setNumCmov(numCmov); + ctbMovt.setOperation(OperationType.DELETE); + + entityProcessor.processEntity(ctbMovt, true, multiDBTransactionManager); + UtilityEntity.throwEntityException(ctbMovt); + } + } + private void saveCtbMovt(Connection sourceData, String whereCond, BigDecimal dataIniz, BigDecimal dataFine) throws Exception { String sql = Query.format( @@ -705,21 +728,17 @@ public class RossoGarganoSyncService { " , conti AS (SELECT *\n" + " FROM mov\n" + " WHERE pn_cod_anag NOT IN (SELECT diacod\n" + - " FROM rossogargano.dbo.ctb_cont\n" + + " FROM " + multiDBTransactionManager.getPrimaryDatasource().getDbName() + ".dbo.ctb_cont\n" + " WHERE diacod IS NOT NULL\n" + " UNION\n" + " SELECT diacod\n" + - " FROM rossogargano.dbo.gtb_anag\n" + + " FROM " + multiDBTransactionManager.getPrimaryDatasource().getDbName() + ".dbo.gtb_anag\n" + " WHERE diacod IS NOT NULL))\n" + " , conti_new AS (SELECT SUBSTRING(cl_codice, 2, 4) AS cod_cmas,\n" + " SUBSTRING(cl_codice, 2, 2) AS cod_cgrp,\n" + " cl_ragione_soc AS descrizione,\n" + - " NULL AS tipo_riep,\n" + " 0 AS saldo_att,\n" + " 'N' AS flag_cont_att,\n" + - " NULL AS cod_biva,\n" + - " NULL AS cod_jfas,\n" + - " NULL AS cod_csct,\n" + " 'N' AS flag_risconto,\n" + " 0 AS perc_ded,\n" + " cl_codice AS diacod\n" +