优化案件模块

This commit is contained in:
27942
2026-01-20 11:34:29 +08:00
parent 6f1566044e
commit c04c1e6693

View File

@@ -769,8 +769,31 @@ class issueAnInvoiceDetail(APIView):
user_agents_page = paginator.page(1)
except EmptyPage:
user_agents_page = paginator.page(paginator.num_pages)
# 导入案件模型用于查找案件id
from business.models import Case, ProjectRegistration
data = []
for info in user_agents_page.object_list:
# 通过ContractNo查找对应的案件id
case_id = None
project_id = None
# 优先从Case案件管理中查找
try:
case = Case.objects.get(contract_no=info.ContractNo, is_deleted=False)
case_id = case.id
# 如果Case有关联的ProjectRegistration也返回project_id
if case.project:
project_id = case.project.id
except Case.DoesNotExist:
# 如果Case中找不到尝试从ProjectRegistration立项登记中查找
try:
project = ProjectRegistration.objects.get(ContractNo=info.ContractNo, is_deleted=False)
project_id = project.id
except ProjectRegistration.DoesNotExist:
pass # 如果都找不到case_id和project_id保持为None
itme = {
'id': info.id,
"ContractNo": info.ContractNo,
@@ -784,6 +807,8 @@ class issueAnInvoiceDetail(APIView):
"state": info.state,
"username": info.username,
"times": info.times,
"case_id": case_id, # 案件管理IDCase表
"project_id": project_id, # 立项登记IDProjectRegistration表
}
data.append(itme)
return Response({'message': '展示成功', "total": total, 'data': data, 'code': 0}, status=status.HTTP_200_OK)