From 64d077df8b593f1d2b0435888551a532f5521b67 Mon Sep 17 00:00:00 2001 From: MinaR Date: Wed, 10 Apr 2024 17:48:57 +0200 Subject: [PATCH] =?UTF-8?q?Sistemare=20val=20premio=20nell'importazione=20?= =?UTF-8?q?dei=20listini=20di=20apulia=20e=20aggiunta=20possibilit=C3=A0?= =?UTF-8?q?=20di=20importare=20la=20percentuale=20del=20premio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/Migration_20240410173200.java | 23 +++++++++++++++++++ ...ListiniAcquistoApuliaCarrefourService.java | 15 ++++++------ 2 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240410173200.java diff --git a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240410173200.java b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240410173200.java new file mode 100644 index 0000000000..f9b518e74d --- /dev/null +++ b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240410173200.java @@ -0,0 +1,23 @@ +package it.integry.ems.migration.model; + +import it.integry.ems.migration._base.BaseMigration; +import it.integry.ems.migration._base.MigrationModelInterface; + +public class Migration_20240410173200 extends BaseMigration implements MigrationModelInterface { + + @Override + public void up() throws Exception { + if (isHistoryDB()) + return; + + + createSetup("IMPORT_LISTINI ACQUISTO", "APULIA_CARREFOUR", "SET_PERC_PREMIO", null, "inserisce sul listino al percentuale del premio prensente nella setup solo se viene importato il prezzo lordo e quindi riscontriamo nella tabella del prezzo netto un prezzo diverso", false, "SI_NO", false, false, false, false, false, null, false); + createSetup("IMPORT_LISTINI ACQUISTO", "APULIA_CARREFOUR", "PERC_PREMIO", null, null, false, null, false, false, false, false, false, null, false); + } + + @Override + public void down() throws Exception { + + } + +} diff --git a/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportListiniAcquistoApuliaCarrefourService.java b/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportListiniAcquistoApuliaCarrefourService.java index 91b023d990..5b9f95873e 100644 --- a/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportListiniAcquistoApuliaCarrefourService.java +++ b/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ImportListiniAcquistoApuliaCarrefourService.java @@ -126,7 +126,7 @@ public class ImportListiniAcquistoApuliaCarrefourService { + " apulia.unt_mis_acq AS unt_mis_acq," + " apulia.qta_cnf AS qta_cnf," + " apulia.colli_x_pedane AS colli_x_pedane," - + " CASE WHEN lisa.cod_art_for IS NULL THEN apulia.prz_ven_sugg ELSE NULL END AS prz_ven_sug," + + " CASE WHEN lisa.cod_art_for IS NULL THEN apulia.prz_base_prop ELSE NULL END AS prz_ven_sug," + " CASE WHEN lisa.cod_art_for IS NULL AND apulia.cod_art_for is not null THEN 'I' " + "WHEN lisa.cod_art_for IS NOT NULL AND apulia.cod_art_for is null THEN 'D' " + "ELSE 'U' END AS tipo_variazione, " @@ -138,12 +138,11 @@ public class ImportListiniAcquistoApuliaCarrefourService { + " apulia.cod_aliq, " + " apulia.prz_base_prop, " + " apulia.perc_premio as prec_promo," - + " apulia.val_premio as val_promo " + + " ISNULL(apulia.val_premio, 0) as val_promo " + "FROM (SELECT DISTINCT mtb_lisa_apulia_succ.cod_alis, " + " mtb_lisa_apulia_succ.data_prz_acq," + " mtb_lisa_apulia_succ.cod_art_for AS cod_art_for," + " mtb_lisa_apulia_succ.prz_acq AS prz_acq, " - + " CONVERT(numeric(20,5), ISNULL(mtb_lisa_apulia_succ.prz_acq, 0) ) AS val_promo," + " mtb_lisa_apulia_succ.descrizione," + " mtb_lisa_apulia_succ.barcode," + " mtb_lisa_apulia_succ.descrizione_divisione_forn," @@ -238,7 +237,6 @@ public class ImportListiniAcquistoApuliaCarrefourService { " mtb_lisa_apulia_succ.data_prz_acq AS data_iniz,\n" + " mtb_lisa_apulia_succ.cod_art_for AS cod_art_for,\n" + " mtb_lisa_apulia_succ.prz_acq AS prz_acq,\n" + - " CONVERT(NUMERIC(20, 5), ISNULL(mtb_lisa_apulia_succ.prz_acq, 0)) AS val_promo,\n" + " mtb_lisa_apulia_succ.descrizione AS descr_art_forn,\n" + " mtb_lisa_apulia_succ.barcode AS cod_barre,\n" + " mtb_lisa_apulia_succ.unt_mis_acq,\n" + @@ -249,7 +247,7 @@ public class ImportListiniAcquistoApuliaCarrefourService { " mtb_lisa_apulia_succ.cod_aliq,\n" + " mtb_lisa_apulia_succ.prz_base_prop as prz_vend_sug,\n" + " mtb_lisa_apulia_succ.perc_premio as perc_promo,\n" + - " mtb_lisa_apulia_succ.val_premio as val_promo\n" + + " IsNull(mtb_lisa_apulia_succ.val_premio, 0) as val_promo\n" + "FROM mtb_lisa_apulia_succ\n" + "WHERE mtb_lisa_apulia_succ.data_prz_acq > " + UtilityDB.valueDateToString(dataImport, CommonConstants.DATE_FORMAT_YMD) + "\n" + " AND mtb_lisa_apulia_succ.cod_alis NOT IN (SELECT value_string AS cod_alis\n" + @@ -260,7 +258,7 @@ public class ImportListiniAcquistoApuliaCarrefourService { " '|'))"; List mtbLisaData = new ResultSetMapper() - .mapQuerySetToList(conn, sql, MtbLisaData.class, OperationType.INSERT); + .mapQuerySetToList(conn, sql, MtbLisaData.class, OperationType.INSERT_OR_UPDATE); if (mtbLisaData != null) { Stream.of(mtbLisaData) .forEach( @@ -337,6 +335,9 @@ public class ImportListiniAcquistoApuliaCarrefourService { for (Map.Entry> listino : listini) { AtbListData atbListData = listino.getKey(); + if ( UtilityLocalDate.isAfterToday(UtilityLocalDate.localDateTimeFromDate(atbListData.getDataIniz()))) + atbListData.setOperation(OperationType.INSERT_OR_UPDATE); + atbListData.setMtbLisaData(listino.getValue()); entityProcessor.processEntity(atbListData, multiDBTransactionManager); try{ @@ -562,7 +563,7 @@ public class ImportListiniAcquistoApuliaCarrefourService { String columnPrzAcq = "CAST(REPLACE(tabp.prz_acq, ',', '.') AS NUMERIC(20, 5)) "; String columnValPremio = "CAST(0 AS NUMERIC)"; if (!importPrezzoNetto) - columnValPremio = "case when premi.cod_art_for IS not null then [COLUMN_PRZ_ACQ] - premi.prz_acq_netto ELSE 0 END "; + columnValPremio = "case when premi.cod_art_for IS not null AND premi.prz_acq_netto <> 0 then [COLUMN_PRZ_ACQ] - premi.prz_acq_netto ELSE 0 END "; sql = "INSERT INTO mtb_lisa_apulia_succ\n" +