From 8abc008ddf26fcaa980115ca583acb60fe78c69f Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 1 Nov 2023 13:59:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8D=95=E4=B8=AAmlog=20submit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/views.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/apps/wpm/views.py b/apps/wpm/views.py index 287ac805..ead878c0 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -4,6 +4,7 @@ from rest_framework.decorators import action from rest_framework.exceptions import ParseError from rest_framework.mixins import DestroyModelMixin, ListModelMixin, UpdateModelMixin from rest_framework.response import Response +from rest_framework.serializers import Serializer from apps.mtm.models import Material from apps.pm.models import Mtask @@ -13,7 +14,7 @@ from apps.utils.mixins import BulkCreateModelMixin from .filters import SfLogExpFilter, SfLogFilter, WMaterialFilter, MlogFilter from .models import SfLog, SfLogExp, StLog, WMaterial, Mlog, Handover from .serializers import SflogExpSerializer, SfLogSerializer, StLogSerializer, WMaterialSerializer, MlogSerializer, MlogRelatedSerializer, DeptBatchSerializer, HandoverSerializer, GenHandoverSerializer - +from .services import mlog_submit, update_mtask # Create your views here. @@ -129,6 +130,20 @@ class MlogViewSet(CustomModelViewSet): raise ParseError('任务已提交日志不可变动') return super().perform_destroy(instance) + @action(methods=['post'], detail=True, perms_map={'post': 'mlog.submit'}, serializer_class=Serializer) + @transaction.atomic + def submit(self, request): + """日志提交(变动车间库存) + + 日志提交 + """ + ins: Mlog = self.get_object() + if ins.submit_time is None: + mlog_submit(ins, self.request.user, None) + if ins.mtask: + update_mtask(ins.mtask) + return Response() + @action(methods=['post'], detail=False, perms_map={'post': '*'}, serializer_class=MlogRelatedSerializer) @transaction.atomic def related_first(self, request):