From 90c7d0e5a145ec80cb125390cb684a5d8068ff4f Mon Sep 17 00:00:00 2001 From: caoqianming Date: Sat, 23 Dec 2023 20:58:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20gen=5Fmaterial=5Fout=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/mtm/serializers.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/apps/mtm/serializers.py b/apps/mtm/serializers.py index 832a26ec..1db70d3a 100644 --- a/apps/mtm/serializers.py +++ b/apps/mtm/serializers.py @@ -26,6 +26,7 @@ class MaterialSimpleSerializer(CustomModelSerializer): def get_full_name(self, obj): return f'{obj.name}|{obj.specification if obj.specification else ""}|{obj.model if obj.model else ""}|{obj.process.name if obj.process else ""}' + class MaterialSerializer(CustomModelSerializer): process_name = serializers.CharField(source='process.name', read_only=True) full_name = serializers.SerializerMethodField() @@ -145,16 +146,20 @@ class RouteSerializer(CustomModelSerializer): 自动形成物料 """ name = f'{instance.material.name}' - instance.material_out, _ = Material.objects.get_or_create(type=Material.MA_TYPE_HALFGOOD, parent=instance.material, process=instance.process, - defaults={'parent': instance.material, 'process': instance.process, - 'is_hidden': True, 'name': name, - 'number': instance.material.number, - 'specification': instance.material.specification, - 'model': instance.material.model, - 'type': Material.MA_TYPE_HALFGOOD, - 'create_by': self.request.user, - 'update_by': self.request.user, - }) + material_out, _ = Material.objects.get_queryset(all=True).get_or_create(type=Material.MA_TYPE_HALFGOOD, parent=instance.material, process=instance.process, + defaults={'parent': instance.material, 'process': instance.process, + 'is_hidden': True, 'name': name, + 'number': instance.material.number, + 'specification': instance.material.specification, + 'model': instance.material.model, + 'type': Material.MA_TYPE_HALFGOOD, + 'create_by': self.request.user, + 'update_by': self.request.user, + }) + if material_out.is_deleted: + material_out.is_deleted = False + material_out.save() + instance.material_out = material_out instance.save() def create(self, validated_data):