40 lines
1.9 KiB
MySQL
40 lines
1.9 KiB
MySQL
|
|
-- ========= ЮРИДИЧЕСКИЙ ОТДЕЛ: ИСТОРИЯ ПРОВЕРОК КОНТРАГЕНТОВ =========
|
|||
|
|
-- Миграция для создания таблицы истории проверок контрагентов через DaData
|
|||
|
|
|
|||
|
|
CREATE TABLE IF NOT EXISTS counterparty_checks (
|
|||
|
|
id BIGSERIAL PRIMARY KEY,
|
|||
|
|
inn TEXT NOT NULL,
|
|||
|
|
kpp TEXT,
|
|||
|
|
ogrn TEXT,
|
|||
|
|
name TEXT NOT NULL,
|
|||
|
|
short_name TEXT,
|
|||
|
|
type VARCHAR(20) CHECK (type IN ('LEGAL', 'INDIVIDUAL')),
|
|||
|
|
status VARCHAR(20),
|
|||
|
|
registration_date DATE,
|
|||
|
|
liquidation_date DATE,
|
|||
|
|
address TEXT,
|
|||
|
|
okved TEXT,
|
|||
|
|
okveds JSONB,
|
|||
|
|
management_name TEXT,
|
|||
|
|
management_post TEXT,
|
|||
|
|
finance_data JSONB, -- Полные финансовые данные
|
|||
|
|
authorities_data JSONB, -- Данные о налоговой, ПФР, ФСС
|
|||
|
|
phones JSONB,
|
|||
|
|
emails JSONB,
|
|||
|
|
employee_count INTEGER,
|
|||
|
|
risk_level VARCHAR(10) NOT NULL CHECK (risk_level IN ('low', 'medium', 'high')),
|
|||
|
|
risk_reasons TEXT[],
|
|||
|
|
raw_data JSONB, -- Полные данные от DaData
|
|||
|
|
checked_by TEXT, -- Кто провел проверку
|
|||
|
|
checked_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|||
|
|
notes TEXT,
|
|||
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
CREATE INDEX IF NOT EXISTS idx_counterparty_checks_inn ON counterparty_checks(inn);
|
|||
|
|
CREATE INDEX IF NOT EXISTS idx_counterparty_checks_risk_level ON counterparty_checks(risk_level);
|
|||
|
|
CREATE INDEX IF NOT EXISTS idx_counterparty_checks_checked_at ON counterparty_checks(checked_at DESC);
|
|||
|
|
CREATE INDEX IF NOT EXISTS idx_counterparty_checks_name ON counterparty_checks(name);
|
|||
|
|
|
|||
|
|
COMMENT ON TABLE counterparty_checks IS 'История проверок контрагентов через DaData API';
|