From 5d335fdd6a10f5169577de5b30fdf5dee26b6c42 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 28 Jul 2025 13:50:28 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mio=E5=88=9B=E5=BB=BA=E6=97=B6type?= =?UTF-8?q?=E5=BE=97=E4=BC=A0=E5=85=A5=E5=B9=B6=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/inm/serializers.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) 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)