From 3b7c93f5a7ce6a948282247a05f423ece8fbbb0d Mon Sep 17 00:00:00 2001 From: Raykov-MS Date: Tue, 30 Jun 2026 09:51:17 +0300 Subject: [PATCH] del mig4 --- .../0004_vsp_remove_p_numbers_param.py | 335 ------------------ 1 file changed, 335 deletions(-) delete mode 100644 api/alembic/versions/0004_vsp_remove_p_numbers_param.py diff --git a/api/alembic/versions/0004_vsp_remove_p_numbers_param.py b/api/alembic/versions/0004_vsp_remove_p_numbers_param.py deleted file mode 100644 index 9d26d9d..0000000 --- a/api/alembic/versions/0004_vsp_remove_p_numbers_param.py +++ /dev/null @@ -1,335 +0,0 @@ -"""vsp remove p_numbers param - -Revision ID: 0004 -Revises: 0003 -Create Date: 2026-06-29 17:20:08.998832 - -""" -from typing import Sequence, Union - -from alembic import op - - -# revision identifiers, used by Alembic. -revision: str = '0004' -down_revision: Union[str, None] = '0003' -branch_labels: Union[str, Sequence[str], None] = None -depends_on: Union[str, Sequence[str], None] = None - - -def upgrade() -> None: - """Upgrade schema.""" - op.execute( - """ - CREATE OR REPLACE FUNCTION v3.add_vsp( - p_branch_id integer, - p_reg_number character varying DEFAULT NULL::character varying, - p_address character varying DEFAULT NULL::character varying, - p_format character varying DEFAULT NULL::character varying, - p_opened_at date DEFAULT NULL::date, - p_placement_type character varying DEFAULT NULL::character varying, - p_staff_count integer DEFAULT NULL::integer, - p_total_area numeric DEFAULT NULL::numeric, - p_closed_at date DEFAULT NULL::date, - p_is_active boolean DEFAULT true, - p_is_deleted boolean DEFAULT false, - p_system_code character varying DEFAULT NULL::character varying, - p_created_by integer DEFAULT NULL::integer, - p_vsp_type character varying DEFAULT NULL::character varying, - p_notes text DEFAULT NULL::text, - p_location_form character varying DEFAULT NULL::character varying, - p_rent_contract_num character varying DEFAULT NULL::character varying, - p_rent_end_date date DEFAULT NULL::date - ) - RETURNS integer - LANGUAGE plpgsql - AS $function$ - DECLARE - v_id INT; - v_branch_name VARCHAR; - v_actor_id INT; - v_actor_email VARCHAR; - v_actor_full_name VARCHAR; - BEGIN - SELECT ou.title INTO v_branch_name - FROM v3.org_unit ou - WHERE ou.id = p_branch_id; - - v_actor_id := COALESCE(p_created_by, v3.current_user_id()); - - IF v_actor_id IS NOT NULL THEN - SELECT u.email, u.full_name - INTO v_actor_email, v_actor_full_name - FROM v3.app_user u - WHERE u.id = v_actor_id; - END IF; - - INSERT INTO v3.vsp - (branch_id, reg_number, address, format, opened_at, - placement_type, staff_count, total_area, closed_at, - is_active, is_deleted, system_code, created_by, - vsp_type, notes, location_form, rent_contract_num, rent_end_date) - VALUES - (p_branch_id, p_reg_number, p_address, p_format, p_opened_at, - p_placement_type, p_staff_count, p_total_area, p_closed_at, - p_is_active, p_is_deleted, p_system_code, p_created_by, - p_vsp_type, p_notes, p_location_form, p_rent_contract_num, p_rent_end_date) - RETURNING id INTO v_id; - - PERFORM v3.log_event( - 'VSP_CREATE', 'VSP', - jsonb_build_object( - 'vsp_id', v_id, - 'entity_id', v_id, - 'branch_id', p_branch_id, - 'branch_name', v_branch_name, - 'reg_number', p_reg_number, - 'address', p_address, - 'format', p_format, - 'opened_at', v3._diff_val(p_opened_at), - 'placement_type', p_placement_type, - 'staff_count', p_staff_count, - 'total_area', v3._diff_val(p_total_area), - 'closed_at', v3._diff_val(p_closed_at), - 'is_active', p_is_active, - 'is_deleted', p_is_deleted, - 'system_code', p_system_code, - 'created_by', p_created_by, - 'vsp_type', p_vsp_type, - 'notes', p_notes, - 'location_form', p_location_form, - 'rent_contract_num', p_rent_contract_num, - 'rent_end_date', v3._diff_val(p_rent_end_date), - 'user_email', v_actor_email, - 'user_full_name', v_actor_full_name - ), null, null, p_branch_id - ); - - RETURN v_id; - END; - $function$; - """ - ) - - op.execute( - """ - CREATE OR REPLACE FUNCTION v3.upd_vsp( - p_vsp_id integer, - p_branch_id integer DEFAULT NULL::integer, - p_reg_number character varying DEFAULT NULL::character varying, - p_address character varying DEFAULT NULL::character varying, - p_format character varying DEFAULT NULL::character varying, - p_opened_at date DEFAULT NULL::date, - p_placement_type character varying DEFAULT NULL::character varying, - p_staff_count integer DEFAULT NULL::integer, - p_total_area numeric DEFAULT NULL::numeric, - p_closed_at date DEFAULT NULL::date, - p_is_active boolean DEFAULT NULL::boolean, - p_is_deleted boolean DEFAULT NULL::boolean, - p_system_code character varying DEFAULT NULL::character varying, - p_updated_by integer DEFAULT NULL::integer, - p_vsp_type character varying DEFAULT NULL::character varying, - p_notes text DEFAULT NULL::text, - p_location_form character varying DEFAULT NULL::character varying, - p_rent_contract_num character varying DEFAULT NULL::character varying, - p_rent_end_date date DEFAULT NULL::date - ) - RETURNS void - LANGUAGE plpgsql - AS $function$ - DECLARE - v_old RECORD; - v_changes JSONB := '{}'::jsonb; - - v_branch_name_before VARCHAR; - v_branch_name_after VARCHAR; - - v_actor_id INT; - v_actor_email VARCHAR; - v_actor_full_name VARCHAR; - BEGIN - SELECT v.branch_id, v.reg_number, v.address, v.format, v.opened_at, - v.placement_type, v.staff_count, v.total_area, v.closed_at, - v.is_active, v.is_deleted, v.system_code, - v.vsp_type, v.notes, v.location_form, v.rent_contract_num, v.rent_end_date - INTO v_old - FROM v3.vsp v - WHERE v.id = p_vsp_id; - - IF NOT FOUND THEN - RAISE EXCEPTION 'vsp #% не существует', p_vsp_id; - END IF; - - SELECT ou.title - INTO v_branch_name_before - FROM v3.org_unit ou - WHERE ou.id = v_old.branch_id; - - v_branch_name_after := v_branch_name_before; - - v_actor_id := COALESCE(p_updated_by, v3.current_user_id()); - IF v_actor_id IS NOT NULL THEN - SELECT u.email, u.full_name - INTO v_actor_email, v_actor_full_name - FROM v3.app_user u - WHERE u.id = v_actor_id; - END IF; - - IF p_branch_id IS NOT NULL AND p_branch_id IS DISTINCT FROM v_old.branch_id THEN - SELECT ou.title INTO v_branch_name_after - FROM v3.org_unit ou - WHERE ou.id = p_branch_id; - - UPDATE v3.vsp SET branch_id = p_branch_id WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object( - 'branch_id', jsonb_build_object( - 'before', v3._diff_val(v_old.branch_id), - 'after', v3._diff_val(p_branch_id) - ), - 'branch_name', jsonb_build_object( - 'before', v3._diff_val(v_branch_name_before), - 'after', v3._diff_val(v_branch_name_after) - ) - ); - END IF; - - IF p_reg_number IS NOT NULL AND p_reg_number IS DISTINCT FROM v_old.reg_number THEN - UPDATE v3.vsp SET reg_number = p_reg_number WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('reg_number', - jsonb_build_object('before', v3._diff_val(v_old.reg_number), - 'after', v3._diff_val(p_reg_number))); - END IF; - - IF p_address IS NOT NULL AND p_address IS DISTINCT FROM v_old.address THEN - UPDATE v3.vsp SET address = p_address WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('address', - jsonb_build_object('before', v3._diff_val(v_old.address), - 'after', v3._diff_val(p_address))); - END IF; - - IF p_format IS NOT NULL AND p_format IS DISTINCT FROM v_old.format THEN - UPDATE v3.vsp SET format = p_format WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('format', - jsonb_build_object('before', v3._diff_val(v_old.format), - 'after', v3._diff_val(p_format))); - END IF; - - IF p_opened_at IS NOT NULL AND p_opened_at IS DISTINCT FROM v_old.opened_at THEN - UPDATE v3.vsp SET opened_at = p_opened_at WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('opened_at', - jsonb_build_object('before', v3._diff_val(v_old.opened_at), - 'after', v3._diff_val(p_opened_at))); - END IF; - - IF p_placement_type IS NOT NULL AND p_placement_type IS DISTINCT FROM v_old.placement_type THEN - UPDATE v3.vsp SET placement_type = p_placement_type WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('placement_type', - jsonb_build_object('before', v3._diff_val(v_old.placement_type), - 'after', v3._diff_val(p_placement_type))); - END IF; - - IF p_staff_count IS NOT NULL AND p_staff_count IS DISTINCT FROM v_old.staff_count THEN - UPDATE v3.vsp SET staff_count = p_staff_count WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('staff_count', - jsonb_build_object('before', v3._diff_val(v_old.staff_count), - 'after', v3._diff_val(p_staff_count))); - END IF; - - IF p_total_area IS NOT NULL AND p_total_area IS DISTINCT FROM v_old.total_area THEN - UPDATE v3.vsp SET total_area = p_total_area WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('total_area', - jsonb_build_object('before', v3._diff_val(v_old.total_area), - 'after', v3._diff_val(p_total_area))); - END IF; - - IF p_closed_at IS NOT NULL AND p_closed_at IS DISTINCT FROM v_old.closed_at THEN - UPDATE v3.vsp SET closed_at = p_closed_at WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('closed_at', - jsonb_build_object('before', v3._diff_val(v_old.closed_at), - 'after', v3._diff_val(p_closed_at))); - END IF; - - IF p_is_active IS NOT NULL AND p_is_active IS DISTINCT FROM v_old.is_active THEN - UPDATE v3.vsp SET is_active = p_is_active WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('is_active', - jsonb_build_object('before', v3._diff_val(v_old.is_active), - 'after', v3._diff_val(p_is_active))); - END IF; - - IF p_is_deleted IS NOT NULL AND p_is_deleted IS DISTINCT FROM v_old.is_deleted THEN - UPDATE v3.vsp SET is_deleted = p_is_deleted WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('is_deleted', - jsonb_build_object('before', v3._diff_val(v_old.is_deleted), - 'after', v3._diff_val(p_is_deleted))); - END IF; - - IF p_system_code IS NOT NULL AND p_system_code IS DISTINCT FROM v_old.system_code THEN - UPDATE v3.vsp SET system_code = p_system_code WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('system_code', - jsonb_build_object('before', v3._diff_val(v_old.system_code), - 'after', v3._diff_val(p_system_code))); - END IF; - - IF p_vsp_type IS NOT NULL AND p_vsp_type IS DISTINCT FROM v_old.vsp_type THEN - UPDATE v3.vsp SET vsp_type = p_vsp_type WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('vsp_type', - jsonb_build_object('before', v3._diff_val(v_old.vsp_type), - 'after', v3._diff_val(p_vsp_type))); - END IF; - - IF p_notes IS NOT NULL AND p_notes IS DISTINCT FROM v_old.notes THEN - UPDATE v3.vsp SET notes = p_notes WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('notes', - jsonb_build_object('before', v3._diff_val(v_old.notes), - 'after', v3._diff_val(p_notes))); - END IF; - - IF p_location_form IS NOT NULL AND p_location_form IS DISTINCT FROM v_old.location_form THEN - UPDATE v3.vsp SET location_form = p_location_form WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('location_form', - jsonb_build_object('before', v3._diff_val(v_old.location_form), - 'after', v3._diff_val(p_location_form))); - END IF; - - IF p_rent_contract_num IS NOT NULL AND p_rent_contract_num IS DISTINCT FROM v_old.rent_contract_num THEN - UPDATE v3.vsp SET rent_contract_num = p_rent_contract_num WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('rent_contract_num', - jsonb_build_object('before', v3._diff_val(v_old.rent_contract_num), - 'after', v3._diff_val(p_rent_contract_num))); - END IF; - - IF p_rent_end_date IS NOT NULL AND p_rent_end_date IS DISTINCT FROM v_old.rent_end_date THEN - UPDATE v3.vsp SET rent_end_date = p_rent_end_date WHERE id = p_vsp_id; - v_changes := v_changes || jsonb_build_object('rent_end_date', - jsonb_build_object('before', v3._diff_val(v_old.rent_end_date), - 'after', v3._diff_val(p_rent_end_date))); - END IF; - - IF v_changes <> '{}'::jsonb THEN - UPDATE v3.vsp - SET updated_at = now(), - updated_by = p_updated_by - WHERE id = p_vsp_id; - - PERFORM v3.log_event( - 'VSP_UPDATE', 'VSP', - jsonb_build_object( - 'vsp_id', p_vsp_id, - 'entity_id', p_vsp_id, - 'branch_id', COALESCE(p_branch_id, v_old.branch_id), - 'branch_name', COALESCE(v_branch_name_after, v_branch_name_before), - 'changes', v_changes, - 'user_email', v_actor_email, - 'user_full_name', v_actor_full_name - ), null, null, COALESCE(p_branch_id, v_old.branch_id) - ); - END IF; - END; - $function$; - """ - ) - - -def downgrade() -> None: - """Downgrade schema.""" - pass