diff --git a/apps/wpm/views.py b/apps/wpm/views.py index c81944ca..2b1d23ab 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -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()