feat: 单个mlog submit

This commit is contained in:
caoqianming 2023-11-01 13:59:51 +08:00
parent 1a640d9a70
commit 8abc008ddf
1 changed files with 16 additions and 1 deletions

View File

@ -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):