Finish Feature-ListinoRif
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20240422172537 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
executeStatement(
|
||||
"alter table vtb_list_data add versione_rif int",
|
||||
"update vtb_list_data set versione_rif = versione where cod_vlis_rif is not null",
|
||||
"with list_rif as (\n" +
|
||||
"select cod_vlis, cod_vlis_rif\n" +
|
||||
"from vtb_list where cod_vlis_rif is not null)\n" +
|
||||
"update vtb_list_data set cod_vlis_rif = list_rif.cod_vlis_rif, versione_rif = versione\n" +
|
||||
"from vtb_list_data \n" +
|
||||
"inner join list_rif on vtb_list_data.cod_vlis = list_rif.cod_vlis and \n" +
|
||||
"vtb_list_data.cod_vlis_rif is null",
|
||||
"disable trigger t_insVtbList on dbo.vtb_list",
|
||||
"disable trigger t_updVtbList on dbo.vtb_list",
|
||||
"disable trigger t_vtblistdata_ins on dbo.vtb_list_data"
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,162 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20240423100155 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
|
||||
createOrUpdateFunction("[getListinoVendita]", "CREATE FUNCTION [dbo].[getListinoVendita](@dataValidita DATETIME, @codVlis VARCHAR(5), @codMart VARCHAR(15))\n" +
|
||||
" RETURNS TABLE AS\n" +
|
||||
" RETURN\n" +
|
||||
" SELECT vtb_list.cod_vlis,\n" +
|
||||
" vtb_list.descrizione,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN tmp_list.max_lisv IS NULL THEN NULL\n" +
|
||||
" ELSE CONVERT(DATETIME, LEFT(tmp_list.max_lisv, 10)) END AS data_iniz,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN tmp_list.max_lisv IS NULL THEN NULL\n" +
|
||||
" ELSE CONVERT(INT, RIGHT(tmp_list.max_lisv, 4)) END AS versione,\n" +
|
||||
" vtb_list.cod_divi,\n" +
|
||||
" vtb_list.cambio,\n" +
|
||||
" vtb_list.flag_arr_prz_iva,\n" +
|
||||
" vtb_list.arr_ric,\n" +
|
||||
" vtb_list.flag_list_iva_inclusa,\n" +
|
||||
" vtb_list.flag_lisv_margine,\n" +
|
||||
" vtb_list.flag_add_trasp,\n" +
|
||||
" tmp_list.cod_mart AS 'cod_mart',\n" +
|
||||
" mtb_lisv_data.unt_mis_ven AS unt_mis_ven,\n" +
|
||||
" ISNULL(mtb_lisv_data.rap_conv, 1) AS rap_conv,\n" +
|
||||
" ISNULL(mtb_lisv_data.prz_base, 0) AS prz_base,\n" +
|
||||
" ISNULL(mtb_lisv_data.ricarica, 0) AS ricarico,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN mtb_lisv_data.prz_vend IS NOT NULL AND mtb_lisv_data.prz_vend <> 0 THEN\n" +
|
||||
" ROUND((ISNULL(mtb_lisv_data.prz_vend, 0) -\n" +
|
||||
" (ISNULL(mtb_lisv_data.prz_base, 0) / (1 - mtb_aart.perc_sfrido / 100))) /\n" +
|
||||
" ISNULL(mtb_lisv_data.prz_vend, 0) * 100, 2)\n" +
|
||||
" ELSE 0 END AS margine_eff,\n" +
|
||||
" --dbo.f_calcMargineEffettivo(IsNull(mtb_lisv_data.prz_base, 0), IsNull(mtb_lisv_data.prz_vend, 0), mtb_aart.perc_sfrido) as margine_eff,\n" +
|
||||
" --dbo.f_calcRicaricoEffettivo(IsNull(mtb_lisv_data.prz_base, 0), IsNull(mtb_lisv_data.prz_vend, 0), mtb_aart.perc_sfrido) ricarico_eff, \n" +
|
||||
" CASE\n" +
|
||||
" WHEN mtb_lisv_data.prz_base IS NOT NULL AND mtb_lisv_data.prz_base <> 0 THEN\n" +
|
||||
" ROUND((ISNULL(mtb_lisv_data.prz_vend, 0) -\n" +
|
||||
" (ISNULL(mtb_lisv_data.prz_base, 0) / (1 - mtb_aart.perc_sfrido / 100))) /\n" +
|
||||
" (ISNULL(mtb_lisv_data.prz_base, 0) / (1 - mtb_aart.perc_sfrido / 100)) * 100, 2)\n" +
|
||||
" ELSE 0 END AS ricarico_eff,\n" +
|
||||
"\n" +
|
||||
" ISNULL(mtb_lisv_data.magg_prz_vend, 0) AS magg_prz_vend,\n" +
|
||||
" ISNULL(mtb_lisv_data.prz_vend, 0) AS prz_vend,\n" +
|
||||
" ISNULL(mtb_lisv_data.prz_vend_iva, 0) AS prz_vend_iva,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_sco1, 0) AS perc_sco1,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_sco2, 0) AS perc_sco2,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_sco3, 0) AS perc_sco3,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_sco4, 0) AS perc_sco4,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_prov, 0) AS perc_prov,\n" +
|
||||
" ISNULL(mtb_lisv_data.fisso_prov, 0) AS fisso_prov,\n" +
|
||||
" ISNULL(mtb_lisv_data.posizione, '') AS posizione,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_gest, 0) AS perc_gest,\n" +
|
||||
" ISNULL(mtb_lisv_data.val_gest, 0) AS val_gest,\n" +
|
||||
" mtb_lisv_data.data_agg_prz AS data_agg_prz,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_ispe, 0) AS perc_ispe,\n" +
|
||||
" ISNULL(mtb_lisv_data.val_ispe, 0) AS val_ispe,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_promo, 0) AS perc_promo,\n" +
|
||||
" ISNULL(mtb_lisv_data.val_promo, 0) AS val_promo,\n" +
|
||||
" ISNULL(mtb_lisv_data.perc_oneri, 0) AS perc_oneri,\n" +
|
||||
" ISNULL(mtb_lisv_data.val_oneri, 0) AS val_oneri,\n" +
|
||||
" mtb_lisv_data.tipo_variazione AS tipo_variazione,\n" +
|
||||
" mtb_lisv_data.note AS note,\n" +
|
||||
" mtb_lisv_data.aggiornato_da AS aggiornato_da,\n" +
|
||||
" mtb_lisv_data.prz_vend * (1 - mtb_lisv_data.perc_sco1 / 100) * (1 - mtb_lisv_data.perc_sco2 / 100) *\n" +
|
||||
" (1 - mtb_lisv_data.perc_sco3 / 100) *\n" +
|
||||
" (1 - mtb_lisv_data.perc_sco4 / 100) AS prz_vend_netto,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN ISNULL(mtb_lisv_data.colli_pedana, 0) <> 0 THEN mtb_lisv_data.colli_pedana\n" +
|
||||
" ELSE mtb_aart.colli_pedana END AS colli_pedana,\n" +
|
||||
" mtb_lisv_data.cod_tcol_ul AS cod_tcol_ul,\n" +
|
||||
" mtb_lisv_data.cod_tcol_ui AS cod_tcol_ui,\n" +
|
||||
" ISNULL(mtb_lisv_data.prz_vend_sug, 0) AS prz_vend_sug,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN ISNULL(mtb_lisv_data.qta_cnf, 0) <> 0\n" +
|
||||
" /*AND dbo.getGestSetup('VTB_LIST', 'SETUP', 'QTA_CNF_LISTINO') = 'S' */\n" +
|
||||
" THEN mtb_lisv_data.qta_cnf\n" +
|
||||
" ELSE mtb_aart.qta_cnf END AS qta_cnf,\n" +
|
||||
" CASE\n" +
|
||||
" WHEN ISNULL(mtb_lisv_data.colli_strato, 0) <> 0 THEN mtb_lisv_data.colli_strato\n" +
|
||||
" ELSE mtb_aart.colli_strato END AS colli_strato,\n" +
|
||||
" mtb_lisv_data.descrizione_html AS descrizione_html,\n" +
|
||||
" mtb_lisv_data.colli_pedana AS colli_pedana_lisv,\n" +
|
||||
" mtb_lisv_data.qta_cnf AS qta_cnf_lisv,\n" +
|
||||
" mtb_lisv_data.colli_strato AS colli_strato_lisv,\n" +
|
||||
" mtb_lisv_data.sconto_cartoni,\n" +
|
||||
" mtb_lisv_data.sconto_strato,\n" +
|
||||
" mtb_lisv_data.sconto_pedane,\n" +
|
||||
" vtb_list.flag_attivo,\n" +
|
||||
" vtb_list_data.note AS note_testata,\n" +
|
||||
" ISNULL(mtb_lisv_data.flag_prz_bloccato, 'N') AS flag_prz_bloccato,\n" +
|
||||
" vtb_list_data.porto AS porto,\n" +
|
||||
" mtb_lisv_data.system_note\n" +
|
||||
" FROM (SELECT vtb_list.cod_vlis AS cod_vlis,\n" +
|
||||
" mtb_lisv_data.cod_mart,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN vtb_list_data.versione IS NULL THEN NULL\n" +
|
||||
" ELSE CONVERT(VARCHAR(10), vtb_list_data.data_iniz, 111) + ' ' +\n" +
|
||||
" REPLICATE('0', 5 - LEN(vtb_list_data.versione)) +\n" +
|
||||
" CONVERT(VARCHAR(5), vtb_list_data.versione) END) AS max_lisv,\n" +
|
||||
" vtb_list.cod_vlis AS 'cod_vlis_rif'\n" +
|
||||
" FROM vtb_list,\n" +
|
||||
" mtb_lisv_data\n" +
|
||||
" LEFT OUTER JOIN vtb_list_data ON mtb_lisv_data.cod_vlis = vtb_list_data.cod_vlis AND\n" +
|
||||
" mtb_lisv_data.versione = vtb_list_data.versione AND\n" +
|
||||
" vtb_list_data.cod_promo IS NULL AND\n" +
|
||||
" vtb_list_data.data_iniz <= ISNULL(@dataValidita, GETDATE())\n" +
|
||||
" WHERE vtb_list.cod_vlis = mtb_lisv_data.cod_vlis\n" +
|
||||
" AND vtb_list.cod_vlis_rif IS NULL\n" +
|
||||
" GROUP BY vtb_list.cod_vlis,\n" +
|
||||
" mtb_lisv_data.cod_mart\n" +
|
||||
" UNION\n" +
|
||||
" SELECT vtb_list.cod_vlis AS cod_vlis,\n" +
|
||||
" mtb_lisv_data.cod_mart,\n" +
|
||||
" MAX(CASE\n" +
|
||||
" WHEN vtb_list_data.versione IS NULL THEN NULL\n" +
|
||||
" ELSE CONVERT(VARCHAR(10), vtb_list_data.data_iniz, 111) + ' ' +\n" +
|
||||
" REPLICATE('0', 5 - LEN(vtb_list_data.versione_rif)) +\n" +
|
||||
" CONVERT(VARCHAR(5), vtb_list_data.versione_rif) END) AS max_lisv,\n" +
|
||||
" vtb_list.cod_vlis_rif AS 'cod_vlis_rif'\n" +
|
||||
" FROM vtb_list,\n" +
|
||||
" mtb_lisv_data,\n" +
|
||||
" vtb_list_data,\n" +
|
||||
" vtb_list_data vtb_list_data_rif\n" +
|
||||
" WHERE vtb_list.cod_vlis = vtb_list_data.cod_vlis\n" +
|
||||
" AND vtb_list.cod_vlis_rif = vtb_list_data_rif.cod_vlis\n" +
|
||||
" AND vtb_list_data.versione_rif = vtb_list_data_rif.versione\n" +
|
||||
" AND vtb_list_data_rif.cod_vlis = mtb_lisv_data.cod_vlis\n" +
|
||||
" AND vtb_list_data_rif.versione = mtb_lisv_data.versione\n" +
|
||||
" AND vtb_list_data.data_iniz <= ISNULL(@dataValidita, GETDATE())\n" +
|
||||
" AND vtb_list.cod_vlis_rif IS NOT NULL\n" +
|
||||
" GROUP BY vtb_list.cod_vlis,\n" +
|
||||
" mtb_lisv_data.cod_mart,\n" +
|
||||
" vtb_list.cod_vlis_rif) tmp_list\n" +
|
||||
" LEFT OUTER JOIN mtb_lisv_data ON tmp_list.cod_vlis_rif = mtb_lisv_data.cod_vlis AND\n" +
|
||||
" tmp_list.cod_mart = mtb_lisv_data.cod_mart AND\n" +
|
||||
" CONVERT(INT, RIGHT(tmp_list.max_lisv, 5)) = mtb_lisv_data.versione\n" +
|
||||
" LEFT OUTER JOIN vtb_list_data ON tmp_list.cod_vlis = vtb_list_data.cod_vlis AND\n" +
|
||||
" CONVERT(INT, RIGHT(tmp_list.max_lisv, 5)) = vtb_list_data.versione,\n" +
|
||||
" vtb_list,\n" +
|
||||
" mtb_aart\n" +
|
||||
" WHERE vtb_list.cod_vlis = tmp_list.cod_vlis\n" +
|
||||
" AND (@codMart IS NULL OR tmp_list.cod_mart = @codMart)\n" +
|
||||
" AND (@codVlis IS NULL OR tmp_list.cod_vlis = @codVlis)\n" +
|
||||
" AND tmp_list.cod_mart = mtb_aart.cod_mart");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,160 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20240423101233 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
|
||||
createOrUpdateFunction("getPromozioneVendita", "CREATE FUNCTION [dbo].[getPromozioneVendita] (@dataIniz datetime, @dataFine datetime, @codVlis varchar(5), @codPromo varchar(10), @codMart varchar(15)) RETURNS TABLE AS \n" +
|
||||
" return \n" +
|
||||
" SELECT vtb_list.cod_vlis, \n" +
|
||||
" vtb_list.descrizione, \n" +
|
||||
" vtb_list_data.data_iniz, \n" +
|
||||
" vtb_list_data.data_fine,\n" +
|
||||
" vtb_list_data.cod_promo,\n" +
|
||||
" vtb_list_data.versione, \n" +
|
||||
" vtb_list.cod_divi,\n" +
|
||||
" vtb_list.flag_arr_prz_iva, \n" +
|
||||
" vtb_list.arr_ric,\n" +
|
||||
" vtb_list.flag_list_iva_inclusa,\n" +
|
||||
" vtb_list.flag_lisv_margine, \n" +
|
||||
" mtb_lisv_data.cod_mart as cod_mart, \n" +
|
||||
" mtb_lisv_data.unt_mis_ven as unt_mis_ven,\n" +
|
||||
" mtb_lisv_data.rap_conv as rap_conv, \n" +
|
||||
" mtb_lisv_data.prz_base as prz_base, \n" +
|
||||
" mtb_lisv_data.ricarica as ricarico,\n" +
|
||||
" dbo.f_calcMargineEffettivo(mtb_lisv_data.prz_base, mtb_lisv_data.prz_vend, mtb_aart.perc_sfrido) as margine_eff,\n" +
|
||||
" dbo.f_calcRicaricoEffettivo(mtb_lisv_data.prz_base, mtb_lisv_data.prz_vend, mtb_aart.perc_sfrido) as ricarico_eff, \n" +
|
||||
" mtb_lisv_data.prz_vend as prz_vend, \n" +
|
||||
" mtb_lisv_data.prz_vend_iva as prz_vend_iva, \n" +
|
||||
" mtb_lisv_data.perc_sco1 as perc_sco1, \n" +
|
||||
" mtb_lisv_data.perc_sco2 as perc_sco2, \n" +
|
||||
" mtb_lisv_data.perc_sco3 as perc_sco3, \n" +
|
||||
" mtb_lisv_data.perc_sco4 as perc_sco4, \n" +
|
||||
" mtb_lisv_data.perc_prov as perc_prov, \n" +
|
||||
" mtb_lisv_data.fisso_prov as fisso_prov, \n" +
|
||||
" mtb_lisv_data.posizione as posizione, \n" +
|
||||
" mtb_lisv_data.perc_gest as perc_gest, \n" +
|
||||
" mtb_lisv_data.val_gest as val_gest, \n" +
|
||||
" mtb_lisv_data.data_agg_prz as data_agg_prz, \n" +
|
||||
" mtb_lisv_data.perc_ispe as perc_ispe, \n" +
|
||||
" mtb_lisv_data.val_ispe as val_ispe, \n" +
|
||||
" mtb_lisv_data.perc_promo as perc_promo, \n" +
|
||||
" mtb_lisv_data.val_promo as val_promo, \n" +
|
||||
" mtb_lisv_data.perc_oneri as perc_oneri, \n" +
|
||||
" mtb_lisv_data.val_oneri as val_oneri, \n" +
|
||||
" mtb_lisv_data.tipo_variazione as tipo_variazione, \n" +
|
||||
" mtb_lisv_data.note as note,\n" +
|
||||
" mtb_lisv_data.aggiornato_da as aggiornato_da,\n" +
|
||||
" mtb_lisv_data.prz_vend * (1 - mtb_lisv_data.perc_sco1/100) * (1 - mtb_lisv_data.perc_sco2/100)* (1 - mtb_lisv_data.perc_sco3/100)* (1 - mtb_lisv_data.perc_sco4/100) as prz_vend_netto,\n" +
|
||||
" vtb_promo.descrizione as 'descr_promo',\n" +
|
||||
" vtb_promo.data_iniz_sell_out,\n" +
|
||||
" vtb_promo.data_fine_sell_out,\n" +
|
||||
" vtb_promo.flag_tipo_promo,\n" +
|
||||
" mtb_lisv_data.sconto_cartoni,\n" +
|
||||
" mtb_lisv_data.sconto_strato,\n" +
|
||||
" mtb_lisv_data.sconto_pedane,\n" +
|
||||
" mtb_lisv_data.giacenza,\n" +
|
||||
" mtb_lisv_data.magg_prz_vend,\n" +
|
||||
" vtb_promo.flag_sconto_contrattuale,\n" +
|
||||
" vtb_promo.intercode_xml_variazioni\n" +
|
||||
" FROM vtb_list inner join vtb_list_data on vtb_list.cod_vlis = vtb_list_data.cod_vlis\n" +
|
||||
" inner join mtb_lisv_data on vtb_list_data.cod_vlis = mtb_lisv_data.cod_vlis AND vtb_list_data.versione = mtb_lisv_data.versione\n" +
|
||||
" inner join mtb_aart on mtb_lisv_data.cod_mart = mtb_aart.cod_mart\n" +
|
||||
" inner join vtb_promo on vtb_list_data.cod_promo = vtb_promo.cod_promo \n" +
|
||||
" outer apply (select count(*) as conta from vtb_list_data rif where vtb_list_data.cod_vlis = rif.cod_vlis_rif and vtb_list_data.versione = rif.versione ) list_rif\n" +
|
||||
" WHERE (@codMart IS NULL OR mtb_lisv_data.cod_mart = @codMart)\n" +
|
||||
" AND (@codvlis IS NULL OR vtb_list_data.cod_vlis = @codVlis) \n" +
|
||||
" AND vtb_list.cod_vlis_rif IS NULL\n" +
|
||||
" AND (@codPromo IS NULL OR vtb_list_data.cod_promo = @codPromo)\n" +
|
||||
" AND (((@dataFine IS NULL OR ISNULL(@dataIniz, dbo.f_convertDatetimeToDate(GETDATE())) = @dataFine) AND \n" +
|
||||
" ISNULL(@dataIniz, dbo.f_convertDatetimeToDate(GETDATE())) BETWEEN vtb_list_data.data_iniz AND vtb_list_data.data_fine) OR \n" +
|
||||
" (@dataFine IS NOT NULL AND ISNULL(@dataIniz, dbo.f_convertDatetimeToDate(GETDATE())) <> @dataFine AND \n" +
|
||||
" (vtb_list_data.data_iniz BETWEEN ISNULL(@dataIniz, dbo.f_convertDatetimeToDate(GETDATE())) AND @dataFine OR \n" +
|
||||
" vtb_list_data.data_fine BETWEEN ISNULL(@dataIniz, dbo.f_convertDatetimeToDate(GETDATE())) AND @dataFine OR \n" +
|
||||
" ISNULL(@dataIniz, dbo.f_convertDatetimeToDate(GETDATE())) BETWEEN vtb_list_data.data_iniz AND vtb_list_data.data_fine OR\n" +
|
||||
" @dataFine BETWEEN vtb_list_data.data_iniz AND vtb_list_data.data_fine ))) AND\n" +
|
||||
" (vtb_promo.flag_sconto_contrattuale = 'N' OR ( vtb_promo.flag_sconto_contrattuale = 'S' and list_rif.conta = 0 )) \n" +
|
||||
" union\n" +
|
||||
" SELECT vtb_list.cod_vlis, \n" +
|
||||
" vtb_list.descrizione, \n" +
|
||||
" vtb_list_data.data_iniz, \n" +
|
||||
" vtb_list_data.data_fine,\n" +
|
||||
" vtb_list_data.cod_promo,\n" +
|
||||
" vtb_list_data.versione, \n" +
|
||||
" vtb_list.cod_divi,\n" +
|
||||
" vtb_list.flag_arr_prz_iva, \n" +
|
||||
" vtb_list.arr_ric,\n" +
|
||||
" vtb_list.flag_list_iva_inclusa,\n" +
|
||||
" vtb_list.flag_lisv_margine, \n" +
|
||||
" mtb_lisv_data.cod_mart as cod_mart, \n" +
|
||||
" mtb_lisv_data.unt_mis_ven as unt_mis_ven,\n" +
|
||||
" mtb_lisv_data.rap_conv as rap_conv, \n" +
|
||||
" mtb_lisv_data.prz_base as prz_base, \n" +
|
||||
" mtb_lisv_data.ricarica as ricarico,\n" +
|
||||
" dbo.f_calcMargineEffettivo(mtb_lisv_data.prz_base, mtb_lisv_data.prz_vend, mtb_aart.perc_sfrido) as margine_eff,\n" +
|
||||
" dbo.f_calcRicaricoEffettivo(mtb_lisv_data.prz_base, mtb_lisv_data.prz_vend, mtb_aart.perc_sfrido) as ricarico_eff, \n" +
|
||||
" mtb_lisv_data.prz_vend as prz_vend, \n" +
|
||||
" mtb_lisv_data.prz_vend_iva as prz_vend_iva, \n" +
|
||||
" mtb_lisv_data.perc_sco1 as perc_sco1, \n" +
|
||||
" mtb_lisv_data.perc_sco2 as perc_sco2, \n" +
|
||||
" mtb_lisv_data.perc_sco3 as perc_sco3, \n" +
|
||||
" mtb_lisv_data.perc_sco4 as perc_sco4, \n" +
|
||||
" mtb_lisv_data.perc_prov as perc_prov, \n" +
|
||||
" mtb_lisv_data.fisso_prov as fisso_prov, \n" +
|
||||
" mtb_lisv_data.posizione as posizione, \n" +
|
||||
" mtb_lisv_data.perc_gest as perc_gest, \n" +
|
||||
" mtb_lisv_data.val_gest as val_gest, \n" +
|
||||
" mtb_lisv_data.data_agg_prz as data_agg_prz, \n" +
|
||||
" mtb_lisv_data.perc_ispe as perc_ispe, \n" +
|
||||
" mtb_lisv_data.val_ispe as val_ispe, \n" +
|
||||
" mtb_lisv_data.perc_promo as perc_promo, \n" +
|
||||
" mtb_lisv_data.val_promo as val_promo, \n" +
|
||||
" mtb_lisv_data.perc_oneri as perc_oneri, \n" +
|
||||
" mtb_lisv_data.val_oneri as val_oneri, \n" +
|
||||
" mtb_lisv_data.tipo_variazione as tipo_variazione, \n" +
|
||||
" mtb_lisv_data.note as note,\n" +
|
||||
" mtb_lisv_data.aggiornato_da as aggiornato_da,\n" +
|
||||
" mtb_lisv_data.prz_vend * (1 - mtb_lisv_data.perc_sco1/100) * (1 - mtb_lisv_data.perc_sco2/100)* (1 - mtb_lisv_data.perc_sco3/100)* (1 - mtb_lisv_data.perc_sco4/100) as prz_vend_netto ,\n" +
|
||||
" vtb_promo.descrizione as 'descr_promo',\n" +
|
||||
" vtb_promo.data_iniz_sell_out,\n" +
|
||||
" vtb_promo.data_fine_sell_out,\n" +
|
||||
" vtb_promo.flag_tipo_promo,\n" +
|
||||
" mtb_lisv_data.sconto_cartoni,\n" +
|
||||
" mtb_lisv_data.sconto_strato,\n" +
|
||||
" mtb_lisv_data.sconto_pedane,\n" +
|
||||
" mtb_lisv_data.giacenza,\n" +
|
||||
" mtb_lisv_data.magg_prz_vend,\n" +
|
||||
" vtb_promo.flag_sconto_contrattuale,\n" +
|
||||
" vtb_promo.intercode_xml_variazioni\n" +
|
||||
" FROM vtb_list inner join vtb_list_data on vtb_list.cod_vlis = vtb_list_data.cod_vlis \n" +
|
||||
" inner join vtb_list_data vtb_list_data_rif on vtb_list_data.cod_vlis_rif = vtb_list_data_rif.cod_vlis and\n" +
|
||||
" vtb_list_data.versione_rif = vtb_list_data_rif.versione \n" +
|
||||
" inner join mtb_lisv_data on vtb_list_data_rif.cod_vlis = mtb_lisv_data.cod_vlis and\n" +
|
||||
" vtb_list_data_rif.versione = mtb_lisv_data.versione \n" +
|
||||
" inner join mtb_aart on mtb_lisv_data.cod_mart = mtb_aart.cod_mart \n" +
|
||||
" inner join vtb_promo on vtb_list_data_rif.cod_promo = vtb_promo.cod_promo \n" +
|
||||
" WHERE (@codMart is null or mtb_lisv_data.cod_mart = @codMart ) and\n" +
|
||||
" (@codvlis is null or vtb_list_data.cod_vlis = @codVlis) and\n" +
|
||||
" ( @codPromo is null or vtb_list_data.cod_promo = @codPromo ) and\n" +
|
||||
" (((@dataFine IS NULL OR ISNULL(@dataIniz, dbo.f_convertDatetimeToDate(GETDATE())) = @dataFine) AND \n" +
|
||||
" ISNULL(@dataIniz, dbo.f_convertDatetimeToDate(GETDATE())) BETWEEN vtb_list_data.data_iniz AND vtb_list_data.data_fine) OR \n" +
|
||||
" (@dataFine IS NOT NULL AND ISNULL(@dataIniz, dbo.f_convertDatetimeToDate(GETDATE())) <> @dataFine AND \n" +
|
||||
" (vtb_list_data.data_iniz BETWEEN ISNULL(@dataIniz, dbo.f_convertDatetimeToDate(GETDATE())) AND @dataFine OR \n" +
|
||||
" vtb_list_data.data_fine BETWEEN ISNULL(@dataIniz, dbo.f_convertDatetimeToDate(GETDATE())) AND @dataFine OR \n" +
|
||||
" ISNULL(@dataIniz, dbo.f_convertDatetimeToDate(GETDATE())) BETWEEN vtb_list_data.data_iniz AND vtb_list_data.data_fine OR\n" +
|
||||
" @dataFine BETWEEN vtb_list_data.data_iniz AND vtb_list_data.data_fine )))");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -61,11 +61,11 @@ public class SalesRules extends QueryRules {
|
||||
}
|
||||
|
||||
public static boolean checkDataIniz(Connection conn, VtbListData vtbListData) throws Exception {
|
||||
if (vtbListData.getDataFine() != null ) {
|
||||
if (vtbListData.getDataFine() != null) {
|
||||
String sql = Query.format("SELECT data_fine from vtb_list_data WHERE cod_vlis = %s AND versione = %s",
|
||||
vtbListData.getCodVlis(), vtbListData.getVersione(), vtbListData.getDataFine());
|
||||
Date dataFine = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
if (dataFine != null ) {
|
||||
if (dataFine != null) {
|
||||
if (DateTimeComparator.getDateOnlyInstance().compare(vtbListData.getDataFine(), dataFine) == 0 &&
|
||||
vtbListData.getDataIniz().before((UtilityDate.getTodayWithoutTime())) &&
|
||||
vtbListData.getMtbLisvData().size() > 0) {
|
||||
@@ -78,9 +78,9 @@ public class SalesRules extends QueryRules {
|
||||
|
||||
}
|
||||
|
||||
if ( vtbListData.getDataIniz().before((UtilityDate.getTodayWithoutTime())))
|
||||
if (vtbListData.getDataIniz().before((UtilityDate.getTodayWithoutTime())))
|
||||
throw new Exception(String.format("Impossibile inserire una %s data inizio antecedente a oggi",
|
||||
(vtbListData.getDataFine() != null?"promozione":"variazione")));
|
||||
(vtbListData.getDataFine() != null ? "promozione" : "variazione")));
|
||||
|
||||
return true;
|
||||
|
||||
@@ -91,11 +91,11 @@ public class SalesRules extends QueryRules {
|
||||
String promoEscluse = setupGest.getSetup(conn, "VTB_LIST", "CHECK_DATA_FINE", "PROMO_ESCLUSE");
|
||||
if (!UtilityString.isNullOrEmpty(promoEscluse)) {
|
||||
String[] split = promoEscluse.split("\\|");
|
||||
if (Arrays.stream(split).anyMatch(x-> x.equalsIgnoreCase(vtbListData.getCodPromo())))
|
||||
if (Arrays.stream(split).anyMatch(x -> x.equalsIgnoreCase(vtbListData.getCodPromo())))
|
||||
return true;
|
||||
}
|
||||
|
||||
if (vtbListData.getDataFine().before(vtbListData.getDataIniz()) )
|
||||
if (vtbListData.getDataFine().before(vtbListData.getDataIniz()))
|
||||
throw new Exception(String.format("Impossibile inserire//modificare una promozione con data fine (%s) antecedente a data inizio ( %s )",
|
||||
new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(vtbListData.getDataFine()),
|
||||
new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(vtbListData.getDataIniz())));
|
||||
@@ -159,6 +159,36 @@ public class SalesRules extends QueryRules {
|
||||
return untMisVend;
|
||||
}
|
||||
|
||||
public static List<VtbListData> insertVtbListDataRif(Connection connection, VtbList vtbList) throws SQLException {
|
||||
String sql =
|
||||
"SELECT cod_vlis, versione, data_iniz\n" +
|
||||
"FROM vtb_list_data\n" +
|
||||
"WHERE data_iniz >= (SELECT data_iniz\n" +
|
||||
" FROM vtb_list_data\n" +
|
||||
" WHERE cod_vlis = [cod_vlis]\n" +
|
||||
" AND ([versione] is null or versione = [versione])\n" +
|
||||
" AND data_fine IS NULL)\n" +
|
||||
" AND cod_vlis = [cod_vlis]\n" +
|
||||
" AND data_fine IS NULL";
|
||||
sql = sql.
|
||||
replace("[versione]", UtilityDB.valueToString(vtbList.getVersioneRif()))
|
||||
.replace("[cod_vlis]", UtilityDB.valueToString(vtbList.getCodVlisRif()));
|
||||
|
||||
List<HashMap<String, Object>> listini = UtilityDB.executeSimpleQuery(connection, sql);
|
||||
List<VtbListData> listVtbListData = new ArrayList<>();
|
||||
for (HashMap<String, Object> map : listini) {
|
||||
VtbListData vtbListData = new VtbListData()
|
||||
.setCodVlis(vtbList.getCodVlis())
|
||||
.setCodVlisRif(UtilityHashMap.getValueIfExists(map, "cod_vlis"))
|
||||
.setVersioneRif(UtilityHashMap.getValueIfExists(map, "versione"))
|
||||
.setDataIniz(UtilityHashMap.getValueIfExists(map, "data_iniz"));
|
||||
vtbListData.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
listVtbListData.add(vtbListData);
|
||||
}
|
||||
return listVtbListData;
|
||||
|
||||
}
|
||||
|
||||
public static VtbList insertVtbList(Connection connection, VtbListData vtbListData) throws SQLException {
|
||||
String sql = Query.format(
|
||||
"SELECT CAST(COUNT(*) AS BIT) FROM vtb_list WHERE cod_vlis = %s",
|
||||
@@ -192,10 +222,10 @@ public class SalesRules extends QueryRules {
|
||||
}
|
||||
|
||||
VtbPromo vtbPromo = new VtbPromo()
|
||||
.setCodPromo(vtbListData.getCodPromo())
|
||||
.setDescrizione(vtbListData.getDescrPromo())
|
||||
.setDataInizSellIn(vtbListData.getDataIniz())
|
||||
.setDataFineSellIn(vtbListData.getDataFine());
|
||||
.setCodPromo(vtbListData.getCodPromo())
|
||||
.setDescrizione(vtbListData.getDescrPromo())
|
||||
.setDataInizSellIn(vtbListData.getDataIniz())
|
||||
.setDataFineSellIn(vtbListData.getDataFine());
|
||||
vtbPromo.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
|
||||
return vtbPromo;
|
||||
@@ -229,7 +259,7 @@ public class SalesRules extends QueryRules {
|
||||
"where mtb_lisv_data.cod_mart = " + UtilityDB.valueToString(mtbLisvData.getCodMart()) + " and " +
|
||||
"vtb_list_data.cod_vlis = " + UtilityDB.valueToString(mtbLisvData.getCodVlis()) + " and " +
|
||||
"vtb_list_data.data_iniz <= " + UtilityDB.valueDateToString(mtbLisvData.getDataIniz(), CommonConstants.DATE_FORMAT_YMD) +
|
||||
(mtbLisvData.getVersione() != null?" AND vtb_list_data.versione <> " + UtilityDB.valueToString(mtbLisvData.getVersione()):"")+
|
||||
(mtbLisvData.getVersione() != null ? " AND vtb_list_data.versione <> " + UtilityDB.valueToString(mtbLisvData.getVersione()) : "") +
|
||||
" ORDER BY vtb_list_data.data_iniz desc";
|
||||
|
||||
String tipoVariazione = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||
@@ -287,19 +317,19 @@ public class SalesRules extends QueryRules {
|
||||
|
||||
testata.setVersione(maxVersioneVend);
|
||||
Stream.of(testata.getMtbLisvData()).forEach(
|
||||
x->x.setVersione(maxVersioneVend)
|
||||
x -> x.setVersione(maxVersioneVend)
|
||||
);
|
||||
Stream.of(testata.getMtbLisvDataSpese()).forEach(
|
||||
x->x.setVersione(maxVersioneVend)
|
||||
x -> x.setVersione(maxVersioneVend)
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
private static Integer getMaxVersioneVend(Connection conn, String codVlis) throws Exception {
|
||||
String query = " SELECT IsNull(max(versione), 0) + 1 versione"
|
||||
+ " FROM vtb_list_data "
|
||||
+ " WHERE cod_vlis = "
|
||||
+ UtilityDB.valueToString(codVlis);
|
||||
+ " FROM vtb_list_data "
|
||||
+ " WHERE cod_vlis = "
|
||||
+ UtilityDB.valueToString(codVlis);
|
||||
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, query);
|
||||
}
|
||||
|
||||
@@ -483,7 +513,7 @@ public class SalesRules extends QueryRules {
|
||||
Date dataValidita = null;
|
||||
if (entity instanceof DtbOrdr || entity instanceof WdtbOrdr) {
|
||||
dataValidita = entity.getDataOrd();
|
||||
if (entity instanceof DtbOrdr ) {
|
||||
if (entity instanceof DtbOrdr) {
|
||||
DtbOrdt dtbOrdt = ((DtbOrdt) entity.getParent());
|
||||
if (dtbOrdt.getVtbClie().getFlagPrzCons()) {
|
||||
dataValidita = dtbOrdt.getDataConsRich();
|
||||
@@ -491,7 +521,7 @@ public class SalesRules extends QueryRules {
|
||||
} else {
|
||||
String sql = String.format("SELECT flag_prz_cons FROM vtb_clie WHERE cod_anag = %s", UtilityDB.valueToString(entity.getCodAnag()));
|
||||
boolean flagPrzCons = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
if ( flagPrzCons ){
|
||||
if (flagPrzCons) {
|
||||
dataValidita = ((WdtbOrdt) entity.getParent()).getDataConsRich();
|
||||
}
|
||||
}
|
||||
@@ -511,8 +541,8 @@ public class SalesRules extends QueryRules {
|
||||
valUntIva != null) {
|
||||
|
||||
BigDecimal percAliq = (BigDecimal) DroolsUtil.getEntityFieldValue(entity, "perc_aliq");
|
||||
if ( percAliq == null )
|
||||
throw new Exception ( String.format("Aliquota iva mancante sull'articolo ", entity.getCodMart()));
|
||||
if (percAliq == null)
|
||||
throw new Exception(String.format("Aliquota iva mancante sull'articolo ", entity.getCodMart()));
|
||||
BigDecimal valUnt = CommonRules.scorporoIva(valUntIva, percAliq);
|
||||
entity.setValUnt(valUnt);
|
||||
}
|
||||
@@ -791,7 +821,7 @@ public class SalesRules extends QueryRules {
|
||||
.map(x -> (String) x.getKey())
|
||||
.toList();
|
||||
|
||||
if ( artEquiErr.size() > 0 ) {
|
||||
if (artEquiErr.size() > 0) {
|
||||
// List<String> art = Stream.of(lisv)
|
||||
// .filter(x -> artEquiErr.contains(x.getIdArtEqui()))
|
||||
// .map(MtbLisvData::getCodMart)
|
||||
@@ -857,11 +887,11 @@ public class SalesRules extends QueryRules {
|
||||
"ricarico_max, " +
|
||||
"mtb_aart.descrizione, " +
|
||||
"flag_tipo_ricarico " +
|
||||
" FROM vtb_range_ricarico INNER JOIN mtb_aart ON " +
|
||||
" FROM vtb_range_ricarico INNER JOIN mtb_aart ON " +
|
||||
" vtb_range_ricarico.cod_mgrp = mtb_aart.cod_mgrp AND " +
|
||||
" vtb_range_ricarico.cod_msgr = mtb_aart.cod_msgr " +
|
||||
" WHERE mtb_aart.cod_mart = " + UtilityDB.valueToString(entity.getCodMart()) + "AND " +
|
||||
"( vtb_range_ricarico.ricarico_min <> 0 OR vtb_range_ricarico.ricarico_max <> 0 )";
|
||||
" WHERE mtb_aart.cod_mart = " + UtilityDB.valueToString(entity.getCodMart()) + "AND " +
|
||||
"( vtb_range_ricarico.ricarico_min <> 0 OR vtb_range_ricarico.ricarico_max <> 0 )";
|
||||
ps = conn.prepareStatement(query);
|
||||
rs = ps.executeQuery();
|
||||
if (rs.next()) {
|
||||
@@ -930,14 +960,14 @@ public class SalesRules extends QueryRules {
|
||||
return value.subtract(minValue).signum() >= 0 && value.subtract(maxValue).signum() <= 0;
|
||||
}
|
||||
|
||||
public static void insertMtbLisv(Connection conn, MtbLisvData mtbLisvData) throws Exception{
|
||||
public static void insertMtbLisv(Connection conn, MtbLisvData mtbLisvData) throws Exception {
|
||||
String sql =
|
||||
"SELECT Cast(count(*) as bit) " +
|
||||
" FROM mtb_lisv " +
|
||||
" WHERE cod_vlis = " + UtilityDB.valueToString(mtbLisvData.getCodVlis()) + " AND " +
|
||||
"cod_mart = " + UtilityDB.valueToString(mtbLisvData.getCodMart());
|
||||
" FROM mtb_lisv " +
|
||||
" WHERE cod_vlis = " + UtilityDB.valueToString(mtbLisvData.getCodVlis()) + " AND " +
|
||||
"cod_mart = " + UtilityDB.valueToString(mtbLisvData.getCodMart());
|
||||
boolean existLiv = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
if ( !existLiv ) {
|
||||
if (!existLiv) {
|
||||
MtbLisv mtbLisv = new MtbLisv()
|
||||
.setCodMart(mtbLisvData.getCodMart())
|
||||
.setCodVlis(mtbLisvData.getCodVlis())
|
||||
@@ -948,6 +978,7 @@ public class SalesRules extends QueryRules {
|
||||
mtbLisvData.setMtbLisv(mtbLisv);
|
||||
}
|
||||
}
|
||||
|
||||
public static void updArtEqui(Connection conn, VtbListData testata) throws Exception {
|
||||
boolean aggiornaEquivalenti = setupGest.getSetupBoolean("vtb_list", "ART_EQUIVALENTI", "AGGIORNAMENTO_AUTO");
|
||||
if (!aggiornaEquivalenti) return;
|
||||
@@ -1011,15 +1042,15 @@ public class SalesRules extends QueryRules {
|
||||
"isnull(lisv.unt_mis_ven,articoli.unt_mis) as unt_mis_vend,\n" +
|
||||
"IsNull(lisv.rap_conv, case lisv.unt_mis_ven WHEN articoli.unt_mis2 THEN articoli.unt_mis2 WHEN articoli.unt_mis3 THEN articoli.unt_mis3 ELSE 1 END ) as rap_conv,\n" +
|
||||
"CASE WHEN articoli.flag_equi_prezzo = 'B' OR articoli.flag_equi_prezzo = 'T' THEN " +
|
||||
UtilityDB.valueToString(datiListino.getPrzBase()) + " ELSE IsNull(lisv.prz_base,0) END as prz_base,\n" +
|
||||
UtilityDB.valueToString(datiListino.getPrzBase()) + " ELSE IsNull(lisv.prz_base,0) END as prz_base,\n" +
|
||||
"CASE WHEN articoli.flag_equi_prezzo = 'R' OR articoli.flag_equi_prezzo = 'P' OR articoli.flag_equi_prezzo = 'T' THEN " +
|
||||
UtilityDB.valueToString(datiListino.getRicarica()) + " ELSE IsNull(lisv.ricarico,0) END as ricarica,\n" +
|
||||
UtilityDB.valueToString(datiListino.getRicarica()) + " ELSE IsNull(lisv.ricarico,0) END as ricarica,\n" +
|
||||
"CASE WHEN articoli.flag_equi_prezzo = 'R' OR articoli.flag_equi_prezzo = 'P' OR articoli.flag_equi_prezzo = 'T' THEN\n" +
|
||||
UtilityDB.valueToString(datiListino.getMaggPrzVend()) + " ELSE IsNull(lisv.magg_prz_vend,0) END as magg_prz_vend,\n" +
|
||||
"compute_column.prz_vend as prz_vend,\n"+
|
||||
"CASE WHEN articoli.flag_equi_prezzo = 'B' OR articoli.flag_equi_prezzo = 'R' THEN \n"+
|
||||
"dbo.f_calcPrzVendIva(lisv.cod_vlis, lisv.cod_mart, compute_column.prz_vend) \n" +
|
||||
"ELSE " + UtilityDB.valueToString(datiListino.getPrzVendIva()) + " END as prz_vend_iva,\n"+
|
||||
UtilityDB.valueToString(datiListino.getMaggPrzVend()) + " ELSE IsNull(lisv.magg_prz_vend,0) END as magg_prz_vend,\n" +
|
||||
"compute_column.prz_vend as prz_vend,\n" +
|
||||
"CASE WHEN articoli.flag_equi_prezzo = 'B' OR articoli.flag_equi_prezzo = 'R' THEN \n" +
|
||||
"dbo.f_calcPrzVendIva(lisv.cod_vlis, lisv.cod_mart, compute_column.prz_vend) \n" +
|
||||
"ELSE " + UtilityDB.valueToString(datiListino.getPrzVendIva()) + " END as prz_vend_iva,\n" +
|
||||
"IsNull(lisv.perc_sco1,0) as perc_sco1,\n" +
|
||||
"IsNull(lisv.perc_sco2,0) as perc_sco2,\n" +
|
||||
"IsNull(lisv.perc_sco3,0) as perc_sco3,\n" +
|
||||
@@ -1046,17 +1077,17 @@ public class SalesRules extends QueryRules {
|
||||
UtilityDB.valueToString(datiListino.getPrzVendSug()) + " as prz_vend_sug,\n" +
|
||||
"case when lisv.cod_vlis is null THEN 'INSERT' ELSE 'UPDATE' END AS operation\n" +
|
||||
" FROM articoli \n" +
|
||||
"LEFT OUTER JOIN dbo.getListinoVendita(" + UtilityDB.valueToString(testata.getDataIniz()) + "," +
|
||||
UtilityDB.valueToString(testata.getCodVlis()) + ", null) lisv ON articoli.cod_mart = lisv.cod_mart " +
|
||||
"CROSS APPLY (\n"+
|
||||
"SELECT CASE articoli.flag_equi_prezzo\n" +
|
||||
"WHEN 'B' THEN dbo.f_calcPrzVend(lisv.cod_vlis, lisv.cod_mart, " + UtilityDB.valueToString(datiListino.getPrzBase()) + ", lisv.ricarico, articoli.perc_sfrido, lisv.magg_prz_vend)\n"+
|
||||
"WHEN 'R' THEN dbo.f_calcPrzVend(lisv.cod_vlis, lisv.cod_mart, IsNull(lisv.prz_base,0), " + UtilityDB.valueToString(datiListino.getRicarica()) + ", articoli.perc_sfrido, " + UtilityDB.valueToString(datiListino.getMaggPrzVend())+ " )\n"+
|
||||
"ELSE " + UtilityDB.valueToString(datiListino.getPrzVend()) + " END as prz_vend) compute_column\n"+
|
||||
" WHERE ( lisv.tipo_variazione is null OR lisv.tipo_variazione <> 'D' ) " + whereCondPrezzoBloccato;
|
||||
"LEFT OUTER JOIN dbo.getListinoVendita(" + UtilityDB.valueToString(testata.getDataIniz()) + "," +
|
||||
UtilityDB.valueToString(testata.getCodVlis()) + ", null) lisv ON articoli.cod_mart = lisv.cod_mart " +
|
||||
"CROSS APPLY (\n" +
|
||||
"SELECT CASE articoli.flag_equi_prezzo\n" +
|
||||
"WHEN 'B' THEN dbo.f_calcPrzVend(lisv.cod_vlis, lisv.cod_mart, " + UtilityDB.valueToString(datiListino.getPrzBase()) + ", lisv.ricarico, articoli.perc_sfrido, lisv.magg_prz_vend)\n" +
|
||||
"WHEN 'R' THEN dbo.f_calcPrzVend(lisv.cod_vlis, lisv.cod_mart, IsNull(lisv.prz_base,0), " + UtilityDB.valueToString(datiListino.getRicarica()) + ", articoli.perc_sfrido, " + UtilityDB.valueToString(datiListino.getMaggPrzVend()) + " )\n" +
|
||||
"ELSE " + UtilityDB.valueToString(datiListino.getPrzVend()) + " END as prz_vend) compute_column\n" +
|
||||
" WHERE ( lisv.tipo_variazione is null OR lisv.tipo_variazione <> 'D' ) " + whereCondPrezzoBloccato;
|
||||
|
||||
List<MtbLisvData> articoliDaAggiornare = new ResultSetMapper().mapQuerySetToList(conn, sql, MtbLisvData.class, OperationType.INSERT_OR_UPDATE);
|
||||
for ( MtbLisvData l:articoliDaAggiornare){
|
||||
for (MtbLisvData l : articoliDaAggiornare) {
|
||||
l.setCompletingManager(datiListino.getCompletingManager());
|
||||
l.setUsername(datiListino.getUsername());
|
||||
testata.completeEntityChild(conn, l, true);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package it.integry.ems_model.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import it.integry.ems_model.annotation.*;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
@@ -105,9 +106,15 @@ public class VtbList extends EntityBase {
|
||||
@SqlField(value = "flag_add_trasp", maxLength = 1, nullable = false, defaultObjectValue = "true")
|
||||
private Boolean flagAddTrasp;
|
||||
|
||||
@JsonProperty("versione_rif")
|
||||
private Integer versioneRif;
|
||||
|
||||
@Priority(101)
|
||||
private List<VtbList> vtbList;
|
||||
|
||||
@Priority(102)
|
||||
private List<VtbListData> vtbListData;
|
||||
|
||||
@EntityChild
|
||||
private List<VtbListPremi> vtbListPremi;
|
||||
|
||||
@@ -318,6 +325,16 @@ public class VtbList extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public Integer getVersioneRif() {
|
||||
return versioneRif;
|
||||
}
|
||||
|
||||
public VtbList setVersioneRif(Integer versioneRif) {
|
||||
this.versioneRif = versioneRif;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<VtbList> getVtbList() {
|
||||
return vtbList;
|
||||
}
|
||||
@@ -327,6 +344,15 @@ public class VtbList extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<VtbListData> getVtbListData() {
|
||||
return vtbListData;
|
||||
}
|
||||
|
||||
public VtbList setVtbListData(List<VtbListData> vtbListData) {
|
||||
this.vtbListData = vtbListData;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<VtbListPremi> getVtbListPremi() {
|
||||
return vtbListPremi;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,6 @@ public class VtbListData extends EntityBase {
|
||||
private String codVlis;
|
||||
|
||||
@PK
|
||||
@ImportFromParent
|
||||
@SqlField(value = "versione", nullable = false)
|
||||
private Integer versione;
|
||||
|
||||
@@ -72,6 +71,10 @@ public class VtbListData extends EntityBase {
|
||||
@SqlField(value = "cod_vlis_rif", maxLength = 5, nullable = true)
|
||||
private String codVlisRif;
|
||||
|
||||
@ImportFromParent(value = "versione")
|
||||
@SqlField(value = "versione_rif")
|
||||
private Integer versioneRif;
|
||||
|
||||
@SqlField(value = "condizioni_comm", nullable = true)
|
||||
private String condizioniComm;
|
||||
|
||||
@@ -235,6 +238,15 @@ public class VtbListData extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getVersioneRif() {
|
||||
return versioneRif;
|
||||
}
|
||||
|
||||
public VtbListData setVersioneRif(Integer versioneRif) {
|
||||
this.versioneRif = versioneRif;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCondizioniComm() {
|
||||
return condizioniComm;
|
||||
}
|
||||
|
||||
@@ -424,6 +424,18 @@ then
|
||||
}
|
||||
end
|
||||
|
||||
rule "insertVtbListDataRif"
|
||||
no-loop
|
||||
when
|
||||
eval(completeRulesEnabled)
|
||||
$entity : VtbList(codVlis != null && codVlisRif !=null && (vtbListData == null || vtbListData.size == 0) && operation != OperationType.DELETE)
|
||||
then
|
||||
List<VtbListData> vtbListData = SalesRules.insertVtbListDataRif(conn, $entity);
|
||||
modify($entity){
|
||||
setVtbListData(vtbListData)
|
||||
}
|
||||
end
|
||||
|
||||
rule "completePromoVend"
|
||||
no-loop
|
||||
when
|
||||
|
||||
@@ -113,4 +113,5 @@ public class ListiniVenditaController {
|
||||
|
||||
return UtilityEntity.toServiceRestResponse(entities);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -619,7 +619,7 @@ public class ImportAnagListiniService {
|
||||
entitySave.addAll(vtbGriglia);
|
||||
}
|
||||
}
|
||||
} else if (entityList.get(0) instanceof VtbCompensiTdr) {
|
||||
} else if (entityList.get(0) instanceof VtbCompensiTdr) {
|
||||
if (Stream.of(entitySave).filter(x -> x instanceof VtbCompensiTdt).findFirst().isEmpty()) {
|
||||
List<VtbCompensiTdt> vtbCompensiTdt = getVtbCompensiTdt(entityList);
|
||||
if (vtbCompensiTdt != null && vtbCompensiTdt.size() > 0) {
|
||||
|
||||
Reference in New Issue
Block a user