From 5ddaabdcb09e46a125dad41112ef0648405e23f8 Mon Sep 17 00:00:00 2001 From: "si@aidatagov.com" Date: Thu, 1 Jan 2026 22:55:07 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=A0=87=E5=87=86=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_admin/entity/do/datastd_do.py | 1 + .../module_admin/entity/vo/datastd_vo.py | 1 + .../module_admin/service/approval_service.py | 6 ++++-- .../module_admin/service/datastd_service.py | 14 ++++++++++---- .../views/meta/metasercurity/MetaSecurityCol.vue | 8 ++++---- .../views/meta/metasercurity/MetaSecurityRow.vue | 8 ++++---- 6 files changed, 24 insertions(+), 14 deletions(-) diff --git a/vue-fastapi-backend/module_admin/entity/do/datastd_do.py b/vue-fastapi-backend/module_admin/entity/do/datastd_do.py index 10eaf5a..6e0c821 100644 --- a/vue-fastapi-backend/module_admin/entity/do/datastd_do.py +++ b/vue-fastapi-backend/module_admin/entity/do/datastd_do.py @@ -49,6 +49,7 @@ class DataStdCodeAppr(Base): changeType = Column(String(10), default=None, comment='变更类型') flowId = Column(String(50), default=None, comment='审批Id') oldInstId = Column(String(50), default=None, comment='原始正式id') + oldParentId = Column(String(50), default=None, comment='原始正式id') compareId = Column(String(50), default=None, comment='原始数据id(用于对比差异)') approStatus = Column(String(10), default=None, comment='审批状态(waiting,申请中,pending审核中,succeed,rejected已审核,canceled已取消)') diff --git a/vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py b/vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py index 7198cd0..672f3a2 100644 --- a/vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py +++ b/vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py @@ -37,6 +37,7 @@ class DataStdCodeApprModel(DataStdCodeModel): changeType: Optional[str] = Field(default=None, description='变更类型') flowId: Optional[str] = Field(default=None, description='审批Id') oldInstId: Optional[str] = Field(default=None, description='原始正式id') + oldParentId: Optional[str] = Field(default=None, description='正式父id') compareId: Optional[str] = Field(default=None, description='原始数据id(用于对比差异)') approStatus: Optional[str] = Field(default=None, description='审批状态(waiting,申请中,pending审核中,succeed,rejected已审核,canceled已取消)') diff --git a/vue-fastapi-backend/module_admin/service/approval_service.py b/vue-fastapi-backend/module_admin/service/approval_service.py index e19fc82..afd91b8 100644 --- a/vue-fastapi-backend/module_admin/service/approval_service.py +++ b/vue-fastapi-backend/module_admin/service/approval_service.py @@ -215,16 +215,18 @@ class ApprovalService: change_type = appr_model.changeType if operateType == 'succeed': + if change_type == "add": main_model = DataStdCodeModel(**appr_model.model_dump(exclude_unset=True, by_alias=True)) - + main_model.parent_id = appr_model.oldParentId await DataStdDao.add_std_code(result_db, main_model) elif change_type == "update": # 使用 oldInstId 作为主键 main_model = DataStdCodeModel(**appr_model.model_dump(exclude_unset=True, by_alias=True)) - + main_model.parent_id = appr_model.oldParentId main_model.onum = appr_model.oldInstId + await DataStdDao.update_std_code(result_db, main_model.model_dump(exclude_unset=True)) elif change_type == "delete": diff --git a/vue-fastapi-backend/module_admin/service/datastd_service.py b/vue-fastapi-backend/module_admin/service/datastd_service.py index 0bea0fd..f4a6def 100644 --- a/vue-fastapi-backend/module_admin/service/datastd_service.py +++ b/vue-fastapi-backend/module_admin/service/datastd_service.py @@ -427,7 +427,7 @@ class DataStdService: item.upd_time = datetime.now() item.src_sys = '公司级' if 'company' == item.cd_type else item.src_sys item.parent_id = appr_model.onum # 设置父级 ID - + # 校验代码项是否已存在于正式表中 if not await cls.check_code_unique_services(query_db, item): raise ServiceException(message=f'代码项{item.cd_no}已经存在于正式表中,无法新增') @@ -439,7 +439,8 @@ class DataStdService: item_appr_model.oldInstId = item.onum item_appr_model.approStatus = "waiting" item_appr_model.flowId = appr_model.flowId # 使用相同的 Flow ID - + item_appr_model.oldParentId = item.parent_id + await DataStdDao.add_std_code_appr(query_db, item_appr_model) # 创建审批申请 @@ -562,6 +563,7 @@ class DataStdService: item_appr_model.changeType = "update" item_appr_model.compareId = last_item_appr.onum item_appr_model.parent_id = appr_model.onum + item_appr_model.oldParentId = item.parent_id item_appr_model.oldInstId = item.onum item_appr_model.approStatus = "waiting" item_appr_model.flowId = appr_model.flowId @@ -584,6 +586,7 @@ class DataStdService: item_appr_model.approStatus = "waiting" item_appr_model.flowId = appr_model.flowId item_appr_model.parent_id = appr_model.onum + item_appr_model.oldParentId = item.parent_id await DataStdDao.add_std_code_appr(query_db, item_appr_model) for old_item in code_item_list_old: @@ -598,7 +601,7 @@ class DataStdService: delete_appr_model.flowId = appr_model.flowId delete_appr_model.onum = str(uuid.uuid4()) delete_appr_model.parent_id = appr_model.onum - + delete_appr_model.oldParentId = item.onum delete_appr_model.create_by = current_user.user.user_name delete_appr_model.create_time = datetime.now() @@ -2288,6 +2291,7 @@ class DataStdService: parent_appr.flowId = batch_flow_id await DataStdDao.add_std_code_appr(query_db, parent_appr) parent_appr_onum = parent_appr.onum + Old_parent_appr_onum = exist_parent.onum else: # 父级新增审批 parent_model.onum = str(uuid.uuid4()) @@ -2302,7 +2306,7 @@ class DataStdService: parent_appr.flowId = batch_flow_id await DataStdDao.add_std_code_appr(query_db, parent_appr) parent_appr_onum = parent_appr.onum - + Old_parent_appr_onum = parent_appr.onum # 处理代码项(组内每行) for row_idx, row in group.iterrows(): row_display = int(row_idx) + 2 @@ -2343,6 +2347,7 @@ class DataStdService: item_appr.compareId = last_item_appr.onum if last_item_appr else item_model.onum item_appr.oldInstId = item_model.onum item_appr.parent_id = parent_appr_onum + item_appr.oldParentId = Old_parent_appr_onum item_appr.approStatus = "waiting" item_appr.flowId = batch_flow_id await DataStdDao.add_std_code_appr(query_db, item_appr) @@ -2357,6 +2362,7 @@ class DataStdService: item_appr.compareId = item_model.onum item_appr.oldInstId = item_model.onum item_appr.parent_id = parent_appr_onum + item_appr.oldParentId = Old_parent_appr_onum item_appr.approStatus = "waiting" item_appr.flowId = batch_flow_id await DataStdDao.add_std_code_appr(query_db, item_appr) diff --git a/vue-fastapi-frontend/src/views/meta/metasercurity/MetaSecurityCol.vue b/vue-fastapi-frontend/src/views/meta/metasercurity/MetaSecurityCol.vue index f505f71..de3a5aa 100644 --- a/vue-fastapi-frontend/src/views/meta/metasercurity/MetaSecurityCol.vue +++ b/vue-fastapi-frontend/src/views/meta/metasercurity/MetaSecurityCol.vue @@ -46,8 +46,8 @@ - - + + 搜索 @@ -111,7 +111,7 @@ /> - + - +