250 lines
14 KiB
Markdown
250 lines
14 KiB
Markdown
# Changelog — КЛГ АСУ ТК
|
||
|
||
## v27 (2026-02-13) — ФГИС РЭВС Integration
|
||
### Added
|
||
- **Интеграция с ФГИС РЭВС** — полная реализация:
|
||
- **Сервис** (629 lines): REST API + СМЭВ 3.0 (SOAP) клиент
|
||
- Модели данных: FGISAircraft, FGISCertificate, FGISOperator, FGISDirective, FGISMaintOrg
|
||
- ГОСТ Р 34.10-2012 (УКЭП) для юридически значимого обмена
|
||
- Mock-данные для тестовой среды (4 ВС, 3 СЛГ, 2 ДЛГ, 1 эксплуатант)
|
||
- **API routes** (313 lines, 15 endpoints):
|
||
- PULL: `/fgis-revs/aircraft`, `/certificates`, `/operators`, `/directives`, `/maintenance-organizations`
|
||
- PUSH: `/push/compliance`, `/push/maintenance`, `/push/defect`
|
||
- SYNC: `/sync/aircraft`, `/sync/certificates`, `/sync/directives`, `/sync/all`
|
||
- STATUS: `/status`, `/config`, `/sync-log`
|
||
- **Frontend** (323 lines, 7 вкладок):
|
||
- Статус подключения (mock/connected/error)
|
||
- Реестр ВС, СЛГ, Директивы ЛГ, Эксплуатанты — DataTable с фильтрами
|
||
- Ручная синхронизация + push compliance/maintenance/defect
|
||
- Журнал синхронизаций
|
||
- **Scheduler**: авто-синхронизация каждые 24ч
|
||
- Pull ВС → Pull СЛГ → Pull ДЛГ
|
||
- Новые mandatory AD → автоматические risk alerts
|
||
- Expired СЛГ → предупреждения
|
||
- **16 тестов**: pull (6), push (3), sync (4), status (3)
|
||
|
||
### Правовые основания
|
||
- ВК РФ ст. 33 (реестр ВС), ст. 36 (СЛГ), ст. 37.2 (поддержание ЛГ)
|
||
- Приказ Минтранса № 98 от 02.07.2007
|
||
- Приказ Росавиации № 180-П от 09.03.2017
|
||
- ФАП-148 п.4.3 (уведомление о выполнении ДЛГ)
|
||
- ФАП-145 п.A.55 (документация ТО)
|
||
- ФАП-128 (обязательные донесения)
|
||
|
||
## v26 (2026-02-13) — Final Polish
|
||
### Added
|
||
- **⌨️ Keyboard shortcuts**: Ctrl+K (search), g→d/a/m/p/c/f/s (navigation), ? (help)
|
||
- ShortcutsHelp overlay с полным списком
|
||
- **DataTable v2**: сортировка по столбцам + клиентская пагинация (20 записей/стр)
|
||
- **🔔 Notification bell**: real-time WS счётчик, dropdown с последними событиями
|
||
- **📍 Breadcrumbs**: автоматическая навигационная цепочка на всех страницах
|
||
- **📱 Responsive sidebar**: mobile hamburger toggle (lg: breakpoint)
|
||
- **🩺 Health dashboard**: `/health/detailed` — БД, Redis, диск, память, данные
|
||
- **Frontend validation**: validate() + RULES для aircraft_reg, P/N, S/N, табельных №
|
||
### Metrics
|
||
- Полный список горячих клавиш (10 shortcuts)
|
||
- DataTable с сортировкой + пагинацией на ВСЕХ таблицах
|
||
|
||
## v25 (2026-02-13) — Tests, UX, Documentation
|
||
### Added
|
||
- **15 новых backend тестов** для всех v22-v24 endpoints:
|
||
- test_import_export (3): XLSX export 6 типов + validation
|
||
- test_global_search (4): пустой поиск, min length, поиск AD, поиск персонала
|
||
- test_notification_prefs (2): defaults + update
|
||
- test_wo_integration (6): WO from AD/defect/SB, batch from MP, PDF
|
||
- **4 новых E2E теста**: calendar, settings, defects, maintenance
|
||
- **👤 Профиль пользователя** — аватар, роль, ID, быстрые ссылки
|
||
- **📚 Справка** — вся нормативная база (19 документов) с поиском
|
||
- 4 категории: РФ законодательство, ФАП, ICAO, EASA
|
||
- **🌙 Тёмная тема** — toggle в настройках
|
||
- **📝 Audit History** — фильтры по типу объекта и действию
|
||
### Metrics
|
||
- Backend: 130+ BE tests | 20 E2E
|
||
- Pages: 34 | Components: 50+
|
||
- Endpoints: 160+
|
||
|
||
## v24 (2026-02-13) — Medium Priority Improvements
|
||
### Added
|
||
- **📅 Календарь ТО** — визуализация плановых WO, дедлайнов AD, сроков ПК, ресурсов
|
||
- Месячная сетка с цветовой кодировкой типов событий
|
||
- Навигация по месяцам, подсветка текущего дня
|
||
- **📊 Import/Export Excel (XLSX)** — массовая загрузка и выгрузка:
|
||
- Экспорт: components, directives, bulletins, specialists, defects, work_orders
|
||
- Импорт: components, specialists, directives (с валидацией)
|
||
- **📐 Batch WO из программы ТО** — `POST /work-orders/batch-from-program/{id}`
|
||
- Автоматическое создание нарядов для каждой задачи MP
|
||
- **🖨️ Печатная форма CRS** — `/print/crs?wo_id=...` с auto-print
|
||
- Двуязычная (ru/en), ФАП-145 п.A.50 / EASA Part-145.A.50
|
||
- **⚙️ Настройки уведомлений** — 9 типов событий × 3 канала (email/push/WS)
|
||
- Toggle-интерфейс, сохранение на бэкенде
|
||
- **PWA v2** — улучшенный service worker:
|
||
- Network-first для API (с offline-кешем)
|
||
- Cache-first для статики
|
||
- Offline fallback для всех страниц
|
||
|
||
## v23 (2026-02-13) — Production Hardening
|
||
### Critical Fixes
|
||
- **ORM модели**: 10 SQLAlchemy классов для всех новых таблиц (258 lines)
|
||
- PLGSpecialist, PLGAttestation, PLGQualification
|
||
- ADDirective, ServiceBulletin, LifeLimit, MaintenanceProgram, AircraftComponent
|
||
- WorkOrder
|
||
- **Global auth**: Depends(get_current_user) на всех 26 роутерах
|
||
- **Loading states**: 7 страниц получили индикаторы загрузки
|
||
|
||
### Added
|
||
- **WebSocket notifications** для критических событий:
|
||
- Новая обязательная ДЛГ, критический дефект, AOG наряд, CRS закрытие
|
||
- ConnectionManager с room support (128 lines)
|
||
- **Вложения к нарядам/дефектам**: AttachmentUpload компонент
|
||
- **Глобальный поиск**: /search/global — ВС, компоненты, AD, SB, WO, дефекты, персонал
|
||
- SearchBar в Sidebar с debounce + dropdown результатов
|
||
- **PDF отчёт по WO**: /work-orders/{id}/report/pdf с блоком CRS
|
||
- **Dashboard графики**: тренды WO (bar chart), распределение дефектов (progress bars)
|
||
|
||
## v22 (2026-02-13) — Cross-Module Integration
|
||
### Added
|
||
- **Сквозная интеграция модулей:**
|
||
- AD → WO (auto-create work order from directive)
|
||
- SB → WO (auto-create from bulletin)
|
||
- Defect → WO (auto-create from defect)
|
||
- All with correct priority mapping (mandatory AD → urgent WO, critical defect → AOG)
|
||
- **Dashboard** — добавлены секции WO stats + открытые дефекты + AOG
|
||
- **Панель ФАВТ** — endpoint `/regulator/maintenance-summary` (агрегированные данные ТО)
|
||
- **Airworthiness** page → навигационный хаб (4 модуля)
|
||
- README полностью обновлён с архитектурой v22
|
||
### Changed
|
||
- Work Orders: 7 → 10 endpoints (+3 интеграционных)
|
||
- Regulator: 8 → 9 endpoints
|
||
|
||
## v21 (2026-02-13) — Work Orders + Refactoring
|
||
### Added
|
||
- **Наряды на ТО (Work Orders)** — полный lifecycle: draft → in_progress → closed (CRS)
|
||
- 7 endpoints: CRUD + open/close/cancel + stats
|
||
- CRS workflow (Certificate of Release to Service) — ФАП-145 п.A.50
|
||
- Связь с AD, SB, дефектами
|
||
- AOG priority tracking
|
||
- DB миграция `007_defects_workorders.sql` (2 таблицы + индексы + RLS)
|
||
- 8 новых тестов (5 WO + 3 Defects)
|
||
### Changed
|
||
- **Dashboard** — интеграция AD, Life Limits, персонала, WO stats
|
||
- **5 legacy страниц** переведены на ui/ компоненты (risks, applications, audit-history, inbox, modifications)
|
||
- **Дефекты** — frontend с формой регистрации, фильтрами, MEL deferral
|
||
### Fixed
|
||
- Все страницы теперь используют единую UI библиотеку
|
||
|
||
## v20 (2026-02-13) — Dashboard Integration + Defects + Alerts
|
||
### Added
|
||
- **Dashboard переработан** — интеграция AD, Life Limits, персонала ПЛГ, рисков
|
||
- Критические баннеры (открытые ДЛГ, ресурсы, просрочки ПК)
|
||
- 4 секции: Парк ВС, Контроль ЛГ, Персонал ПЛГ, Безопасность
|
||
- Quick links на все модули
|
||
- **Дефекты и неисправности** (backend + frontend)
|
||
- 5 endpoints: CRUD + rectify + defer (MEL/CDL)
|
||
- ФАП-145 п.145.A.50; EASA Part-M.A.403
|
||
- Фильтры по статусу, борту, серьёзности
|
||
- **Email alert templates** для критических событий
|
||
- Новая обязательная ДЛГ, критический ресурс, просрочка ПК, критический дефект
|
||
|
||
## v19 (2026-02-13) — Ядро системы ПЛГ (Airworthiness Core)
|
||
### Added
|
||
- **5 подсистем контроля лётной годности:**
|
||
- Директивы ЛГ (AD/ДЛГ) — регистрация, трекинг выполнения, repetitive ADs
|
||
- Сервисные бюллетени (SB) — категоризация, трудоёмкость, связь с AD
|
||
- Ресурсы и сроки службы (Life Limits) — часы/циклы/календарь, автоматический остаток
|
||
- Программы ТО (Maintenance Programs) — задачи с интервалами, ревизии
|
||
- Карточки компонентов — P/N, S/N, перемещение между ВС, сертификаты
|
||
- **18 API endpoints** с audit logging
|
||
- **DB миграция** `006_airworthiness_core.sql` (5 таблиц + RLS + индексы)
|
||
- **Статус ЛГ конкретного ВС** (`/aircraft-status/{reg}`)
|
||
- 10 backend тестов
|
||
- Правовые основания: ВК РФ ст. 36-37.2; ФАП-145/148; EASA Part-M; ICAO Annex 6/8
|
||
|
||
## v17 (2026-02-13) — Сертификация персонала ПЛГ
|
||
### Added
|
||
- **Модуль «Персонал ПЛГ»** — полный учёт специалистов, аттестация, ПК
|
||
- 11 программ подготовки (PLG-INIT/REC/TYPE + 8 спецкурсов)
|
||
- 13 модулей первичной подготовки (240 ч, соответствие EASA Part-66)
|
||
- Карточка специалиста с историей аттестаций и квалификаций
|
||
- Compliance dashboard (просроченные / истекающие)
|
||
- Экспорт CSV/JSON
|
||
- **DB миграция** `005_personnel_plg.sql` (3 таблицы + RLS + индексы)
|
||
- **Интеграция с risk_scheduler** — автоматические алерты при просрочке ПК
|
||
- **Вкладка «Персонал ПЛГ» в панели ФАВТ** (агрегированные данные)
|
||
- 15 backend тестов + 1 E2E
|
||
- Правовые основания: ВК РФ ст. 52-54; ФАП-145/147/148; EASA Part-66; ICAO Annex 1
|
||
|
||
## v15 (2026-02-13) — Панель регулятора ФАВТ
|
||
### Added
|
||
- **Панель регулятора ФАВТ** — 6 read-only endpoints + 5-tab UI page
|
||
- Сводка, Реестр ВС, Сертификация, Безопасность, Аудиты
|
||
- PDF и JSON экспорт отчётов
|
||
- Правовые основания: ВК РФ, ФАП-246/285, ICAO Annex 6/7/8/19, EASA Part-M/ARO
|
||
- Роль `favt_inspector` в Keycloak
|
||
- 12 тестов на контроль доступа и защиту данных
|
||
- Аудит-логирование всех запросов к /regulator
|
||
|
||
## v14 — Full Production Stack
|
||
### Added
|
||
- Universal API proxy (consolidated 23→14 routes)
|
||
- Request logging middleware (X-Response-Time)
|
||
- Enhanced health check (DB, Redis, Scheduler)
|
||
- Data restore endpoint (JSON upload)
|
||
- Analytics page (/analytics)
|
||
- Auto-migration on startup
|
||
|
||
## v13 — Dead Code Elimination
|
||
### Removed
|
||
- 12 dead components (−663 lines)
|
||
- 5 dead API routes (−494 lines)
|
||
- 7 dead hooks (−625 lines)
|
||
- 2 dead services (−100 lines)
|
||
### Fixed
|
||
- All remaining modals wired into pages
|
||
- ErrorBoundary + SkipToMain in layout
|
||
|
||
## v12 — Zero Inline Styles
|
||
### Changed
|
||
- **0 inline styles** across entire frontend (was 450+)
|
||
- All components converted to Tailwind CSS
|
||
### Added
|
||
- OIDC JWT verification backend (oidc.py)
|
||
- Backup/restore API
|
||
- Dark mode toggle in Sidebar
|
||
- Activity Timeline, Online Users, Keyboard Help
|
||
|
||
## v11 — UI Library & Refactoring
|
||
### Added
|
||
- 9 UI components: PageLayout, DataTable, Modal, FilterBar, StatusBadge, FormField, EmptyState, Pagination, NotificationBell
|
||
- Batch operations API
|
||
- Email notification service
|
||
- OIDC auth hook (frontend)
|
||
### Changed
|
||
- 14 modals refactored: 4,933→593 lines (−88%)
|
||
- Dashboard: 773→180 lines (−77%)
|
||
|
||
## v10 — Tailwind CSS Migration
|
||
### Changed
|
||
- 14 pages migrated to Tailwind (−2,108 lines)
|
||
- Keycloak OIDC realm configuration
|
||
- 8 Playwright E2E smoke tests
|
||
|
||
## v9 — Monitoring & PWA
|
||
### Added
|
||
- Prometheus metrics + alerts (5 rules)
|
||
- Grafana dashboard (5 panels)
|
||
- PWA: manifest, service worker, offline page
|
||
- Docker Compose: 3 profiles
|
||
- Helm chart for Kubernetes
|
||
- Dark mode + i18n (ru/en)
|
||
|
||
## v1-v8 — Core Platform
|
||
### Added
|
||
- 12 DRY API routes → 70+ endpoints
|
||
- Multi-tenancy RLS (178-line SQL migration)
|
||
- Rate limiting, RBAC (6 roles)
|
||
- WebSocket realtime notifications
|
||
- CI/CD pipeline (.github/workflows)
|
||
- Comprehensive audit logging
|
||
- Risk scheduler (APScheduler)
|
||
- Export API (CSV/JSON, 5 datasets)
|