From 7d2d74ee80ab746312da79ba5947493fb9eb641c Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 17 Dec 2024 13:37:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=97=A5=E5=BF=97=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E6=97=B6=E5=AF=B9=E6=9C=89ticket=E7=9A=84=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/views.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/apps/wpm/views.py b/apps/wpm/views.py index e12945fa..98b634e6 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -21,6 +21,7 @@ from .serializers import (SflogExpSerializer, SfLogSerializer, StLogSerializer, MlogbOutUpdateSerializer, FmlogSerializer, FmlogUpdateSerializer, BatchStSerializer) from .services import mlog_submit, handover_submit, mlog_revert from apps.wpm.services import mlog_submit_validate, generate_new_batch +from apps.wf.models import State # Create your views here. @@ -164,12 +165,18 @@ class MlogViewSet(CustomModelViewSet): def perform_destroy(self, instance): if instance.submit_time is not None: raise ParseError('日志已提交不可变动') + if instance.ticket and instance.ticket.state != State.STATE_TYPE_START: + raise ParseError('该日志存在审批!') # delete_auditlog(instance, instance.id) + if instance.ticket: + instance.ticket.delete() instance.delete() @transaction.atomic def perform_update(self, serializer): ins = serializer.instance + if ins.ticket and ins.ticket.state != State.STATE_TYPE_START: + raise ParseError('该日志在审批中不可修改!') if ins.submit_time is not None: raise ParseError('该日志已提交!') # val_old = MlogSerializer(instance=ins).data @@ -195,6 +202,8 @@ class MlogViewSet(CustomModelViewSet): 修改日志 """ ins = self.get_object() + if ins.ticket and ins.ticket.state != State.STATE_TYPE_START: + raise ParseError('该日志在审批中不可修改!') sr = MlogChangeSerializer(instance=ins, data=request.data) sr.is_valid(raise_exception=True) sr.save() @@ -229,6 +238,8 @@ class MlogViewSet(CustomModelViewSet): 撤回日志提交 """ ins: Mlog = self.get_object() + if ins.ticket: + raise ParseError('该日志存在审批!') user = request.user if ins.submit_time is None: raise ParseError('日志未提交不可撤销')