From 57a61daa6695b25a9f40e0f50ab4de0ffad24896 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 12 Sep 2025 13:48:34 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20wpm=E4=BF=AE=E6=94=B9=E4=B8=BA=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E4=BA=8B=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/views.py | 25 ++++++++++++------------- apps/wpmw/views.py | 4 ++-- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/apps/wpm/views.py b/apps/wpm/views.py index cd95d8c8..659fb340 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -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图数据 diff --git a/apps/wpmw/views.py b/apps/wpmw/views.py index b6985558..149d1759 100644 --- a/apps/wpmw/views.py +++ b/apps/wpmw/views.py @@ -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): """分配出库对外编号