fix: puorderitem create bug
This commit is contained in:
parent
9461d57159
commit
ae43296ab5
|
@ -6,6 +6,7 @@ from rest_framework.exceptions import ValidationError
|
|||
from apps.pum.models import Supplier, PuPlan, PuPlanItem, PuOrder, PuOrderItem
|
||||
from apps.mtm.serializers import MaterialSerializer
|
||||
|
||||
|
||||
class SupplierSerializer(CustomModelSerializer):
|
||||
class Meta:
|
||||
model = Supplier
|
||||
|
@ -27,7 +28,9 @@ class PuPlanSerializer(CustomModelSerializer):
|
|||
|
||||
class PuPlanItemSerializer(CustomModelSerializer):
|
||||
material_ = MaterialSerializer(source='material', read_only=True)
|
||||
belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True)
|
||||
belong_dept_name = serializers.CharField(
|
||||
source='belong_dept.name', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = PuPlanItem
|
||||
fields = '__all__'
|
||||
|
@ -72,6 +75,7 @@ class PuOrderSerializer(CustomModelSerializer):
|
|||
|
||||
class PuOrderItemSerializer(CustomModelSerializer):
|
||||
material_ = MaterialSerializer(source='material', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = PuOrderItem
|
||||
fields = '__all__'
|
||||
|
@ -82,7 +86,7 @@ class PuOrderItemSerializer(CustomModelSerializer):
|
|||
material = validated_data['material']
|
||||
if pu_order.state != PuOrder.PUORDER_CREATE:
|
||||
raise ValidationError('采购订单该状态下不可添加明细')
|
||||
if PuOrder.objects.filter(pu_order=pu_order, material=material).exists():
|
||||
if PuOrderItem.objects.filter(pu_order=pu_order, material=material).exists():
|
||||
raise ValidationError('该物料已添加')
|
||||
return super().create(validated_data)
|
||||
|
||||
|
@ -96,5 +100,7 @@ class PuOrderItemSerializer(CustomModelSerializer):
|
|||
|
||||
|
||||
class AddSerializer(serializers.Serializer):
|
||||
pu_order = serializers.PrimaryKeyRelatedField(label='采购订单ID', queryset=PuOrder.objects.all())
|
||||
pu_planitems = serializers.PrimaryKeyRelatedField(label='计划明细ID', queryset=PuPlanItem.objects.all(), many=True)
|
||||
pu_order = serializers.PrimaryKeyRelatedField(
|
||||
label='采购订单ID', queryset=PuOrder.objects.all())
|
||||
pu_planitems = serializers.PrimaryKeyRelatedField(
|
||||
label='计划明细ID', queryset=PuPlanItem.objects.all(), many=True)
|
||||
|
|
Loading…
Reference in New Issue