feat: ImportMapper — универсальный редактор импорта из Excel-опросников

- Профили: 152-ФЗ, 187-ФЗ, 117-ФЗ, МУ, КЗИ, ПЗИ
- Сканирование Excel: что импортируется и куда
- Галочки: включить/выключить поля, добавить свои привязки
- Сохранение настроек по типу опросника
- Выгрузка данных в JSON (export/export_<тип>.json)
- Тесты: отключение полей, пользовательские привязки, секции, ИС
This commit is contained in:
2026-08-03 09:19:16 +04:00
commit 7886edc0af
13 changed files with 966 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
{
"id": "117",
"name": "117-ФЗ (безопасность объектов КИИ / ГИС)",
"common_sheet": "общие",
"employee_sheet": "сотруд",
"is_enabled": false,
"rules": [
{"pattern": "полное наименование организации", "field": "fullName", "desc": "Полное наименование организации"},
{"pattern": "сокращенное наименование организации", "field": "shortName", "desc": "Сокращённое наименование"},
{"pattern": "инн", "field": "inn", "desc": "ИНН"},
{"pattern": "кпп", "field": "kpp", "desc": "КПП"},
{"pattern": "огрн", "field": "ogrn", "desc": "ОГРН"},
{"pattern": "адрес", "field": "addressLegal", "desc": "Адрес организации"},
{"pattern": "должность руководителя", "field": "chiefPosition", "desc": "Должность руководителя"},
{"pattern": "фио руководителя", "field": "chiefFio", "desc": "ФИО руководителя"}
],
"sections": {}
}
+52
View File
@@ -0,0 +1,52 @@
{
"id": "152",
"name": "152-ФЗ (персональные данные)",
"common_sheet": "общие",
"employee_sheet": "сотруд",
"is_enabled": true,
"rules": [
{"pattern": "полное наименование организации", "field": "fullName", "desc": "Полное наименование организации"},
{"pattern": "сокращенное наименование организации", "field": "shortName", "desc": "Сокращённое наименование"},
{"pattern": "адрес организации \\(юридический\\)", "field": "addressLegal", "desc": "Юридический адрес"},
{"pattern": "адрес организации \\(фактический\\)", "field": "addressActual", "desc": "Фактический адрес"},
{"pattern": "инн", "field": "inn", "desc": "ИНН"},
{"pattern": "дата.*огрн", "field": "ogrnDate", "desc": "Дата ОГРН"},
{"pattern": "огрн", "field": "ogrn", "desc": "ОГРН"},
{"pattern": "кпп", "field": "kpp", "desc": "КПП"},
{"pattern": "основной оквэд", "field": "okved", "desc": "Основной ОКВЭД"},
{"pattern": "должность руководителя", "field": "chiefPosition", "desc": "Должность руководителя"},
{"pattern": "фио руководителя", "field": "chiefFio", "desc": "ФИО руководителя"},
{"pattern": "должность.*защит.*информ|должность.*администрат", "field": "ispdnPosition", "desc": "Должность ответственного за ПДн"},
{"pattern": "фио.*защит.*информ|фио.*администрат", "field": "ispdnFio", "desc": "ФИО ответственного за ПДн"},
{"pattern": "электронная почта.*защит|электронная почта.*ответств|электронная почта.*специалист", "field": "ispdnEmail", "desc": "Email ответственного за ПДн"},
{"pattern": "телефон.*защит|телефон.*ответств|телефон.*специалист", "field": "ispdnPhone", "desc": "Телефон ответственного за ПДн"},
{"pattern": "структур.*подраздел", "field": "ispdnDepartment", "desc": "Подразделение ответственного за ПДн"},
{"pattern": "номер.*договора|номер.*контракта", "field": "contractNumber", "desc": "Номер договора"},
{"pattern": "дата.*договора|дата.*контракта", "field": "contractDate", "desc": "Дата договора"},
{"pattern": "названи.*документ", "field": "paperDocuments", "desc": "Перечень бумажных документов"},
{"pattern": "место.*хранен", "field": "paperStorage", "desc": "Место хранения документов"},
{"pattern": "должность.*ответственн", "field": "responsiblePosition", "desc": "Должность ответственного за обработку ПДн"},
{"pattern": "фио.*ответственн", "field": "responsibleFio", "desc": "ФИО ответственного за обработку ПДн"},
{"pattern": "сайт организации", "field": "site_name", "desc": "Сайт организации"},
{"pattern": "электронная почта", "field": "email", "desc": "Электронная почта"},
{"pattern": "телефон", "field": "phone", "desc": "Телефон"},
{"pattern": "название ис|наименование ис|наименование информационной", "field": "is_name", "desc": "Название информационной системы"},
{"pattern": "цель обработки", "field": "is_purpose", "desc": "Цель обработки ПДн"},
{"pattern": "сотрудник", "field": "is_employee", "desc": "Сотрудники с доступом к ИС"},
{"pattern": "должность сотрудника", "field": "is_position", "desc": "Должность сотрудника"},
{"pattern": "номер кабинета", "field": "is_room", "desc": "Номер кабинета"},
{"pattern": "количество записей|количество субъект", "field": "is_personalDataCount", "desc": "Количество записей ПДн"},
{"pattern": "перечень пд", "field": "is_personalDataList", "desc": "Перечень ПДн"},
{"pattern": "принадлеж", "field": "is_pd_subjects_list", "desc": "Категории субъектов ПДн"},
{"pattern": "перечень действий", "field": "is_pd_actions", "desc": "Перечень действий с ПДн"},
{"pattern": "способ обработки", "field": "is_processing_mode", "desc": "Способ обработки ПДн"},
{"pattern": "интернет", "field": "is_isInternet", "desc": "Использование интернета"},
{"pattern": "защита", "field": "is_defense_tools", "desc": "Средства защиты информации"},
{"pattern": "состав комиссии", "field": "commission", "desc": "Состав комиссии"},
{"pattern": "перечень сотрудников", "field": "employeesAccess", "desc": "Сотрудники с доступом к ПДн"}
],
"sections": {
"commission": {"header": "состав комиссии"},
"employeesAccess": {"header": "перечень сотрудников"}
}
}
+20
View File
@@ -0,0 +1,20 @@
{
"id": "187",
"name": "187-ФЗ (КИИ — критическая информационная инфраструктура)",
"common_sheet": "общие",
"employee_sheet": "сотруд",
"is_enabled": false,
"rules": [
{"pattern": "полное наименование организации", "field": "fullName", "desc": "Полное наименование организации"},
{"pattern": "сокращенное наименование организации", "field": "shortName", "desc": "Сокращённое наименование"},
{"pattern": "инн", "field": "inn", "desc": "ИНН"},
{"pattern": "кпп", "field": "kpp", "desc": "КПП"},
{"pattern": "огрн", "field": "ogrn", "desc": "ОГРН"},
{"pattern": "адрес", "field": "addressLegal", "desc": "Адрес организации"},
{"pattern": "должность руководителя", "field": "chiefPosition", "desc": "Должность руководителя"},
{"pattern": "фио руководителя", "field": "chiefFio", "desc": "ФИО руководителя"},
{"pattern": "электронная почта", "field": "email", "desc": "Электронная почта"},
{"pattern": "телефон", "field": "phone", "desc": "Телефон"}
],
"sections": {}
}
+18
View File
@@ -0,0 +1,18 @@
{
"id": "kzi",
"name": "КЗИ (комплекс средств защиты информации)",
"common_sheet": "общие",
"employee_sheet": "сотруд",
"is_enabled": false,
"rules": [
{"pattern": "полное наименование организации", "field": "fullName", "desc": "Полное наименование организации"},
{"pattern": "сокращенное наименование организации", "field": "shortName", "desc": "Сокращённое наименование"},
{"pattern": "инн", "field": "inn", "desc": "ИНН"},
{"pattern": "кпп", "field": "kpp", "desc": "КПП"},
{"pattern": "огрн", "field": "ogrn", "desc": "ОГРН"},
{"pattern": "адрес", "field": "addressLegal", "desc": "Адрес организации"},
{"pattern": "должность руководителя", "field": "chiefPosition", "desc": "Должность руководителя"},
{"pattern": "фио руководителя", "field": "chiefFio", "desc": "ФИО руководителя"}
],
"sections": {}
}
+18
View File
@@ -0,0 +1,18 @@
{
"id": "mu",
"name": "МУ (методические указания)",
"common_sheet": "общие",
"employee_sheet": "сотруд",
"is_enabled": false,
"rules": [
{"pattern": "полное наименование организации", "field": "fullName", "desc": "Полное наименование организации"},
{"pattern": "сокращенное наименование организации", "field": "shortName", "desc": "Сокращённое наименование"},
{"pattern": "инн", "field": "inn", "desc": "ИНН"},
{"pattern": "кпп", "field": "kpp", "desc": "КПП"},
{"pattern": "огрн", "field": "ogrn", "desc": "ОГРН"},
{"pattern": "адрес", "field": "addressLegal", "desc": "Адрес организации"},
{"pattern": "должность руководителя", "field": "chiefPosition", "desc": "Должность руководителя"},
{"pattern": "фио руководителя", "field": "chiefFio", "desc": "ФИО руководителя"}
],
"sections": {}
}
+18
View File
@@ -0,0 +1,18 @@
{
"id": "pzi",
"name": "ПЗИ (программные средства защиты информации)",
"common_sheet": "общие",
"employee_sheet": "сотруд",
"is_enabled": false,
"rules": [
{"pattern": "полное наименование организации", "field": "fullName", "desc": "Полное наименование организации"},
{"pattern": "сокращенное наименование организации", "field": "shortName", "desc": "Сокращённое наименование"},
{"pattern": "инн", "field": "inn", "desc": "ИНН"},
{"pattern": "кпп", "field": "kpp", "desc": "КПП"},
{"pattern": "огрн", "field": "ogrn", "desc": "ОГРН"},
{"pattern": "адрес", "field": "addressLegal", "desc": "Адрес организации"},
{"pattern": "должность руководителя", "field": "chiefPosition", "desc": "Должность руководителя"},
{"pattern": "фио руководителя", "field": "chiefFio", "desc": "ФИО руководителя"}
],
"sections": {}
}