feat: Part-M RU checklists replacing ICAO/EASA/FAA
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
48d80137ac
commit
25be90de7b
@ -18,7 +18,7 @@ export default function ChecklistsPage() {
|
|||||||
const gen = async (src: string) => { const n = prompt('Название:'); if (!n) return; await checklistsApi.generate(src, n); mutate(); };
|
const gen = async (src: string) => { const n = prompt('Название:'); if (!n) return; await checklistsApi.generate(src, n); mutate(); };
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<PageLayout title="Чек-листы" subtitle={isLoading ? 'Загрузка...' : `Шаблонов: ${data?.total || 0}`}
|
<PageLayout title="Чек-листы Part-M RU" subtitle={isLoading ? 'Загрузка...' : (data?.total ? `Гармонизировано с ICAO Annex 8 · EASA Part-M · FAA 14 CFR Part 43/91 · Шаблонов: ${data.total}` : 'Гармонизировано с ICAO Annex 8 · EASA Part-M · FAA 14 CFR Part 43/91')}
|
||||||
actions={<RequireRole roles={['admin', 'authority_inspector']}>
|
actions={<RequireRole roles={['admin', 'authority_inspector']}>
|
||||||
<button onClick={() => gen('fap_m_inspection')} className="btn-primary">+ ФАП-М</button>
|
<button onClick={() => gen('fap_m_inspection')} className="btn-primary">+ ФАП-М</button>
|
||||||
<button onClick={() => gen('custom')} className="btn-primary bg-blue-500 hover:bg-blue-600">+ Пользовательский</button>
|
<button onClick={() => gen('custom')} className="btn-primary bg-blue-500 hover:bg-blue-600">+ Пользовательский</button>
|
||||||
@ -26,13 +26,14 @@ export default function ChecklistsPage() {
|
|||||||
<FilterBar value={domain} onChange={setDomain} className="mb-4"
|
<FilterBar value={domain} onChange={setDomain} className="mb-4"
|
||||||
options={[
|
options={[
|
||||||
{ value: undefined, label: 'Все' },
|
{ value: undefined, label: 'Все' },
|
||||||
{ value: 'ФАП-148', label: '🇷🇺 ФАП-148' },
|
{ value: 'continuing_airworthiness', label: 'M.A.301 ПЛГ' },
|
||||||
{ value: 'ФАП-145', label: '🇷🇺 ФАП-145' },
|
{ value: 'maintenance_program', label: 'M.A.302 Программа ТО' },
|
||||||
{ value: 'ФАП-147', label: '🇷🇺 ФАП-147' },
|
{ value: 'airworthiness_directives', label: 'M.A.303 ДЛГ/AD' },
|
||||||
{ value: 'ICAO', label: '🌐 ИКАО' },
|
{ value: 'records', label: 'M.A.305 Учёт ПЛГ' },
|
||||||
{ value: 'EASA', label: '🇪🇺 EASA' },
|
{ value: 'maintenance_data', label: 'M.A.401 Данные ТО' },
|
||||||
{ value: 'FAA', label: '🇺🇸 FAA' },
|
{ value: 'components', label: 'M.A.501 Компоненты' },
|
||||||
{ value: 'CSV', label: '📄 CSV' },
|
{ value: 'camo_obligations', label: 'M.A.703 CAMO' },
|
||||||
|
{ value: 'airworthiness_review', label: 'M.A.901 Проверка ЛГ' },
|
||||||
]} />
|
]} />
|
||||||
{!isLoading && templates.length > 0 ? (
|
{!isLoading && templates.length > 0 ? (
|
||||||
<div className="flex flex-col gap-3">
|
<div className="flex flex-col gap-3">
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
"""
|
"""
|
||||||
Seed 8 шаблонов чек-листов аудита ВС (РФ/ИКАО/EASA/FAA).
|
Seed чек-листов по Part-M RU (российские правила поддержания лётной годности).
|
||||||
Проверка на дубликаты по имени перед созданием.
|
Гармонизировано с ICAO Annex 8, EASA Part-M, FAA 14 CFR Part 43/91.
|
||||||
|
Заменяет прежние шаблоны ICAO/EASA/FAA — старые удаляются, создаются 8 шаблонов Part-M RU.
|
||||||
"""
|
"""
|
||||||
import logging
|
import logging
|
||||||
from app.db.session import SessionLocal
|
from app.db.session import SessionLocal
|
||||||
@ -8,168 +9,185 @@ from app.models import ChecklistTemplate, ChecklistItem
|
|||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
REGULATION = "Part-M RU"
|
||||||
|
|
||||||
def _ensure_template(db, name: str, description: str | None, domain: str, items: list[tuple[str, str]]) -> None:
|
|
||||||
if db.query(ChecklistTemplate).filter(ChecklistTemplate.name == name).first():
|
def _add_template(db, name: str, description: str, category: str, items: list[tuple[str, str]]) -> None:
|
||||||
return
|
"""Добавить шаблон Part-M RU и его пункты. category хранится в domain для фильтрации."""
|
||||||
t = ChecklistTemplate(name=name, version=1, description=description, domain=domain, is_active=True)
|
t = ChecklistTemplate(
|
||||||
|
name=name,
|
||||||
|
version=1,
|
||||||
|
description=description,
|
||||||
|
domain=category,
|
||||||
|
is_active=True,
|
||||||
|
)
|
||||||
db.add(t)
|
db.add(t)
|
||||||
db.flush()
|
db.flush()
|
||||||
for sort_order, (code, text) in enumerate(items, start=1):
|
for sort_order, (code, text) in enumerate(items, start=1):
|
||||||
db.add(ChecklistItem(template_id=t.id, code=code, text=text, domain=domain, sort_order=sort_order))
|
db.add(
|
||||||
|
ChecklistItem(
|
||||||
|
template_id=t.id,
|
||||||
|
code=code,
|
||||||
|
text=text,
|
||||||
|
domain=category,
|
||||||
|
sort_order=sort_order,
|
||||||
|
)
|
||||||
|
)
|
||||||
logger.info("Created template: %s (%s items)", name, len(items))
|
logger.info("Created template: %s (%s items)", name, len(items))
|
||||||
|
|
||||||
|
|
||||||
def seed_checklists():
|
def seed_checklists():
|
||||||
db = SessionLocal()
|
db = SessionLocal()
|
||||||
try:
|
try:
|
||||||
# 1. ФАП-148 — Поддержание лётной годности ВС (15 пунктов)
|
# Полная замена: удалить все шаблоны чек-листов (пункты удалятся по CASCADE)
|
||||||
_ensure_template(db, "ФАП-148 — Поддержание лётной годности ВС", None, "ФАП-148", [
|
deleted = db.query(ChecklistTemplate).delete(synchronize_session=False)
|
||||||
("148.1", "Наличие действующего сертификата лётной годности (СЛГ)"),
|
if deleted:
|
||||||
("148.2", "СЛГ соответствует типу и модификации ВС"),
|
logger.info("Deleted %s old checklist template(s)", deleted)
|
||||||
("148.3", "Наличие утверждённой программы ТО (ПрТО)"),
|
db.commit()
|
||||||
("148.4", "ПрТО соответствует данным разработчика и требованиям ГосЦЕНТР"),
|
|
||||||
("148.5", "Все директивы лётной годности (ДЛГ) выполнены в установленные сроки"),
|
|
||||||
("148.6", "Информация о выполнении ДЛГ внесена в формуляр ВС"),
|
|
||||||
("148.7", "Бюллетени (SB) категории «обязательные» выполнены"),
|
|
||||||
("148.8", "Наработка ВС (часы, циклы) соответствует записям в формуляре"),
|
|
||||||
("148.9", "Агрегаты с ограниченным ресурсом не превышают назначенных пределов"),
|
|
||||||
("148.10", "Весовая ведомость и центровка актуальны"),
|
|
||||||
("148.11", "Записи о последнем ТО формы A-check / C-check имеются"),
|
|
||||||
("148.12", "Все открытые дефекты оформлены по MEL/CDL или устранены"),
|
|
||||||
("148.13", "Бортовая документация укомплектована и актуальна"),
|
|
||||||
("148.14", "Свидетельство о регистрации действительно"),
|
|
||||||
("148.15", "Страховой полис ОСАГО действителен"),
|
|
||||||
])
|
|
||||||
|
|
||||||
# 2. ФАП-145 — Аудит организации ТОиР (18 пунктов)
|
# 1. M.A.301 — Задачи по поддержанию лётной годности
|
||||||
_ensure_template(db, "ФАП-145 — Аудит организации ТОиР", None, "ФАП-145", [
|
_add_template(
|
||||||
("145.A.25", "Наличие одобрения / сертификата ТОиР"),
|
db,
|
||||||
("145.A.30a", "Требования к персоналу: ответственный руководитель назначен"),
|
"M.A.301 — Задачи по поддержанию лётной годности",
|
||||||
("145.A.30b", "Система качества: менеджер по качеству назначен, независим"),
|
"Чек-лист по Part-M RU. Категория: continuing_airworthiness.",
|
||||||
("145.A.35", "Сертифицирующий персонал: квалификация подтверждена"),
|
"continuing_airworthiness",
|
||||||
("145.A.40a", "Оборудование и инструмент: перечень актуален"),
|
[
|
||||||
("145.A.40b", "Калибровка инструмента выполнена в срок"),
|
("M.A.301(1)", "Выполнение предполётного осмотра ВС"),
|
||||||
("145.A.42", "Компоненты: входной контроль, прослеживаемость, маркировка"),
|
("M.A.301(2)", "Устранение неисправностей и повреждений в соответствии с утверждёнными данными"),
|
||||||
("145.A.45a", "Техническая документация: актуальность и доступность"),
|
("M.A.301(3)", "Выполнение всех работ по ТО в соответствии с утверждённой программой ТО"),
|
||||||
("145.A.45b", "Данные производителя (AMM, IPC, SRM) в актуальной ревизии"),
|
("M.A.301(4)", "Анализ эффективности утверждённой программы ТО"),
|
||||||
("145.A.47", "Планирование ТО: ресурсы, сроки, приоритеты"),
|
("M.A.301(5)", "Выполнение применимых Директив лётной годности (ДЛГ/AD)"),
|
||||||
("145.A.50a", "Выполнение ТО: соответствие наряду и карте ТО"),
|
("M.A.301(6)", "Выполнение применимых модификаций и ремонтов"),
|
||||||
("145.A.50b", "CRS (сертификат допуска к эксплуатации) оформлен правильно"),
|
("M.A.301(7)", "Установление политики модификаций для необязательных модификаций"),
|
||||||
("145.A.55", "Записи о ТО: хранение не менее 3 лет"),
|
("M.A.301(8)", "Выполнение проверок по поддержанию лётной годности (Airworthiness Review)"),
|
||||||
("145.A.60", "Происшествия/инциденты: сообщения поданы"),
|
],
|
||||||
("145.A.65a", "Политика безопасности: SMS внедрена"),
|
)
|
||||||
("145.A.65b", "Система управления рисками функционирует"),
|
|
||||||
("145.A.70", "Руководство MRO (MOE) актуально и одобрено"),
|
|
||||||
("145.A.75", "Привилегии: работы выполняются в рамках области одобрения"),
|
|
||||||
])
|
|
||||||
|
|
||||||
# 3. ФАП-147 — Аудит учебной организации (9 пунктов)
|
# 2. M.A.302 — Программа технического обслуживания
|
||||||
_ensure_template(db, "ФАП-147 — Аудит учебной организации", None, "ФАП-147", [
|
_add_template(
|
||||||
("147.A.05", "Область одобрения"),
|
db,
|
||||||
("147.A.10", "Персонал"),
|
"M.A.302 — Программа технического обслуживания",
|
||||||
("147.A.15", "Помещения"),
|
"Чек-лист по Part-M RU. Категория: maintenance_program.",
|
||||||
("147.A.20", "Оборудование"),
|
"maintenance_program",
|
||||||
("147.A.25", "Программы"),
|
[
|
||||||
("147.A.30", "Экзамены"),
|
("M.A.302(a)", "ТО ВС выполняется по утверждённой программе ТО"),
|
||||||
("147.A.35", "Записи"),
|
("M.A.302(b)", "Программа ТО содержит периодичность и объём работ, включая специальные требования"),
|
||||||
("147.A.40", "MTOE"),
|
("M.A.302(c)", "Программа ТО соответствует инструкциям по поддержанию лётной годности (ICA)"),
|
||||||
("147.A.45", "Привилегии"),
|
("M.A.302(d)", "Программа ТО утверждена компетентным органом (Росавиация)"),
|
||||||
])
|
("M.A.302(e)", "Учёт Директив лётной годности в программе ТО"),
|
||||||
|
("M.A.302(f)", "Учёт Сервисных бюллетеней (SB) обязательного характера"),
|
||||||
|
("M.A.302(g)", "Программа ТО содержит программу контроля старения конструкции"),
|
||||||
|
("M.A.302(h)", "Программа ТО содержит программу контроля коррозии"),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
# 4. ICAO Annex 8 — Лётная годность ВС (12 пунктов)
|
# 3. M.A.303 — Директивы лётной годности (AD/ДЛГ)
|
||||||
_ensure_template(db, "ICAO Annex 8 — Лётная годность ВС", None, "ICAO", [
|
_add_template(
|
||||||
("ICAO-8.3.1", "Сертификаты типа"),
|
db,
|
||||||
("ICAO-8.3.2", "Сертификаты лётной годности"),
|
"M.A.303 — Директивы лётной годности (AD/ДЛГ)",
|
||||||
("ICAO-8.3.3", "Надзор за ЛГ"),
|
"Чек-лист по Part-M RU. Категория: airworthiness_directives.",
|
||||||
("ICAO-8.3.4", "Надзор (продолжение)"),
|
"airworthiness_directives",
|
||||||
("ICAO-8.4.1", "Программа ТО"),
|
[
|
||||||
("ICAO-8.4.2", "Директивы (AD)"),
|
("M.A.303(a)", "Все применимые ДЛГ выполнены в установленные сроки"),
|
||||||
("ICAO-8.4.3", "Модификации"),
|
("M.A.303(b)", "Записи о выполнении ДЛГ внесены в бортовую документацию"),
|
||||||
("ICAO-8.4.4", "Ремонты"),
|
("M.A.303(c)", "Повторяющиеся ДЛГ контролируются и выполняются по графику"),
|
||||||
("ICAO-8.5.1", "Документация"),
|
("M.A.303(d)", "Альтернативные методы соответствия (AMOC) согласованы с компетентным органом"),
|
||||||
("ICAO-8.5.2", "Весовая ведомость"),
|
("M.A.303(e)", "Ведётся реестр применимых ДЛГ с указанием статуса выполнения"),
|
||||||
("ICAO-8.6.1", "Годность после ТО"),
|
("M.A.303(f)", "Новые ДЛГ анализируются на применимость в течение 30 дней"),
|
||||||
("ICAO-8.6.2", "CRS"),
|
],
|
||||||
])
|
)
|
||||||
|
|
||||||
# 5. ICAO Annex 19 — SMS (12 пунктов)
|
# 4. M.A.305 — Система учёта поддержания лётной годности
|
||||||
_ensure_template(db, "ICAO Annex 19 — SMS", None, "ICAO", [
|
_add_template(
|
||||||
("SMS-1.1", "Политика безопасности — утверждена"),
|
db,
|
||||||
("SMS-1.2", "Политика — доведена до персонала"),
|
"M.A.305 — Система учёта поддержания лётной годности",
|
||||||
("SMS-1.3", "Политика — пересмотр"),
|
"Чек-лист по Part-M RU. Категория: records.",
|
||||||
("SMS-2.1", "Управление рисками — идентификация"),
|
"records",
|
||||||
("SMS-2.2", "Управление рисками — оценка"),
|
[
|
||||||
("SMS-2.3", "Управление рисками — митигация"),
|
("M.A.305(a)", "Ведение бортового журнала ВС (Aircraft Log Book)"),
|
||||||
("SMS-3.1", "Обеспечение безопасности — обеспечение"),
|
("M.A.305(b)", "Ведение журнала двигателя (Engine Log Book)"),
|
||||||
("SMS-3.2", "Обеспечение безопасности — мониторинг"),
|
("M.A.305(c)", "Ведение карт-формуляров компонентов с ограниченным ресурсом"),
|
||||||
("SMS-3.3", "Обеспечение безопасности — улучшение"),
|
("M.A.305(d)", "Записи о текущем статусе ДЛГ и SB"),
|
||||||
("SMS-4.1", "Содействие — обучение"),
|
("M.A.305(e)", "Записи о текущем статусе модификаций и ремонтов"),
|
||||||
("SMS-4.2", "Содействие — коммуникация"),
|
("M.A.305(f)", "Записи о наработке ВС, двигателей и компонентов (часы/циклы)"),
|
||||||
("SMS-4.3", "Содействие — отчетность"),
|
("M.A.305(g)", "Записи о массе и центровке ВС"),
|
||||||
])
|
("M.A.305(h)", "Хранение записей не менее 3 лет после списания ВС"),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
# 6. EASA Part-M — Поддержание ЛГ (20 пунктов)
|
# 5. M.A.401 — Данные по техническому обслуживанию
|
||||||
_ensure_template(db, "EASA Part-M — Поддержание ЛГ", None, "EASA", [
|
_add_template(
|
||||||
("M.A.201", "Ответственность эксплуатанта"),
|
db,
|
||||||
("M.A.301a", "ТО — соответствие"),
|
"M.A.401 — Данные по техническому обслуживанию",
|
||||||
("M.A.301b", "ТО — AD выполнены"),
|
"Чек-лист по Part-M RU. Категория: maintenance_data.",
|
||||||
("M.A.301c", "Дефекты — устранены или разрешены"),
|
"maintenance_data",
|
||||||
("M.A.302", "Программа ТО"),
|
[
|
||||||
("M.A.303", "Директивы"),
|
("M.A.401(a)", "Использование актуальных данных по ТО при выполнении работ"),
|
||||||
("M.A.304", "Модификации"),
|
("M.A.401(b)", "Доступность AMM, SRM, IPC, WDM для персонала"),
|
||||||
("M.A.305", "Документация"),
|
("M.A.401(c)", "Данные по ТО соответствуют требованиям разработчика типа"),
|
||||||
("M.A.306", "Записи ТО"),
|
("M.A.401(d)", "Процедура контроля актуальности ревизий документации"),
|
||||||
("M.A.307", "Хранение записей"),
|
("M.A.401(e)", "Наличие утверждённых технологических карт (Task Cards)"),
|
||||||
("M.A.401", "Выполнение ТО"),
|
("M.A.401(f)", "Учёт временных ревизий (Temporary Revisions)"),
|
||||||
("M.A.402", "Дефекты при ТО"),
|
],
|
||||||
("M.A.403", "Компоненты — пригодность"),
|
)
|
||||||
("M.A.501", "Компоненты — установка"),
|
|
||||||
("M.A.502", "Компоненты — прослеживаемость"),
|
|
||||||
("M.A.801", "CRS"),
|
|
||||||
("M.A.901", "ARC — выдача"),
|
|
||||||
("M.A.902", "ARC — хранение"),
|
|
||||||
])
|
|
||||||
|
|
||||||
# 7. EASA Part-CAMO — Аудит CAMO (12 пунктов)
|
# 6. M.A.501 — Компоненты и запасные части
|
||||||
_ensure_template(db, "EASA Part-CAMO — Аудит CAMO", None, "EASA", [
|
_add_template(
|
||||||
("CAMO.A.200", "Одобрение CAMO"),
|
db,
|
||||||
("CAMO.A.205", "Управление воздушным судном (AM)"),
|
"M.A.501 — Компоненты и запасные части",
|
||||||
("CAMO.A.210", "Персонал"),
|
"Чек-лист по Part-M RU. Категория: components.",
|
||||||
("CAMO.A.215", "Помещения"),
|
"components",
|
||||||
("CAMO.A.300", "Программа ТО"),
|
[
|
||||||
("CAMO.A.305", "AD — выполнение"),
|
("M.A.501(a)", "Установка только сертифицированных компонентов с Form 1 / АКТ-8a"),
|
||||||
("CAMO.A.310", "Компоненты"),
|
("M.A.501(b)", "Прослеживаемость компонентов от изготовителя до установки"),
|
||||||
("CAMO.A.315", "Дефекты"),
|
("M.A.501(c)", "Контроль ресурсных компонентов (life-limited parts)"),
|
||||||
("CAMO.A.320", "ARC"),
|
("M.A.501(d)", "Идентификация и изоляция неисправных компонентов"),
|
||||||
("CAMO.A.325", "Записи ARC"),
|
("M.A.501(e)", "Контроль нестандартных (Standard) деталей"),
|
||||||
("CAMO.A.405", "Качество"),
|
("M.A.501(f)", "Входной контроль компонентов перед установкой"),
|
||||||
("CAMO.A.410", "SMS"),
|
("M.A.501(g)", "Система контроля расходных материалов (срок годности, хранение)"),
|
||||||
])
|
],
|
||||||
|
)
|
||||||
|
|
||||||
# 8. FAA Part 43/91 — Annual/100-hour Inspection (17 пунктов)
|
# 7. M.A.703 — Обязанности организации по управлению ПЛГ (CAMO)
|
||||||
_ensure_template(db, "FAA Part 43/91 — Annual/100-hour Inspection", None, "FAA", [
|
_add_template(
|
||||||
("43.D-1", "Fuselage and cabin"),
|
db,
|
||||||
("43.D-2", "Cabin — emergency equipment"),
|
"M.A.703 — Обязанности организации по управлению ПЛГ (CAMO)",
|
||||||
("43.D-3", "Engine and nacelle"),
|
"Чек-лист по Part-M RU. Категория: camo_obligations.",
|
||||||
("43.D-4", "Engine — compressor"),
|
"camo_obligations",
|
||||||
("43.D-5", "Propeller"),
|
[
|
||||||
("43.D-6", "Landing gear"),
|
("M.A.703(a)", "Обеспечение поддержания лётной годности всех управляемых ВС"),
|
||||||
("43.D-7", "Wing and center section"),
|
("M.A.703(b)", "Заключение договора с утверждённой организацией по ТО (Part-145)"),
|
||||||
("43.D-8", "Empennage"),
|
("M.A.703(c)", "Контроль выполнения всех работ по ТО в установленные сроки"),
|
||||||
("43.D-9", "Control cables"),
|
("M.A.703(d)", "Управление программой ТО и её своевременная актуализация"),
|
||||||
("43.D-10", "Instruments"),
|
("M.A.703(e)", "Управление ресурсными компонентами и контроль их наработки"),
|
||||||
("43.D-11", "Avionics"),
|
("M.A.703(f)", "Координация планового и внепланового ТО"),
|
||||||
("43.D-12", "Fuel system"),
|
("M.A.703(g)", "Управление записями по ПЛГ в соответствии с M.A.305"),
|
||||||
("43.D-13", "Hydraulic system"),
|
("M.A.703(h)", "Анализ эффективности программы ТО и подготовка отчётов"),
|
||||||
("43.D-14", "Miscellaneous"),
|
],
|
||||||
("43.D-15", "Engine — final check"),
|
)
|
||||||
("91.409", "Inspection status"),
|
|
||||||
("91.417", "Records"),
|
# 8. M.A.901 — Проверка лётной годности ВС (Airworthiness Review)
|
||||||
])
|
_add_template(
|
||||||
|
db,
|
||||||
|
"M.A.901 — Проверка лётной годности ВС (Airworthiness Review)",
|
||||||
|
"Чек-лист по Part-M RU. Категория: airworthiness_review.",
|
||||||
|
"airworthiness_review",
|
||||||
|
[
|
||||||
|
("M.A.901(a)", "Проверка ЛГ выполняется ежегодно или при продлении СЛГ"),
|
||||||
|
("M.A.901(b)", "Физический осмотр ВС проведён"),
|
||||||
|
("M.A.901(c)", "Проверка статуса выполнения ДЛГ и SB"),
|
||||||
|
("M.A.901(d)", "Проверка актуальности программы ТО"),
|
||||||
|
("M.A.901(e)", "Проверка полноты записей по ТО и наработке"),
|
||||||
|
("M.A.901(f)", "Проверка статуса ресурсных компонентов"),
|
||||||
|
("M.A.901(g)", "Проверка статуса модификаций и ремонтов"),
|
||||||
|
("M.A.901(h)", "Проверка массы и центровки"),
|
||||||
|
("M.A.901(i)", "Выпуск Сертификата проверки лётной годности (ARC) или рекомендации"),
|
||||||
|
("M.A.901(j)", "Уведомление компетентного органа при выявлении несоответствий"),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
db.commit()
|
db.commit()
|
||||||
logger.info("Checklist seed complete: 8 templates")
|
logger.info("Part-M RU checklist seed complete: 8 templates")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
logger.exception("Checklist seed failed: %s", e)
|
logger.exception("Checklist seed failed: %s", e)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user