feat: mlogbw也进行mlogb.cal_count_notok()
This commit is contained in:
parent
53c9afbca9
commit
be5dc161de
|
|
@ -497,13 +497,14 @@ class Mlogbw(BaseModel):
|
||||||
note = models.TextField('备注', null=True, blank=True)
|
note = models.TextField('备注', null=True, blank=True)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def cal_count_notok(cls, mlogb: Mlog):
|
def cal_count_notok(cls, mlogb: Mlogb):
|
||||||
from apps.qm.models import Defect
|
from apps.qm.models import Defect
|
||||||
# 锁定mlogb以防止并发修改
|
# 锁定mlogb以防止并发修改
|
||||||
# mlogb:Mlogb = Mlogb.objects.select_for_update().get(pk=mlogb.pk)
|
# mlogb:Mlogb = Mlogb.objects.select_for_update().get(pk=mlogb.pk)
|
||||||
count = Mlogbw.objects.filter(mlogb=mlogb).count()
|
count = Mlogbw.objects.filter(mlogb=mlogb).count()
|
||||||
if mlogb.material_in:
|
if mlogb.material_in:
|
||||||
mlogb.count_use = count
|
mlogb.count_use = count
|
||||||
|
mlogb.save(update_fields=["count_use"])
|
||||||
elif mlogb.material_out:
|
elif mlogb.material_out:
|
||||||
mlogb.count_real = count
|
mlogb.count_real = count
|
||||||
count_notok = 0
|
count_notok = 0
|
||||||
|
|
@ -520,7 +521,8 @@ class Mlogbw(BaseModel):
|
||||||
MlogbDefect.objects.filter(mlogb=mlogb).exclude(id__in=md_ids).delete()
|
MlogbDefect.objects.filter(mlogb=mlogb).exclude(id__in=md_ids).delete()
|
||||||
mlogb.count_notok = count_notok
|
mlogb.count_notok = count_notok
|
||||||
mlogb.count_ok = count - mlogb.count_notok
|
mlogb.count_ok = count - mlogb.count_notok
|
||||||
mlogb.save()
|
mlogb.save()
|
||||||
|
mlogb.cal_count_notok()
|
||||||
|
|
||||||
class Handover(CommonADModel):
|
class Handover(CommonADModel):
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue