klg-asutk-app/docs/ВНЕСЕННЫЕ_ИЗМЕНЕНИЯ.md
Yuriy 0150aba4f5 Consolidation: KLG ASUTK + PAPA integration
- Unify API: lib/api.ts uses /api/v1, inbox uses /api/inbox (rewrites)
- Remove localhost refs: openapi, inbox page
- Add rewrites: /api/inbox|tmc -> inbox-server, /api/v1 -> FastAPI
- Add stub routes: knowledge/insights, recommendations, search, log-error
- Transfer from PAPA: prompts (inspection, tmc), scripts, supabase, data/tmc-requests
- Fix inbox-server: ORDER BY created_at, package.json
- Remove redundant app/api/inbox/files route (rewrites handle it)
- knowledge/ in gitignore (large PDFs)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-08 17:18:31 +03:00

232 lines
9.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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