Поправил ошибки в тестах и функцию в бд
This commit is contained in:
parent
3b7c93f5a7
commit
20d0520b7d
@ -1571,7 +1571,7 @@ AS $function$
|
|||||||
DECLARE
|
DECLARE
|
||||||
v_report_id INT;
|
v_report_id INT;
|
||||||
v_eid INT;
|
v_eid INT;
|
||||||
v_org_id INT;
|
v_form_id INT;
|
||||||
v_ei_path INT[];
|
v_ei_path INT[];
|
||||||
BEGIN
|
BEGIN
|
||||||
-- Извлекаем report_id + ei ДО DELETE (нужен для path)
|
-- Извлекаем report_id + ei ДО DELETE (нужен для path)
|
||||||
@ -1585,21 +1585,33 @@ BEGIN
|
|||||||
|
|
||||||
v_ei_path := v3._expense_item_path_set(ARRAY[v_eid]);
|
v_ei_path := v3._expense_item_path_set(ARRAY[v_eid]);
|
||||||
|
|
||||||
|
SELECT bf.id
|
||||||
|
INTO v_form_id
|
||||||
|
FROM v3.rf_project_report r
|
||||||
|
JOIN v3.project p
|
||||||
|
ON p.id = r.project_id
|
||||||
|
LEFT JOIN v3.budget_form bf
|
||||||
|
ON bf.form_type_code = 'FORM_3'
|
||||||
|
AND bf.year = r.year
|
||||||
|
AND bf.org_unit_id = p.org_unit_id
|
||||||
|
WHERE r.id = v_report_id
|
||||||
|
LIMIT 1;
|
||||||
|
|
||||||
-- Каскад (FK без ON DELETE CASCADE)
|
-- Каскад (FK без ON DELETE CASCADE)
|
||||||
DELETE FROM v3.rf_project_report_quarter WHERE rf_project_report_line_id = p_line_id;
|
DELETE FROM v3.rf_project_report_quarter WHERE rf_project_report_line_id = p_line_id;
|
||||||
DELETE FROM v3.rf_project_report_line WHERE id = p_line_id;
|
DELETE FROM v3.rf_project_report_line WHERE id = p_line_id;
|
||||||
|
|
||||||
SELECT org_unit_id INTO v_org_id FROM v3.project WHERE id = v_report_id;
|
|
||||||
-- Аудит: ROW_DELETE
|
-- Аудит: ROW_DELETE
|
||||||
PERFORM v3.log_event(
|
PERFORM v3.log_event(
|
||||||
'ROW_DELETE', 'ROW',
|
'ROW_DELETE', 'ROW',
|
||||||
jsonb_build_object(
|
jsonb_build_object(
|
||||||
'sheet', 'FORM_3',
|
'sheet', 'FORM_3',
|
||||||
'line_id', p_line_id,
|
'line_id', p_line_id,
|
||||||
'entity_id', p_line_id,
|
'form_id', v_form_id,
|
||||||
'report_id', v_report_id,
|
'report_id', v_report_id,
|
||||||
'expense_item_id', v_eid
|
'expense_item_id', v_eid
|
||||||
), null, null, v_org_id
|
),
|
||||||
|
v_form_id
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Возврат: только иерархия по пути удалённой (INPUT уже нет)
|
-- Возврат: только иерархия по пути удалённой (INPUT уже нет)
|
||||||
|
|||||||
@ -86,6 +86,8 @@ def test_projects_write_smoke(client, admin_tokens, auth_headers):
|
|||||||
f"/api/v1/projects/{project_id}/report/2026/LIMIT/line/{line_id}",
|
f"/api/v1/projects/{project_id}/report/2026/LIMIT/line/{line_id}",
|
||||||
headers=auth_headers(admin_tokens),
|
headers=auth_headers(admin_tokens),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
print(del_line_response.status_code, del_line_response.json())
|
||||||
assert del_line_response.status_code == 200
|
assert del_line_response.status_code == 200
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user