From d1c15b0b2efbe18943b2b6f660014630816682ad Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 26 Feb 2025 17:36:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20route=E6=94=AF=E6=8C=81=E4=BC=A0?= =?UTF-8?q?=E5=85=A5material=5Fout=5Ftracking?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/mtm/serializers.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/apps/mtm/serializers.py b/apps/mtm/serializers.py index f0153b05..c2ab5961 100644 --- a/apps/mtm/serializers.py +++ b/apps/mtm/serializers.py @@ -163,6 +163,7 @@ class RouteSerializer(CustomModelSerializer): source='material_out.type', read_only=True) material_out_is_hidden = serializers.BooleanField( source='material_out.is_hidden', read_only=True) + material_out_tracking = serializers.IntegerField(source='material_out.tracking') class Meta: model = Route @@ -181,7 +182,7 @@ class RouteSerializer(CustomModelSerializer): raise ParseError('切分数量必须大于1') return super().validate(attrs) - def gen_material_out(self, instance: Route): + def gen_material_out(self, instance: Route, material_out_tracking:int): """ 自动形成物料 """ @@ -195,7 +196,7 @@ class RouteSerializer(CustomModelSerializer): material_out.model = material.model material_out.specification = material.specification material_out.cate = material.cate - material_out.tracking = material.tracking + material_out.tracking = material_out_tracking material_out.save() instance.material_out = material_out instance.save() @@ -206,7 +207,7 @@ class RouteSerializer(CustomModelSerializer): if material_out.parent is None: material_out.parent = material material_out.cate = material.cate - material_out.tracking = material.tracking + material_out.tracking = material_out_tracking material_out.save() instance.material_out = material_out instance.save() @@ -218,7 +219,7 @@ class RouteSerializer(CustomModelSerializer): 'model': material.model, 'type': Material.MA_TYPE_HALFGOOD, 'cate': material.cate, - 'tracking': material.tracking, + 'tracking': material_out_tracking, 'create_by': self.request.user, 'update_by': self.request.user, }) @@ -249,7 +250,7 @@ class RouteSerializer(CustomModelSerializer): raise ParseError('物料工序错误!请重新选择') else: if instance.material: - self.gen_material_out(instance) + self.gen_material_out(instance, validated_data.get("material_out_tracking", Material.MA_TRACKING_BATCH)) return instance def update(self, instance, validated_data): @@ -268,7 +269,7 @@ class RouteSerializer(CustomModelSerializer): raise ParseError('物料工序错误!请重新选择') else: if instance.material: - self.gen_material_out(instance) + self.gen_material_out(instance, validated_data.get("material_out_tracking", Material.MA_TRACKING_BATCH)) return instance