fix: cal_count_notok bug2
This commit is contained in:
parent
2311e1773f
commit
7c7dcee194
|
@ -385,16 +385,19 @@ class Mlogbw(BaseModel):
|
|||
|
||||
@classmethod
|
||||
def cal_count_notok(cls, mlogb: Mlog):
|
||||
from apps.qm.models import Defect
|
||||
count = Mlogbw.objects.filter(mlogb=mlogb).count()
|
||||
if mlogb.material_in:
|
||||
mlogb.count_use = count
|
||||
elif mlogb.material_out:
|
||||
mlogb.count_real = count
|
||||
count_notok = 0
|
||||
tqs = Mlogbw.objects.filter(mlogb=mlogb, ftest__is_ok=False).values("ftest__defect_main").annotate(xcount=Count('id'))
|
||||
tqs = Mlogbw.objects.filter(mlogb=mlogb, ftest__is_ok=False)
|
||||
tqs_a = Mlogbw.objects.filter(mlogb=mlogb, ftest__is_ok=False).values("ftest__defect_main").annotate(xcount=Count('id'))
|
||||
defects = {defect.id: defect for defect in Defect.objects.filter(id__in=tqs.values_list("ftest__defect_main", flat=True))}
|
||||
md_ids = []
|
||||
for t in tqs:
|
||||
md, _ = MlogbDefect.objects.get_or_create(mlogb=mlogb, defect=t["ftest__defect_main"])
|
||||
for t in tqs_a:
|
||||
md, _ = MlogbDefect.objects.get_or_create(mlogb=mlogb, defect=defects[t["ftest__defect_main"]])
|
||||
md.count = t["xcount"]
|
||||
md.save()
|
||||
md_ids.append(md.id)
|
||||
|
|
Loading…
Reference in New Issue