Merge pull request 'sql-funcs-fix: поправил функции, агрегирующие данные не в том дирекшне' (#1) from sql-funcs-fix into test
Reviewed-on: #1
This commit is contained in:
commit
19dbc49dc0
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user