feat: вкладка «Субъект» — как в опроснике (5 полей)
- Наименование организации, эксплуатирующей объект - Адрес местонахождения - Элемент (компонент) объекта, который эксплуатируется лицом - ИНН лица, эксплуатирующего объект - КПП его обособленных подразделений Убраны лишние поля субъекта (руководитель, отв. за безопасность, подразделение, телефон, email), модель/UI/импорт/variables приведены в соответствие
This commit is contained in:
+3
-6
@@ -285,10 +285,7 @@ def _import_187_is_list(wb, data, settings, log_fn):
|
|||||||
'sphere': '', 'purpose': '', 'object_type': '', 'architecture': '',
|
'sphere': '', 'purpose': '', 'object_type': '', 'architecture': '',
|
||||||
'typical_object': '',
|
'typical_object': '',
|
||||||
'subject_name': '', 'subject_address': '',
|
'subject_name': '', 'subject_address': '',
|
||||||
'subject_chief_position': '', 'subject_chief_fio': '',
|
'subject_element': '',
|
||||||
'subject_security_position': '', 'subject_security_fio': '',
|
|
||||||
'subject_department': '', 'subject_department_chief': '',
|
|
||||||
'subject_phone': '', 'subject_email': '',
|
|
||||||
'subject_inn': '', 'subject_kpp': '',
|
'subject_inn': '', 'subject_kpp': '',
|
||||||
'net_category': '', 'net_operator': '', 'net_purpose': '', 'net_method': '',
|
'net_category': '', 'net_operator': '', 'net_purpose': '', 'net_method': '',
|
||||||
'hw_sw': '', 'os_sw': '', 'app_sw': '',
|
'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):
|
if _set(field_lower, 'subject_kpp', val_b):
|
||||||
log_fn(f" КПП субъекта: {val_b[:60]}")
|
log_fn(f" КПП субъекта: {val_b[:60]}")
|
||||||
continue
|
continue
|
||||||
if 'элемент (компонент) объекта, который эксплуатируется' in field_lower:
|
if 'элемент (компонент) объекта' in field_lower or 'элемент объекта' in field_lower:
|
||||||
if _set(field_lower, 'subject_department', val_b):
|
if _set(field_lower, 'subject_element', val_b):
|
||||||
log_fn(f" Элемент объекта: {val_b[:60]}")
|
log_fn(f" Элемент объекта: {val_b[:60]}")
|
||||||
continue
|
continue
|
||||||
# --- Сети электросвязи ---
|
# --- Сети электросвязи ---
|
||||||
|
|||||||
+6
-13
@@ -33,19 +33,12 @@ class InformationSystem:
|
|||||||
architecture: str = "" # Архитектура объекта
|
architecture: str = "" # Архитектура объекта
|
||||||
typical_object: str = "" # Наименование типового отраслевого объекта КИИ
|
typical_object: str = "" # Наименование типового отраслевого объекта КИИ
|
||||||
|
|
||||||
# Субъект (владелец объекта)
|
# Субъект (организация, эксплуатирующая объект — как в опроснике)
|
||||||
subject_name: str = "" # Наименование субъекта
|
subject_name: str = "" # Наименование организации, эксплуатирующей объект
|
||||||
subject_address: str = "" # Адрес местонахождения субъекта
|
subject_address: str = "" # Адрес местонахождения
|
||||||
subject_chief_position: str = "" # Должность руководителя субъекта
|
subject_element: str = "" # Элемент (компонент) объекта, который эксплуатируется лицом
|
||||||
subject_chief_fio: str = "" # ФИО руководителя субъекта
|
subject_inn: str = "" # ИНН лица, эксплуатирующего объект
|
||||||
subject_security_position: str = "" # Должность ответственного за безопасность ЗОКИИ
|
subject_kpp: str = "" # КПП его обособленных подразделений
|
||||||
subject_security_fio: str = "" # ФИО ответственного за безопасность ЗОКИИ
|
|
||||||
subject_department: str = "" # Структурное подразделение по безопасности
|
|
||||||
subject_department_chief: str = "" # Руководитель структурного подразделения
|
|
||||||
subject_phone: str = "" # Телефон
|
|
||||||
subject_email: str = "" # Адрес электронной почты
|
|
||||||
subject_inn: str = "" # ИНН субъекта
|
|
||||||
subject_kpp: str = "" # КПП обособленных подразделений
|
|
||||||
|
|
||||||
# Сети электросвязи
|
# Сети электросвязи
|
||||||
net_category: str = "" # Категория сети электросвязи
|
net_category: str = "" # Категория сети электросвязи
|
||||||
|
|||||||
+8
-43
@@ -846,18 +846,11 @@ class DokoGenApp:
|
|||||||
subj_frame = ttk.Frame(subj_tab, padding=8)
|
subj_frame = ttk.Frame(subj_tab, padding=8)
|
||||||
subj_frame.pack(fill=tk.BOTH, expand=True)
|
subj_frame.pack(fill=tk.BOTH, expand=True)
|
||||||
subj_fields = [
|
subj_fields = [
|
||||||
("Наименование субъекта:", "is_subject_name_entry"),
|
("Наименование организации, эксплуатирующей объект:", "is_subject_name_entry"),
|
||||||
("Адрес местонахождения:", "is_subject_address_entry"),
|
("Адрес местонахождения:", "is_subject_address_entry"),
|
||||||
("Должность руководителя:", "is_subject_chief_position_entry"),
|
("Элемент (компонент) объекта, который эксплуатируется лицом:", "is_subject_element_entry"),
|
||||||
("ФИО руководителя:", "is_subject_chief_fio_entry"),
|
("ИНН лица, эксплуатирующего объект:", "is_subject_inn_entry"),
|
||||||
("Должность отв. за безопасность:", "is_subject_security_position_entry"),
|
("КПП его обособленных подразделений:", "is_subject_kpp_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"),
|
|
||||||
]
|
]
|
||||||
for i, (label, attr) in enumerate(subj_fields):
|
for i, (label, attr) in enumerate(subj_fields):
|
||||||
ttk.Label(subj_frame, text=label).grid(row=i, column=0, sticky=tk.W, pady=2)
|
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_typical_object_combo', 'typical_object'),
|
||||||
('is_subject_name_entry', 'subject_name'),
|
('is_subject_name_entry', 'subject_name'),
|
||||||
('is_subject_address_entry', 'subject_address'),
|
('is_subject_address_entry', 'subject_address'),
|
||||||
('is_subject_chief_position_entry', 'subject_chief_position'),
|
('is_subject_element_entry', 'subject_element'),
|
||||||
('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_inn_entry', 'subject_inn'),
|
('is_subject_inn_entry', 'subject_inn'),
|
||||||
('is_subject_kpp_entry', 'subject_kpp'),
|
('is_subject_kpp_entry', 'subject_kpp'),
|
||||||
('is_net_category_entry', 'net_category'),
|
('is_net_category_entry', 'net_category'),
|
||||||
@@ -1416,14 +1402,7 @@ class DokoGenApp:
|
|||||||
('is_typical_object_combo', 'typical_object'),
|
('is_typical_object_combo', 'typical_object'),
|
||||||
('is_subject_name_entry', 'subject_name'),
|
('is_subject_name_entry', 'subject_name'),
|
||||||
('is_subject_address_entry', 'subject_address'),
|
('is_subject_address_entry', 'subject_address'),
|
||||||
('is_subject_chief_position_entry', 'subject_chief_position'),
|
('is_subject_element_entry', 'subject_element'),
|
||||||
('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_inn_entry', 'subject_inn'),
|
('is_subject_inn_entry', 'subject_inn'),
|
||||||
('is_subject_kpp_entry', 'subject_kpp'),
|
('is_subject_kpp_entry', 'subject_kpp'),
|
||||||
('is_net_category_entry', 'net_category'),
|
('is_net_category_entry', 'net_category'),
|
||||||
@@ -1490,14 +1469,7 @@ class DokoGenApp:
|
|||||||
typical_object=src.typical_object,
|
typical_object=src.typical_object,
|
||||||
subject_name=src.subject_name,
|
subject_name=src.subject_name,
|
||||||
subject_address=src.subject_address,
|
subject_address=src.subject_address,
|
||||||
subject_chief_position=src.subject_chief_position,
|
subject_element=src.subject_element,
|
||||||
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_inn=src.subject_inn,
|
subject_inn=src.subject_inn,
|
||||||
subject_kpp=src.subject_kpp,
|
subject_kpp=src.subject_kpp,
|
||||||
net_category=src.net_category,
|
net_category=src.net_category,
|
||||||
@@ -2061,14 +2033,7 @@ class DokoGenApp:
|
|||||||
typical_object=is_data.get('typical_object', ''),
|
typical_object=is_data.get('typical_object', ''),
|
||||||
subject_name=is_data.get('subject_name', ''),
|
subject_name=is_data.get('subject_name', ''),
|
||||||
subject_address=is_data.get('subject_address', ''),
|
subject_address=is_data.get('subject_address', ''),
|
||||||
subject_chief_position=is_data.get('subject_chief_position', ''),
|
subject_element=is_data.get('subject_element', ''),
|
||||||
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_inn=is_data.get('subject_inn', ''),
|
subject_inn=is_data.get('subject_inn', ''),
|
||||||
subject_kpp=is_data.get('subject_kpp', ''),
|
subject_kpp=is_data.get('subject_kpp', ''),
|
||||||
net_category=is_data.get('net_category', ''),
|
net_category=is_data.get('net_category', ''),
|
||||||
|
|||||||
@@ -313,14 +313,7 @@ def _build_loop_data(company: Company, is_list: List) -> Dict[str, List[Dict]]:
|
|||||||
'typical_object': getattr(isys, 'typical_object', '') or '—',
|
'typical_object': getattr(isys, 'typical_object', '') or '—',
|
||||||
'subject_name': getattr(isys, 'subject_name', '') or '—',
|
'subject_name': getattr(isys, 'subject_name', '') or '—',
|
||||||
'subject_address': getattr(isys, 'subject_address', '') or '—',
|
'subject_address': getattr(isys, 'subject_address', '') or '—',
|
||||||
'subject_chief_position': getattr(isys, 'subject_chief_position', '') or '—',
|
'subject_element': getattr(isys, 'subject_element', '') 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_inn': getattr(isys, 'subject_inn', '') or '—',
|
'subject_inn': getattr(isys, 'subject_inn', '') or '—',
|
||||||
'subject_kpp': getattr(isys, 'subject_kpp', '') or '—',
|
'subject_kpp': getattr(isys, 'subject_kpp', '') or '—',
|
||||||
'net_category': getattr(isys, 'net_category', '') or '—',
|
'net_category': getattr(isys, 'net_category', '') or '—',
|
||||||
|
|||||||
Reference in New Issue
Block a user