不装箱备注

This commit is contained in:
caoqianming 2022-02-23 10:48:14 +08:00
parent 3d01995012
commit 588102a411
2 changed files with 23 additions and 4 deletions

View File

@ -92,3 +92,7 @@ class SaleProductPackSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = SaleProduct model = SaleProduct
fields = ['packnum', 'detail', 'remark'] fields = ['packnum', 'detail', 'remark']
class SRemarkItemCreateSerializer(serializers.Serializer):
remark = serializers.CharField()

View File

@ -6,7 +6,7 @@ from apps.inm.models import FIFO, FIFOItem, FIFOItemProduct, IProduct, WareHouse
from apps.inm.services import InmService from apps.inm.services import InmService
from apps.mtm.models import Material, PackItem from apps.mtm.models import Material, PackItem
from apps.sam.models import Sale, SalePack, SaleProduct from apps.sam.models import Sale, SalePack, SaleProduct
from apps.sam.serializers_sale import SaleCreateSerializer, SaleListSerializer, SaleProductCreateSerializer, SaleProductListSerializer, SaleProductPackDetailSerializer, SaleProductPackSerializer from apps.sam.serializers_sale import SRemarkItemCreateSerializer, SaleCreateSerializer, SaleListSerializer, SaleProductCreateSerializer, SaleProductListSerializer, SaleProductPackDetailSerializer, SaleProductPackSerializer
from rest_framework import exceptions from rest_framework import exceptions
from django.db import transaction from django.db import transaction
from rest_framework.decorators import action from rest_framework.decorators import action
@ -159,7 +159,7 @@ class SaleProductViewSet(ListModelMixin, DestroyModelMixin, CreateModelMixin, Ge
sale.count = SaleProduct.objects.filter(sale=obj.sale).count() sale.count = SaleProduct.objects.filter(sale=obj.sale).count()
sale.save() sale.save()
return Response() return Response()
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
obj = self.get_object() obj = self.get_object()
sale = obj.sale sale = obj.sale
@ -167,7 +167,7 @@ class SaleProductViewSet(ListModelMixin, DestroyModelMixin, CreateModelMixin, Ge
raise exceptions.APIException('该销售记录已审核,不可添加产品') raise exceptions.APIException('该销售记录已审核,不可添加产品')
return super().create(request, *args, **kwargs) return super().create(request, *args, **kwargs)
@action(methods=['get', 'post'], detail=True, perms_map={'post':'sale_pack'}, serializer_class=SaleProductPackSerializer) @action(methods=['get', 'post'], detail=True, perms_map={'post':'sale_pack', 'get':'*'}, serializer_class=SaleProductPackSerializer)
@transaction.atomic @transaction.atomic
def pack(self, request, pk=None): def pack(self, request, pk=None):
""" """
@ -193,4 +193,19 @@ class SaleProductViewSet(ListModelMixin, DestroyModelMixin, CreateModelMixin, Ge
pi = i['id'] pi = i['id']
pi.count = i['count'] pi.count = i['count']
pi.save() pi.save()
return Response() obj.save()
return Response()
@action(methods=['post'], detail=True, perms_map={'post':'sale_pack'}, serializer_class=SRemarkItemCreateSerializer)
@transaction.atomic
def remark(self, request, pk=None):
"""
不装箱备注
"""
obj = self.get_object()
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
vdata = serializer.validated_data
obj.remark = vdata['remark']
obj.save()
return Response()