From 5eb73ddb3719085c6e51eb311cc63524987600e7 Mon Sep 17 00:00:00 2001 From: Raykov-MS Date: Wed, 8 Jul 2026 12:54:17 +0300 Subject: [PATCH] clean 004 migration --- api/alembic/versions/sql/0002_functions.sql | 22 ++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/api/alembic/versions/sql/0002_functions.sql b/api/alembic/versions/sql/0002_functions.sql index a685ff6..987eb91 100644 --- a/api/alembic/versions/sql/0002_functions.sql +++ b/api/alembic/versions/sql/0002_functions.sql @@ -1739,6 +1739,7 @@ AS $function$ DECLARE v_old RECORD; v_usr RECORD; + v_closed DATE; BEGIN SELECT vsp.id, vsp.branch_id INTO v_old @@ -1754,15 +1755,18 @@ BEGIN END IF; - UPDATE v3.vsp - SET is_deleted = true, - is_active = false, - updated_by = p_deleted_by - WHERE id = p_vsp_id; - UPDATE v3.vsp - SET closed_at = CURRENT_DATE - WHERE id = p_vsp_id - AND closed_at IS NULL; + UPDATE v3.vsp SET is_deleted = true, updated_by = p_deleted_by WHERE id = p_vsp_id; + UPDATE v3.vsp SET closed_at = CURRENT_DATE + WHERE id = p_vsp_id AND closed_at IS NULL + RETURNING closed_at INTO v_closed; + + IF v_closed IS NULL THEN + IF EXISTS (SELECT 1 FROM v3.vsp WHERE id = p_vsp_id) THEN + RAISE EXCEPTION 'vsp #% уже закрыт', p_vsp_id; + ELSE + RAISE EXCEPTION 'vsp #% не существует', p_vsp_id; + END IF; + END IF; PERFORM v3.log_event( 'DELETE_VSP', 'VSP',