hahagahaha

This commit is contained in:
27942
2026-01-27 01:12:24 +08:00
parent c0c26986d0
commit a84da888ce
3 changed files with 16 additions and 7 deletions

View File

@@ -232,9 +232,11 @@ def create_team_approval(team_name, title, content, approval_type, user_id, requ
根据团队类型创建审批流程
规则:
- 个人团队personal不需要审核人直接抄送财务personincharge设为"财务"
- 个人团队personal不需要审核人直接抄送财务personincharge设为财务部ID
- 团队team需要指定审核人可以多个审核通过后才抄送财务
注意personincharge字段统一使用财务部ID优先或回退到"财务"字符串
Args:
team_name: 团队名称
title: 审批标题
@@ -258,11 +260,13 @@ def create_team_approval(team_name, title, content, approval_type, user_id, requ
if team.team_type == 'personal':
# 个人团队:直接抄送财务,不需要审核人
# 使用财务部ID优先或回退到"财务"字符串
finance_personincharge = get_finance_personincharge_value()
approval = Approval.objects.create(
title=title,
content=content,
times=today,
personincharge='财务', # 直接抄送财务
personincharge=finance_personincharge, # 使用财务部ID
state='已抄送财务', # 直接标记为已抄送财务
type=approval_type,
user_id=str(user_id)
@@ -719,10 +723,12 @@ def create_approval_with_team_logic(team_name, approvers, title, content, approv
根据团队类型创建审批记录(统一逻辑)
规则:
- 个人团队personal直接抄送财务personincharge="财务"state="已抄送财务"
- 个人团队personal直接抄送财务personincharge=财务部IDstate="已抄送财务"
- 团队team需要审核人按顺序审核最后抄送财务
- 无团队:直接抄送财务
注意personincharge字段统一使用财务部ID优先或回退到"财务"字符串
Args:
team_name: 团队名称
approvers: 审核人列表(可以是数组或字符串,多人团队时需要)

View File

@@ -771,8 +771,9 @@ class roxyExhibition(APIView):
user_departments = user.department.values_list('username', flat=True)
user_department_names = list(user_departments)
# 判断用户是否是财务部人员:通过部门名称判断
is_finance_user = '财务部' in user_department_names
# 判断用户是否是财务部人员:通过部门名称判断(包含"财务"关键词)
# 这与 get_finance_personincharge_candidates() 中的查询条件保持一致
is_finance_user = any('财务' in name for name in user_department_names)
finance_personincharge_candidates = get_finance_personincharge_candidates()
# 构建查询条件:
@@ -2604,7 +2605,8 @@ class ApprovalStatusCheck(APIView):
current_user = User.objects.prefetch_related('department').get(token=token, is_deleted=False)
user_departments = current_user.department.values_list('username', flat=True)
user_department_names = list(user_departments)
is_finance_user = '财务部' in user_department_names
# 判断是否是财务部人员:包含"财务"关键词的部门
is_finance_user = any('财务' in name for name in user_department_names)
# 如果是财务部人员,且当前审批状态是"已抄送财务",则自动标记为已查看(已通过)
# 财务部只需要查看,不需要审批,查看后直接完成

View File

@@ -1447,10 +1447,11 @@ class confirmdisplay(APIView):
user_department_names = list(user_departments)
# 判断是否有权限查看所有数据:管委会角色或财务部角色或财务部部门
# 使用模糊匹配"财务"关键词,与 get_finance_personincharge_candidates() 保持一致
has_all_permission = (
'管委会' in user_role_names or
'财务部' in user_role_names or
'财务' in user_department_names
any('财务' in name for name in user_department_names)
)
# 构建查询条件