From 63db1dbe5478b44d566decd7fe7c516d518c2bf5 Mon Sep 17 00:00:00 2001 From: 27942 Date: Thu, 15 Jan 2026 17:40:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A1=88=E4=BB=B6=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/views.py | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/business/views.py b/business/views.py index 5299ad1..2695c64 100644 --- a/business/views.py +++ b/business/views.py @@ -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,