Browse Source

码值审批

master
siyaqi 1 month ago
parent
commit
bc1c2a0a60
  1. 17
      vue-fastapi-backend/module_admin/dao/datastd_dao.py
  2. 9
      vue-fastapi-backend/module_admin/service/datastd_service.py

17
vue-fastapi-backend/module_admin/dao/datastd_dao.py

@ -1,7 +1,7 @@
from sqlalchemy import delete, select, update, desc,or_,not_ from sqlalchemy import delete, select, update, desc,or_,not_
from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy.ext.asyncio import AsyncSession
from module_admin.entity.do.datastd_do import DataStdCode,DataStdDict,DataAstContent,DataAstContentRela,DataStdMain,DataStdMainAppr,DataStdDictAppr from module_admin.entity.do.datastd_do import DataStdCode,DataStdDict,DataAstContent,DataAstContentRela,DataStdMain,DataStdMainAppr,DataStdDictAppr,DataStdCodeAppr
from module_admin.entity.vo.datastd_vo import DataStdCodeModel,DataStdDictModel,DataStdMainModel,DataStdMainApprModel,DataStdDictApprModel from module_admin.entity.vo.datastd_vo import DataStdCodeModel,DataStdDictModel,DataStdMainModel,DataStdMainApprModel,DataStdDictApprModel,DataStdCodeApprModel
from module_admin.entity.do.dept_do import SysDept from module_admin.entity.do.dept_do import SysDept
from utils.page_util import PageUtil from utils.page_util import PageUtil
from sqlalchemy.orm import aliased from sqlalchemy.orm import aliased
@ -154,10 +154,23 @@ class DataStdDao:
await db.flush() await db.flush()
return col return col
@classmethod
async def add_std_code_appr(cls, db: AsyncSession,model:DataStdCodeApprModel):
col = DataStdCodeAppr(
**model.model_dump()
)
db.add(col)
await db.flush()
return col
@classmethod @classmethod
async def delete_std_code(cls, db: AsyncSession, Id: str): async def delete_std_code(cls, db: AsyncSession, Id: str):
await db.execute(delete(DataStdCode).where(DataStdCode.id == Id)) await db.execute(delete(DataStdCode).where(DataStdCode.id == Id))
@classmethod
async def update_std_code_appr(cls, db: AsyncSession, update_data: DataStdCodeApprModel):
await db.execute(update(DataStdCodeAppr), [update_data])
await db.flush()
@classmethod @classmethod
async def update_std_code(cls, db: AsyncSession, update_data: DataStdCodeModel): async def update_std_code(cls, db: AsyncSession, update_data: DataStdCodeModel):

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

@ -208,7 +208,7 @@ class DataStdService:
code.sys_name = '公司级' if 'company' == code.code_type else code.sys_name code.sys_name = '公司级' if 'company' == code.code_type else code.sys_name
# 校验标准代码是否已存在于正式表中 # 校验标准代码是否已存在于正式表中
if await cls.check_code_exists_in_official(query_db, code.code_num): if not await cls.check_code_unique_services(query_db, code):
raise ServiceException(message=f'标准代码{code.code_num}已经存在于正式表中,无法新增') raise ServiceException(message=f'标准代码{code.code_num}已经存在于正式表中,无法新增')
# 先创建标准代码的审批记录 # 先创建标准代码的审批记录
@ -216,6 +216,7 @@ class DataStdService:
appr_model.changeType = "add" appr_model.changeType = "add"
appr_model.compareId = code.id appr_model.compareId = code.id
appr_model.oldInstId = code.id appr_model.oldInstId = code.id
appr_model.code_status="9"
appr_model.approStatus = "waiting" appr_model.approStatus = "waiting"
appr_model.flowId = str(uuid.uuid4()) # 新生成 Flow ID appr_model.flowId = str(uuid.uuid4()) # 新生成 Flow ID
@ -240,7 +241,7 @@ class DataStdService:
item.parent_id = code.id # 设置父级 ID item.parent_id = code.id # 设置父级 ID
# 校验代码项是否已存在于正式表中 # 校验代码项是否已存在于正式表中
if await cls.check_code_exists_in_official(query_db, item.code_num): if not await cls.check_code_unique_services(query_db, item):
raise ServiceException(message=f'代码项{item.code_num}已经存在于正式表中,无法新增') raise ServiceException(message=f'代码项{item.code_num}已经存在于正式表中,无法新增')
# 同样需要创建审批记录 # 同样需要创建审批记录
@ -253,9 +254,7 @@ class DataStdService:
await DataStdDao.add_std_code_appr(query_db, item_appr_model) await DataStdDao.add_std_code_appr(query_db, item_appr_model)
# 创建代码项的审批申请
apply_model.businessId = item_appr_model.flowId
await ApprovalService.apply_services(query_db, apply_model, 'dataStdCode')
return CrudResponseModel(is_success=True, message='新增标准代码和代码项成功') return CrudResponseModel(is_success=True, message='新增标准代码和代码项成功')

Loading…
Cancel
Save