- 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>
9.8 KiB
Внесенные изменения согласно детальному анализу
Дата: 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_numbermanufacture_datefirst_flight_datetotal_timetotal_cyclescurrent_statusconfiguration
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_routermodifications_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
Добавлены импорты новых моделей:
AirworthinessCertificateAircraftHistoryAircraftModification
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 и готов к дальнейшему развитию.