From 34c0f82ed10295d14f2cb06e67ba7e1c5ddefff6 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 12 Jul 2024 10:58:48 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=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 | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/apps/mtm/serializers.py b/apps/mtm/serializers.py index b84114c8..04ee0381 100644 --- a/apps/mtm/serializers.py +++ b/apps/mtm/serializers.py @@ -172,26 +172,38 @@ class RouteSerializer(CustomModelSerializer): raise ParseError('未提供操作工序') return super().validate(attrs) - def gen_material_out(self, instance): + def gen_material_out(self, instance: Route): """ 自动形成物料 """ - name = f'{instance.material.name}' - 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, + material = instance.material + process = instance.process + material_out = Material.objects.get_queryset(all=True).filter(type=Material.MA_TYPE_HALFGOOD, parent=material, process=process).first() + if material_out: + material_out.is_deleted = False + material_out.save() + instance.material_out = material_out + instance.save() + return + material_out = Material.objects.get_queryset(all=True).filter(name=material.name, model=material.model, process=process).first() + if material_out: + material_out.is_deleted = False + material_out.save() + instance.material_out = material_out + instance.save() + return + material_out = Material.objects.create(**{'parent': instance.material, 'process': instance.process, + 'is_hidden': True, 'name': material.name, + 'number': material.number, + 'specification': material.specification, + 'model': 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() + return def create(self, validated_data): process = validated_data['process'] From 7af77c484b4b1cdeb0d0d2345526f70b67d1f6df Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 24 Jul 2024 13:44:10 +0800 Subject: [PATCH 2/3] fix: order destory bug --- apps/sam/views.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/sam/views.py b/apps/sam/views.py index b99e90e2..5744f0f1 100644 --- a/apps/sam/views.py +++ b/apps/sam/views.py @@ -66,8 +66,7 @@ class OrderViewSet(CustomModelViewSet): @transaction.atomic def perform_destroy(self, instance): - order = instance.order - if order.state != Order.ORDER_CREATE: + if instance.state != Order.ORDER_CREATE: raise ParseError('订单非创建中不可删除') instance.delete() From b98227b0325e023ee845ca362bbede1ff25d36a5 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 24 Jul 2024 13:50:05 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20FtestWorkCreateUpdate=20=E5=8F=AF?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8A=BD=E6=A3=80=E5=92=8C=E5=90=88=E6=A0=BC?= =?UTF-8?q?=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/qm/serializers.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/qm/serializers.py b/apps/qm/serializers.py index 3d99cf5f..0c0446b7 100644 --- a/apps/qm/serializers.py +++ b/apps/qm/serializers.py @@ -61,8 +61,7 @@ class QuaStatUpdateSerializer(CustomModelSerializer): class FtestWorkCreateUpdateSerializer(CustomModelSerializer): class Meta: model = FtestWork - fields = ['id', 'test_date', 'material', 'batch', 'count'] - + fields = ['id', 'test_date', 'material', 'batch', 'count', 'count_sampling', 'count_ok'] class FtestWorkSerializer(CustomModelSerializer): material_name = serializers.StringRelatedField(