from rest_framework import serializers from .models import AsnListModel, AsnDetailModel from utils import datasolve class ASNListGetSerializer(serializers.ModelSerializer): code = serializers.CharField(read_only=True, required=False) asn_code = serializers.CharField(read_only=True, required=False) asn_status = serializers.CharField(read_only=True, required=False) asn_type = serializers.CharField(read_only=True, required=False) goods_code = serializers.CharField(read_only=True, required=False) goods_desc = serializers.CharField(read_only=True, required=False) goods_qty = serializers.IntegerField(read_only=True, required=False) goods_weight = serializers.FloatField(read_only=True, required=False) creater = serializers.CharField(read_only=True, required=False) create_time = serializers.DateTimeField(read_only=True, format='%Y-%m-%d %H:%M:%S') update_time = serializers.DateTimeField(read_only=True, format='%Y-%m-%d %H:%M:%S') class Meta: model = AsnListModel exclude = ['openid', 'is_delete', ] read_only_fields = ['id', 'openid', ] class ASNListPostSerializer(serializers.ModelSerializer): openid = serializers.CharField(read_only=False, required=False, validators=[datasolve.openid_validate]) asn_code = serializers.CharField(read_only=False, required=False, validators=[datasolve.asn_data_validate]) code = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate]) asn_status = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate]) asn_type = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate]) goods_code = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate]) goods_desc = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate]) goods_qty = serializers.IntegerField(read_only=False, required=True, validators=[datasolve.qty_0_data_validate]) goods_weight = serializers.FloatField(read_only=False, required=True, validators=[datasolve.qty_0_data_validate]) creater = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate]) class Meta: model = AsnListModel exclude = ['is_delete', ] read_only_fields = ['id', 'create_time', 'update_time', ] class ASNDetailGetSerializer(serializers.ModelSerializer): asn_code = serializers.CharField(read_only=True, required=False) asn_status = serializers.CharField(read_only=True, required=False) asn_type = serializers.CharField(read_only=True, required=False) goods_code = serializers.CharField(read_only=True, required=False) goods_desc = serializers.CharField(read_only=True, required=False) goods_qty = serializers.IntegerField(read_only=True, required=False) goods_weight = serializers.FloatField(read_only=True, required=False) warehouse_code = serializers.CharField(read_only=True, required=False) warehouse_name = serializers.CharField(read_only=True, required=False) shelf_name = serializers.CharField(read_only=True, required=False) container_code = serializers.CharField(read_only=True, required=False) creater = serializers.CharField(read_only=True, required=False) create_time = serializers.DateTimeField(read_only=True, format='%Y-%m-%d %H:%M:%S') class Meta: model = AsnDetailModel exclude = ['openid', 'is_delete', ] read_only_fields = ['id', 'openid'] class ASNDetailPostSerializer(serializers.ModelSerializer): openid = serializers.CharField(read_only=False, required=False, validators=[datasolve.openid_validate]) asn_code = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate]) asn_status = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate]) asn_type = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate]) goods_code = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate]) goods_desc = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate]) goods_qty = serializers.IntegerField(read_only=False, required=False, validators=[datasolve.qty_0_data_validate]) goods_weight = serializers.FloatField(read_only=False, required=False, validators=[datasolve.qty_0_data_validate]) warehouse_code = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate]) warehouse_name = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate]) shelf_name = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate]) container_code = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate]) creater = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate]) class Meta: model = AsnDetailModel exclude = ['is_delete', ] read_only_fields = ['id', 'create_time', 'update_time', ]