优化自动建案逻辑

This commit is contained in:
27942
2026-01-31 13:23:50 +08:00
parent b9ef766f47
commit 330dcab62e
3 changed files with 22 additions and 9 deletions

View File

@@ -710,11 +710,12 @@ def process_approval_flow(approval, business_record, current_approver, state,
return True, None
# 申请人待查看阶段:当前步骤是申请人待查看,申请人查看后完成(投标/立项不再给财务部
# 申请人待查看阶段:当前步骤是申请人待查看,申请人查看后完成(投标/立项/案件变更等
applicant = getattr(approval, 'applicant', None)
if approval.state == "待查看" and applicant and approval.personincharge == applicant:
# 已通过、已查看、未传 state 均视为申请人已查看完成
if state == "已通过" or state == "已查看" or (state is None or state == ""):
# 已通过、已查看、未传 state 或前端传 undefined/null 等均视为申请人已查看完成
state_str = (state or "").strip().lower() if isinstance(state, str) else ""
if state == "已通过" or state == "已查看" or state is None or state == "" or state_str in ("undefined", "null"):
approval.state = "已通过"
# 立项登记在进入待查看时已写入 completeTiem最后审批人通过时间此处不改写其他类型或未写时补写
if not approval.completeTiem:

View File

@@ -2104,6 +2104,12 @@ class approvalProcessing(APIView):
if approval.state == "审核中" and not state:
return Response({'status': 'error', 'message': '缺少参数state审核状态已通过/未通过)', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
# 申请人待查看阶段:只传 type/id、或 state=已通过/已查看、或不传/undefined 时,视为申请人查看完成(更新为已通过,消除待办)
if approval.state == "待查看" and getattr(approval, 'applicant', None) and approval.personincharge == approval.applicant:
state_normalized = (state or "").strip().lower() if isinstance(state, str) else ""
if state in (None, "", "已通过", "已查看") or state_normalized in ("undefined", "null"):
state = "已通过"
from User.utils import process_approval_flow
current_approver = approval.personincharge
is_completed, error = process_approval_flow(