hahagahaha
This commit is contained in:
@@ -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=财务部ID,state="已抄送财务")
|
||||
- 团队(team):需要审核人,按顺序审核,最后抄送财务
|
||||
- 无团队:直接抄送财务
|
||||
|
||||
注意:personincharge字段统一使用财务部ID(优先)或回退到"财务"字符串
|
||||
|
||||
Args:
|
||||
team_name: 团队名称
|
||||
approvers: 审核人列表(可以是数组或字符串,多人团队时需要)
|
||||
|
||||
@@ -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)
|
||||
|
||||
# 如果是财务部人员,且当前审批状态是"已抄送财务",则自动标记为已查看(已通过)
|
||||
# 财务部只需要查看,不需要审批,查看后直接完成
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
|
||||
# 构建查询条件
|
||||
|
||||
Reference in New Issue
Block a user