safeproduct 创建删除接口完善
This commit is contained in:
parent
332c4b7729
commit
0f65b1ff8a
|
@ -109,7 +109,10 @@ class SaleProductCreateSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
validated_data['number'] = validated_data['iproduct'].number
|
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 SaleProductMtestSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
|
@ -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 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 apps.sam.models import Contract, Customer, Order, Sale, SaleProduct
|
||||||
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
||||||
from apps.system.mixins import CreateUpdateCustomMixin
|
from apps.system.mixins import CreateUpdateCustomMixin
|
||||||
|
@ -90,6 +90,18 @@ class SaleViewSet(CreateUpdateCustomMixin, ListModelMixin, RetrieveModelMixin, C
|
||||||
elif self.action == 'retrieve':
|
elif self.action == 'retrieve':
|
||||||
return SaleListSerializer
|
return SaleListSerializer
|
||||||
return super().get_serializer_class()
|
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):
|
class SaleProductViewSet(ListModelMixin, DestroyModelMixin, CreateModelMixin, GenericViewSet):
|
||||||
"""
|
"""
|
||||||
|
@ -107,8 +119,15 @@ class SaleProductViewSet(ListModelMixin, DestroyModelMixin, CreateModelMixin, Ge
|
||||||
if self.action == 'create':
|
if self.action == 'create':
|
||||||
return SaleProductCreateSerializer
|
return SaleProductCreateSerializer
|
||||||
return super().get_serializer_class()
|
return super().get_serializer_class()
|
||||||
|
|
||||||
|
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':'*'})
|
@action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=SaleProductMtestSerializer)
|
||||||
def mtest(self, request, pk=None):
|
def mtest(self, request, pk=None):
|
||||||
"""
|
"""
|
||||||
军检
|
军检
|
||||||
|
|
Loading…
Reference in New Issue