优化修改密码
This commit is contained in:
@@ -41,7 +41,7 @@ class registration(APIView):
|
||||
Undertaker=Undertaker,
|
||||
submit=user
|
||||
)
|
||||
|
||||
|
||||
# 记录操作日志
|
||||
new_data = {
|
||||
'id': prefiling.id,
|
||||
@@ -60,7 +60,7 @@ class registration(APIView):
|
||||
new_data=new_data,
|
||||
remark=f'新增预立案登记:委托人 {prefiling.client_username},相对方 {prefiling.party_username}'
|
||||
)
|
||||
|
||||
|
||||
return Response({'message': '登记成功', 'code': 0}, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
@@ -73,7 +73,8 @@ class registrationList(APIView):
|
||||
:param kwargs:
|
||||
:return:
|
||||
"""
|
||||
project_registration_ids = ProjectRegistration.objects.filter(is_deleted=False).values_list('user_id', flat=True)
|
||||
project_registration_ids = ProjectRegistration.objects.filter(is_deleted=False).values_list('user_id',
|
||||
flat=True)
|
||||
|
||||
bid_ids = Bid.objects.filter(is_deleted=False).values_list('user_id', flat=True)
|
||||
associated_ids = project_registration_ids.union(bid_ids)
|
||||
@@ -150,15 +151,16 @@ class EditRegistration(APIView):
|
||||
party_username = request.data.get('party_username')
|
||||
description = request.data.get('description')
|
||||
Undertaker = request.data.get('Undertaker')
|
||||
|
||||
|
||||
if not id:
|
||||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
try:
|
||||
pre = PreFiling.objects.get(id=id, is_deleted=False)
|
||||
except PreFiling.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '预立案登记不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
return Response({'status': 'error', 'message': '预立案登记不存在', 'code': 1},
|
||||
status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
# 更新字段(如果提供了值)
|
||||
if times:
|
||||
pre.times = times
|
||||
@@ -175,7 +177,7 @@ class EditRegistration(APIView):
|
||||
if Undertaker:
|
||||
pre.Undertaker = Undertaker
|
||||
pre.save(update_fields=['Undertaker'])
|
||||
|
||||
|
||||
return Response({'message': '编辑成功', 'code': 0}, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
@@ -234,7 +236,7 @@ class Project(APIView):
|
||||
type="立项登记",
|
||||
user_id=pro.id
|
||||
)
|
||||
|
||||
|
||||
# 记录操作日志
|
||||
new_data = {
|
||||
'id': pro.id,
|
||||
@@ -254,7 +256,7 @@ class Project(APIView):
|
||||
new_data=new_data,
|
||||
remark=f'新增立项登记:合同编号 {pro.ContractNo},负责人 {pro.responsiblefor}'
|
||||
)
|
||||
|
||||
|
||||
return Response({'message': '登记成功', 'code': 0}, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
@@ -362,10 +364,10 @@ class EditProject(APIView):
|
||||
:return:
|
||||
"""
|
||||
id = request.data.get('id')
|
||||
|
||||
|
||||
if not id:
|
||||
return Response({'status': 'error', 'message': '缺少参数id', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
# 检查不可修改的参数(前端不会传入,但作为安全措施进行检查)
|
||||
forbidden_params = []
|
||||
if 'type' in request.data:
|
||||
@@ -376,36 +378,37 @@ class EditProject(APIView):
|
||||
forbidden_params.append('personincharge')
|
||||
if 'user_id' in request.data:
|
||||
forbidden_params.append('user_id')
|
||||
|
||||
|
||||
if forbidden_params:
|
||||
return Response({
|
||||
'status': 'error',
|
||||
'message': f'以下参数不允许修改: {", ".join(forbidden_params)}',
|
||||
'status': 'error',
|
||||
'message': f'以下参数不允许修改: {", ".join(forbidden_params)}',
|
||||
'code': 1
|
||||
}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
# 获取可修改的参数(前端只传入这些参数)
|
||||
times = request.data.get('times')
|
||||
responsiblefor = request.data.get('responsiblefor')
|
||||
charge = request.data.get('charge')
|
||||
contract = request.FILES.getlist('contract')
|
||||
|
||||
|
||||
try:
|
||||
pro = ProjectRegistration.objects.get(id=id, is_deleted=False)
|
||||
except ProjectRegistration.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '立案登记不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
return Response({'status': 'error', 'message': '立案登记不存在', 'code': 1},
|
||||
status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
import datetime
|
||||
|
||||
|
||||
# 保存原始值用于日志记录
|
||||
original_type = pro.type
|
||||
original_ContractNo = pro.ContractNo
|
||||
original_responsiblefor = pro.responsiblefor
|
||||
original_times = pro.times
|
||||
original_charge = pro.charge
|
||||
|
||||
|
||||
update_fields_list = []
|
||||
|
||||
|
||||
if contract:
|
||||
contract = flies(contract)
|
||||
# 将文件URL列表转换为字符串存储(如果有多个URL,用逗号分隔)
|
||||
@@ -415,22 +418,22 @@ class EditProject(APIView):
|
||||
contract_str = ""
|
||||
pro.contract = contract_str
|
||||
update_fields_list.append('contract')
|
||||
|
||||
|
||||
if times:
|
||||
pro.times = times
|
||||
update_fields_list.append('times')
|
||||
|
||||
|
||||
if responsiblefor:
|
||||
pro.responsiblefor = responsiblefor
|
||||
update_fields_list.append('responsiblefor')
|
||||
|
||||
|
||||
if charge:
|
||||
pro.charge = charge
|
||||
update_fields_list.append('charge')
|
||||
|
||||
pro.state = "审核中"
|
||||
update_fields_list.append('state')
|
||||
|
||||
|
||||
# 记录操作前的数据
|
||||
old_data = {
|
||||
'id': pro.id,
|
||||
@@ -440,7 +443,7 @@ class EditProject(APIView):
|
||||
'times': original_times,
|
||||
'charge': original_charge
|
||||
}
|
||||
|
||||
|
||||
if update_fields_list:
|
||||
pro.save(update_fields=update_fields_list)
|
||||
|
||||
@@ -458,14 +461,16 @@ class EditProject(APIView):
|
||||
formatted_date = today.strftime("%Y-%m-%d")
|
||||
Approval.objects.create(
|
||||
title=(responsiblefor or original_responsiblefor) + "立项登记重新编辑",
|
||||
content=(responsiblefor or original_responsiblefor) + "在" + (times or original_times) + "办理立项登记,项目类型:" + original_type + ",合同编号:" + original_ContractNo + "描述:" + ",负责人:" + (responsiblefor or original_responsiblefor) + ",收费情况:" + (charge or original_charge),
|
||||
content=(responsiblefor or original_responsiblefor) + "在" + (
|
||||
times or original_times) + "办理立项登记,项目类型:" + original_type + ",合同编号:" + original_ContractNo + "描述:" + ",负责人:" + (
|
||||
responsiblefor or original_responsiblefor) + ",收费情况:" + (charge or original_charge),
|
||||
times=formatted_date,
|
||||
personincharge="", # personincharge不再从请求中获取
|
||||
state='审核中',
|
||||
type="立项登记",
|
||||
user_id=pro.id
|
||||
)
|
||||
|
||||
|
||||
# 记录操作日志
|
||||
log_operation(
|
||||
request=request,
|
||||
@@ -495,18 +500,20 @@ class DeleteProject(APIView):
|
||||
id = request.data.get('id')
|
||||
if not id:
|
||||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
try:
|
||||
pro = ProjectRegistration.objects.get(id=id, is_deleted=False)
|
||||
except ProjectRegistration.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '立项登记不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
return Response({'status': 'error', 'message': '立项登记不存在', 'code': 1},
|
||||
status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
# 检查是否已经被案件管理关联
|
||||
case_exists = Case.objects.filter(user_id=pro.user_id, is_deleted=False).exists()
|
||||
|
||||
|
||||
if case_exists:
|
||||
return Response({'status': 'error', 'message': '该立项已被案件管理关联,无法删除', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
return Response({'status': 'error', 'message': '该立项已被案件管理关联,无法删除', 'code': 1},
|
||||
status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# 记录操作前的数据
|
||||
try:
|
||||
prefiling = PreFiling.objects.get(id=pro.user_id, is_deleted=False)
|
||||
@@ -519,11 +526,11 @@ class DeleteProject(APIView):
|
||||
}
|
||||
except:
|
||||
old_data = {'id': pro.id, 'contract_no': pro.ContractNo}
|
||||
|
||||
|
||||
# 软删除:更新 is_deleted 字段
|
||||
pro.is_deleted = True
|
||||
pro.save()
|
||||
|
||||
|
||||
# 记录操作日志
|
||||
log_operation(
|
||||
request=request,
|
||||
@@ -536,7 +543,7 @@ class DeleteProject(APIView):
|
||||
old_data=old_data,
|
||||
remark=f'删除立项登记:合同编号 {pro.ContractNo}'
|
||||
)
|
||||
|
||||
|
||||
return Response({'message': '删除成功', 'code': 0}, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
@@ -574,7 +581,8 @@ class BidRegistration(APIView):
|
||||
title=ProjectName + "投标登记",
|
||||
content="项目名称:" + ProjectName + ",申请日期:" + times,
|
||||
times=formatted_date,
|
||||
personincharge=format_personincharge(personincharge, is_department=False) if personincharge else "", # 审批员用户名
|
||||
personincharge=format_personincharge(personincharge, is_department=False) if personincharge else "",
|
||||
# 审批员用户名
|
||||
state='审核中',
|
||||
type="投标登记",
|
||||
user_id=bib.id
|
||||
@@ -659,15 +667,16 @@ class EditBid(APIView):
|
||||
times = request.data.get('times')
|
||||
BiddingAnnouncement = request.FILES.getlist('BiddingAnnouncement')
|
||||
personincharge = request.data.get('personincharge')
|
||||
|
||||
|
||||
if not id:
|
||||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
try:
|
||||
bid = Bid.objects.get(id=id, is_deleted=False)
|
||||
except Bid.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '投标登记不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
return Response({'status': 'error', 'message': '投标登记不存在', 'code': 1},
|
||||
status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
if BiddingUnit:
|
||||
bid.BiddingUnit = BiddingUnit
|
||||
bid.save(update_fields=['BiddingUnit'])
|
||||
@@ -680,7 +689,7 @@ class EditBid(APIView):
|
||||
if BiddingAnnouncement:
|
||||
bid.BiddingAnnouncement = json.dumps(flies(BiddingAnnouncement))
|
||||
bid.save(update_fields=['BiddingAnnouncement'])
|
||||
|
||||
|
||||
if personincharge:
|
||||
import datetime
|
||||
today = datetime.datetime.now()
|
||||
@@ -689,12 +698,13 @@ class EditBid(APIView):
|
||||
title=bid.ProjectName + "投标登记重新编辑",
|
||||
content="项目名称:" + bid.ProjectName + ",申请日期:" + (times or bid.times),
|
||||
times=formatted_date,
|
||||
personincharge=format_personincharge(personincharge, is_department=False) if personincharge else "", # 审批员用户名
|
||||
personincharge=format_personincharge(personincharge, is_department=False) if personincharge else "",
|
||||
# 审批员用户名
|
||||
state='审核中',
|
||||
type="投标登记",
|
||||
user_id=bid.id
|
||||
)
|
||||
|
||||
|
||||
return Response({'message': '编辑成功', 'code': 0}, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
@@ -710,23 +720,24 @@ class DeleteBid(APIView):
|
||||
id = request.data.get('id')
|
||||
if not id:
|
||||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
try:
|
||||
bid = Bid.objects.get(id=id, is_deleted=False)
|
||||
except Bid.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '投标登记不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
return Response({'status': 'error', 'message': '投标登记不存在', 'code': 1},
|
||||
status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
# 记录操作前的数据
|
||||
old_data = {
|
||||
'id': bid.id,
|
||||
'project_name': bid.ProjectName,
|
||||
'times': bid.times
|
||||
}
|
||||
|
||||
|
||||
# 软删除:更新 is_deleted 字段
|
||||
bid.is_deleted = True
|
||||
bid.save()
|
||||
|
||||
|
||||
# 记录操作日志
|
||||
log_operation(
|
||||
request=request,
|
||||
@@ -739,7 +750,7 @@ class DeleteBid(APIView):
|
||||
old_data=old_data,
|
||||
remark=f'删除投标登记:{bid.ProjectName}'
|
||||
)
|
||||
|
||||
|
||||
return Response({'message': '删除成功', 'code': 0}, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
@@ -780,7 +791,8 @@ class caseManagement(APIView):
|
||||
title="案件管理信息提交",
|
||||
content=times + "提交了一份案件信息,请审核",
|
||||
times=times,
|
||||
personincharge=format_personincharge(personincharge, is_department=False) if personincharge else "", # 审批员用户名
|
||||
personincharge=format_personincharge(personincharge, is_department=False) if personincharge else "",
|
||||
# 审批员用户名
|
||||
state='审核中',
|
||||
type="案件管理",
|
||||
user_id=case_id.id
|
||||
@@ -810,7 +822,8 @@ class caseManagement(APIView):
|
||||
title="案件管理信息提交",
|
||||
content=times + "提交了一份案件信息,更改了变更申请",
|
||||
times=times,
|
||||
personincharge=format_personincharge(personincharge, is_department=False) if personincharge else "", # 审批员用户名
|
||||
personincharge=format_personincharge(personincharge, is_department=False) if personincharge else "",
|
||||
# 审批员用户名
|
||||
state='审核中',
|
||||
type="案件管理",
|
||||
user_id=case.id
|
||||
@@ -873,19 +886,19 @@ class caseManagementDetail(APIView):
|
||||
pre = PreFiling.objects.get(id=info.user_id, is_deleted=False)
|
||||
except PreFiling.DoesNotExist:
|
||||
continue # 跳过已删除的关联数据
|
||||
|
||||
|
||||
# ProjectRegistration 可能不存在(如果还没有立项登记),使用 filter().first() 而不是 get()
|
||||
pro = ProjectRegistration.objects.filter(user_id=info.user_id, is_deleted=False).first()
|
||||
|
||||
|
||||
data.append({
|
||||
"id": info.id,
|
||||
"ContractNo": pro.ContractNo if pro else "", # 合同编号
|
||||
"type_pro": pro.type if pro else "", # 项目类型
|
||||
"ContractNo": pro.ContractNo, # 合同编号
|
||||
"type_pro": pro.type, # 项目类型
|
||||
"client_username": pre.client_username, # 委托人信息
|
||||
"party_username": pre.party_username, # 相对方信息
|
||||
"description": pre.description, # 项目简述
|
||||
"responsiblefor": pro.responsiblefor if pro else "", # 负责人
|
||||
"charge": pro.charge if pro else "",
|
||||
"responsiblefor": pro.responsiblefor, # 负责人
|
||||
"charge": pro.charge,
|
||||
'times': info.times,
|
||||
"AgencyContract": info.AgencyContract,
|
||||
"Contractreturn": info.Contractreturn,
|
||||
@@ -916,50 +929,51 @@ class EditCase(APIView):
|
||||
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)}',
|
||||
'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, is_deleted=False)
|
||||
except Case.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '案件管理不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
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()
|
||||
@@ -968,19 +982,20 @@ class EditCase(APIView):
|
||||
title="案件管理信息提交",
|
||||
content=(times or case.times) + "提交了一份案件信息,更改了变更申请",
|
||||
times=formatted_date,
|
||||
personincharge=format_personincharge(personincharge, is_department=False) if personincharge else "", # 审批员用户名
|
||||
personincharge=format_personincharge(personincharge, is_department=False) if personincharge else "",
|
||||
# 审批员用户名
|
||||
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)
|
||||
|
||||
|
||||
@@ -996,23 +1011,24 @@ class DeleteCase(APIView):
|
||||
id = request.data.get('id')
|
||||
if not id:
|
||||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
try:
|
||||
case = Case.objects.get(id=id, is_deleted=False)
|
||||
except Case.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '案件管理不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
return Response({'status': 'error', 'message': '案件管理不存在', 'code': 1},
|
||||
status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
# 记录操作前的数据
|
||||
old_data = {
|
||||
'id': case.id,
|
||||
'times': case.times,
|
||||
'state': case.state
|
||||
}
|
||||
|
||||
|
||||
# 软删除:更新 is_deleted 字段
|
||||
case.is_deleted = True
|
||||
case.save()
|
||||
|
||||
|
||||
# 记录操作日志
|
||||
log_operation(
|
||||
request=request,
|
||||
@@ -1025,7 +1041,7 @@ class DeleteCase(APIView):
|
||||
old_data=old_data,
|
||||
remark=f'删除案件管理:ID {case.id}'
|
||||
)
|
||||
|
||||
|
||||
return Response({'message': '删除成功', 'code': 0}, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
@@ -1168,14 +1184,15 @@ class preFilingLinkedCases(APIView):
|
||||
:return:
|
||||
"""
|
||||
# 获取所有关联了立项登记的预立案ID
|
||||
project_registration_ids = ProjectRegistration.objects.filter(is_deleted=False).values_list('user_id', flat=True)
|
||||
|
||||
project_registration_ids = ProjectRegistration.objects.filter(is_deleted=False).values_list('user_id',
|
||||
flat=True)
|
||||
|
||||
# 获取所有关联了案件管理的预立案ID(包括已删除的案件)
|
||||
case_ids = Case.objects.all().values_list('user_id', flat=True)
|
||||
|
||||
|
||||
# 合并所有关联的预立案ID
|
||||
associated_ids = set(project_registration_ids) | set(case_ids)
|
||||
|
||||
|
||||
data = []
|
||||
for prefiling_id in associated_ids:
|
||||
try:
|
||||
@@ -1191,7 +1208,7 @@ class preFilingLinkedCases(APIView):
|
||||
})
|
||||
except PreFiling.DoesNotExist:
|
||||
continue # 跳过已删除的关联数据
|
||||
|
||||
|
||||
return Response({'message': '展示成功', 'data': data, 'code': 0}, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
@@ -1311,15 +1328,16 @@ class EditApplication(APIView):
|
||||
seal_type = request.data.get('seal_type')
|
||||
file = request.FILES.getlist('file')
|
||||
personincharge = request.data.get('personincharge')
|
||||
|
||||
|
||||
if not id:
|
||||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
try:
|
||||
app = SealApplication.objects.get(id=id, is_deleted=False)
|
||||
except SealApplication.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '申请用印不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
return Response({'status': 'error', 'message': '申请用印不存在', 'code': 1},
|
||||
status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
if Printingpurpose:
|
||||
app.Printingpurpose = Printingpurpose
|
||||
app.save(update_fields=['Printingpurpose'])
|
||||
@@ -1338,20 +1356,23 @@ class EditApplication(APIView):
|
||||
if file:
|
||||
app.file = json.dumps(flies(file))
|
||||
app.save(update_fields=['file'])
|
||||
|
||||
|
||||
if personincharge:
|
||||
now = datetime.now()
|
||||
date_str = now.strftime('%Y-%m-%d')
|
||||
Approval.objects.create(
|
||||
title=app.username + "申请用印重新编辑",
|
||||
content=app.username + "在" + date_str + "申请用印,用印事由:" + (Reason or app.Reason) + ",盖章份数:" + (seal_number or app.seal_number) + "盖着类型:" + (seal_type or app.seal_type),
|
||||
content=app.username + "在" + date_str + "申请用印,用印事由:" + (
|
||||
Reason or app.Reason) + ",盖章份数:" + (seal_number or app.seal_number) + "盖着类型:" + (
|
||||
seal_type or app.seal_type),
|
||||
times=date_str,
|
||||
personincharge=format_personincharge(personincharge, is_department=False) if personincharge else "", # 审批员用户名
|
||||
personincharge=format_personincharge(personincharge, is_department=False) if personincharge else "",
|
||||
# 审批员用户名
|
||||
state='审核中',
|
||||
type="申请用印",
|
||||
user_id=app.id
|
||||
)
|
||||
|
||||
|
||||
return Response({'message': '编辑成功', 'code': 0}, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
@@ -1367,12 +1388,13 @@ class DeleteApplication(APIView):
|
||||
id = request.data.get('id')
|
||||
if not id:
|
||||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
try:
|
||||
app = SealApplication.objects.get(id=id, is_deleted=False)
|
||||
except SealApplication.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '申请用印不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
return Response({'status': 'error', 'message': '申请用印不存在', 'code': 1},
|
||||
status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
# 软删除:更新 is_deleted 字段
|
||||
app.is_deleted = True
|
||||
app.save()
|
||||
@@ -1473,15 +1495,16 @@ class EditWarehousing(APIView):
|
||||
lawyer = request.data.get('lawyer')
|
||||
deadline = request.data.get('deadline')
|
||||
contract = request.FILES.getlist('contract')
|
||||
|
||||
|
||||
if not id:
|
||||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
try:
|
||||
ware = Warehousing.objects.get(id=id, is_deleted=False)
|
||||
except Warehousing.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '入库登记不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
return Response({'status': 'error', 'message': '入库登记不存在', 'code': 1},
|
||||
status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
if unit:
|
||||
ware.unit = unit
|
||||
ware.save(update_fields=['unit'])
|
||||
@@ -1497,7 +1520,7 @@ class EditWarehousing(APIView):
|
||||
if contract:
|
||||
ware.contract = json.dumps(flies(contract))
|
||||
ware.save(update_fields=['contract'])
|
||||
|
||||
|
||||
return Response({'message': '编辑成功', 'code': 0}, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
@@ -1513,12 +1536,13 @@ class DeleteWarehousing(APIView):
|
||||
id = request.data.get('id')
|
||||
if not id:
|
||||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
try:
|
||||
ware = Warehousing.objects.get(id=id, is_deleted=False)
|
||||
except Warehousing.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '入库登记不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
return Response({'status': 'error', 'message': '入库登记不存在', 'code': 1},
|
||||
status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
# 软删除:更新 is_deleted 字段
|
||||
ware.is_deleted = True
|
||||
ware.save()
|
||||
@@ -1628,7 +1652,8 @@ class DeletePlatformDetail(APIView):
|
||||
platform.save()
|
||||
return Response({'message': '删除成功', 'code': 0}, status=status.HTTP_200_OK)
|
||||
except RegisterPlatform.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '注册平台登记不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
return Response({'status': 'error', 'message': '注册平台登记不存在', 'code': 1},
|
||||
status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
|
||||
class bulletin(APIView):
|
||||
@@ -1824,7 +1849,8 @@ class LwaDetail(APIView):
|
||||
lawyer_file.save()
|
||||
return Response({'message': '删除成功', 'code': 0}, status=status.HTTP_200_OK)
|
||||
except LawyerFlie.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '律师文件不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
return Response({'status': 'error', 'message': '律师文件不存在', 'code': 1},
|
||||
status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
|
||||
class EditLawyerFlie(APIView):
|
||||
@@ -1840,15 +1866,16 @@ class EditLawyerFlie(APIView):
|
||||
title = request.data.get('title')
|
||||
file = request.FILES.getlist('file')
|
||||
remark = request.data.get('remark')
|
||||
|
||||
|
||||
if not id:
|
||||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
try:
|
||||
law = LawyerFlie.objects.get(id=id, is_deleted=False)
|
||||
except LawyerFlie.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '律师文件不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
return Response({'status': 'error', 'message': '律师文件不存在', 'code': 1},
|
||||
status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
if title:
|
||||
law.title = title
|
||||
law.save(update_fields=['title'])
|
||||
@@ -1858,7 +1885,7 @@ class EditLawyerFlie(APIView):
|
||||
if file:
|
||||
law.file = json.dumps(flies(file))
|
||||
law.save(update_fields=['file'])
|
||||
|
||||
|
||||
return Response({'message': '编辑成功', 'code': 0}, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
@@ -1957,15 +1984,15 @@ class EditSchedule(APIView):
|
||||
tiems = request.data.get('tiems')
|
||||
end_time = request.data.get('end_time')
|
||||
remark = request.data.get('remark')
|
||||
|
||||
|
||||
if not id:
|
||||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
try:
|
||||
schedule = Schedule.objects.get(id=id, is_deleted=False)
|
||||
except Schedule.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '日程不存在', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
|
||||
if title:
|
||||
schedule.title = title
|
||||
schedule.save(update_fields=['title'])
|
||||
@@ -1978,7 +2005,7 @@ class EditSchedule(APIView):
|
||||
if remark:
|
||||
schedule.remark = remark
|
||||
schedule.save(update_fields=['remark'])
|
||||
|
||||
|
||||
return Response({'message': '编辑成功', 'code': 0}, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
@@ -2124,7 +2151,8 @@ class addRole(APIView):
|
||||
|
||||
# 检查角色名是否已存在
|
||||
if role.objects.filter(RoleName=RoleName).exists():
|
||||
return Response({'status': 'error', 'message': '角色名已存在,不能重复', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
return Response({'status': 'error', 'message': '角色名已存在,不能重复', 'code': 1},
|
||||
status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
role.objects.create(RoleName=RoleName, remark=remark)
|
||||
return Response({'message': '添加成功', 'code': 0}, status=status.HTTP_200_OK)
|
||||
@@ -2173,7 +2201,8 @@ class EditRole(APIView):
|
||||
if RoleName:
|
||||
# 检查角色名是否已被其他角色使用(排除当前角色)
|
||||
if role.objects.filter(RoleName=RoleName).exclude(id=id).exists():
|
||||
return Response({'status': 'error', 'message': '角色名已存在,不能重复', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
return Response({'status': 'error', 'message': '角色名已存在,不能重复', 'code': 1},
|
||||
status=status.HTTP_400_BAD_REQUEST)
|
||||
ro.RoleName = RoleName
|
||||
ro.save(update_fields=['RoleName'])
|
||||
if remark:
|
||||
@@ -2186,6 +2215,7 @@ class displayRole(APIView):
|
||||
"""
|
||||
角色列表展示
|
||||
"""
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
RoleName = request.data.get('RoleName')
|
||||
obj = Q()
|
||||
@@ -2276,18 +2306,20 @@ class DeleteRegistration(APIView):
|
||||
|
||||
try:
|
||||
pre = PreFiling.objects.get(id=id, is_deleted=False)
|
||||
|
||||
|
||||
# 检查是否已经被立项登记关联
|
||||
project_exists = ProjectRegistration.objects.filter(user_id=id, is_deleted=False).exists()
|
||||
# 检查是否已经被投标登记关联
|
||||
bid_exists = Bid.objects.filter(user_id=id, is_deleted=False).exists()
|
||||
|
||||
|
||||
if project_exists:
|
||||
return Response({'status': 'error', 'message': '该预立案已被立项登记,无法删除', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
return Response({'status': 'error', 'message': '该预立案已被立项登记,无法删除', 'code': 1},
|
||||
status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
if bid_exists:
|
||||
return Response({'status': 'error', 'message': '该预立案已被投标登记,无法删除', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
return Response({'status': 'error', 'message': '该预立案已被投标登记,无法删除', 'code': 1},
|
||||
status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# 软删除:更新 is_deleted 字段
|
||||
pre.is_deleted = True
|
||||
pre.save()
|
||||
@@ -2310,14 +2342,14 @@ class TransferCase(APIView):
|
||||
old_undertaker = request.data.get('old_undertaker') # 原承办人员(离职用户)
|
||||
new_undertaker = request.data.get('new_undertaker') # 新承办人员
|
||||
case_ids = request.data.get('case_ids') # 要转移的案件ID列表(可选,如果不传则转移所有案件)
|
||||
|
||||
|
||||
if not all([old_undertaker, new_undertaker]):
|
||||
return Response({
|
||||
'status': 'error',
|
||||
'message': '缺少参数:原承办人员和新承办人员不能为空',
|
||||
'code': 1
|
||||
}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
# 检查原承办人员是否存在
|
||||
try:
|
||||
old_user = User.objects.get(username=old_undertaker)
|
||||
@@ -2327,7 +2359,7 @@ class TransferCase(APIView):
|
||||
'message': '原承办人员不存在',
|
||||
'code': 1
|
||||
}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
|
||||
# 检查新承办人员是否存在
|
||||
try:
|
||||
new_user = User.objects.get(username=new_undertaker)
|
||||
@@ -2337,7 +2369,7 @@ class TransferCase(APIView):
|
||||
'message': '新承办人员不存在',
|
||||
'code': 1
|
||||
}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
|
||||
# 查询要转移的案件
|
||||
if case_ids and isinstance(case_ids, list):
|
||||
# 转移指定的案件
|
||||
@@ -2345,16 +2377,16 @@ class TransferCase(APIView):
|
||||
else:
|
||||
# 转移所有案件
|
||||
cases = PreFiling.objects.filter(Undertaker=old_undertaker)
|
||||
|
||||
|
||||
case_count = cases.count()
|
||||
|
||||
|
||||
if case_count == 0:
|
||||
return Response({
|
||||
'status': 'error',
|
||||
'message': '没有找到需要转移的案件',
|
||||
'code': 1
|
||||
}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
# 执行转移
|
||||
transferred_cases = []
|
||||
for case in cases:
|
||||
@@ -2367,7 +2399,7 @@ class TransferCase(APIView):
|
||||
'party_username': case.party_username,
|
||||
'description': case.description
|
||||
})
|
||||
|
||||
|
||||
return Response({
|
||||
'message': f'案件转移成功,共转移{case_count}个案件',
|
||||
'code': 0,
|
||||
|
||||
Reference in New Issue
Block a user