sql-funcs-fix: поправил функции, агрегирующие данные не в том дирекшне #1

Merged
tsygankoviva merged 1 commits from sql-funcs-fix into test 2026-06-26 09:45:30 +03:00
Showing only changes of commit 840d5f5f13 - Show all commits

View File

@ -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