dana-medical-site/internal/storage/migrations/0021_weekly_reports.sql
2026-10-14 13:33:13 +00:00

19 lines
1.5 KiB
SQL
Raw Permalink 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.

-- Еженедельный/ежемесячный дашборд по каналам: каждая загрузка файла 1С за период
-- (неделя или месяц, без разбивки по дням) становится одной строкой истории.
-- При повторной загрузке того же периода цифры из 1С/АТС/Битрикса пересчитываются,
-- а уже введённый вручную бюджет по каналу сохраняется (переносится при upsert в коде).
CREATE TABLE weekly_reports (
id bigserial PRIMARY KEY,
period_from date NOT NULL,
period_to date NOT NULL, -- включительно
label text NOT NULL, -- «30.03-05.04» или «Март 2026»
source_name text NOT NULL DEFAULT '',
callcenter jsonb NOT NULL DEFAULT '{}', -- блок «Колл-ц»: звонки, не принятые…
channels jsonb NOT NULL DEFAULT '[]', -- [{key,title,leads,patients,services,per_patient,revenue,avg_check,budget}]
admin_id bigint REFERENCES admin_users (id) ON DELETE SET NULL,
created_at timestamptz NOT NULL DEFAULT now(),
updated_at timestamptz NOT NULL DEFAULT now()
);
CREATE UNIQUE INDEX weekly_reports_period_idx ON weekly_reports (period_from, period_to);
CREATE INDEX weekly_reports_from_idx ON weekly_reports (period_from DESC);