232 lines
9.8 KiB
Markdown
232 lines
9.8 KiB
Markdown
# Внесенные изменения согласно детальному анализу
|
||
|
||
## Дата: 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 и готов к дальнейшему развитию.
|