feat: handover revert撤回时做校验

This commit is contained in:
caoqianming 2025-09-28 16:33:39 +08:00
parent bdd686f50b
commit 7620122c2d
1 changed files with 4 additions and 1 deletions

View File

@ -505,7 +505,7 @@ class HandoverViewSet(CustomModelViewSet):
Prefetch('b_handover', queryset=Handoverb.objects.select_related('wm__defect'))
]
def perform_destroy(self, instance):
def perform_destroy(self, instance:Handover):
user = self.request.user
if instance.submit_time is not None:
raise ParseError('该交接记录已提交不可删除')
@ -570,6 +570,9 @@ class HandoverViewSet(CustomModelViewSet):
交接记录撤回
"""
ins: Handover = self.get_object()
if ins.new_batch: # 如果是合批
if Handoverb.objects.filter(wm=ins.new_batch, handover__submit_time__isnull=True).exists():
raise ParseError("该合批存在未提交的交接记录,不可撤回")
if ins.submit_time:
handover_revert(ins, handler=request.user)
return Response()