MODIFICATA GETSITART PER ANNO A CAVALLO
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-01-28 15:56:25 +01:00
parent 93e6fa1177
commit a1dc8161ea

View File

@@ -0,0 +1,91 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20250128152927 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createOrUpdateFunction("getsitartadataDett", "CREATE FUNCTION [dbo].[getsitartadataDett](@adt_adata datetime, @codMdep varchar(8000)) RETURNS TABLE AS \n" +
"return \n" +
"with anno as (\n" +
"select case\n" +
" when year(IsNull(@adt_adata, GetDate()) + 1) <= azienda.anno_magaz\n" +
" then year(IsNull(@adt_adata, GetDate()) + 1) \n" +
" else azienda.anno_magaz end as anno_iniz FROM azienda ),\n" +
"periodo as \n" +
"(select data_iniz from gtb_periodo_fisc inner join anno on gtb_periodo_fisc.anno = anno.anno_iniz) ,\n" +
"movimenti as (\n" +
"select mtb_sart.cod_mdep,\n" +
" mtb_sart.cod_mart,\n" +
" mtb_sart_dt.partita_mag,\n" +
" mtb_sart_dt.cod_col,\n" +
" mtb_sart_dt.cod_tagl,\n" +
" mtb_sart_dt.qta_iniz,\n" +
" CONVERT(numeric(20, 5), 0) as qta_car,\n" +
" CONVERT(numeric(20, 5), 0) as qta_scar,\n" +
" mtb_sart_dt.num_iniz,\n" +
" CONVERT(numeric(20, 5), 0) as num_car,\n" +
" CONVERT(numeric(20, 5), 0) as num_scar\n" +
" from mtb_sart\n" +
" INNER JOIN mtb_aart ON mtb_sart.cod_mart = mtb_aart.cod_mart\n" +
" INNER JOIN mtb_grup ON mtb_aart.cod_mgrp = mtb_grup.cod_mgrp\n" +
" INNER JOIN mtb_depo ON mtb_sart.cod_mdep = mtb_depo.cod_mdep\n" +
" INNER JOIN mtb_sart_dt ON mtb_sart.cod_mdep = mtb_sart_dt.cod_mdep\n" +
" and mtb_sart.cod_mart = mtb_sart_dt.cod_mart\n" +
" and mtb_sart.anno = mtb_sart_dt.anno\n" +
" where (@codMdep is null or mtb_depo.cod_mdep IN (SELECT value_string as cod_mdep FROM ParseStringIntoArray(@codMdep, ',')))\n" +
" and mtb_grup.flag_val_mag = 'S'\n" +
" and mtb_sart.anno IN (select anno_iniz from anno ) \n" +
" UNION ALL\n" +
" select mtb_movi.cod_mdep,\n" +
" mtb_movi.cod_mart,\n" +
" mtb_movi.partita_mag,\n" +
" mtb_movi.cod_col,\n" +
" mtb_movi.cod_tagl,\n" +
" 0 as qta_iniz,\n" +
" sum(mtb_movi.qta_car) as qta_car,\n" +
" sum(mtb_movi.qta_scar) as qta_scar,\n" +
" CONVERT(numeric(20, 5), 0) as num_iniz,\n" +
" SUM(mtb_movi.num_car) as num_car,\n" +
" SUM(mtb_movi.num_scar) as num_scar\n" +
" from mtb_movi \n" +
" INNER JOIN mtb_aart ON mtb_movi.cod_mart = mtb_aart.cod_mart\n" +
" INNER JOIN mtb_grup ON mtb_aart.cod_mgrp = mtb_grup.cod_mgrp\n" +
" INNER JOIN mtb_depo ON mtb_movi.cod_mdep = mtb_depo.cod_mdep\n" +
" where (@codMdep is null or mtb_depo.cod_mdep IN (SELECT value_string as cod_mdep FROM ParseStringIntoArray(@codMdep, ',')))\n" +
" and mtb_grup.flag_val_mag = 'S'\n" +
" and mtb_movi.data_reg between (select data_iniz from periodo) and IsNull(@adt_adata, GetDate())\n" +
" group by mtb_movi.cod_mdep, mtb_movi.cod_mart, mtb_movi.partita_mag, mtb_movi.cod_col,\n" +
" mtb_movi.cod_tagl,\n" +
" mtb_movi.data_reg )\n" +
"\n" +
"\n" +
" SELECT cod_mdep,\n" +
" cod_mart,\n" +
" partita_mag,\n" +
" cod_col,\n" +
" cod_tagl,\n" +
" SUM(qta_iniz) as qta_iniz,\n" +
" SUM(qta_car) as qta_car,\n" +
" SUM(qta_scar) as qta_scar,\n" +
" SUM(qta_iniz) + SUM(qta_car) - SUM(qta_scar) as qta_fine,\n" +
" SUM(num_iniz) as num_iniz,\n" +
" SUM(num_car) as num_car,\n" +
" SUM(num_scar) as num_scar,\n" +
" SUM(num_iniz) + SUM(num_car) - SUM(num_scar) as num_fine\n" +
" FROM movimenti sart_iniz_movi_fine\n" +
" GROUP BY cod_mdep, cod_mart, partita_mag, cod_col, cod_tagl");
}
@Override
public void down() throws Exception {
}
}