diff --git a/api/src/services/export_service/export_mappings.py b/api/src/services/export_service/export_mappings.py index 5fa4133..797319b 100644 --- a/api/src/services/export_service/export_mappings.py +++ b/api/src/services/export_service/export_mappings.py @@ -1185,6 +1185,238 @@ FORM1_DEPTH_COLUMNS: dict = { } } + +FORM2_DEPTH_AHR_SUB_COLUMNS: dict = { + "address": { + "key": None, + "name": "Адрес арендуемого помещения *", + "children": { + "address": { + "name": '(заполняется авто из табл. "INFO" в зависимости от выбранного объекта)' + } + } + }, + "object": { + "key": None, + "name": "Объект **", + "children": { + "object_type": { + "name": '(необходимо выбрать из списка)' + } + } + }, + "area": { + "key": None, + "name": "Арендуемая площадь", + "children": { + "rented_area": { + "name": 'в кв.м.' + } + } + }, + "date_end": { + "key": None, + "name": "Срок окончания договора", + "children": { + "contract_end_date": { + "name": 'в формате "месяц.год"' + } + } + }, + "contract_number": { + "name": 'Номер договора' + }, + "plan": { + # "key": None, + "name": "Планируемая сумма расходов на 2026 год", + "children": { + "q1": { + "name": "I квартал" + }, + "q2": { + "name": "II квартал" + }, + "q3": { + "name": "III квартал" + }, + "q4": { + "name": "IV квартал" + } + } + }, + "comment": { + "name": "Комментарий", + }, + "fact_q1": { + # "key": None, + "name": "Фактические расходы за I кв 2026 года", + "children": { + "up_jan": { + "key": None, + "name": "январь", + "children": { + "jan": { + "name": "в тыс. рублей" + }, + } + }, + "up_feb": { + "key": None, + "name": "февраль", + "children": { + "feb": { + "name": "в тыс. рублей" + }, + } + }, + "up_mar": { + "key": None, + "name": "март", + "children": { + "mar": { + "name": "в тыс. рублей" + }, + } + }, + "up_total": { + "key": None, + "name": "Итог I кв", + "children": { + "total": { + "name": "в тыс. рублей" + }, + } + } + } + }, + "fact_q2": { + # "key": None, + "name": "Фактические расходы за II кв", + "children": { + "up_apr": { + "key": None, + "name": "апрель", + "children": { + "apr": { + "name": "в тыс. рублей" + }, + } + }, + "up_may": { + "key": None, + "name": "май", + "children": { + "may": { + "name": "в тыс. рублей" + }, + } + }, + "up_jun": { + "key": None, + "name": "июнь", + "children": { + "jun": { + "name": "в тыс. рублей" + }, + } + }, + "up_total": { + "key": None, + "name": "Итог II кв", + "children": { + "total": { + "name": "в тыс. рублей" + }, + } + } + } + }, + "fact_q3": { + # "key": None, + "name": "Фактические расходы за III кв", + "children": { + "up_jul": { + "key": None, + "name": "июль", + "children": { + "jul": { + "name": "в тыс. рублей" + }, + } + }, + "up_aug": { + "key": None, + "name": "август", + "children": { + "aug": { + "name": "в тыс. рублей" + }, + } + }, + "up_sep": { + "key": None, + "name": "сентябрь", + "children": { + "sep": { + "name": "в тыс. рублей" + }, + } + }, + "up_total": { + "key": None, + "name": "Итог III кв", + "children": { + "total": { + "name": "в тыс. рублей" + }, + } + } + } + }, + "fact_q4": { + # "key": None, + "name": "Фактические расходы за IV кв", + "children": { + "up_oct": { + "key": None, + "name": "октябрь", + "children": { + "oct": { + "name": "в тыс. рублей" + }, + } + }, + "up_nov": { + "key": None, + "name": "ноябрь", + "children": { + "nov": { + "name": "в тыс. рублей" + }, + } + }, + "up_dec": { + "key": None, + "name": "декабрь", + "children": { + "dec": { + "name": "в тыс. рублей" + }, + } + }, + "up_total": { + "key": None, + "name": "Итог IV кв", + "children": { + "total": { + "name": "в тыс. рублей" + }, + } + } + } + } +} + PALETTE = { "green": { "ROOT": "C2D59A", diff --git a/api/src/services/export_service/export_service.py b/api/src/services/export_service/export_service.py index 8593a00..a5b6968 100644 --- a/api/src/services/export_service/export_service.py +++ b/api/src/services/export_service/export_service.py @@ -24,6 +24,7 @@ from src.services.export_service.export_normalizers import ( from src.services.export_service.export_mappings import ( FORM1_COLORS, FORM1_DEPTH_COLUMNS, + FORM2_DEPTH_AHR_SUB_COLUMNS, FORM3_REPORT_COLUMNS, SMETA_COLUMNS, ) @@ -87,6 +88,21 @@ class ExportService: value_serializer=self.value_serializer.to_excel_value, colors_config=FORM1_COLORS["CAP"], ), + "AHR_RENT": DepthSheetWriter( + columns_dict=FORM2_DEPTH_AHR_SUB_COLUMNS, + row_normalizer=self.form1_row_normalizer.normalize, + value_serializer=self.value_serializer.to_excel_value, + ), + "AHR_UTILITY": DepthSheetWriter( + columns_dict=FORM2_DEPTH_AHR_SUB_COLUMNS, + row_normalizer=self.form1_row_normalizer.normalize, + value_serializer=self.value_serializer.to_excel_value, + ), + "AHR_SECURITY": DepthSheetWriter( + columns_dict=FORM2_DEPTH_AHR_SUB_COLUMNS, + row_normalizer=self.form1_row_normalizer.normalize, + value_serializer=self.value_serializer.to_excel_value, + ), } self.form3_report_writer = TabularSheetWriter( columns=FORM3_REPORT_COLUMNS, diff --git a/web/src/pages/TasksPage/TasksPage.jsx b/web/src/pages/TasksPage/TasksPage.jsx index 5a01f23..7e1cba8 100644 --- a/web/src/pages/TasksPage/TasksPage.jsx +++ b/web/src/pages/TasksPage/TasksPage.jsx @@ -279,7 +279,7 @@ export default function TasksPage() { /> )} getItemId={(task) => task.id} - getItemTitle={(task) => task.title || 'Задача'} + getItemTitle={(task) => task.title || `${FORM_TYPE_TRANSLATE[task.form_type_code]}_${task.org_unit ? task.org_unit.title : task_org_unit_id}_${task.year}` || "Задача"} extraActions={ user.role_id === ROLES_NAME_ID.admin && ( } height={'2.5rem'}>