Files
mkd/backend/migrations/create_report_76_tables.sql
2026-02-04 00:17:04 +05:00

34 lines
2.0 KiB
SQL
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- Таблица строк ОСВ по счёту 76.06 (лицевые счета жителей)
CREATE TABLE IF NOT EXISTS report_76_rows (
id BIGSERIAL PRIMARY KEY,
report_id BIGINT NOT NULL REFERENCES financial_reports(id) ON DELETE CASCADE,
row_index INTEGER NOT NULL,
account_label TEXT NOT NULL,
account_ls TEXT,
saldo_start_debet NUMERIC(15, 2) DEFAULT 0,
turnover_debet NUMERIC(15, 2) DEFAULT 0,
turnover_credit NUMERIC(15, 2) DEFAULT 0,
saldo_end_debet NUMERIC(15, 2) DEFAULT 0,
saldo_end_credit NUMERIC(15, 2) DEFAULT 0,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_report_76_rows_report_id ON report_76_rows(report_id);
COMMENT ON TABLE report_76_rows IS 'Строки ОСВ по счёту 76.06 — лицевые счета (жители) из загруженного отчёта';
-- Таблица сопоставления домов и лицевых счетов (для фильтра ОСВ 76 по дому и отображения в карточке дома)
CREATE TABLE IF NOT EXISTS building_personal_account_mappings (
id BIGSERIAL PRIMARY KEY,
building_id VARCHAR(50) NOT NULL REFERENCES buildings(id) ON DELETE CASCADE,
account_ls TEXT NOT NULL,
account_label TEXT,
apartment TEXT,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(building_id, account_ls)
);
CREATE INDEX IF NOT EXISTS idx_building_personal_account_mappings_building ON building_personal_account_mappings(building_id);
CREATE INDEX IF NOT EXISTS idx_building_personal_account_mappings_account_ls ON building_personal_account_mappings(account_ls);
COMMENT ON TABLE building_personal_account_mappings IS 'Сопоставление домов и лицевых счетов (для ОСВ 76): фильтр по дому, отображение в карточке дома';