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

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