From 77f411887a07620ae18f8d3c308a06dfc1aa04d5 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 20 Mar 2025 09:30:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mio=20utask=20number=E9=9D=9E=E5=BF=85?= =?UTF-8?q?=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/inm/serializers.py | 9 ++++++--- apps/pm/serializers.py | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/inm/serializers.py b/apps/inm/serializers.py index 533d4602..4cb382b0 100644 --- a/apps/inm/serializers.py +++ b/apps/inm/serializers.py @@ -246,7 +246,8 @@ class MIODoSerializer(CustomModelSerializer): return attrs def create(self, validated_data): - validated_data["number"] = MIO.get_a_number(validated_data["type"]) + 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]: raise ValidationError('出入库类型错误') return super().create(validated_data) @@ -297,7 +298,8 @@ class MIOPurSerializer(CustomModelSerializer): def create(self, validated_data): validated_data['type'] = MIO.MIO_TYPE_PUR_IN - validated_data['number'] = MIO.get_a_number(validated_data["type"]) + 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) if pu_order: if pu_order.state in [PuOrder.PUORDER_CREATE, PuOrder.PUORDER_DONE]: @@ -324,7 +326,8 @@ class MIOOtherSerializer(CustomModelSerializer): read_only_fields = ["number"] def create(self, validated_data): - validated_data['number'] = MIO.get_a_number(validated_data["type"]) + 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_OTHER_OUT, MIO.MIO_TYPE_OTHER_IN]: raise ValidationError('出入库类型错误') return super().create(validated_data) diff --git a/apps/pm/serializers.py b/apps/pm/serializers.py index 0eb28dfa..ce728f5e 100644 --- a/apps/pm/serializers.py +++ b/apps/pm/serializers.py @@ -27,7 +27,8 @@ class UtaskSerializer(CustomModelSerializer): read_only_fields = ["number"] def create(self, validated_data): - validated_data["number"] = Utask.get_a_number() + if not validated_data.get('number', None): + validated_data["number"] = Utask.get_a_number() return super().create(validated_data) def validate(self, attrs):