From 805d4ac4fe13835d5c82b302026954cf5d4bcf8d Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 17 Jan 2025 15:42:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=87=E5=88=86=E8=9E=8D=E5=90=88?= =?UTF-8?q?=E7=9A=84=E5=8D=95=E4=BB=B6=E7=94=9F=E6=88=902?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/views.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/wpm/views.py b/apps/wpm/views.py index ea54f598..69ffeb4d 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -32,6 +32,7 @@ from apps.wf.models import State from apps.wpmw.models import Wpr from apps.qm.models import QctMat, Ftest from apps.enm.models import EnStat +from django.db.models import Q # Create your views here. @@ -568,7 +569,7 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust Mlogbw.objects.get_or_create(wpr=wpr, mlogb=mlogbout, defaults={"number": wpr.number}) elif route.process.mtype == Process.PRO_DIV: for i in range(route.div_number): - Mlogbw.objects.get_or_create(mlogb=mlogbout, defaults={"number": f'{wpr.number}-{str(i+1)}'}) + Mlogbw.objects.get_or_create(mlogb=mlogbout, number=f'{wpr.number}-{i+1}') class MlogbOutViewSet(UpdateModelMixin, CustomGenericViewSet): @@ -646,7 +647,7 @@ class MlogbwViewSet(CustomModelViewSet): Mlogbw.objects.get_or_create(mlogb=mlogb_to, wpr=ins.wpr, defaults={"number": ins.number}) elif route.process.mtype == Process.PRO_DIV: for i in range(route.div_number): - Mlogbw.objects.get_or_create(mlogb=mlogb_to, defaults={"number": f'{ins.number}-{i+1}'}) + Mlogbw.objects.get_or_create(mlogb=mlogb_to, number=f'{ins.number}-{i+1}') self.cal_mlogb_count(mlogb_to) @transaction.atomic @@ -668,8 +669,7 @@ class MlogbwViewSet(CustomModelViewSet): mlogb_to = mlogb.mlogb_to material_out: Material = mlogb.mlog.material_out if mlogb_to and material_out.tracking == Material.MA_TRACKING_SINGLE: - mbw = Mlogbw.objects.get(mlogb=mlogb_to, wpr=instance.wpr) - if mbw.ftest: - mbw.ftest.delete() - mbw.delete() + mbws = Mlogbw.objects.filter(Q(wpr=instance.wpr)|Q(number__contains=instance.number), mlogb=mlogb_to) + Ftest.objects.filter(id__in=mbws.values_list('ftest__id', flat=True)).delete() + mbws.delete() self.cal_mlogb_count(mlogb_to)