diff --git a/vue-fastapi-backend/module_admin/dao/datastd_dao.py b/vue-fastapi-backend/module_admin/dao/datastd_dao.py index c78a6bf..d87a7f8 100644 --- a/vue-fastapi-backend/module_admin/dao/datastd_dao.py +++ b/vue-fastapi-backend/module_admin/dao/datastd_dao.py @@ -1,7 +1,7 @@ from sqlalchemy import delete, select, update, desc,or_,not_ 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.vo.datastd_vo import DataStdCodeModel,DataStdDictModel,DataStdMainModel,DataStdMainApprModel,DataStdDictApprModel +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,DataStdCodeApprModel from module_admin.entity.do.dept_do import SysDept from utils.page_util import PageUtil from sqlalchemy.orm import aliased @@ -154,10 +154,23 @@ class DataStdDao: await db.flush() 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 async def delete_std_code(cls, db: AsyncSession, Id: str): 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 async def update_std_code(cls, db: AsyncSession, update_data: DataStdCodeModel): diff --git a/vue-fastapi-backend/module_admin/service/datastd_service.py b/vue-fastapi-backend/module_admin/service/datastd_service.py index 0e8be16..5834d82 100644 --- a/vue-fastapi-backend/module_admin/service/datastd_service.py +++ b/vue-fastapi-backend/module_admin/service/datastd_service.py @@ -85,7 +85,7 @@ class DataStdService: except Exception as e: await query_db.rollback() raise e - + @classmethod async def code_detail_services(cls, query_db: AsyncSession, col: str): @@ -208,7 +208,7 @@ class DataStdService: 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}已经存在于正式表中,无法新增') # 先创建标准代码的审批记录 @@ -216,6 +216,7 @@ class DataStdService: appr_model.changeType = "add" appr_model.compareId = code.id appr_model.oldInstId = code.id + appr_model.code_status="9" appr_model.approStatus = "waiting" appr_model.flowId = str(uuid.uuid4()) # 新生成 Flow ID @@ -240,7 +241,7 @@ class DataStdService: 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}已经存在于正式表中,无法新增') # 同样需要创建审批记录 @@ -253,9 +254,7 @@ class DataStdService: 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='新增标准代码和代码项成功')