feat: wpm修改为自动事务

This commit is contained in:
caoqianming 2025-09-12 13:48:34 +08:00
parent e5008c8412
commit 57a61daa66
2 changed files with 14 additions and 15 deletions

View File

@ -11,7 +11,7 @@ from django.utils import timezone
from apps.system.models import User
from apps.mtm.models import Material, Process, Route, Mgroup, RoutePack, RouteMat
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet, enable_transaction
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
from apps.utils.mixins import CustomListModelMixin, BulkCreateModelMixin, ComplexQueryMixin
from .filters import StLogFilter, SfLogFilter, WMaterialFilter, MlogFilter, HandoverFilter, MlogbFilter, BatchStFilter, MlogbwFilter
@ -43,7 +43,6 @@ from drf_yasg.utils import swagger_auto_schema
from drf_yasg import openapi
# Create your views here.
@ -317,7 +316,7 @@ class MlogViewSet(CustomModelViewSet):
@action(methods=['post'], detail=True,
perms_map={'post': 'mlog.update'},
serializer_class=MlogChangeSerializer)
@enable_transaction
@transaction.atomic
def change(self, request, *args, **kwargs):
"""修改日志
@ -335,7 +334,7 @@ class MlogViewSet(CustomModelViewSet):
@action(methods=['post'], detail=True, perms_map={'post': 'mlog.submit'},
serializer_class=Serializer)
@enable_transaction
@transaction.atomic
def submit(self, request, *args, **kwargs):
"""日志提交(变动车间库存)
@ -355,7 +354,7 @@ class MlogViewSet(CustomModelViewSet):
return Response(vdata_new)
@action(methods=['post'], detail=True, perms_map={'post': 'mlog.submit'}, serializer_class=MlogRevertSerializer)
@enable_transaction
@transaction.atomic
def revert(self, request, *args, **kwargs):
"""撤回日志提交
@ -437,7 +436,7 @@ class MlogViewSet(CustomModelViewSet):
return Response(res)
@action(methods=['post'], detail=False, perms_map={'post': 'mlog.create'}, serializer_class=MlogQuickSerializer)
@enable_transaction
@transaction.atomic
def quick(self, request, *args, **kwargs):
"""快速创建日志
@ -512,7 +511,7 @@ class HandoverViewSet(CustomModelViewSet):
serializer.save()
@action(methods=['post'], detail=False, perms_map={'post': 'handover.create'}, serializer_class=HandoverSerializer)
@enable_transaction
@transaction.atomic
def create_and_submit(self, request, *args, **kwargs):
user = request.user
sr = HandoverSerializer(data=request.data, context={'request': request})
@ -528,7 +527,7 @@ class HandoverViewSet(CustomModelViewSet):
return Response({"id": ins.id})
@action(methods=['post'], detail=True, perms_map={'post': 'handover.submit'}, serializer_class=Serializer)
@enable_transaction
@transaction.atomic
def submit(self, request, *args, **kwargs):
"""交接记录提交(变动车间库存)
@ -549,7 +548,7 @@ class HandoverViewSet(CustomModelViewSet):
return Response()
@action(methods=['post'], detail=True, perms_map={'post': 'handover.submit'}, serializer_class=Serializer)
@enable_transaction
@transaction.atomic
def revert(self, request, *args, **kwargs):
"""交接记录撤回(变动车间库存)
@ -583,7 +582,7 @@ class HandoverViewSet(CustomModelViewSet):
return Response(list(m_qs.values('id', 'name').distinct()))
@action(methods=['post'], detail=False, perms_map={'post': 'handover.create'}, serializer_class=GenHandoverWmSerializer)
@enable_transaction
@transaction.atomic
def gen_by_wm(self, request):
"""从车间库存生成交接记录(废弃)
@ -613,7 +612,7 @@ class HandoverViewSet(CustomModelViewSet):
return Response({'handover': handover.id})
@action(methods=['post'], detail=False, perms_map={'post': 'handover.create'}, serializer_class=GenHandoverSerializer)
@enable_transaction
@transaction.atomic
def gen_by_mlog(self, request):
"""从生产日志生成交接记录(废弃)
@ -1084,7 +1083,7 @@ class MlogbwViewSet(CustomModelViewSet):
mlog.cal_mlog_count_from_mlogb()
@action(methods=['post'], detail=False, perms_map={'post': 'mlog.update'}, serializer_class=MlogbwStartTestSerializer)
@enable_transaction
@transaction.atomic
def start_test(self, request, *args, **kwargs):
sr = MlogbwStartTestSerializer(data=request.data)
sr.is_valid(raise_exception=True)
@ -1118,7 +1117,7 @@ class BatchLogViewSet(ListModelMixin, CustomGenericViewSet):
select_related_fields = ["source", "target"]
@action(methods=['post'], detail=False, perms_map={'post': '*'}, serializer_class=Serializer)
@enable_transaction
@transaction.atomic
def dag(self, request):
"""
获取该批次的DAG图数据

View File

@ -1,5 +1,5 @@
from rest_framework.decorators import action
from apps.utils.viewsets import CustomModelViewSet, CustomGenericViewSet, enable_transaction
from apps.utils.viewsets import CustomModelViewSet, CustomGenericViewSet
from apps.utils.mixins import CustomListModelMixin, RetrieveModelMixin, ComplexQueryMixin
from apps.wpmw.models import Wpr, WprDefect
@ -98,7 +98,7 @@ class WprViewSet(CustomListModelMixin, RetrieveModelMixin, ComplexQueryMixin, Cu
@action(methods=['post'], detail=False, perms_map={'post': '*'}, serializer_class=WproutListSerializer)
@enable_transaction
@transaction.atomic
def assgin_number_out(self, request, *args, **kwargs):
"""分配出库对外编号