采购出入库
This commit is contained in:
parent
cf83b9e8f9
commit
bae1c166a0
|
@ -77,23 +77,31 @@ class FIFOListSerializer(serializers.ModelSerializer):
|
|||
fields = '__all__'
|
||||
|
||||
class FIFOItemCreateSerializer(serializers.ModelSerializer):
|
||||
material_batch = serializers.PrimaryKeyRelatedField(queryset=MaterialBatch.objects.all(), label="物料批次ID", required=False)
|
||||
class Meta:
|
||||
model = FIFOItem
|
||||
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):
|
||||
fifo = validated_data['fifo']
|
||||
if fifo.is_audited:
|
||||
raise ValidationError('该出入库记录已审核')
|
||||
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:
|
||||
raise ValidationError('项目与采购订单不一致')
|
||||
validated_data['material']=pu_order_item.material
|
||||
if fifo.type == FIFO.FIFO_TYPE_OTHER_OUT and material_batch is None:
|
||||
raise ValidationError('其他出库需关联批次号')
|
||||
else:
|
||||
if fifo.pu_order is not None:
|
||||
raise ValidationError('非采购订单')
|
||||
validated_data['material'] = material_batch.material
|
||||
validated_data['batch'] = material_batch.batch
|
||||
validated_data['warehouse'] = material_batch.warehouse
|
||||
|
||||
return super().create(validated_data)
|
||||
|
||||
def validate_batch(self, value):
|
||||
|
@ -106,7 +114,7 @@ class FIFOItemCreateSerializer(serializers.ModelSerializer):
|
|||
class FIFOItemUpdateSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = FIFOItem
|
||||
fields = ['warehouse', 'batch', 'files', 'count', 'expiration_date']
|
||||
fields = ['files', 'count', 'expiration_date']
|
||||
|
||||
class FIFOItemSerializer(serializers.ModelSerializer):
|
||||
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:
|
||||
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',
|
||||
queryset=Vendor.objects.all())
|
||||
class Meta:
|
||||
|
|
Loading…
Reference in New Issue