fix: cal_count_notok bug
This commit is contained in:
parent
278e55c08a
commit
2311e1773f
|
@ -10,6 +10,7 @@ from apps.pum.models import Supplier
|
||||||
from django.db.models import Sum, Subquery
|
from django.db.models import Sum, Subquery
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from rest_framework.exceptions import ParseError
|
from rest_framework.exceptions import ParseError
|
||||||
|
from django.db.models import Count
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
|
|
||||||
|
@ -390,10 +391,10 @@ class Mlogbw(BaseModel):
|
||||||
elif mlogb.material_out:
|
elif mlogb.material_out:
|
||||||
mlogb.count_real = count
|
mlogb.count_real = count
|
||||||
count_notok = 0
|
count_notok = 0
|
||||||
tqs = Mlogbw.objects.filter(mlogb=mlogb, ftest__is_ok=False).values("defect_main").annotate(xcount=Count('id'))
|
tqs = Mlogbw.objects.filter(mlogb=mlogb, ftest__is_ok=False).values("ftest__defect_main").annotate(xcount=Count('id'))
|
||||||
md_ids = []
|
md_ids = []
|
||||||
for t in tqs:
|
for t in tqs:
|
||||||
md, _ = MlogbDefect.objects.get_or_create(mlogb=mlogb, defect=t["defect_main"])
|
md, _ = MlogbDefect.objects.get_or_create(mlogb=mlogb, defect=t["ftest__defect_main"])
|
||||||
md.count = t["xcount"]
|
md.count = t["xcount"]
|
||||||
md.save()
|
md.save()
|
||||||
md_ids.append(md.id)
|
md_ids.append(md.id)
|
||||||
|
|
|
@ -243,7 +243,7 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
|
||||||
if item.qct is not None:
|
if item.qct is not None:
|
||||||
if MlogbDefect.objects.filter(mlogb=item).exists():
|
if MlogbDefect.objects.filter(mlogb=item).exists():
|
||||||
pass
|
pass
|
||||||
else:
|
elif item.material_out.tracking == Material.MA_TRACKING_SINGLE:
|
||||||
Mlogbw.cal_count_notok(item)
|
Mlogbw.cal_count_notok(item)
|
||||||
for itemx in MlogbDefect.objects.filter(mlogb=item):
|
for itemx in MlogbDefect.objects.filter(mlogb=item):
|
||||||
m_outs_list.append((item.material_out, item.batch, itemx.count, 0, itemx.defect, item))
|
m_outs_list.append((item.material_out, item.batch, itemx.count, 0, itemx.defect, item))
|
||||||
|
@ -374,7 +374,7 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
|
||||||
if item.qct is not None:
|
if item.qct is not None:
|
||||||
if MlogbDefect.objects.filter(mlogb=item).exists():
|
if MlogbDefect.objects.filter(mlogb=item).exists():
|
||||||
pass
|
pass
|
||||||
else:
|
elif item.material_out.tracking == Material.MA_TRACKING_SINGLE:
|
||||||
Mlogbw.cal_count_notok(item)
|
Mlogbw.cal_count_notok(item)
|
||||||
for itemx in MlogbDefect.objects.filter(mlogb=item):
|
for itemx in MlogbDefect.objects.filter(mlogb=item):
|
||||||
m_outs_list.append((item.material_out, item.batch, itemx.count, 0, itemx.defect, item))
|
m_outs_list.append((item.material_out, item.batch, itemx.count, 0, itemx.defect, item))
|
||||||
|
|
Loading…
Reference in New Issue