diff --git a/app/controller/add_approve_route.py b/app/controller/add_approve_route.py index 637f07e..f1ec563 100644 --- a/app/controller/add_approve_route.py +++ b/app/controller/add_approve_route.py @@ -54,7 +54,10 @@ def add_approve_route(app: FastAPI): reimburse_workflow = create_reimburse_workflow(session=session, checkpointer=checkpointer) - await reimburse_workflow.ainvoke({"reimburse_user_id": reimburse_cls.user, "approve_id": insert_approve_cls.id}) + await reimburse_workflow.ainvoke( + {"reimburse_user_id": reimburse_cls.user.id, "approve_id": insert_approve_cls.id}, + config={"configurable": {"thread_id": insert_approve_cls.id}} + ) return {"message": "报销单提交成功!"} diff --git a/app/workflow/approve.py b/app/workflow/approve.py index 5ed5b99..7ae6fde 100644 --- a/app/workflow/approve.py +++ b/app/workflow/approve.py @@ -97,11 +97,11 @@ async def update_approve( approve_cls = await ApproveService.query_item(session=session, row_dict={"id": approve_id}) # 更新审批日志 - approve_logs: List[ApproveLog] = json.loads(approve_cls.get('logs', '[]')) + approve_logs: List[ApproveLog] = json.loads(approve_cls.logs or '[]') approve_logs.append({"content": log_content, "datetime": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}) # 更新审批单信息,包括审批人以及审批日志,此时审批状态为驳回 - approve_cls = ApproveService.item_update(session=session, row_dict={ + approve_cls = await ApproveService.item_update(session=session, row_dict={ "id": approve_id, "logs": json.dumps(approve_logs, ensure_ascii=False), **approve_dict, @@ -112,11 +112,11 @@ async def update_approve( # 找到上级主管用户信息 async def aget_supervisor_user(user_id: str, session: AsyncSessionDep) -> Union[UserServiceModel, None]: # 目标用户信息 - user_cls: UserServiceModel = UserService.query_item(session=session, row_dict={"id": user_id}) + user_cls: UserServiceModel = await UserService.query_item(session=session, row_dict={"id": user_id}) # 目标用户的上级职位编码 parent_code = user_cls.pos.parent_code # 根据上级职位编码查询上级用户信息 - return UserService.query_item(session=session, row_dict={"pos_code": parent_code}) + return await UserService.query_item(session=session, row_dict={"pos_code": parent_code}) # approve workflow审批流程的输入参数类型