From 840d5f5f1332fb683776a3c31424b822d5efb6e1 Mon Sep 17 00:00:00 2001 From: tsygankoviva Date: Wed, 24 Jun 2026 14:41:56 +0300 Subject: [PATCH] =?UTF-8?q?sql-funcs-fix:=20=D0=BF=D0=BE=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8?= =?UTF-8?q?,=20=D0=B0=D0=B3=D1=80=D0=B5=D0=B3=D0=B8=D1=80=D1=83=D1=8E?= =?UTF-8?q?=D1=89=D0=B8=D0=B5=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D0=B5=20?= =?UTF-8?q?=D0=BD=D0=B5=20=D0=B2=20=D1=82=D0=BE=D0=BC=20=D0=B4=D0=B8=D1=80?= =?UTF-8?q?=D0=B5=D0=BA=D1=88=D0=BD=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/alembic/versions/sql/0002_functions.sql | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/api/alembic/versions/sql/0002_functions.sql b/api/alembic/versions/sql/0002_functions.sql index c8c2011..0670ae1 100644 --- a/api/alembic/versions/sql/0002_functions.sql +++ b/api/alembic/versions/sql/0002_functions.sql @@ -3244,7 +3244,7 @@ BEGIN LEFT JOIN collegial_approval ca ON ca.line_id = bl.id AND s_ca LEFT JOIN ckk ck ON ck.line_id = bl.id AND (s_ckk OR s_need_bk) LEFT JOIN contract_detail cd ON cd.line_id = bl.id AND (s_cd OR s_need_bk) - WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet + WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet AND (p_direction is null OR bl.direction is null or bl.direction = p_direction) AND (s_need_ap OR s_cs OR s_ca OR s_ckk OR s_cd OR s_need_bk) GROUP BY bl.expense_item_id ), @@ -3257,7 +3257,7 @@ BEGIN SUM(blq.transfer_to_q2) AS tq2, SUM(blq.transfer_to_q3) AS tq3, SUM(blq.transfer_to_q4) AS tq4 FROM budget_line bl JOIN expense_item ei ON ei.id = bl.expense_item_id LEFT JOIN budget_line_quarter blq ON blq.line_id = bl.id AND blq.quarter = 1 - WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet AND s_q1 + WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet AND s_q1 AND (p_direction is null OR bl.direction is null or bl.direction = p_direction) GROUP BY bl.expense_item_id ), aq2 AS ( @@ -3270,7 +3270,7 @@ BEGIN SUM(blq.transfer_to_q3) AS tq3, SUM(blq.transfer_to_q4) AS tq4 FROM budget_line bl JOIN expense_item ei ON ei.id = bl.expense_item_id LEFT JOIN budget_line_quarter blq ON blq.line_id = bl.id AND blq.quarter = 2 - WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet AND s_q2 + WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet AND s_q2 AND (p_direction is null OR bl.direction is null or bl.direction = p_direction) GROUP BY bl.expense_item_id ), aq3 AS ( @@ -3283,7 +3283,7 @@ BEGIN SUM(blq.transfer_to_q4) AS tq4 FROM budget_line bl JOIN expense_item ei ON ei.id = bl.expense_item_id LEFT JOIN budget_line_quarter blq ON blq.line_id = bl.id AND blq.quarter = 3 - WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet AND s_q3 + WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet AND s_q3 AND (p_direction is null OR bl.direction is null or bl.direction = p_direction) GROUP BY bl.expense_item_id ), aq4 AS ( @@ -3296,7 +3296,7 @@ BEGIN SUM(blq.actual_spod) AS spod FROM budget_line bl JOIN expense_item ei ON ei.id = bl.expense_item_id LEFT JOIN budget_line_quarter blq ON blq.line_id = bl.id AND blq.quarter = 4 - WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet AND (s_q4 OR s_tot) + WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet AND (s_q4 OR s_tot) AND (p_direction is null OR bl.direction is null or bl.direction = p_direction) GROUP BY bl.expense_item_id ), atot AS ( @@ -3308,7 +3308,7 @@ BEGIN SUM(blq.payment_amount) AS pay FROM budget_line bl JOIN expense_item ei ON ei.id = bl.expense_item_id LEFT JOIN budget_line_quarter blq ON blq.line_id = bl.id - WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet AND s_tot + WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet AND s_tot AND (p_direction is null OR bl.direction is null or bl.direction = p_direction) GROUP BY bl.expense_item_id ), -- ═══ Pre-computed per-node aggregates (one pass over tw × agg) ═════════ @@ -4427,7 +4427,7 @@ BEGIN LEFT JOIN v3.sequestration sg ON sg.line_id = bl.id AND sg.actor='SSP_GO' AND s_need_ap LEFT JOIN v3.reserve r ON r.line_id = bl.id AND s_need_ap LEFT JOIN v3.ckk ck ON ck.line_id = bl.id AND s_book - WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet + WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet and (p_direction is null OR bl.direction is null or bl.direction = p_direction) AND (s_need_ap OR s_book) GROUP BY bl.expense_item_id ), @@ -4453,7 +4453,7 @@ BEGIN FROM v3.budget_line bl JOIN v3.expense_item ei ON ei.id = bl.expense_item_id JOIN v3.budget_line_quarter q ON q.line_id = bl.id - WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet + WHERE bl.budget_form_id = p_form_id AND ei.sheet = p_sheet and (p_direction is null OR bl.direction is null or bl.direction = p_direction) GROUP BY bl.expense_item_id, q.quarter ), -- Tree-rollup