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

View File

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