feat: mlogbw也进行mlogb.cal_count_notok()

This commit is contained in:
caoqianming 2025-06-06 17:25:39 +08:00
parent 53c9afbca9
commit be5dc161de
1 changed files with 4 additions and 2 deletions

View File

@ -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):
"""