fix: update_mb_item bug
This commit is contained in:
parent
7382eed0b6
commit
7605574f37
|
@ -288,9 +288,12 @@ class InmService:
|
|||
ddict["batch_ofrom"] = i.batch
|
||||
ddict["material_ofrom"] = i.material
|
||||
|
||||
m_list = [(material, warehouse, i.batch, getattr(i, field), None, i)] # getattr主要是兼容原有逻辑
|
||||
count_change = i.count - i.count_notok
|
||||
if field == "count":
|
||||
count_change = getattr(i, field)
|
||||
m_list = [(material, warehouse, i.batch, count_change, None, i)]
|
||||
|
||||
if tracking == Material.MA_TRACKING_SINGLE:
|
||||
m_list = []
|
||||
# 获取所有主要的不合格项
|
||||
mw_qs = MIOItemw.objects.filter(mioitem=i)
|
||||
defectIds= FtestDefect.objects.filter(ftest__mioitemw_ftest__in=mw_qs, is_main=True, has=True).values_list("defect__id", flat=True).distinct()
|
||||
|
@ -327,7 +330,7 @@ class InmService:
|
|||
mb.save()
|
||||
if tracking == Material.MA_TRACKING_SINGLE:
|
||||
mioitemws = MIOItemw.objects.filter(mioitem=i)
|
||||
if mioitemws.count() != mb.count:
|
||||
if mioitemws.count() != i.count:
|
||||
raise ParseError("出入库与明细数量不一致,操作失败")
|
||||
for mioitemw in mioitemws:
|
||||
if mioitemw.wpr:
|
||||
|
@ -345,7 +348,7 @@ class InmService:
|
|||
mb.save()
|
||||
if tracking == Material.MA_TRACKING_SINGLE:
|
||||
mioitemws = MIOItemw.objects.filter(mioitem=i)
|
||||
if mioitemws.count() != mb.count:
|
||||
if mioitemws.count() != i.count:
|
||||
raise ParseError("出入库与明细数量不一致,操作失败")
|
||||
for mioitemw in mioitemws:
|
||||
Wpr.change_or_new(wpr=mioitemw.wpr, old_mb=mb)
|
||||
|
|
Loading…
Reference in New Issue