varie migration
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.IntegryCustomer;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20241113092617 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
if ( !isCustomer(IntegryCustomer.RossoGargano)) return;
|
||||
|
||||
createOrUpdateFunction("[suggestMtbArtEqui]", "CREATE FUNCTION [dbo].[suggestMtbArtEqui]\n" +
|
||||
"( \n" +
|
||||
" @jsonParm varchar(max)\n" +
|
||||
")\n" +
|
||||
"RETURNS TABLE \n" +
|
||||
"AS\n" +
|
||||
"RETURN \n" +
|
||||
"(\n" +
|
||||
" with tab_json as (\n" +
|
||||
"select *\n" +
|
||||
"from openJson(@jsonParm) \n" +
|
||||
"WITH (\n" +
|
||||
" cod_mgrp VARCHAR(5) '$.cod_mgrp',\n" +
|
||||
" cod_msgr VARCHAR(5) '$.cod_msgr',\n" +
|
||||
" cod_mtip VARCHAR(5) '$.cod_mtip',\n" +
|
||||
" cod_mstp VARCHAR(5) '$.cod_mstp',\n" +
|
||||
" cod_tcol_UI VARCHAR(100) '$.cod_tcol_UI',\n" +
|
||||
" marchio VARCHAR(255) '$.marchio',\n" +
|
||||
" qta_cnf FLOAT '$.qta_cnf',\n" +
|
||||
" peso_kg FLOAT '$.peso_kg'\n" +
|
||||
") )\n" +
|
||||
",art as (\n" +
|
||||
"SELECT distinct mtb_aart_equi.id_art_equi, IsNull(mtb_aart_equi.descrizione,\n" +
|
||||
" CONCAT_WS(' ', mtb_tipi.descrizione, mtb_aart.cod_tcol_UI, CAST(mtb_aart.qta_cnf AS FLOAT), 'x',\n" +
|
||||
" CAST(mtb_aart.peso_kg AS FLOAT), mtb_stip.descrizione, mtb_aart.marchio) ) as descrizione,\n" +
|
||||
" IsNull(mtb_aart_equi.flag_equi_prezzo, 'T') as flag_equi_prezzo, IsNull(mtb_aart_equi.flag_equi_costo,'N') as flag_equi_costo \n" +
|
||||
"FROM mtb_aart \n" +
|
||||
"left outer join mtb_aart_equi on mtb_aart.id_art_equi = mtb_aart_equi.id_art_equi\n" +
|
||||
"left outer join mtb_tipi on mtb_aart.cod_mtip = mtb_tipi.cod_mtip\n" +
|
||||
"left outer join mtb_stip on mtb_aart.cod_mtip = mtb_stip.cod_mtip and mtb_aart.cod_mstp = mtb_stip.cod_mstp \n" +
|
||||
"where exists (select *\n" +
|
||||
"from tab_json where mtb_aart.cod_mgrp = tab_json.cod_mgrp and\n" +
|
||||
"mtb_aart.cod_msgr = tab_json.cod_msgr and \n" +
|
||||
"mtb_aart.qta_cnf = tab_json.qta_cnf and\n" +
|
||||
"mtb_aart.peso_kg = tab_json.peso_kg and\n" +
|
||||
"(IsNull(mtb_aart.marchio,'') = isNull(tab_json.marchio,'')) and\n" +
|
||||
"(IsNull(mtb_aart.cod_tcol_UI,'') = isNull(tab_json.cod_tcol_UI,'')) and\n" +
|
||||
"(IsNull(mtb_aart.cod_mtip,'') = isNull(tab_json.cod_mtip,'')) and\n" +
|
||||
"(IsNull(mtb_aart.cod_mstp, '') = isNull(tab_json.cod_mstp,'')) \n" +
|
||||
"))\n" +
|
||||
"\n" +
|
||||
"select *\n" +
|
||||
"from art \n" +
|
||||
"union all\n" +
|
||||
"select null as id_art_eqi, upper( CONCAT_WS(' ', mtb_tipi.descrizione, cod_tcol_UI, CAST(qta_cnf AS FLOAT), 'x',\n" +
|
||||
" CAST(peso_kg AS FLOAT), mtb_stip.descrizione, marchio)), 'T' as flag_equi_prezzo, 'N' as flag_equi_costo \n" +
|
||||
"from tab_json left outer join mtb_tipi on tab_json.cod_mtip = mtb_tipi.cod_mtip\n" +
|
||||
"left outer join mtb_stip on tab_json.cod_mtip = mtb_stip.cod_mtip and tab_json.cod_mstp = mtb_stip.cod_mstp \n" +
|
||||
"where exists(select * from tab_json)\n" +
|
||||
")");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20241113092757 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
|
||||
createOrUpdateView("mvw_colr_sum", "CREATE VIEW [dbo].[mvw_colr_sum] AS \n" +
|
||||
"SELECT mtb_colt.gestione,\n" +
|
||||
" mtb_colt.data_collo,\n" +
|
||||
" mtb_colt.ser_collo,\n" +
|
||||
" mtb_colt.num_collo,\n" +
|
||||
" cod_mart,\n" +
|
||||
" partita_mag,\n" +
|
||||
" cod_barre,\n" +
|
||||
" cod_col,\n" +
|
||||
" cod_tagl,\n" +
|
||||
" note,\n" +
|
||||
" mtb_colr.data_ord,\n" +
|
||||
" mtb_colr.num_ord,\n" +
|
||||
" riga_ord,\n" +
|
||||
" SUM(qta_col) AS qta_col,\n" +
|
||||
" ROUND(SUM(CASE WHEN qta_cnf <> 0 THEN qta_col ELSE 0 END) /\n" +
|
||||
" SUM(CASE WHEN qta_cnf <> 0 THEN qta_col / qta_cnf ELSE 1 END), 5) AS qta_cnf,\n" +
|
||||
" cod_jcom,\n" +
|
||||
" SUM(num_cnf) AS num_cnf,\n" +
|
||||
" MIN(riga) AS riga,\n" +
|
||||
" mtb_colt.cod_tcol,\n" +
|
||||
" mtb_colt.peso_netto_kg,\n" +
|
||||
" mtb_colt.peso_kg,\n" +
|
||||
" colli_pedana.colli_pedana,\n" +
|
||||
" SUM(mtb_colr.peso_lordo_kg) AS peso_lordo_kg_riga,\n" +
|
||||
" SUM(mtb_colr.peso_netto_kg) AS peso_netto_kg_riga,\n" +
|
||||
" mtb_colr.cod_anag_doc AS cod_anag_comp,\n" +
|
||||
" mtb_colr.cod_dtip_doc AS cod_dtip_comp,\n" +
|
||||
" mtb_colr.data_doc AS data_doc_comp,\n" +
|
||||
" mtb_colr.ser_doc AS ser_doc_comp,\n" +
|
||||
" mtb_colr.num_doc AS num_doc_comp,\n" +
|
||||
" mtb_colr.id_riga_doc AS id_riga_doc_comp,\n" +
|
||||
" mtb_colt.cod_anag, \n" +
|
||||
" mtb_colt.cod_vdes,\n" +
|
||||
" mtb_colt.cod_mdep,\n" +
|
||||
" mtb_colt.cod_dtip,\n" +
|
||||
" mtb_colt.gestione + ':' + CONVERT(varchar(10), mtb_colt.data_collo, 121) + ':' + mtb_colt.ser_collo + ':' + Cast(mtb_colt.num_collo as varchar) as chiave_collo,\n" +
|
||||
" mtb_colt.data_ord as data_ord_t,\n" +
|
||||
" mtb_colt.num_ord as num_ord_t,\n" +
|
||||
" mtb_colt.data_doc as data_doc_val,\n" +
|
||||
" mtb_colr.cod_art_for\n" +
|
||||
"FROM mtb_colr,\n" +
|
||||
" mtb_colt\n" +
|
||||
" LEFT OUTER JOIN (SELECT gestione, data_collo, ser_collo, num_collo, SUM(num_cnf) AS colli_pedana\n" +
|
||||
" FROM mtb_colr\n" +
|
||||
" GROUP BY gestione, data_collo, ser_collo, num_collo) colli_pedana\n" +
|
||||
" ON mtb_colt.gestione = colli_pedana.gestione AND\n" +
|
||||
" mtb_colt.data_collo = colli_pedana.data_collo AND\n" +
|
||||
" mtb_colt.ser_collo = colli_pedana.ser_collo AND mtb_colt.num_collo = colli_pedana.num_collo\n" +
|
||||
"WHERE ((mtb_colr.gestione <> 'L' AND causale = 0) OR mtb_colr.gestione = 'L')\n" +
|
||||
" AND mtb_colr.gestione = mtb_colt.gestione\n" +
|
||||
" AND mtb_colr.data_collo = mtb_colt.data_collo\n" +
|
||||
" AND mtb_colr.num_collo = mtb_colt.num_collo\n" +
|
||||
" AND mtb_colr.ser_collo = mtb_colt.ser_collo\n" +
|
||||
"GROUP BY mtb_colt.gestione, mtb_colt.data_collo, mtb_colt.ser_collo, mtb_colt.num_collo, cod_mart, partita_mag,\n" +
|
||||
" cod_barre, cod_col, cod_tagl, note, mtb_colr.data_ord, mtb_colr.num_ord, riga_ord, cod_jcom, mtb_colt.cod_tcol,\n" +
|
||||
" mtb_colt.peso_netto_kg, mtb_colt.peso_kg, colli_pedana.colli_pedana, mtb_colr.cod_anag_doc,\n" +
|
||||
" mtb_colr.cod_dtip_doc, mtb_colr.data_doc, mtb_colr.ser_doc, mtb_colr.num_doc, mtb_colr.id_riga_doc,\n" +
|
||||
" mtb_colt.cod_anag, mtb_colt.cod_vdes, mtb_colt.cod_mdep, mtb_colt.cod_dtip,\n" +
|
||||
" mtb_colt.data_ord, mtb_colt.num_ord, mtb_colt.data_doc , mtb_colr.cod_art_for\n" +
|
||||
"HAVING SUM(CASE WHEN qta_cnf <> 0 THEN qta_col / qta_cnf ELSE 1 END) <> 0");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20241113130304 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
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" +
|
||||
"\t\t\t\t\t\t\t \n" +
|
||||
" FROM vtb_list_data\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) over (partition by vtb_list_data.cod_vlis) as max_id_listino ) max_lisv\n" +
|
||||
" WHERE vtb_list_data.data_iniz <= ISNULL(null, CAST(GETDATE() AS DATE))\n" +
|
||||
"\t\t\t\t\t and 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,\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,\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))");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user