增加事务操作
This commit is contained in:
parent
537fda2e86
commit
5d5a1e7604
|
@ -4,6 +4,7 @@ from apps.inm.models import FIFO, FIFOItem, IProduct, MaterialBatch, WareHouse,I
|
|||
|
||||
from apps.system.serializers import UserSimpleSerializer
|
||||
from apps.mtm.serializers import MaterialSimpleSerializer
|
||||
from django.db import transaction
|
||||
|
||||
class WareHouseSerializer(serializers. ModelSerializer):
|
||||
create_by_=UserSimpleSerializer('create_by', read_only=True)
|
||||
|
@ -91,6 +92,7 @@ class FIFOInPurSerializer(serializers.ModelSerializer):
|
|||
pass
|
||||
|
||||
# 创建采购入库
|
||||
with transaction.atomic():
|
||||
validated_data['type'] = FIFO.FIFO_TYPE_PUR_IN
|
||||
obj = FIFO(**validated_data)
|
||||
obj.save()
|
||||
|
|
|
@ -11,6 +11,7 @@ from apps.inm.signals import update_inm
|
|||
from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin
|
||||
from rest_framework.decorators import action
|
||||
from rest_framework.response import Response
|
||||
from django.db import transaction
|
||||
|
||||
# Create your views here.
|
||||
class WarehouseViewSet(CreateUpdateModelAMixin, ModelViewSet):
|
||||
|
@ -118,6 +119,7 @@ class FIFOViewSet(ListModelMixin, GenericViewSet):
|
|||
raise APIException('未检验通过, 不可审核')
|
||||
if obj.is_audited:
|
||||
raise APIException('该入库记录已审核通过')
|
||||
with transaction.atomic():
|
||||
obj.is_audited = True
|
||||
obj.save()
|
||||
update_inm(obj) # 更新库存
|
||||
|
|
|
@ -6,6 +6,7 @@ from apps.system.mixins import CreateUpdateModelAMixin
|
|||
from rest_framework.exceptions import APIException
|
||||
from rest_framework.response import Response
|
||||
from rest_framework import status
|
||||
from django.db import transaction
|
||||
# Create your views here.
|
||||
class StandardViewSet(CreateUpdateModelAMixin, ModelViewSet):
|
||||
"""
|
||||
|
@ -66,7 +67,7 @@ class TestRecordViewSet(ModelViewSet):
|
|||
record_data = vdata.pop('record_data')
|
||||
if 'is_testok' not in vdata:
|
||||
raise APIException('未填写检测结论')
|
||||
|
||||
with transaction.atomic():
|
||||
obj = serializer.save(create_by = self.request.user)
|
||||
tris = []
|
||||
for m in record_data: # 保存记录详情
|
||||
|
|
|
@ -10,6 +10,7 @@ from django.utils import timezone
|
|||
from django.utils.translation import gettext_lazy as _
|
||||
from apps.system.serializers import UserSimpleSerializer
|
||||
from apps.wpm.models import Operation, WMaterial, WProduct, OperationRecord, OperationRecordItem
|
||||
from django.db import transaction
|
||||
|
||||
class PickDetailSerializer(serializers.Serializer):
|
||||
material = serializers.PrimaryKeyRelatedField(queryset=Material.objects.all(), label="物料ID")
|
||||
|
@ -36,6 +37,7 @@ class PickSerializer(serializers.Serializer):
|
|||
except:
|
||||
raise serializers.ValidationError('物料不存在')
|
||||
# 创建出库记录
|
||||
with transaction.atomic():
|
||||
operator = self.context['request'].user
|
||||
validated_data['create_by'] = operator
|
||||
validated_data['operator'] = operator
|
||||
|
|
|
@ -16,6 +16,7 @@ from apps.wpm.models import WMaterial, WProduct, Operation, OperationMaterial, O
|
|||
|
||||
from apps.wpm.serializers import OperationDetailSerializer, OperationListSerializer, PickSerializer, OperationInitSerializer, OperationSubmitSerializer, WMaterialListSerializer, WProductListSerializer
|
||||
from rest_framework.response import Response
|
||||
from django.db import transaction
|
||||
# Create your views here.
|
||||
class WPlanViewSet(ListModelMixin, GenericViewSet):
|
||||
"""
|
||||
|
@ -131,6 +132,8 @@ class DoFormInit(CreateAPIView, GenericAPIView):
|
|||
class DoFormSubmit(CreateAPIView, GenericAPIView):
|
||||
perms_map={'*':'*'}
|
||||
serializer_class = OperationSubmitSerializer
|
||||
|
||||
@transaction.atomic
|
||||
def post(self, request, format=None):
|
||||
"""
|
||||
提交操作表单
|
||||
|
|
Loading…
Reference in New Issue