feat: 优化ana_wpr
This commit is contained in:
parent
403477afd0
commit
662bef04ab
|
@ -2,23 +2,31 @@ from apps.wpmw.models import Wpr
|
||||||
from apps.wpm.models import Mlogbw
|
from apps.wpm.models import Mlogbw
|
||||||
from apps.qm.models import Ftest, FtestDefect, FtestItem
|
from apps.qm.models import Ftest, FtestDefect, FtestItem
|
||||||
from rest_framework.exceptions import ParseError
|
from rest_framework.exceptions import ParseError
|
||||||
|
from apps.mtm.models import Mgroup
|
||||||
|
|
||||||
def main(number):
|
def main(number, mgroup:Mgroup):
|
||||||
if not Wpr.objects.filter(number=number).exists():
|
wpr = Wpr.objects.filter(number=number).first()
|
||||||
|
if not wpr:
|
||||||
raise ParseError(f"未找到该单个产品_{number}")
|
raise ParseError(f"未找到该单个产品_{number}")
|
||||||
data = {}
|
data = {}
|
||||||
mgroup_name = "毛坯检测"
|
mgroup_name = mgroup.name
|
||||||
data[f"{mgroup_name}_批次号"] = Mlogbw.objects.filter(number=number).first().mlogb.batch
|
data[f"{mgroup_name}_批次号"] = Mlogbw.objects.filter(number=number).order_by("-update_time").first().mlogb.batch
|
||||||
ftestitems = FtestItem.objects.filter(ftest__mlogbw_ftest__number=number,
|
ftestitems = FtestItem.objects.filter(ftest__mlogbw_ftest__number=number,
|
||||||
ftest__mlogbw_ftest__mlogb__mlog__mgroup__name=mgroup_name,
|
ftest__mlogbw_ftest__mlogb__mlog__mgroup=mgroup,
|
||||||
ftest__mlogbw_ftest__mlogb__mlog__submit_time__isnull=False)
|
ftest__mlogbw_ftest__mlogb__mlog__submit_time__isnull=False)
|
||||||
for ftestitem in ftestitems:
|
for ftestitem in ftestitems:
|
||||||
data[f"{mgroup_name}_检测项_{ftestitem.testitem.name}"] = ftestitem.test_val_json
|
data[f"{mgroup_name}_检测项_{ftestitem.testitem.name}"] = ftestitem.test_val_json
|
||||||
|
|
||||||
ftestdefects = FtestDefect.objects.filter(ftest__mlogbw_ftest__number=number,
|
ftestdefects = FtestDefect.objects.filter(ftest__mlogbw_ftest__number=number,
|
||||||
ftest__mlogbw_ftest__mlogb__mlog__mgroup__name=mgroup_name,
|
ftest__mlogbw_ftest__mlogb__mlog__mgroup=mgroup,
|
||||||
ftest__mlogbw_ftest__mlogb__mlog__submit_time__isnull=False)
|
ftest__mlogbw_ftest__mlogb__mlog__submit_time__isnull=False)
|
||||||
for ftestdefect in ftestdefects:
|
for ftestdefect in ftestdefects:
|
||||||
data[f"{mgroup_name}_缺陷项_{ftestdefect.defect.name}"] = 0 if ftestdefect.has is True else 1
|
data[f"{mgroup_name}_缺陷项_{ftestdefect.defect.name}"] = 0 if ftestdefect.has is True else 1
|
||||||
|
|
||||||
Wpr.objects.filter(number=number).update(data=data)
|
old_data:dict = wpr.data
|
||||||
|
if old_data:
|
||||||
|
for item in old_data.keys():
|
||||||
|
if f'{mgroup_name}_' in item:
|
||||||
|
del old_data[item]
|
||||||
|
old_data.update(data)
|
||||||
|
Wpr.objects.filter(number=number).update(data=old_data)
|
|
@ -22,8 +22,8 @@ tz_shanghai = ZoneInfo("Asia/Shanghai")
|
||||||
def ana_batch_thread(xbatchs: list):
|
def ana_batch_thread(xbatchs: list):
|
||||||
MyThread(target=ana_batch, args=(xbatchs,)).start()
|
MyThread(target=ana_batch, args=(xbatchs,)).start()
|
||||||
|
|
||||||
def ana_wpr_thread(numbers: list):
|
def ana_wpr_thread(numbers: list, mgroup):
|
||||||
MyThread(target=ana_wpr, args=(numbers,)).start()
|
MyThread(target=ana_wpr, args=(numbers, mgroup)).start()
|
||||||
|
|
||||||
def ana_batch(xbatchs: list):
|
def ana_batch(xbatchs: list):
|
||||||
"""
|
"""
|
||||||
|
@ -34,7 +34,7 @@ def ana_batch(xbatchs: list):
|
||||||
for xbatch in xbatchs:
|
for xbatch in xbatchs:
|
||||||
get_alldata_with_batch_and_store(xbatch)
|
get_alldata_with_batch_and_store(xbatch)
|
||||||
|
|
||||||
def ana_wpr(numbers: list):
|
def ana_wpr(numbers: list, mgroup):
|
||||||
"""
|
"""
|
||||||
单个统计分析
|
单个统计分析
|
||||||
"""
|
"""
|
||||||
|
@ -47,7 +47,7 @@ def ana_wpr(numbers: list):
|
||||||
return
|
return
|
||||||
f = getattr(m, "main")
|
f = getattr(m, "main")
|
||||||
for number in numbers:
|
for number in numbers:
|
||||||
f(number)
|
f(number, mgroup)
|
||||||
|
|
||||||
|
|
||||||
def get_alldata_with_batch_and_store(batch: str):
|
def get_alldata_with_batch_and_store(batch: str):
|
||||||
|
|
Loading…
Reference in New Issue