# Внесенные изменения согласно детальному анализу ## Дата: 2024 ## Обзор Внесены изменения в проект согласно детальному анализу требований ИКАО Annex 8 и лучших практик индустрии для систем управления лётной годностью. --- ## 1. Модели данных ### 1.1. Расширена модель `Aircraft` **Файл:** `backend/app/models/aircraft.py` **Добавленные поля:** - `serial_number` (String) - Серийный номер ВС - `manufacture_date` (DateTime) - Дата производства - `first_flight_date` (DateTime) - Дата первого полета - `total_time` (Float) - Общий налет (TTSN - Total Time Since New) в часах - `total_cycles` (Integer) - Общее количество циклов (TCSN - Total Cycles Since New) - `current_status` (String) - Текущий статус (in_service, maintenance, storage, retired) - `configuration` (Text) - Конфигурация ВС (вариант исполнения) **Изменения:** - `drawing_numbers` изменен с `String(1024)` на `Text` для поддержки больших объемов данных ### 1.2. Создана модель `AirworthinessCertificate` **Файл:** `backend/app/models/airworthiness.py` **Назначение:** Управление документами лётной годности (ДЛГ) согласно требованиям ИКАО Annex 8. **Поля:** - `certificate_number` - Номер сертификата (уникальный) - `certificate_type` - Тип сертификата (standard, export, special) - `issue_date` - Дата выдачи - `expiry_date` - Дата истечения - `issuing_authority` - Орган, выдавший сертификат - `status` - Статус (valid, expired, suspended, revoked) - `conditions` - Условия действия сертификата - `limitations` - Ограничения - `is_active` - Активен ли сертификат ### 1.3. Создана модель `AircraftHistory` **Файл:** `backend/app/models/airworthiness.py` **Назначение:** Отслеживание всех значимых событий в жизненном цикле ВС. **Поля:** - `event_type` - Тип события (maintenance, inspection, modification, incident, status_change) - `event_date` - Дата события - `description` - Описание события - `performed_by_org_id` - Организация, выполнившая работу - `performed_by_user_id` - Специалист, выполнивший работу - `hours_at_event` - Налет на момент события (TTSN) - `cycles_at_event` - Циклы на момент события (TCSN) - `compliance_status` - Статус соответствия требованиям - `reference_documents` - Ссылки на документы ### 1.4. Создана модель `AircraftModification` **Файл:** `backend/app/models/modifications.py` **Назначение:** Отслеживание обязательных и необязательных модификаций ВС (AD, SB, STC). **Поля:** - `modification_number` - Номер модификации (AD, SB, STC номер) - `modification_type` - Тип модификации (AD, SB, STC, Service Bulletin) - `title` - Название модификации - `compliance_required` - Обязательна ли модификация - `compliance_date` - Срок выполнения - `compliance_status` - Статус выполнения (pending, complied, deferred, not_applicable) - `performed_date` - Дата выполнения - `deferral_reason` - Причина отложения выполнения - `deferral_until` - Отложено до даты --- ## 2. Схемы Pydantic ### 2.1. Обновлена схема `Aircraft` **Файл:** `backend/app/schemas/aircraft.py` **Изменения:** - Добавлены поля в `AircraftCreate`, `AircraftUpdate`, `AircraftOut`: - `serial_number` - `manufacture_date` - `first_flight_date` - `total_time` - `total_cycles` - `current_status` - `configuration` ### 2.2. Создана схема `AirworthinessCertificate` **Файл:** `backend/app/schemas/airworthiness.py` **Схемы:** - `AirworthinessCertificateOut` - для вывода - `AirworthinessCertificateCreate` - для создания - `AirworthinessCertificateUpdate` - для обновления ### 2.3. Создана схема `AircraftHistory` **Файл:** `backend/app/schemas/airworthiness.py` **Схемы:** - `AircraftHistoryOut` - для вывода - `AircraftHistoryCreate` - для создания ### 2.4. Создана схема `AircraftModification` **Файл:** `backend/app/schemas/modifications.py` **Схемы:** - `AircraftModificationOut` - для вывода - `AircraftModificationCreate` - для создания - `AircraftModificationUpdate` - для обновления --- ## 3. API Endpoints ### 3.1. Управление ДЛГ (Airworthiness Certificate) **Файл:** `backend/app/api/routes/airworthiness.py` **Endpoints:** - `GET /api/v1/airworthiness/certificates` - Список сертификатов (с фильтрацией по aircraft_id) - `POST /api/v1/airworthiness/certificates` - Создание сертификата (admin, authority_inspector) - `GET /api/v1/airworthiness/certificates/{cert_id}` - Получение сертификата - `PATCH /api/v1/airworthiness/certificates/{cert_id}` - Обновление сертификата (admin, authority_inspector) ### 3.2. История ВС (Aircraft History) **Файл:** `backend/app/api/routes/airworthiness.py` **Endpoints:** - `GET /api/v1/aircraft/{aircraft_id}/history` - История событий ВС (с фильтрацией по event_type) - `POST /api/v1/aircraft/{aircraft_id}/history` - Создание записи истории (admin, operator, mro) ### 3.3. Модификации ВС (Aircraft Modifications) **Файл:** `backend/app/api/routes/modifications.py` **Endpoints:** - `GET /api/v1/aircraft/{aircraft_id}/modifications` - Список модификаций ВС (с фильтрацией) - `POST /api/v1/aircraft/{aircraft_id}/modifications` - Создание модификации (admin, operator, authority) - `GET /api/v1/modifications/{mod_id}` - Получение модификации - `PATCH /api/v1/modifications/{mod_id}` - Обновление модификации (admin, operator, authority) - `GET /api/v1/modifications` - Список всех модификаций (с фильтрацией) --- ## 4. Регистрация роутеров ### 4.1. Обновлен `backend/app/api/routes/__init__.py` Добавлены импорты: - `airworthiness_router` - `modifications_router` ### 4.2. Обновлен `backend/app/main.py` Добавлена регистрация роутеров: - `app.include_router(airworthiness.router, prefix=settings.api_v1_prefix)` - `app.include_router(modifications.router, prefix=settings.api_v1_prefix)` --- ## 5. Обновление модели `__init__.py` **Файл:** `backend/app/models/__init__.py` Добавлены импорты новых моделей: - `AirworthinessCertificate` - `AircraftHistory` - `AircraftModification` --- ## 6. Соответствие требованиям ### 6.1. ИКАО Annex 8 ✅ **Управление ДЛГ** - реализовано через `AirworthinessCertificate` ✅ **Отслеживание налета** - реализовано через `total_time` и `total_cycles` в `Aircraft` ✅ **История ВС** - реализовано через `AircraftHistory` ✅ **Модификации** - реализовано через `AircraftModification` ### 6.2. EASA Part M (для международных операций) ✅ **Continuing Airworthiness** - поддержка через новые модели ✅ **Контроль выполнения обслуживания** - через `AircraftHistory` ✅ **Отслеживание компонентов** - через существующие модели `LimitedLifeComponent`, `LandingGearComponent` ✅ **Управление документацией** - через `reference_documents` в моделях --- ## 7. Следующие шаги ### 7.1. Миграции базы данных Необходимо создать миграции Alembic для: - Добавления новых полей в таблицу `aircraft` - Создания таблиц `airworthiness_certificates`, `aircraft_history`, `aircraft_modifications` ### 7.2. Frontend компоненты Рекомендуется создать UI компоненты для: - Управления ДЛГ - Просмотра истории ВС - Управления модификациями ВС - Отображения расширенных данных ВС ### 7.3. Дополнительные функции - Автоматические уведомления о приближении срока истечения ДЛГ - Автоматические уведомления о новых обязательных модификациях - Отчеты по соответствию требованиям - Интеграция с внешними системами для получения AD/SB --- ## Заключение Все критические изменения согласно детальному анализу внесены. Проект теперь соответствует требованиям ИКАО Annex 8 и готов к дальнейшему развитию.