""" Dataclass схемы для данных proverki.gov.ru. Эти классы представляют данные о проверках, возвращаемые клиентом. Они не зависят от Django ORM и используются как DTO. """ from dataclasses import dataclass @dataclass(frozen=True) class Inspection: """ Проверка из Единого реестра проверок. Источник: ФГИС "Единый реестр проверок" (proverki.gov.ru). Содержит данные о проведённых или запланированных проверках юридических лиц и индивидуальных предпринимателей. Поддерживает два типа проверок: - ФЗ-294 (традиционные проверки) - ФЗ-248 (новые проверки с 2021 года) """ registration_number: str """Учётный номер проверки в реестре.""" inn: str """ИНН проверяемого лица.""" ogrn: str """ОГРН проверяемого лица.""" organisation_name: str """Наименование проверяемого лица.""" control_authority: str """Наименование контрольного (надзорного) органа.""" inspection_type: str """Тип проверки (плановая/внеплановая).""" inspection_form: str """Форма проверки (документарная/выездная).""" start_date: str """Дата начала проверки (строка формата YYYY-MM-DD или DD.MM.YYYY).""" end_date: str """Дата окончания проверки.""" status: str """Статус проверки.""" legal_basis: str """Правовое основание проверки (ФЗ-294, ФЗ-248 и т.д.).""" result: str = "" """Результат проверки (если завершена).""" is_federal_law_248: bool = False """Признак проверки по ФЗ-248 (новые проверки с 2021 года).""" @dataclass(frozen=True) class InspectionPlan: """ План проверок на определённый период. Содержит метаданные о плане проверок (год, период, количество записей). """ year: int """Год плана проверок.""" month: int | None """Месяц (если план помесячный, иначе None).""" file_url: str """URL файла с данными плана.""" file_name: str """Имя файла.""" records_count: int = 0 """Количество записей в плане (если известно).""" file_format: str = "xml" """Формат файла (xml, csv, xlsx)."""