safeproduct 创建删除接口完善

This commit is contained in:
caoqianming 2021-12-06 13:39:40 +08:00
parent 332c4b7729
commit 0f65b1ff8a
2 changed files with 26 additions and 4 deletions

View File

@ -109,7 +109,10 @@ class SaleProductCreateSerializer(serializers.ModelSerializer):
def create(self, validated_data):
validated_data['number'] = validated_data['iproduct'].number
return super().create(validated_data)
instance = SaleProduct.objects.create(**validated_data)
instance.sale.count = SaleProduct.objects.filter(sale=instance.sale).count()
instance.sale.save()
return instance
class SaleProductMtestSerializer(serializers.ModelSerializer):
class Meta:

View File

@ -1,6 +1,6 @@
from rest_framework import exceptions
from rest_framework import exceptions, serializers
from rest_framework.mixins import CreateModelMixin, DestroyModelMixin, ListModelMixin, RetrieveModelMixin
from apps.sam.serializers import ContractCreateUpdateSerializer, ContractSerializer, CustomerCreateUpdateSerializer, CustomerSerializer, OrderCreateUpdateSerializer, OrderSerializer, SaleCreateSerializer, SaleListSerializer, SaleProductCreateSerializer, SaleProductListSerializer
from apps.sam.serializers import ContractCreateUpdateSerializer, ContractSerializer, CustomerCreateUpdateSerializer, CustomerSerializer, OrderCreateUpdateSerializer, OrderSerializer, SaleCreateSerializer, SaleListSerializer, SaleProductCreateSerializer, SaleProductListSerializer, SaleProductMtestSerializer
from apps.sam.models import Contract, Customer, Order, Sale, SaleProduct
from rest_framework.viewsets import GenericViewSet, ModelViewSet
from apps.system.mixins import CreateUpdateCustomMixin
@ -91,6 +91,18 @@ class SaleViewSet(CreateUpdateCustomMixin, ListModelMixin, RetrieveModelMixin, C
return SaleListSerializer
return super().get_serializer_class()
@action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=serializers.Serializer)
def audit(self, request, pk=None):
"""
审核
"""
obj = self.get_object()
if obj.is_audited:
raise exceptions.APIException('已审核通过')
# 创建出库记录
# 更新库存
return Response()
class SaleProductViewSet(ListModelMixin, DestroyModelMixin, CreateModelMixin, GenericViewSet):
"""
销售记录关联产品
@ -108,7 +120,14 @@ class SaleProductViewSet(ListModelMixin, DestroyModelMixin, CreateModelMixin, Ge
return SaleProductCreateSerializer
return super().get_serializer_class()
@action(methods=['post'], detail=True, perms_map={'post':'*'})
def destroy(self, request, *args, **kwargs):
obj = self.get_object()
obj.sale.count = SaleProduct.objects.filter(sale=obj.sale).count()
obj.sale.save()
obj.delete()
return Response()
@action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=SaleProductMtestSerializer)
def mtest(self, request, pk=None):
"""
军检