采购入库不需要填写入库时间

This commit is contained in:
caoqianming 2022-01-14 15:28:04 +08:00
parent 783a778d71
commit 62bd7423db
1 changed files with 36 additions and 18 deletions

View File

@ -1,78 +1,95 @@
from rest_framework import serializers
from apps.inm.models import FIFO, FIFOItem, FIFOItemProduct, IProduct, MaterialBatch, WareHouse,Inventory
from apps.inm.models import FIFO, FIFOItem, FIFOItemProduct, IProduct, MaterialBatch, WareHouse, Inventory
from apps.qm.models import TestRecord, TestRecordItem
from apps.system.serializers import UserSimpleSerializer
from apps.mtm.serializers import MaterialSimpleSerializer
from django.db import transaction
class WareHouseSerializer(serializers. ModelSerializer):
create_by_=UserSimpleSerializer('create_by', read_only=True)
class WareHouseSerializer(serializers.ModelSerializer):
create_by_ = UserSimpleSerializer('create_by', read_only=True)
class Meta:
model = WareHouse
fields = '__all__'
class WareHouseCreateUpdateSerializer(serializers.ModelSerializer):
class Meta:
model = WareHouse
fields = ['name', 'number', 'place']
class WareHouseSimpleSerializer(serializers.ModelSerializer):
class Meta:
model = WareHouse
fields = ['name', 'number', 'place']
class InventorySerializer(serializers. ModelSerializer):
material_= MaterialSimpleSerializer(source='material', read_only=True)
class InventorySerializer(serializers.ModelSerializer):
material_ = MaterialSimpleSerializer(source='material', read_only=True)
warehouse_ = WareHouseSimpleSerializer(source='warehouse', read_only=True)
class Meta:
model = Inventory
fields = '__all__'
class MaterialBatchSerializer(serializers. ModelSerializer):
material_= MaterialSimpleSerializer(source='material', read_only=True)
class MaterialBatchSerializer(serializers.ModelSerializer):
material_ = MaterialSimpleSerializer(source='material', read_only=True)
warehouse_ = WareHouseSimpleSerializer(source='warehouse', read_only=True)
class Meta:
model = MaterialBatch
fields = '__all__'
class IProductListSerializer(serializers.ModelSerializer):
material_= MaterialSimpleSerializer(source='material', read_only=True)
material_ = MaterialSimpleSerializer(source='material', read_only=True)
warehouse_ = WareHouseSimpleSerializer(source='warehouse', read_only=True)
is_mtested = serializers.BooleanField(source='wproduct.is_mtested', read_only=True)
is_mtestok = serializers.BooleanField(source='wproduct.is_mtestok', read_only=True)
remark_mtest = serializers.CharField(source='wproduct.remark_mtest', read_only=True)
class Meta:
model = IProduct
fields = '__all__'
class FIFOListSerializer(serializers.ModelSerializer):
auditor_ = UserSimpleSerializer(source='auditor', read_only=True)
create_by_ = UserSimpleSerializer(source='create_by', read_only=True)
class Meta:
model=FIFO
model = FIFO
fields = '__all__'
class FIFOItemSerializer(serializers.ModelSerializer):
warehouse_ = WareHouseSimpleSerializer(source='warehouse', read_only=True)
material_= MaterialSimpleSerializer(source='material', read_only=True)
material_ = MaterialSimpleSerializer(source='material', read_only=True)
class Meta:
model= FIFOItem
model = FIFOItem
fields = '__all__'
class IProductInPurSerializer(serializers.ModelSerializer):
class Meta:
model = IProduct
fields = ['number']
class FIFODetailInPurSerializer(serializers.ModelSerializer):
details = IProductInPurSerializer(many=True, required=False)
class Meta:
model = FIFOItem
fields = ['material', 'count', 'batch', 'details', 'warehouse']
class MaterialBatchQuerySerializer(serializers.Serializer):
warehouse = serializers.IntegerField(label="仓库ID", required=False)
materials = serializers.ListField(child=serializers.IntegerField(label="物料ID"), required=False)
@ -83,13 +100,14 @@ class FIFOInPurSerializer(serializers.ModelSerializer):
采购入库序列化
"""
details = FIFODetailInPurSerializer(many=True)
class Meta:
model = FIFO
fields = ['details', 'inout_date']
fields = ['details']
def create(self, validated_data):
details = validated_data.pop('details')
if len(details)>0:
if len(details) > 0:
pass
else:
raise serializers.ValidationError('没有入库内容')
@ -103,7 +121,7 @@ class FIFOInPurSerializer(serializers.ModelSerializer):
# raise serializers.ValidationError('批次号{}在其他仓库已存在'.format(i['batch']))
# except:
# pass
# 创建采购入库
with transaction.atomic():
validated_data['type'] = FIFO.FIFO_TYPE_PUR_IN
@ -137,17 +155,17 @@ class FIFOInPurSerializer(serializers.ModelSerializer):
return obj
class InmTestRecordItemCreateSerializer(serializers.ModelSerializer):
class Meta:
model = TestRecordItem
fields = ['form_field', 'field_value', 'is_testok']
class InmTestRecordCreateSerializer(serializers.ModelSerializer):
record_data = InmTestRecordItemCreateSerializer(many=True)
fifo_item = serializers.PrimaryKeyRelatedField(queryset=FIFOItem.objects.all(), required=True)
is_testok = serializers.BooleanField()
class Meta:
model = TestRecord
fields = ['form', 'record_data', 'is_testok', 'fifo_item']