19 lines
1.5 KiB
SQL
19 lines
1.5 KiB
SQL
-- Еженедельный/ежемесячный дашборд по каналам: каждая загрузка файла 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);
|