diff --git a/apps/inm/serializers.py b/apps/inm/serializers.py index 9c7910eb..8a5cb558 100644 --- a/apps/inm/serializers.py +++ b/apps/inm/serializers.py @@ -247,8 +247,11 @@ class MIODoSerializer(CustomModelSerializer): class Meta: model = MIO fields = ['id', 'number', 'note', 'do_user', - 'belong_dept', 'type', 'inout_date', 'mgroup', 'mio_user'] - extra_kwargs = {'inout_date': {'required': True}, 'do_user': {'required': True}, 'number': {"required": False, "allow_blank": True}} + 'belong_dept', 'type', 'inout_date', 'mgroup', 'mio_user', 'type'] + extra_kwargs = {'inout_date': {'required': True}, + 'do_user': {'required': True}, + 'number': {"required": False, "allow_blank": True}, + 'type': {'required': True}} def validate(self, attrs): if 'mgroup' in attrs and attrs['mgroup']: @@ -258,6 +261,11 @@ class MIODoSerializer(CustomModelSerializer): return attrs def create(self, validated_data): + type = validated_data['type'] + if type in [MIO.MIO_TYPE_DO_IN, MIO.MIO_TYPE_DO_OUT, MIO.MIO_TYPE_BORROW_OUT, MIO.MIO_TYPE_RETURN_IN]: + pass + else: + raise ValidationError('出入库类型错误') if not validated_data.get("number", None): validated_data["number"] = MIO.get_a_number(validated_data["type"]) if validated_data['type'] not in [MIO.MIO_TYPE_DO_OUT, MIO.MIO_TYPE_DO_IN]: @@ -306,11 +314,17 @@ class MIOPurSerializer(CustomModelSerializer): class Meta: model = MIO - fields = ['id', 'number', 'note', 'pu_order', 'inout_date', 'supplier', 'mio_user'] - extra_kwargs = {'inout_date': {'required': True}, 'number': {"required": False, "allow_blank": True}} + fields = ['id', 'number', 'note', 'pu_order', 'inout_date', 'supplier', 'mio_user', 'type'] + extra_kwargs = {'inout_date': {'required': True}, + 'number': {"required": False, "allow_blank": True}, + 'type': {'required': True}} def create(self, validated_data): - validated_data['type'] = MIO.MIO_TYPE_PUR_IN + type = validated_data["type"] + if type in [MIO.MIO_TYPE_PUR_IN, MIO.MIO_TYPE_PUR_OUT]: + pass + else: + raise ValidationError('出入库类型错误') if not validated_data.get("number", None): validated_data["number"] = MIO.get_a_number(validated_data["type"]) pu_order: PuOrder = validated_data.get('pu_order', None)