优化案件模块

This commit is contained in:
27942
2026-01-15 17:40:56 +08:00
parent ff0315588d
commit 63db1dbe54

View File

@@ -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,