diff --git a/dokogen/importer.py b/dokogen/importer.py index 20122ef..7765e87 100644 --- a/dokogen/importer.py +++ b/dokogen/importer.py @@ -285,10 +285,7 @@ def _import_187_is_list(wb, data, settings, log_fn): 'sphere': '', 'purpose': '', 'object_type': '', 'architecture': '', 'typical_object': '', 'subject_name': '', 'subject_address': '', - 'subject_chief_position': '', 'subject_chief_fio': '', - 'subject_security_position': '', 'subject_security_fio': '', - 'subject_department': '', 'subject_department_chief': '', - 'subject_phone': '', 'subject_email': '', + 'subject_element': '', 'subject_inn': '', 'subject_kpp': '', 'net_category': '', 'net_operator': '', 'net_purpose': '', 'net_method': '', 'hw_sw': '', 'os_sw': '', 'app_sw': '', @@ -397,8 +394,8 @@ def _import_187_is_list(wb, data, settings, log_fn): if _set(field_lower, 'subject_kpp', val_b): log_fn(f" КПП субъекта: {val_b[:60]}") continue - if 'элемент (компонент) объекта, который эксплуатируется' in field_lower: - if _set(field_lower, 'subject_department', val_b): + if 'элемент (компонент) объекта' in field_lower or 'элемент объекта' in field_lower: + if _set(field_lower, 'subject_element', val_b): log_fn(f" Элемент объекта: {val_b[:60]}") continue # --- Сети электросвязи --- diff --git a/dokogen/models.py b/dokogen/models.py index d046520..126f4a7 100644 --- a/dokogen/models.py +++ b/dokogen/models.py @@ -33,19 +33,12 @@ class InformationSystem: architecture: str = "" # Архитектура объекта typical_object: str = "" # Наименование типового отраслевого объекта КИИ - # Субъект (владелец объекта) - subject_name: str = "" # Наименование субъекта - subject_address: str = "" # Адрес местонахождения субъекта - subject_chief_position: str = "" # Должность руководителя субъекта - subject_chief_fio: str = "" # ФИО руководителя субъекта - subject_security_position: str = "" # Должность ответственного за безопасность ЗОКИИ - subject_security_fio: str = "" # ФИО ответственного за безопасность ЗОКИИ - subject_department: str = "" # Структурное подразделение по безопасности - subject_department_chief: str = "" # Руководитель структурного подразделения - subject_phone: str = "" # Телефон - subject_email: str = "" # Адрес электронной почты - subject_inn: str = "" # ИНН субъекта - subject_kpp: str = "" # КПП обособленных подразделений + # Субъект (организация, эксплуатирующая объект — как в опроснике) + subject_name: str = "" # Наименование организации, эксплуатирующей объект + subject_address: str = "" # Адрес местонахождения + subject_element: str = "" # Элемент (компонент) объекта, который эксплуатируется лицом + subject_inn: str = "" # ИНН лица, эксплуатирующего объект + subject_kpp: str = "" # КПП его обособленных подразделений # Сети электросвязи net_category: str = "" # Категория сети электросвязи diff --git a/dokogen/ui.py b/dokogen/ui.py index 53f1ac6..dfd4381 100644 --- a/dokogen/ui.py +++ b/dokogen/ui.py @@ -846,18 +846,11 @@ class DokoGenApp: subj_frame = ttk.Frame(subj_tab, padding=8) subj_frame.pack(fill=tk.BOTH, expand=True) subj_fields = [ - ("Наименование субъекта:", "is_subject_name_entry"), + ("Наименование организации, эксплуатирующей объект:", "is_subject_name_entry"), ("Адрес местонахождения:", "is_subject_address_entry"), - ("Должность руководителя:", "is_subject_chief_position_entry"), - ("ФИО руководителя:", "is_subject_chief_fio_entry"), - ("Должность отв. за безопасность:", "is_subject_security_position_entry"), - ("ФИО отв. за безопасность:", "is_subject_security_fio_entry"), - ("Структурное подразделение:", "is_subject_department_entry"), - ("Руководитель подразделения:", "is_subject_department_chief_entry"), - ("Телефон:", "is_subject_phone_entry"), - ("Эл. почта:", "is_subject_email_entry"), - ("ИНН субъекта:", "is_subject_inn_entry"), - ("КПП обособленных подразделений:", "is_subject_kpp_entry"), + ("Элемент (компонент) объекта, который эксплуатируется лицом:", "is_subject_element_entry"), + ("ИНН лица, эксплуатирующего объект:", "is_subject_inn_entry"), + ("КПП его обособленных подразделений:", "is_subject_kpp_entry"), ] for i, (label, attr) in enumerate(subj_fields): ttk.Label(subj_frame, text=label).grid(row=i, column=0, sticky=tk.W, pady=2) @@ -1176,14 +1169,7 @@ class DokoGenApp: ('is_typical_object_combo', 'typical_object'), ('is_subject_name_entry', 'subject_name'), ('is_subject_address_entry', 'subject_address'), - ('is_subject_chief_position_entry', 'subject_chief_position'), - ('is_subject_chief_fio_entry', 'subject_chief_fio'), - ('is_subject_security_position_entry', 'subject_security_position'), - ('is_subject_security_fio_entry', 'subject_security_fio'), - ('is_subject_department_entry', 'subject_department'), - ('is_subject_department_chief_entry', 'subject_department_chief'), - ('is_subject_phone_entry', 'subject_phone'), - ('is_subject_email_entry', 'subject_email'), + ('is_subject_element_entry', 'subject_element'), ('is_subject_inn_entry', 'subject_inn'), ('is_subject_kpp_entry', 'subject_kpp'), ('is_net_category_entry', 'net_category'), @@ -1416,14 +1402,7 @@ class DokoGenApp: ('is_typical_object_combo', 'typical_object'), ('is_subject_name_entry', 'subject_name'), ('is_subject_address_entry', 'subject_address'), - ('is_subject_chief_position_entry', 'subject_chief_position'), - ('is_subject_chief_fio_entry', 'subject_chief_fio'), - ('is_subject_security_position_entry', 'subject_security_position'), - ('is_subject_security_fio_entry', 'subject_security_fio'), - ('is_subject_department_entry', 'subject_department'), - ('is_subject_department_chief_entry', 'subject_department_chief'), - ('is_subject_phone_entry', 'subject_phone'), - ('is_subject_email_entry', 'subject_email'), + ('is_subject_element_entry', 'subject_element'), ('is_subject_inn_entry', 'subject_inn'), ('is_subject_kpp_entry', 'subject_kpp'), ('is_net_category_entry', 'net_category'), @@ -1490,14 +1469,7 @@ class DokoGenApp: typical_object=src.typical_object, subject_name=src.subject_name, subject_address=src.subject_address, - subject_chief_position=src.subject_chief_position, - subject_chief_fio=src.subject_chief_fio, - subject_security_position=src.subject_security_position, - subject_security_fio=src.subject_security_fio, - subject_department=src.subject_department, - subject_department_chief=src.subject_department_chief, - subject_phone=src.subject_phone, - subject_email=src.subject_email, + subject_element=src.subject_element, subject_inn=src.subject_inn, subject_kpp=src.subject_kpp, net_category=src.net_category, @@ -2061,14 +2033,7 @@ class DokoGenApp: typical_object=is_data.get('typical_object', ''), subject_name=is_data.get('subject_name', ''), subject_address=is_data.get('subject_address', ''), - subject_chief_position=is_data.get('subject_chief_position', ''), - subject_chief_fio=is_data.get('subject_chief_fio', ''), - subject_security_position=is_data.get('subject_security_position', ''), - subject_security_fio=is_data.get('subject_security_fio', ''), - subject_department=is_data.get('subject_department', ''), - subject_department_chief=is_data.get('subject_department_chief', ''), - subject_phone=is_data.get('subject_phone', ''), - subject_email=is_data.get('subject_email', ''), + subject_element=is_data.get('subject_element', ''), subject_inn=is_data.get('subject_inn', ''), subject_kpp=is_data.get('subject_kpp', ''), net_category=is_data.get('net_category', ''), diff --git a/dokogen/variables.py b/dokogen/variables.py index a4dc228..fc63897 100644 --- a/dokogen/variables.py +++ b/dokogen/variables.py @@ -313,14 +313,7 @@ def _build_loop_data(company: Company, is_list: List) -> Dict[str, List[Dict]]: 'typical_object': getattr(isys, 'typical_object', '') or '—', 'subject_name': getattr(isys, 'subject_name', '') or '—', 'subject_address': getattr(isys, 'subject_address', '') or '—', - 'subject_chief_position': getattr(isys, 'subject_chief_position', '') or '—', - 'subject_chief_fio': getattr(isys, 'subject_chief_fio', '') or '—', - 'subject_security_position': getattr(isys, 'subject_security_position', '') or '—', - 'subject_security_fio': getattr(isys, 'subject_security_fio', '') or '—', - 'subject_department': getattr(isys, 'subject_department', '') or '—', - 'subject_department_chief': getattr(isys, 'subject_department_chief', '') or '—', - 'subject_phone': getattr(isys, 'subject_phone', '') or '—', - 'subject_email': getattr(isys, 'subject_email', '') or '—', + 'subject_element': getattr(isys, 'subject_element', '') or '—', 'subject_inn': getattr(isys, 'subject_inn', '') or '—', 'subject_kpp': getattr(isys, 'subject_kpp', '') or '—', 'net_category': getattr(isys, 'net_category', '') or '—',