feat: 日志操作时对有ticket的进行处理

This commit is contained in:
caoqianming 2024-12-17 13:37:22 +08:00
parent c3338d05c2
commit 7d2d74ee80
1 changed files with 11 additions and 0 deletions

View File

@ -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('日志未提交不可撤销')