From be5dc161de260c5b9b9e5c4462f27d25ccb99152 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 6 Jun 2025 17:25:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mlogbw=E4=B9=9F=E8=BF=9B=E8=A1=8Cmlogb.?= =?UTF-8?q?cal=5Fcount=5Fnotok()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/models.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/wpm/models.py b/apps/wpm/models.py index a3d60d12..20aec4a2 100644 --- a/apps/wpm/models.py +++ b/apps/wpm/models.py @@ -497,13 +497,14 @@ class Mlogbw(BaseModel): note = models.TextField('备注', null=True, blank=True) @classmethod - def cal_count_notok(cls, mlogb: Mlog): + def cal_count_notok(cls, mlogb: Mlogb): from apps.qm.models import Defect # 锁定mlogb以防止并发修改 # mlogb:Mlogb = Mlogb.objects.select_for_update().get(pk=mlogb.pk) count = Mlogbw.objects.filter(mlogb=mlogb).count() if mlogb.material_in: mlogb.count_use = count + mlogb.save(update_fields=["count_use"]) elif mlogb.material_out: mlogb.count_real = count count_notok = 0 @@ -520,7 +521,8 @@ class Mlogbw(BaseModel): MlogbDefect.objects.filter(mlogb=mlogb).exclude(id__in=md_ids).delete() mlogb.count_notok = count_notok mlogb.count_ok = count - mlogb.count_notok - mlogb.save() + mlogb.save() + mlogb.cal_count_notok() class Handover(CommonADModel): """