Sistemata importazione listini apulia in modo che inserisca correttamente la % promo annche sui listini futuri
This commit is contained in:
@@ -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 ";
|
||||
|
||||
@@ -99,7 +99,8 @@ public class ImportListiniAcquistoApuliaCarrefourService {
|
||||
* la logica del prezzo netto netto.
|
||||
*/
|
||||
|
||||
List<ListinoApuliaCarrefourDTO> variazioniListini = getVariazioni(type, format, setup, dataImport, dataInizVarizioni, conn);
|
||||
boolean importVarFuture = setup.get("IMPORT_VAR_FUTURE").equalsIgnoreCase("S");
|
||||
List<ListinoApuliaCarrefourDTO> variazioniListini = getVariazioni(type, format, setup, dataImport, dataInizVarizioni, conn, importVarFuture);
|
||||
|
||||
Date dataOraImport = new Date();
|
||||
List<MtbLisaData> 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> 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<String> listCond =
|
||||
Stream.of(righeListino)
|
||||
.filter(x->x.getQtaCnf() != null )
|
||||
@@ -239,8 +195,10 @@ public class ImportListiniAcquistoApuliaCarrefourService {
|
||||
|
||||
for (Map.Entry<AtbListData, List<MtbLisaData>> 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<ListinoApuliaCarrefourDTO> getVariazioni(String type, String format, Map<String, String> setup, Date dataImport, Date dataInizVarizioni, Connection conn) throws SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
|
||||
String sql;
|
||||
private static List<ListinoApuliaCarrefourDTO> getVariazioni(String type, String format, Map<String, String> 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<ListinoApuliaCarrefourDTO> variazioniListini = UtilityDB.executeSimpleQueryDTO(conn, sql, ListinoApuliaCarrefourDTO.class);
|
||||
return variazioniListini;
|
||||
|
||||
Reference in New Issue
Block a user