优化删除部门接口

This commit is contained in:
27942
2025-12-25 17:08:49 +08:00
parent ccd0443695
commit 05b25131ed
2 changed files with 89 additions and 3 deletions

View File

@@ -1,7 +1,7 @@
from django.urls import path
from .models import Schedule
from .views import registration,registrationDetail,Project,Projectquerytype,ProjectDetail,EditProject,BidRegistration,BidDetail,registrationList,caseManagement,caseManagementDetail,Uploadinvoice,InvoiceDetail,Log,LogDetail,accumulate,preFilingLinkedCases,Application,ApplicationDetail,WarehousingRegistration,WarehousingDetail,PlatformRegistration,PlatformDetail,EditPlatformDetail,DeletePlatformDetail,bulletin,BulletinDetail,EditBulletin,deleteBulletin,Lawyersdocuments,LawyersdocumentsDetail,LwaDetail,CreateSchedule,DeleteSchedule,ScheduleDetail,handleSchedule,AddRermission,DisplayRermission,DeleteRermission,EditRermission,addRole,DeleteRole,EditRole,displayRole,modifypermissions,getRolePermissions,DeleteRegistration,EditRegistration,DeleteProject,EditBid,DeleteBid,DeleteCase,EditApplication,DeleteApplication,EditWarehousing,DeleteWarehousing,EditLawyerFlie,EditSchedule
from .views import registration,registrationDetail,Project,Projectquerytype,ProjectDetail,EditProject,BidRegistration,BidDetail,registrationList,caseManagement,caseManagementDetail,Uploadinvoice,InvoiceDetail,Log,LogDetail,accumulate,preFilingLinkedCases,Application,ApplicationDetail,WarehousingRegistration,WarehousingDetail,PlatformRegistration,PlatformDetail,EditPlatformDetail,DeletePlatformDetail,bulletin,BulletinDetail,EditBulletin,deleteBulletin,Lawyersdocuments,LawyersdocumentsDetail,LwaDetail,CreateSchedule,DeleteSchedule,ScheduleDetail,handleSchedule,AddRermission,DisplayRermission,DeleteRermission,EditRermission,addRole,DeleteRole,EditRole,displayRole,modifypermissions,getRolePermissions,DeleteRegistration,EditRegistration,DeleteProject,EditBid,DeleteBid,EditCase,DeleteCase,EditApplication,DeleteApplication,EditWarehousing,DeleteWarehousing,EditLawyerFlie,EditSchedule
urlpatterns = [
path('register',registration.as_view(),name='register'),
@@ -20,6 +20,7 @@ urlpatterns = [
path('registrationlist',registrationList.as_view(),name='registrationlist'),
path('casemanagement',caseManagement.as_view(),name='casemanagement'),
path('casemanagementdetail',caseManagementDetail.as_view(),name='casemanagementdetail'),
path('editCase',EditCase.as_view(),name='editCase'),
path('deleteCase',DeleteCase.as_view(),name='deleteCase'),
path('uploadinvoice',Uploadinvoice.as_view(),name='uploadinvoice'),
path('invoicedetail',InvoiceDetail.as_view(),name='invoicedetail'),

View File

@@ -721,7 +721,7 @@ class caseManagementDetail(APIView):
# pre_id = pre.values_list('id', flat=True)
# Q_obj &= Q(user_id__in=pre_id)
pre = Case.objects.filter(Q_obj)
pre = Case.objects.filter(Q_obj).order_by('-id')
total = len(pre)
paginator = Paginator(pre, per_page)
@@ -758,6 +758,91 @@ class caseManagementDetail(APIView):
return Response({'message': '展示成功', "total": total, 'data': data, 'code': 0}, status=status.HTTP_200_OK)
class EditCase(APIView):
def post(self, request, *args, **kwargs):
"""
编辑案件管理
:param request:
:param args:
:param kwargs:
:return:
"""
id = request.data.get('id')
times = request.data.get('times')
AgencyContract = request.FILES.getlist('AgencyContract')
Contractreturn = request.FILES.getlist('Contractreturn')
Closingapplication = request.FILES.getlist('Closingapplication')
ChangeRequest = request.data.get('ChangeRequest')
paymentcollection = request.data.get('paymentcollection')
personincharge = request.data.get('personincharge')
# 检查不可修改的参数(前端不会传入,但作为安全措施进行检查)
forbidden_params = []
if 'user_id' in request.data:
forbidden_params.append('user_id')
if forbidden_params:
return Response({
'status': 'error',
'message': f'以下参数不允许修改: {", ".join(forbidden_params)}',
'code': 1
}, status=status.HTTP_400_BAD_REQUEST)
if not id:
return Response({'status': 'error', 'message': '缺少参数id', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
try:
case = Case.objects.get(id=id)
except Case.DoesNotExist:
return Response({'status': 'error', 'message': '案件管理不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
update_fields_list = []
if times:
case.times = times
update_fields_list.append('times')
if AgencyContract:
case.AgencyContract = json.dumps(flies(AgencyContract))
update_fields_list.append('AgencyContract')
if Contractreturn:
case.Contractreturn = json.dumps(flies(Contractreturn))
update_fields_list.append('Contractreturn')
if Closingapplication:
case.Closingapplication = json.dumps(flies(Closingapplication))
update_fields_list.append('Closingapplication')
if ChangeRequest:
case.ChangeRequest = ChangeRequest
case.state = "审核中"
update_fields_list.extend(['ChangeRequest', 'state'])
if personincharge:
import datetime
today = datetime.datetime.now()
formatted_date = today.strftime("%Y-%m-%d")
Approval.objects.create(
title="案件管理信息提交",
content=(times or case.times) + "提交了一份案件信息,更改了变更申请",
times=formatted_date,
personincharge=personincharge,
state='审核中',
type="案件管理",
user_id=case.id
)
if paymentcollection:
case.paymentcollection = paymentcollection
update_fields_list.append('paymentcollection')
if update_fields_list:
case.save(update_fields=update_fields_list)
return Response({'message': '编辑成功', 'code': 0}, status=status.HTTP_200_OK)
class DeleteCase(APIView):
def post(self, request, *args, **kwargs):
"""
@@ -997,7 +1082,7 @@ class ApplicationDetail(APIView):
if seal_type:
Q_obj &= Q(seal_type=seal_type)
seas = SealApplication.objects.filter(Q_obj)
seas = SealApplication.objects.filter(Q_obj).order_by('-id')
total = len(seas)
paginator = Paginator(seas, per_page)