diff --git a/ems-engine/src/main/java/it/integry/ems/activity/service/ActivityService.java b/ems-engine/src/main/java/it/integry/ems/activity/service/ActivityService.java index c9a3f67ed2..665416f34a 100644 --- a/ems-engine/src/main/java/it/integry/ems/activity/service/ActivityService.java +++ b/ems-engine/src/main/java/it/integry/ems/activity/service/ActivityService.java @@ -924,15 +924,6 @@ public class ActivityService { " ISNULL(parent.activity_description, 'Altre Attività') AS 'parent_activity_description',\n" + " creator.full_name AS 'user_creator_name',\n" + " parent.activity_type_id AS 'parent_activity_type',\n" + - " CASE\n" + - " WHEN stb_activity_result.flag_stato_attivita IS NULL THEN 0 --backlog\n" + - " WHEN stb_activity_result.flag_stato_attivita = 0 THEN 1 --programmato\n" + - " WHEN stb_activity_result.flag_stato_attivita = 1 THEN 2 --in corso\n" + - " WHEN stb_activity_result.flag_stato_attivita = 2 AND\n" + - " stb_activity_result.flag_activity_result = -1 THEN 3 --sospesa\n" + - " WHEN stb_activity_result.flag_stato_attivita = 2 AND\n" + - " stb_activity_result.flag_activity_result = 1 THEN 4 --test\n" + - " ELSE 5 /*completata*/ END AS stato_attivita,\n" + " CAST(ISNULL(integry_tag.is_bug, 0) AS BIT) AS is_bug,\n" + " integry_tag.tags,\n" + " DENSE_RANK() OVER (ORDER BY parent.project_description, parent.activity_description) AS 'id_processo',\n" + @@ -972,8 +963,6 @@ public class ActivityService { " ON stb_activity.parent_activity_id = parent.activity_id\n" + " WHERE stb_activity.flag_tipologia = 'P') parent\n" + " ON stb_activity.parent_activity_id = parent.activity_id\n" + - " LEFT OUTER JOIN stb_activity_result\n" + - " ON stb_activity.activity_result_id = stb_activity_result.activity_result_id\n" + " LEFT OUTER JOIN integry_tag ON stb_activity.activity_id = integry_tag.activity_id\n"; if (daInstallare) { @@ -1038,7 +1027,16 @@ public class ActivityService { " CAST(ISNULL(sottoattivita.done_previous_month, 0) AS BIT) AS done_previous_month,\n" + " CAST(ISNULL(sottoattivita.done_this_quarter, 0) AS BIT) AS done_this_quarter,\n" + " CAST(ISNULL(sottoattivita.done_previous_quarter, 0) AS BIT) AS done_previous_quarter,\n" + - " stato_attivita,\n" + + " CASE\n" + + " WHEN stb_activity_result.flag_stato_attivita IS NULL and ISNULL(sottoattivita.ore, 0) = 0 THEN 0 --backlog\n" + + " WHEN stb_activity_result.flag_stato_attivita = 0 THEN 1 --programmato\n" + + " WHEN stb_activity_result.flag_stato_attivita IS NULL and ISNULL(sottoattivita.ore, 0) <> 0 THEN 2 --in corso\n" + + " WHEN stb_activity_result.flag_stato_attivita = 1 THEN 2 --in corso\n" + + " WHEN stb_activity_result.flag_stato_attivita = 2 AND\n" + + " stb_activity_result.flag_activity_result = -1 THEN 3 --sospesa\n" + + " WHEN stb_activity_result.flag_stato_attivita = 2 AND\n" + + " stb_activity_result.flag_activity_result = 1 THEN 4 --test\n" + + " ELSE 5 /*completata*/ END AS stato_attivita,\n" + " is_bug,\n" + " tags,\n" + " CAST(CASE WHEN estimated_enddate < CAST(GETDATE() AS DATE) THEN 1 ELSE 0 END AS BIT) AS scaduta,\n" + @@ -1060,6 +1058,8 @@ public class ActivityService { " task.aCanone as a_canone " + "FROM processi\n" + " LEFT OUTER JOIN sottoattivita ON processi.activity_id = sottoattivita.parent_activity_id\n" + + " LEFT OUTER JOIN stb_activity_result\n" + + " ON processi.esito = stb_activity_result.activity_result_id\n" + " OUTER APPLY ( SELECT CAST(MAX(CASE WHEN task.cod_jfas <> 'C01' THEN 0 ELSE 1 END) AS BIT) AS daPagare,\n" + " CAST(MAX(CASE WHEN task.cod_jfas = 'C01' THEN 0 ELSE 1 END) AS BIT) AS aCanone \n" + " FROM stb_activity task WHERE processi.activity_id = task.parent_activity_id) task "; 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 e590bd4fc0..7c5a264739 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 @@ -99,7 +99,8 @@ public class ImportListiniAcquistoApuliaCarrefourService { * la logica del prezzo netto netto. */ - List variazioniListini = getVariazioni(type, format, setup, dataImport, dataInizVarizioni, conn); + boolean importVarFuture = setup.get("IMPORT_VAR_FUTURE").equalsIgnoreCase("S"); + List variazioniListini = getVariazioni(type, format, setup, dataImport, dataInizVarizioni, conn, importVarFuture); Date dataOraImport = new Date(); List righeListino = @@ -136,51 +137,6 @@ public class ImportListiniAcquistoApuliaCarrefourService { } ).toList(); - if (setup.get("IMPORT_VAR_FUTURE").equalsIgnoreCase("S")) { - sql = "SELECT mtb_lisa_apulia_succ.cod_alis,\n" + - " 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" + - " 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" + - " mtb_lisa_apulia_succ.qta_cnf,\n" + - " mtb_lisa_apulia_succ.colli_x_pedane,\n" + - " mtb_lisa_apulia_succ.linea,\n" + - " mtb_lisa_apulia_succ.prz_ven_sugg,\n" + - " 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" + - " 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" + - " FROM dbo.parsestringintoarray(\n" + - " (SELECT dbo.getgestsetup('IMPORT_LISTINI ACQUISTO',\n" + - " 'APULIA_CARREFOUR',\n" + - " 'LISTINI_DA_ESCLUDERE')),\n" + - " '|'))"; - - List mtbLisaData = new ResultSetMapper() - .mapQuerySetToList(conn, sql, MtbLisaData.class, OperationType.INSERT_OR_UPDATE); - if (mtbLisaData != null) { - Stream.of(mtbLisaData) - .forEach( - x -> x - .setPrzVenSug(UtilityBigDecimal.isNull(x.getPrzVenSug(), BigDecimal.ZERO)) - .setPerc1(BigDecimal.ZERO) - .setPerc2(BigDecimal.ZERO) - .setPerc3(BigDecimal.ZERO) - .setPerc4(BigDecimal.ZERO) - .setPercOneri(UtilityBigDecimal.isNull(x.getPercOneri(), BigDecimal.ZERO)) - .setValOneri(UtilityBigDecimal.isNull(x.getValOneri(), BigDecimal.ZERO)) - .setPercPromo(UtilityBigDecimal.isNull(x.getPercPromo(), BigDecimal.ZERO)) - .setValPromo(BigDecimal.ZERO) - ); - righeListino.addAll(mtbLisaData); - } - } - List listCond = Stream.of(righeListino) .filter(x->x.getQtaCnf() != null ) @@ -239,8 +195,10 @@ public class ImportListiniAcquistoApuliaCarrefourService { for (Map.Entry> listino : listini) { AtbListData atbListData = listino.getKey(); - if ( UtilityLocalDate.isAfterToday(UtilityLocalDate.localDateTimeFromDate(atbListData.getDataIniz()))) + if ( UtilityLocalDate.isAfterToday(UtilityLocalDate.localDateTimeFromDate(atbListData.getDataIniz()))) { atbListData.setOperation(OperationType.INSERT_OR_UPDATE); + listino.getValue().stream().forEach(x->x.setOperation(OperationType.INSERT_OR_UPDATE)); + } atbListData.setMtbLisaData(listino.getValue()); entityProcessor.processEntity(atbListData, multiDBTransactionManager); @@ -263,8 +221,10 @@ public class ImportListiniAcquistoApuliaCarrefourService { return entityRet; } - private static List getVariazioni(String type, String format, Map setup, Date dataImport, Date dataInizVarizioni, Connection conn) throws SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException { - String sql; + private static List getVariazioni(String type, String format, Map setup, Date dataImport, Date dataInizVarizioni, + Connection conn, boolean importVarFuture) throws Exception { + + BigDecimal percOneri = new BigDecimal(UtilityHashMap.getValueIfExists(setup, "PERC_ONERI:DIR", "0")); BigDecimal percOneriRif = new BigDecimal(UtilityHashMap.getValueIfExists(setup, "PERC_ONERI:RIF", "0")); @@ -289,106 +249,105 @@ public class ImportListiniAcquistoApuliaCarrefourService { + "ELSE IsNull(apulia.data_prz_acq, " + UtilityDB.valueDateToString(dataImport, CommonConstants.DATE_FORMAT_YMD) + ") END "; } - sql = - ("SELECT ISNULL(apulia.cod_alis, lisa.cod_alis) AS cod_alis,\n" + - " [COLUMN_DATA_INIZ] AS data_iniz,\n" + - " ISNULL(apulia.cod_art_for, lisa.cod_art_for) AS cod_art_for,\n" + - " CASE WHEN apulia.cod_alis IS NOT NULL THEN apulia.prz_acq ELSE NULL END AS prz_acq,\n" + - " apulia.descrizione AS descrizione,\n" + - " apulia.barcode AS barcode,\n" + - " apulia.unt_mis_acq AS unt_mis_acq,\n" + - " apulia.qta_cnf AS qta_cnf,\n" + - " apulia.colli_x_pedane AS colli_x_pedane,\n" + - " CASE\n" + - " WHEN lisa.cod_art_for IS NULL THEN apulia.prz_base_prop\n" + - " ELSE lisa.prz_ven_sug END AS prz_ven_sug,\n" + - " CASE\n" + - " WHEN lisa.cod_art_for IS NULL AND apulia.cod_art_for IS NOT NULL THEN 'I'\n" + - " WHEN lisa.cod_art_for IS NOT NULL AND apulia.cod_art_for IS NULL THEN 'D'\n" + - " ELSE 'U' END AS tipo_variazione,\n" + - " lisa.data_iniz AS data_iniz_lisa,\n" + - " [COLUMN_PERC_ONERI] AS perc_oneri,\n" + - " COUNT(*)\n" + - " OVER (PARTITION BY ISNULL(apulia.cod_alis, lisa.cod_alis), [COLUMN_DATA_INIZ], ISNULL(apulia.cod_art_for, lisa.cod_art_for)) AS count_art_for,\n" + - " apulia.cod_aliq,\n" + - " apulia.prz_base_prop,\n" + - " apulia.perc_premio AS prec_promo,\n" + - " ISNULL(apulia.val_premio, 0) AS val_promo\n" + - "FROM (SELECT DISTINCT mtb_lisa_apulia_succ.cod_alis,\n" + - " mtb_lisa_apulia_succ.data_prz_acq,\n" + - " mtb_lisa_apulia_succ.cod_art_for AS cod_art_for,\n" + - " mtb_lisa_apulia_succ.prz_acq AS prz_acq,\n" + - " mtb_lisa_apulia_succ.descrizione,\n" + - " mtb_lisa_apulia_succ.barcode,\n" + - " mtb_lisa_apulia_succ.descrizione_divisione_forn,\n" + - " mtb_lisa_apulia_succ.partita_iva_forn,\n" + - " mtb_lisa_apulia_succ.unt_mis_acq,\n" + - " mtb_lisa_apulia_succ.qta_cnf,\n" + - " mtb_lisa_apulia_succ.colli_x_pedane,\n" + - " mtb_lisa_apulia_succ.linea,\n" + - " CASE WHEN mtb_lisa_apulia_succ.cod_alis LIKE 'AP%' and IsNumeric(RIGHT(cod_alis,3)) = 1 THEN 'RIF' ELSE 'DIR' END tipo_listino,\n" + - " mtb_lisa_apulia_succ.anno_contratto,\n" + - " mtb_lisa_apulia_succ.perc_contratto,\n" + - " mtb_lisa_apulia_succ.rag_soc_forn,\n" + - " mtb_lisa_apulia_succ.prz_ven_sugg,\n" + - " mtb_lisa_apulia_succ.cod_forn,\n" + - " mtb_lisa_apulia_succ.cod_aliq,\n" + - " mtb_lisa_apulia_succ.prz_base_prop,\n" + - " mtb_lisa_apulia_succ.perc_premio,\n" + - " mtb_lisa_apulia_succ.val_premio\n" + - " FROM mtb_lisa_apulia_succ\n" + - " WHERE mtb_lisa_apulia_succ.data_prz_acq <= [DATA_IMPORT]\n" + - " AND mtb_lisa_apulia_succ.cod_alis NOT IN (SELECT value_string AS cod_alis\n" + - " FROM dbo.parsestringintoarray(\n" + - " (SELECT dbo.getgestsetup('IMPORT_[TYPE]',\n" + - " '[FORMAT]',\n" + - " 'LISTINI_DA_ESCLUDERE')),\n" + - " '|'))) apulia\n" + - " FULL OUTER JOIN (SELECT lisa.cod_alis,\n" + - " cod_art_for,\n" + - " prz_acq,\n" + - " val_promo,\n" + - " perc_oneri,\n" + - " prz_ven_sug,\n" + - " CASE WHEN data_iniz < '2020/01/01' THEN '2020/01/01' ELSE data_iniz END AS data_iniz,\n" + - " tipo_variazione\n" + - " FROM dbo.getlistinoacquisto([DATA_IMPORT], NULL, NULL, NULL, 'N', NULL) lisa\n" + - " LEFT OUTER JOIN (SELECT value_string AS cod_alis\n" + - " FROM dbo.parsestringintoarray(\n" + - " (SELECT dbo.getgestsetup('IMPORT_[TYPE]',\n" + - " '[FORMAT]',\n" + - " 'LISTINI_DA_ESCLUDERE')),\n" + - " '|')) listini_esclusi\n" + - " ON lisa.cod_alis = listini_esclusi.cod_alis\n" + - " WHERE lisa.cod_alis LIKE 'AP%'\n" + - " AND lisa.tipo_variazione <> 'D'\n" + - " AND lisa.tipo_variazione IS NOT NULL\n" + - " AND listini_esclusi.cod_alis IS NULL) lisa\n" + - " ON apulia.cod_alis = lisa.cod_alis AND apulia.cod_art_for = lisa.cod_art_for\n" + - " LEFT OUTER JOIN mtb_lisa ON apulia.cod_alis = mtb_lisa.cod_alis AND apulia.cod_art_for = mtb_lisa.cod_art_for\n" + - " LEFT OUTER JOIN mtb_aart ON mtb_lisa.cod_mart = mtb_aart.cod_mart\n" + - " LEFT OUTER JOIN (SELECT mtb_grup.cod_mgrp,\n" + - " REPLACE(key_section, 'PERC_ONERI:', '') AS tipo_listino,\n" + - " ISNULL(CONVERT(NUMERIC(20, 5), stb_gest_setup_det.value), 0) AS perc_oneri\n" + - " FROM mtb_grup\n" + - " LEFT OUTER JOIN stb_gest_setup_det ON gest_name = 'IMPORT_[TYPE]' AND\n" + - " section = '[FORMAT]' AND\n" + - " key_section LIKE 'PERC_ONERI%' AND\n" + - " mtb_grup.cod_mgrp =\n" + - " stb_gest_setup_det.val_col_rif) oneri\n" + - " ON apulia.tipo_listino = oneri.tipo_listino AND mtb_aart.cod_mgrp = oneri.cod_mgrp\n" + - "WHERE (apulia.data_prz_acq >= [DATA_INIZ_VAR] OR \n " + - " ISNULL(lisa.cod_art_for, '') <> ISNULL(apulia.cod_art_for, '')) AND \n"+ - " (ISNULL(lisa.prz_acq, 0) <> ISNULL(apulia.prz_acq, 0) OR\n" + - " ISNULL(lisa.perc_oneri, 0) <> [COLUMN_PERC_ONERI] OR\n" + - " ISNULL(lisa.cod_art_for, '') <> ISNULL(apulia.cod_art_for, '') OR\n" + - " ISNULL(lisa.val_promo, 0) <> ISNULL(apulia.val_premio, 0))") - .replace("[COLUMN_DATA_INIZ]", calcDataIniz) - .replace("[TYPE]", type) - .replace("[FORMAT]", format) - .replace("[COLUMN_PERC_ONERI]", columnPercOneri) - .replace("[DATA_INIZ_VAR]",UtilityDB.valueDateToString(dataInizVarizioni, CommonConstants.DATE_FORMAT_YMD) ) - .replace("[DATA_IMPORT]", UtilityDB.valueDateToString(dataImport, CommonConstants.DATE_FORMAT_YMD)); + String sql = ("SELECT ISNULL(apulia.cod_alis, lisa.cod_alis) AS cod_alis,\n" + + " iif(apulia.data_prz_acq is not null and apulia.data_prz_acq > [COLUMN_DATA_INIZ],apulia.data_prz_acq, [COLUMN_DATA_INIZ]) AS data_iniz,\n" + + " ISNULL(apulia.cod_art_for, lisa.cod_art_for) AS cod_art_for,\n" + + " CASE WHEN apulia.cod_alis IS NOT NULL THEN apulia.prz_acq ELSE NULL END AS prz_acq,\n" + + " apulia.descrizione AS descrizione,\n" + + " apulia.barcode AS barcode,\n" + + " apulia.unt_mis_acq AS unt_mis_acq,\n" + + " apulia.qta_cnf AS qta_cnf,\n" + + " apulia.colli_x_pedane AS colli_x_pedane,\n" + + " CASE\n" + + " WHEN lisa.cod_art_for IS NULL THEN apulia.prz_base_prop\n" + + " ELSE lisa.prz_ven_sug END AS prz_ven_sug,\n" + + " CASE\n" + + " WHEN lisa.cod_art_for IS NULL AND apulia.cod_art_for IS NOT NULL THEN 'I'\n" + + " WHEN lisa.cod_art_for IS NOT NULL AND apulia.cod_art_for IS NULL THEN 'D'\n" + + " ELSE 'U' END AS tipo_variazione,\n" + + " lisa.data_iniz AS data_iniz_lisa,\n" + + " [COLUMN_PERC_ONERI] AS perc_oneri,\n" + + " COUNT(*)\n" + + " OVER (PARTITION BY ISNULL(apulia.cod_alis, lisa.cod_alis), [COLUMN_DATA_INIZ], ISNULL(apulia.cod_art_for, lisa.cod_art_for)) AS count_art_for,\n" + + " apulia.cod_aliq,\n" + + " apulia.prz_base_prop,\n" + + " apulia.perc_premio AS prec_promo,\n" + + " ISNULL(apulia.val_premio, 0) AS val_promo\n" + + "FROM (SELECT DISTINCT mtb_lisa_apulia_succ.cod_alis,\n" + + " mtb_lisa_apulia_succ.data_prz_acq,\n" + + " mtb_lisa_apulia_succ.cod_art_for AS cod_art_for,\n" + + " mtb_lisa_apulia_succ.prz_acq AS prz_acq,\n" + + " mtb_lisa_apulia_succ.descrizione,\n" + + " mtb_lisa_apulia_succ.barcode,\n" + + " mtb_lisa_apulia_succ.descrizione_divisione_forn,\n" + + " mtb_lisa_apulia_succ.partita_iva_forn,\n" + + " mtb_lisa_apulia_succ.unt_mis_acq,\n" + + " mtb_lisa_apulia_succ.qta_cnf,\n" + + " mtb_lisa_apulia_succ.colli_x_pedane,\n" + + " mtb_lisa_apulia_succ.linea,\n" + + " CASE WHEN mtb_lisa_apulia_succ.cod_alis LIKE 'AP%' and IsNumeric(RIGHT(cod_alis,3)) = 1 THEN 'RIF' ELSE 'DIR' END tipo_listino,\n" + + " mtb_lisa_apulia_succ.anno_contratto,\n" + + " mtb_lisa_apulia_succ.perc_contratto,\n" + + " mtb_lisa_apulia_succ.rag_soc_forn,\n" + + " mtb_lisa_apulia_succ.prz_ven_sugg,\n" + + " mtb_lisa_apulia_succ.cod_forn,\n" + + " mtb_lisa_apulia_succ.cod_aliq,\n" + + " mtb_lisa_apulia_succ.prz_base_prop,\n" + + " mtb_lisa_apulia_succ.perc_premio,\n" + + " mtb_lisa_apulia_succ.val_premio\n" + + " FROM mtb_lisa_apulia_succ\n" + + " WHERE " + (importVarFuture?"":"mtb_lisa_apulia_succ.data_prz_acq <= [DATA_IMPORT] AND \n") + + " mtb_lisa_apulia_succ.cod_alis NOT IN (SELECT value_string AS cod_alis\n" + + " FROM dbo.parsestringintoarray(\n" + + " (SELECT dbo.getgestsetup('IMPORT_[TYPE]',\n" + + " '[FORMAT]',\n" + + " 'LISTINI_DA_ESCLUDERE')),\n" + + " '|'))) apulia\n" + + " FULL OUTER JOIN (SELECT lisa.cod_alis,\n" + + " cod_art_for,\n" + + " prz_acq,\n" + + " val_promo,\n" + + " perc_oneri,\n" + + " prz_ven_sug,\n" + + " CASE WHEN data_iniz < '2020/01/01' THEN '2020/01/01' ELSE data_iniz END AS data_iniz,\n" + + " tipo_variazione\n" + + " FROM dbo.getlistinoacquisto([DATA_IMPORT], NULL, NULL, NULL, 'N', NULL) lisa\n" + + " LEFT OUTER JOIN (SELECT value_string AS cod_alis\n" + + " FROM dbo.parsestringintoarray(\n" + + " (SELECT dbo.getgestsetup('IMPORT_[TYPE]',\n" + + " '[FORMAT]',\n" + + " 'LISTINI_DA_ESCLUDERE')),\n" + + " '|')) listini_esclusi\n" + + " ON lisa.cod_alis = listini_esclusi.cod_alis\n" + + " WHERE lisa.cod_alis LIKE 'AP%'\n" + + " AND lisa.tipo_variazione <> 'D'\n" + + " AND lisa.tipo_variazione IS NOT NULL\n" + + " AND listini_esclusi.cod_alis IS NULL) lisa\n" + + " ON apulia.cod_alis = lisa.cod_alis AND apulia.cod_art_for = lisa.cod_art_for\n" + + " LEFT OUTER JOIN mtb_lisa ON apulia.cod_alis = mtb_lisa.cod_alis AND apulia.cod_art_for = mtb_lisa.cod_art_for\n" + + " LEFT OUTER JOIN mtb_aart ON mtb_lisa.cod_mart = mtb_aart.cod_mart\n" + + " LEFT OUTER JOIN (SELECT mtb_grup.cod_mgrp,\n" + + " REPLACE(key_section, 'PERC_ONERI:', '') AS tipo_listino,\n" + + " ISNULL(CONVERT(NUMERIC(20, 5), stb_gest_setup_det.value), 0) AS perc_oneri\n" + + " FROM mtb_grup\n" + + " LEFT OUTER JOIN stb_gest_setup_det ON gest_name = 'IMPORT_[TYPE]' AND\n" + + " section = '[FORMAT]' AND\n" + + " key_section LIKE 'PERC_ONERI%' AND\n" + + " mtb_grup.cod_mgrp =\n" + + " stb_gest_setup_det.val_col_rif) oneri\n" + + " ON apulia.tipo_listino = oneri.tipo_listino AND mtb_aart.cod_mgrp = oneri.cod_mgrp\n" + + "WHERE (apulia.data_prz_acq >= [DATA_INIZ_VAR] OR \n " + + " ISNULL(lisa.cod_art_for, '') <> ISNULL(apulia.cod_art_for, '')) AND \n" + + " (ISNULL(lisa.prz_acq, 0) <> ISNULL(apulia.prz_acq, 0) OR\n" + + " ISNULL(lisa.perc_oneri, 0) <> [COLUMN_PERC_ONERI] OR\n" + + " ISNULL(lisa.cod_art_for, '') <> ISNULL(apulia.cod_art_for, '') OR\n" + + " ISNULL(lisa.val_promo, 0) <> ISNULL(apulia.val_premio, 0)) " ) + .replace("[COLUMN_DATA_INIZ]", calcDataIniz) + .replace("[TYPE]", type) + .replace("[FORMAT]", format) + .replace("[COLUMN_PERC_ONERI]", columnPercOneri) + .replace("[DATA_INIZ_VAR]", UtilityDB.valueDateToString(dataInizVarizioni, CommonConstants.DATE_FORMAT_YMD)) + .replace("[DATA_IMPORT]", UtilityDB.valueDateToString(dataImport, CommonConstants.DATE_FORMAT_YMD)); List variazioniListini = UtilityDB.executeSimpleQueryDTO(conn, sql, ListinoApuliaCarrefourDTO.class); return variazioniListini;