Nella query del saldo, se l'anno è aperto, presi i movimenti dall'ultimo anno contabile aperto
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20241125104041 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
|
||||
createOrUpdateFunction("getBilancio", "CREATE FUNCTION [dbo].[GetBilancio] (@dataIniz datetime, @dataFine datetime )\n" +
|
||||
"RETURNS TABLE AS RETURN (\n" +
|
||||
"with smovp as (\n" +
|
||||
"select\n" +
|
||||
" cod_ccon,\n" +
|
||||
" SUM(imp_Dare) AS imp_dare,\n" +
|
||||
" SUM(imp_avere) AS imp_avere,\n" +
|
||||
" SUM(saldo) AS saldo\n" +
|
||||
"from\n" +
|
||||
" (\n" +
|
||||
" select\n" +
|
||||
" ctb_movr.cod_ccon,\n" +
|
||||
" sum(ctb_movr.imp_dare) as imp_dare,\n" +
|
||||
" sum(ctb_movr.imp_avere) as imp_avere,\n" +
|
||||
" 0 as saldo\n" +
|
||||
" From\n" +
|
||||
" ctb_movt,\n" +
|
||||
" ctb_movr,\n" +
|
||||
" ctb_cont,\n" +
|
||||
" ctb_grup,\n" +
|
||||
" ctb_caus \n" +
|
||||
" Where\n" +
|
||||
" ctb_movt.num_cmov = ctb_movr.num_cmov \n" +
|
||||
" and ctb_movr.cod_ccon = ctb_cont.cod_ccon \n" +
|
||||
" and ctb_cont.cod_cgrp = ctb_grup.cod_cgrp \n" +
|
||||
" and ctb_movt.cod_ccau = ctb_caus.cod_ccau \n" +
|
||||
" and ctb_caus.flag_ap_ch = ('N')\n" +
|
||||
" and ctb_movt.data_cmov between @dataIniz and @dataFine\n" +
|
||||
" group by\n" +
|
||||
" ctb_movr.cod_ccon\n" +
|
||||
" --ok\n" +
|
||||
" union all\n" +
|
||||
" select\n" +
|
||||
" ctb_scon.cod_ccon,\n" +
|
||||
" 0 as imp_dare,\n" +
|
||||
" 0 as imp_Avere,\n" +
|
||||
" SUM(saldo_iniz) as saldo \n" +
|
||||
" From\n" +
|
||||
" ctb_scon /*Aggiunto join con nuova tabella gtb_periodo_fisc*/ inner join gtb_periodo_fisc on ctb_scon.anno = gtb_periodo_fisc.anno,\n" +
|
||||
" ctb_cont,\n" +
|
||||
" ctb_grup,\n" +
|
||||
" azienda\n" +
|
||||
" Where ctb_scon.cod_ccon = ctb_cont.cod_ccon \n" +
|
||||
" and ctb_cont.cod_cgrp = ctb_grup.cod_cgrp\n" +
|
||||
" and YEAR(@dataIniz) <= azienda.anno_contab \n" +
|
||||
" AND ctb_scon.anno = YEAR(@dataIniz)\n" +
|
||||
" and /*CONVERT(datetime, (Convert(varchar(4), DATEPART(year, @dataIniz))+'/01/01'))*/ CONVERT(datetime, (Convert(varchar(4), DATEPART(year, @dataIniz))+'/' + convert(varchar (2), datepart(month, gtb_periodo_fisc.data_iniz)) + '/' + convert(varchar(2) , datepart(day, gtb_periodo_fisc.data_iniz)))) = @dataIniz \n" +
|
||||
" and ctb_grup.sezione <>'2'\n" +
|
||||
" group by\n" +
|
||||
" ctb_scon.cod_ccon\n" +
|
||||
"--ok\n" +
|
||||
" union all\n" +
|
||||
" select\n" +
|
||||
" ctb_movr.cod_ccon,\n" +
|
||||
" 0 as imp_dare,\n" +
|
||||
" 0 as imp_Avere,\n" +
|
||||
" SUM(imp_dare - imp_avere) as saldo \n" +
|
||||
" From\n" +
|
||||
" ctb_movt /*Aggiunto join con nuova tabella gtb_periodo_fisc*/ inner join gtb_periodo_fisc on ctb_movt.anno_comp = gtb_periodo_fisc.anno\n" +
|
||||
" and ctb_movt.data_cmov between gtb_periodo_fisc.data_iniz and gtb_periodo_fisc.data_fine,\n" +
|
||||
" ctb_movr,\n" +
|
||||
" ctb_cont,\n" +
|
||||
" ctb_grup,\n" +
|
||||
" ctb_caus,\n" +
|
||||
" azienda\n" +
|
||||
" Where\n" +
|
||||
" ctb_movt.num_cmov = ctb_movr.num_cmov \n" +
|
||||
" and ctb_movr.cod_ccon = ctb_cont.cod_ccon \n" +
|
||||
" and ctb_cont.cod_cgrp = ctb_grup.cod_cgrp \n" +
|
||||
" and ctb_movt.cod_ccau = ctb_caus.cod_ccau\n" +
|
||||
" and (year(@dataIniz) > azienda.anno_contab OR /*CONVERT(datetime, (Convert(varchar(4), DATEPART(year, @dataIniz))+'/01/01'))*/ CONVERT(datetime, (Convert(varchar(4), DATEPART(year, @dataIniz))+'/' + convert(varchar (2), datepart(month, gtb_periodo_fisc.data_iniz)) + '/' + convert(varchar(2) , datepart(day, gtb_periodo_fisc.data_iniz)))) <> @dataIniz ) \n" +
|
||||
" and ctb_movt.data_cmov < @dataIniz\n" +
|
||||
" and ctb_movt.anno_comp >= azienda.anno_contab\n" +
|
||||
" and ctb_grup.sezione <>'2'\n" +
|
||||
" group by\n" +
|
||||
" ctb_movr.cod_ccon\n" +
|
||||
" --ok\n" +
|
||||
" union all\n" +
|
||||
" select\n" +
|
||||
" ctb_movr.cod_ccon,\n" +
|
||||
" 0 as imp_dare,\n" +
|
||||
" 0 as imp_Avere,\n" +
|
||||
" SUM(imp_dare - imp_avere) as saldo\n" +
|
||||
" From\n" +
|
||||
" ctb_movt /*Aggiunto join con nuova tabella gtb_periodo_fisc*/ inner join gtb_periodo_fisc on ctb_movt.anno_comp = gtb_periodo_fisc.anno\n" +
|
||||
" and ctb_movt.data_cmov between gtb_periodo_fisc.data_iniz and gtb_periodo_fisc.data_fine,\n" +
|
||||
" ctb_movr,\n" +
|
||||
" ctb_cont,\n" +
|
||||
" ctb_grup,\n" +
|
||||
" ctb_caus \n" +
|
||||
" Where\n" +
|
||||
" ctb_movt.num_cmov = ctb_movr.num_cmov \n" +
|
||||
" and ctb_movr.cod_ccon = ctb_cont.cod_ccon \n" +
|
||||
" and ctb_cont.cod_cgrp = ctb_grup.cod_cgrp \n" +
|
||||
" and ctb_movt.cod_ccau = ctb_caus.cod_ccau\n" +
|
||||
" and ctb_movt.data_cmov between /*CONVERT(datetime, (Convert(varchar(4), DATEPART(year, @dataIniz))+'/01/01'))*/ CONVERT(datetime, (Convert(varchar(4), DATEPART(year, @dataIniz))+'/' + convert(varchar (2), datepart(month, gtb_periodo_fisc.data_iniz)) + '/' + convert(varchar(2) , datepart(day, gtb_periodo_fisc.data_iniz)))) and DATEADD(DAY, -1, @dataIniz)\n" +
|
||||
" and ctb_grup.sezione = '2'\n" +
|
||||
" group by\n" +
|
||||
" ctb_movr.cod_ccon \n" +
|
||||
" )\n" +
|
||||
" as t\n" +
|
||||
"group by\n" +
|
||||
" cod_Ccon\n" +
|
||||
"),\n" +
|
||||
"mov as (\n" +
|
||||
"select smovp.*, \n" +
|
||||
"ctb_cont.descrizione, \n" +
|
||||
"ctb_grup.sezione, \n" +
|
||||
"ctb_grup.tipo, \n" +
|
||||
"ctb_mast.descrizione as descr_mastro, \n" +
|
||||
"ctb_mast.cod_cmas\n" +
|
||||
"from smovp INNER JOIN ctb_cont ON ctb_cont.cod_ccon = smovp.cod_ccon\n" +
|
||||
" INNER JOIN ctb_mast ON ctb_mast.cod_cmas = ctb_cont.cod_cmas\n" +
|
||||
" INNER JOIN ctb_grup ON ctb_grup.cod_cgrp = ctb_cont.cod_cgrp\n" +
|
||||
") ,\n" +
|
||||
"bilancio as (\n" +
|
||||
"select cod_cmas, cod_cmas as cod_ccon, descr_mastro as descrizione, SUM(saldo + imp_dare - imp_avere) as saldo, sum(saldo) as saldo_prec, sum(imp_dare) as dare, sum(imp_avere) as avere, tipo, sezione, 1 as group_cont\n" +
|
||||
"from mov\n" +
|
||||
"group by cod_cmas, descr_mastro, tipo, sezione\n" +
|
||||
"union all\n" +
|
||||
"select cod_cmas, cod_ccon, descrizione, sum(saldo + imp_dare - imp_avere) as saldo, sum(saldo) as saldo_prec, sum(imp_dare) as dare, sum(imp_avere) as avere, tipo , sezione, 2 as group_cont\n" +
|
||||
"from mov\n" +
|
||||
"group by cod_cmas, cod_ccon, descrizione, tipo, sezione)\n" +
|
||||
"\n" +
|
||||
"SELECT * FROM bilancio\n" +
|
||||
")");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user