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