diff --git a/User/utils.py b/User/utils.py index 4e574b5..37505e7 100644 --- a/User/utils.py +++ b/User/utils.py @@ -838,10 +838,14 @@ def process_approval_flow(approval, business_record, current_approver, state, if "待申请人查看" not in (approval.content or ""): approval.content = (approval.content or "") + ",待申请人查看" approval.save(update_fields=['state', 'personincharge', 'content', 'completeTiem'] if approval_type == "立项登记" else ['state', 'personincharge', 'content']) - # 立项登记:进入待查看时即自动建案,立案时间使用刚写入的 completeTiem(最后审批人通过日) + # 立项登记:最后审批人通过后,立项即为「已通过」,待查看只是通知不阻塞 if approval_type == "立项登记" and business_record: + if hasattr(business_record, 'state'): + business_record.state = "已通过" + business_record.save(update_fields=['state']) + # 立项审批通过后直接创建案件,不等待申请人查看 ensure_case_for_approved_project(business_record, approval=approval) - # 不更新业务记录状态,等申请人查看后再设为已通过 + # 投标/案件变更等:不更新业务记录状态,等申请人查看后再设为已通过 return False, None # 其他类型:抄送财务 logger.info(f"process_approval_flow: 最后一个审核人已审核,流转到财务部") @@ -979,10 +983,14 @@ def create_approval_with_team_logic(team_name, approvers, title, content, approv user_id=str(user_id), applicant=applicant ) - # 立项登记:进入待查看时即自动建案(个人团队无审核人,直接待查看) + # 立项登记:个人团队无审核人,直接进入待查看,立项即为「已通过」,待查看只是通知 if approval_type == "立项登记" and business_record: + if hasattr(business_record, 'state'): + business_record.state = "已通过" + business_record.save(update_fields=['state']) + # 立项审批通过后直接创建案件,不等待申请人查看 ensure_case_for_approved_project(business_record, approval=approval) - # 不更新业务记录状态,等申请人查看后再设为已通过 + # 投标/案件变更等:不更新业务记录状态,等申请人查看后再设为已通过 return approval, None, False # 其他类型:个人团队或无团队,直接到财务团队审核 finance_personincharge = get_finance_personincharge_value()