Browse Source

标准审批问题

master
si@aidatagov.com 4 weeks ago
parent
commit
5ddaabdcb0
  1. 1
      vue-fastapi-backend/module_admin/entity/do/datastd_do.py
  2. 1
      vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py
  3. 6
      vue-fastapi-backend/module_admin/service/approval_service.py
  4. 10
      vue-fastapi-backend/module_admin/service/datastd_service.py
  5. 8
      vue-fastapi-frontend/src/views/meta/metasercurity/MetaSecurityCol.vue
  6. 8
      vue-fastapi-frontend/src/views/meta/metasercurity/MetaSecurityRow.vue

1
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已取消)')

1
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已取消)')

6
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":

10
vue-fastapi-backend/module_admin/service/datastd_service.py

@ -439,6 +439,7 @@ 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)

8
vue-fastapi-frontend/src/views/meta/metasercurity/MetaSecurityCol.vue

@ -46,8 +46,8 @@
<el-form-item label="字段名" prop="dbCName">
<el-input v-model="queryParams.dbCName" placeholder="请输入字段名称" clearable style="width: 220px"/>
</el-form-item>
<el-form-item label="对象编号" prop="objValue">
<el-input v-model="queryParams.objName" placeholder="请输入对象编号" clearable style="width: 220px"/>
<el-form-item label="对象名称" prop="objValue">
<el-input v-model="queryParams.objName" placeholder="请输入对象名称" clearable style="width: 220px"/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery">搜索</el-button>
@ -111,7 +111,7 @@
/>
</template>
</el-table-column>
<el-table-column label="对象编号" align="center" prop="objValue" >
<el-table-column label="对象名称" align="center" prop="objValue" >
<template #default="scope">
<span v-if="scope.row.objType === '0'">
{{ getUserName(scope.row.objValue) }}
@ -230,7 +230,7 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="对象编号" prop="objValue">
<el-form-item label="对象名称" prop="objValue">
<el-select
v-model="form.objValue"
@change="handleObjValueChange"

8
vue-fastapi-frontend/src/views/meta/metasercurity/MetaSecurityRow.vue

@ -46,8 +46,8 @@
<el-form-item label="字段名" prop="dbCName">
<el-input v-model="queryParams.dbCName" placeholder="请输入字段名" clearable style="width: 220px"/>
</el-form-item>
<el-form-item label="对象编号" prop="objValue">
<el-input v-model="queryParams.objName" placeholder="请输入对象编号" clearable style="width: 220px"/>
<el-form-item label="对象名称" prop="objValue">
<el-input v-model="queryParams.objName" placeholder="请输入对象名称" clearable style="width: 220px"/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery">搜索</el-button>
@ -113,7 +113,7 @@
/>
</template>
</el-table-column>
<el-table-column label="对象编号" align="center" prop="objValue" >
<el-table-column label="对象名称" align="center" prop="objValue" >
<template #default="scope">
<span v-if="scope.row.objType === '0'">
{{ getUserName(scope.row.objValue) }}
@ -220,7 +220,7 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="对象编号" prop="objValue">
<el-form-item label="对象名称" prop="objValue">
<el-select
v-model="form.objValue"
placeholder="请选择"

Loading…
Cancel
Save