优化案件模块
This commit is contained in:
@@ -35,7 +35,17 @@ def get_team_name_from_responsiblefor(responsiblefor):
|
||||
except (json.JSONDecodeError, TypeError):
|
||||
return None
|
||||
if isinstance(data, dict):
|
||||
return get_user_team_name(data.get('responsible_person'))
|
||||
responsible_person = data.get('responsible_person')
|
||||
if responsible_person is None:
|
||||
return None
|
||||
# 兼容负责人人员ID或用户名
|
||||
if str(responsible_person).strip().isdigit():
|
||||
try:
|
||||
user = User.objects.get(id=int(responsible_person), is_deleted=False)
|
||||
return user.team
|
||||
except User.DoesNotExist:
|
||||
return None
|
||||
return get_user_team_name(responsible_person)
|
||||
return None
|
||||
|
||||
|
||||
@@ -301,8 +311,7 @@ class Project(APIView):
|
||||
# 兼容旧接口:如果传了 personincharge,转换为 approvers
|
||||
personincharge = request.data.get('personincharge')
|
||||
|
||||
print(approvers)
|
||||
print(type(approvers))
|
||||
print(responsiblefor)
|
||||
|
||||
approvers = normalize_approvers_param(approvers, personincharge)
|
||||
|
||||
@@ -372,15 +381,16 @@ class Project(APIView):
|
||||
today = datetime.datetime.now()
|
||||
formatted_date = today.strftime("%Y-%m-%d")
|
||||
|
||||
# 获取负责人的团队信息(从字典中获取负责人字段)
|
||||
team_name = None
|
||||
try:
|
||||
responsible_person = responsiblefor_dict.get('responsible_person')
|
||||
if responsible_person:
|
||||
responsible_user = User.objects.get(username=responsible_person, is_deleted=False)
|
||||
team_name = responsible_user.team
|
||||
except User.DoesNotExist:
|
||||
pass
|
||||
# 获取团队信息:优先负责人,其次当前登录用户
|
||||
team_name = get_team_name_from_responsiblefor(responsiblefor_dict)
|
||||
if not team_name:
|
||||
token = request.META.get('token') or request.META.get('HTTP_AUTHORIZATION', '').replace('Bearer ', '')
|
||||
if token:
|
||||
try:
|
||||
request_user = User.objects.get(token=token, is_deleted=False)
|
||||
team_name = request_user.team
|
||||
except User.DoesNotExist:
|
||||
pass
|
||||
|
||||
# 使用统一的审核流程函数
|
||||
from User.utils import create_approval_with_team_logic
|
||||
@@ -394,7 +404,7 @@ class Project(APIView):
|
||||
if responsiblefor_dict.get('case_manager_lawyer'):
|
||||
responsible_desc += f",案管律师:{responsiblefor_dict.get('case_manager_lawyer')}"
|
||||
|
||||
content = f"{responsiblefor_dict.get('responsible_person')}在{times}办理立项登记,项目类型:{type},合同编号:{ContractNo},{responsible_desc},收费情况:{charge}"
|
||||
content = f"{responsiblefor_dict.get('responsible_person')}在{times}办理立项登记,项目类型:{project_type},合同编号:{ContractNo},{responsible_desc},收费情况:{charge}"
|
||||
|
||||
approval, approvers_order_json, needs_approval = create_approval_with_team_logic(
|
||||
team_name=team_name,
|
||||
|
||||
Reference in New Issue
Block a user