diff --git a/hb_server/apps/sam/serializers_sale.py b/hb_server/apps/sam/serializers_sale.py index 3b3d484..615deea 100644 --- a/hb_server/apps/sam/serializers_sale.py +++ b/hb_server/apps/sam/serializers_sale.py @@ -92,3 +92,7 @@ class SaleProductPackSerializer(serializers.ModelSerializer): class Meta: model = SaleProduct fields = ['packnum', 'detail', 'remark'] + + +class SRemarkItemCreateSerializer(serializers.Serializer): + remark = serializers.CharField() diff --git a/hb_server/apps/sam/views_sale.py b/hb_server/apps/sam/views_sale.py index 5b2c95c..7c52345 100644 --- a/hb_server/apps/sam/views_sale.py +++ b/hb_server/apps/sam/views_sale.py @@ -6,7 +6,7 @@ from apps.inm.models import FIFO, FIFOItem, FIFOItemProduct, IProduct, WareHouse from apps.inm.services import InmService from apps.mtm.models import Material, PackItem 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 django.db import transaction 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.save() return Response() - + def create(self, request, *args, **kwargs): obj = self.get_object() sale = obj.sale @@ -167,7 +167,7 @@ class SaleProductViewSet(ListModelMixin, DestroyModelMixin, CreateModelMixin, Ge raise exceptions.APIException('该销售记录已审核,不可添加产品') 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 def pack(self, request, pk=None): """ @@ -193,4 +193,19 @@ class SaleProductViewSet(ListModelMixin, DestroyModelMixin, CreateModelMixin, Ge pi = i['id'] pi.count = i['count'] pi.save() - return Response() \ No newline at end of file + 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() \ No newline at end of file