diff --git a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20250110104458.java b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20250110104458.java new file mode 100644 index 0000000000..ae16c042fa --- /dev/null +++ b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20250110104458.java @@ -0,0 +1,68 @@ +package it.integry.ems.migration.model; + +import it.integry.ems.migration._base.BaseMigration; +import it.integry.ems.migration._base.MigrationModelInterface; + +public class Migration_20250110104458 extends BaseMigration implements MigrationModelInterface { + + @Override + public void up() throws Exception { + if (isHistoryDB()) + return; + + createOrUpdateFunction("getListinoVenditaPedane", + "CREATE FUNCTION [dbo].[getListinoVenditaPedane](@datavalidita DATETIME, @codvlis VARCHAR(5), @codmart VARCHAR(15), @pedane INT)\n" + + " RETURNS TABLE AS\n" + + " RETURN\n" + + " WITH trasp AS (SELECT mtb_lisv_data_spese.cod_vlis,\n" + + " mtb_lisv_data_spese.versione,\n" + + " mtb_lisv_data_spese.cod_spes,\n" + + " mtb_lisv_data_spese.perc_ricarico,\n" + + " mtb_lisv_data_spese.val_ricarico,\n" + + " mtb_lisv_data_spese.perc_sconto,\n" + + " mtb_lisv_data_spese.da,\n" + + " mtb_lisv_data_spese.a\n" + + " FROM vtb_list_data\n" + + " --riga Sotto Aggiunta da Massimo 08/01/25 per non fare uscire i range pedane quando il prezzo non deve essere addizionato del costo dei trasporti\n" + + " --inner join vtb_list on vtb_list_data.cod_vlis = vtb_list.cod_vlis and vtb_list.flag_add_trasp = 1\n" + + " INNER JOIN mtb_lisv_data_spese\n" + + " ON vtb_list_data.cod_vlis = mtb_lisv_data_spese.cod_vlis AND\n" + + " vtb_list_data.versione = mtb_lisv_data_spese.versione\n" + + " CROSS APPLY (SELECT MAX(id_listino) AS max_id_listino\n" + + " FROM vtb_list_data t\n" + + " WHERE t.data_iniz <= ISNULL(@datavalidita, CAST(GETDATE() AS DATE))\n" + + " AND vtb_list_data.cod_vlis = t.cod_vlis) max_lisv\n" + + " WHERE vtb_list_data.id_listino = max_lisv.max_id_listino)\n" + + "\n" + + " SELECT list.*,\n" + + " trasp.cod_spes,\n" + + " trasp.perc_ricarico,\n" + + " trasp.val_ricarico,\n" + + " trasp.perc_sconto,\n" + + " trasp.da,\n" + + " trasp.a,\n" + + " (list.prz_vend +\n" + + " IIF(list.flag_add_trasp = 1, --Questa condizione si potrebbe togliere per la modifica fatta l'8/01/25\n" + + " ((ISNULL(val_ricarico, 0)) * list.add_val_spese) /\n" + + " IIF(ISNULL(list.colli_pedana, 1) = 0, 1, list.colli_pedana), 0)) +\n" + + " ((ISNULL(perc_ricarico, 0) * list.add_ric_spese * list.prz_vend) / 100) *\n" + + " (1 - (ISNULL(perc_sconto, 0) * list.add_sco_spese) / 100) prz_vend_trasp,\n" + + " ((list.prz_vend +\n" + + " IIF(list.flag_add_trasp = 1, --Questa condizione si potrebbe togliere per la modifica fatta l'8/01/25\n" + + " ((ISNULL(val_ricarico, 0)) * list.add_val_spese) /\n" + + " IIF(ISNULL(list.colli_pedana, 1) = 0, 1, list.colli_pedana), 0)) +\n" + + " ((ISNULL(perc_ricarico, 0) * list.add_ric_spese * list.prz_vend) / 100) *\n" + + " (1 - (ISNULL(perc_sconto, 0) * list.add_sco_spese) / 100)) * (1 - list.perc_sco1 / 100) *\n" + + " (1 - list.perc_sco2 / 100) *\n" + + " (1 - list.perc_sco3 / 100) *\n" + + " (1 - list.perc_sco4 / 100) AS prz_vend_trasp_netto\n" + + " FROM getlistinovendita(@datavalidita, @codvlis, @codmart) list\n" + + " LEFT OUTER JOIN trasp ON list.cod_vlis = trasp.cod_vlis AND\n" + + " (@pedane IS NULL OR @pedane BETWEEN da AND a OR\n" + + " (@pedane IS NOT NULL AND da = 0 AND a = 0))"); + } + + @Override + public void down() throws Exception { + } +} \ No newline at end of file