采购出入库
This commit is contained in:
parent
cf83b9e8f9
commit
bae1c166a0
|
@ -77,23 +77,31 @@ class FIFOListSerializer(serializers.ModelSerializer):
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
|
||||||
class FIFOItemCreateSerializer(serializers.ModelSerializer):
|
class FIFOItemCreateSerializer(serializers.ModelSerializer):
|
||||||
|
material_batch = serializers.PrimaryKeyRelatedField(queryset=MaterialBatch.objects.all(), label="物料批次ID", required=False)
|
||||||
class Meta:
|
class Meta:
|
||||||
model = FIFOItem
|
model = FIFOItem
|
||||||
fields = ['warehouse',
|
fields = ['warehouse',
|
||||||
'material', 'batch', 'fifo', 'files', 'pu_order_item', 'count', 'expiration_date']
|
'material', 'batch', 'fifo', 'files', 'pu_order_item', 'count', 'expiration_date', 'material_batch']
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
fifo = validated_data['fifo']
|
fifo = validated_data['fifo']
|
||||||
if fifo.is_audited:
|
if fifo.is_audited:
|
||||||
raise ValidationError('该出入库记录已审核')
|
raise ValidationError('该出入库记录已审核')
|
||||||
pu_order_item = validated_data.get('pu_order_item', None)
|
pu_order_item = validated_data.get('pu_order_item', None)
|
||||||
if pu_order_item:
|
material_batch = validated_data.get('material_batch', None)
|
||||||
|
if fifo.type == FIFO.FIFO_TYPE_PUR_IN and pu_order_item is None:
|
||||||
|
raise ValidationError('采购入库需关联采购项')
|
||||||
|
else:
|
||||||
if fifo.pu_order != pu_order_item.pu_order:
|
if fifo.pu_order != pu_order_item.pu_order:
|
||||||
raise ValidationError('项目与采购订单不一致')
|
raise ValidationError('项目与采购订单不一致')
|
||||||
validated_data['material']=pu_order_item.material
|
validated_data['material']=pu_order_item.material
|
||||||
|
if fifo.type == FIFO.FIFO_TYPE_OTHER_OUT and material_batch is None:
|
||||||
|
raise ValidationError('其他出库需关联批次号')
|
||||||
else:
|
else:
|
||||||
if fifo.pu_order is not None:
|
validated_data['material'] = material_batch.material
|
||||||
raise ValidationError('非采购订单')
|
validated_data['batch'] = material_batch.batch
|
||||||
|
validated_data['warehouse'] = material_batch.warehouse
|
||||||
|
|
||||||
return super().create(validated_data)
|
return super().create(validated_data)
|
||||||
|
|
||||||
def validate_batch(self, value):
|
def validate_batch(self, value):
|
||||||
|
@ -106,7 +114,7 @@ class FIFOItemCreateSerializer(serializers.ModelSerializer):
|
||||||
class FIFOItemUpdateSerializer(serializers.ModelSerializer):
|
class FIFOItemUpdateSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = FIFOItem
|
model = FIFOItem
|
||||||
fields = ['warehouse', 'batch', 'files', 'count', 'expiration_date']
|
fields = ['files', 'count', 'expiration_date']
|
||||||
|
|
||||||
class FIFOItemSerializer(serializers.ModelSerializer):
|
class FIFOItemSerializer(serializers.ModelSerializer):
|
||||||
warehouse_ = WareHouseSimpleSerializer(source='warehouse', read_only=True)
|
warehouse_ = WareHouseSimpleSerializer(source='warehouse', read_only=True)
|
||||||
|
@ -150,7 +158,7 @@ class FIFOOutOtherSerializer(serializers.ModelSerializer):
|
||||||
"""
|
"""
|
||||||
其他出库序列化
|
其他出库序列化
|
||||||
"""
|
"""
|
||||||
details = FIFODetailOutOtherSerializer(many=True, required=False)
|
details = FIFODetailOutOtherSerializer(many=True, required=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = FIFO
|
model = FIFO
|
||||||
|
@ -176,7 +184,7 @@ class FIFOInOtherSerializer(serializers.ModelSerializer):
|
||||||
"""
|
"""
|
||||||
其他入库序列化
|
其他入库序列化
|
||||||
"""
|
"""
|
||||||
details = FIFODetailInPurSerializer(many=True, required=False)
|
details = FIFODetailInPurSerializer(many=True, required=True)
|
||||||
vendor = serializers.PrimaryKeyRelatedField(label='供应商ID',
|
vendor = serializers.PrimaryKeyRelatedField(label='供应商ID',
|
||||||
queryset=Vendor.objects.all())
|
queryset=Vendor.objects.all())
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
Loading…
Reference in New Issue