feat: order增加filter/miosale增加校验
This commit is contained in:
parent
0e26b2188e
commit
2e1f94b24c
|
@ -187,8 +187,10 @@ class MIOSaleSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
validated_data['type'] = MIO.MIO_TYPE_SALE_OUT
|
validated_data['type'] = MIO.MIO_TYPE_SALE_OUT
|
||||||
order = validated_data.get('order', None)
|
order: Order = validated_data.get('order', None)
|
||||||
if order:
|
if order:
|
||||||
|
if order.state in [Order.ORDER_CREATE, Order.ORDER_DELIVERED]:
|
||||||
|
raise ValidationError('销售订单状态错误')
|
||||||
validated_data['customer'] = order.customer
|
validated_data['customer'] = order.customer
|
||||||
if order.belong_dept:
|
if order.belong_dept:
|
||||||
validated_data['belong_dept'] = order.belong_dept
|
validated_data['belong_dept'] = order.belong_dept
|
||||||
|
@ -211,8 +213,10 @@ class MIOPurSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
validated_data['type'] = MIO.MIO_TYPE_PUR_IN
|
validated_data['type'] = MIO.MIO_TYPE_PUR_IN
|
||||||
pu_order = validated_data.get('pu_order', None)
|
pu_order: PuOrder = validated_data.get('pu_order', None)
|
||||||
if pu_order:
|
if pu_order:
|
||||||
|
if pu_order.state in [PuOrder.PUORDER_CREATE, PuOrder.PUORDER_DONE]:
|
||||||
|
raise ValidationError('采购订单状态错误')
|
||||||
validated_data['supplier'] = pu_order.supplier
|
validated_data['supplier'] = pu_order.supplier
|
||||||
if pu_order.belong_dept:
|
if pu_order.belong_dept:
|
||||||
validated_data['belong_dept'] = pu_order.belong_dept
|
validated_data['belong_dept'] = pu_order.belong_dept
|
||||||
|
|
|
@ -58,7 +58,11 @@ class OrderViewSet(CustomModelViewSet):
|
||||||
serializer_class = OrderSerializer
|
serializer_class = OrderSerializer
|
||||||
select_related_fields = ['contract', 'customer']
|
select_related_fields = ['contract', 'customer']
|
||||||
search_fields = ['number']
|
search_fields = ['number']
|
||||||
filter_fields = ['contract', 'customer']
|
filter_fields = {
|
||||||
|
"contract": ["exact"],
|
||||||
|
"customer": ["exact"],
|
||||||
|
"state": ["exact", "in"],
|
||||||
|
}
|
||||||
|
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
def perform_destroy(self, instance):
|
def perform_destroy(self, instance):
|
||||||
|
|
Loading…
Reference in New Issue