fix: wpr oinfo bug
This commit is contained in:
parent
8867e76701
commit
23ad849e36
|
@ -5,6 +5,7 @@ from apps.utils.models import BaseModel
|
|||
from apps.mtm.models import Material
|
||||
from rest_framework.exceptions import ParseError
|
||||
from apps.wpm.models import WmStateOption
|
||||
from apps.utils.tools import update_dict
|
||||
|
||||
# Create your models here.
|
||||
class Wpr(BaseModel):
|
||||
|
@ -50,6 +51,7 @@ class Wpr(BaseModel):
|
|||
except cls.DoesNotExist:
|
||||
ins = cls(number=number)
|
||||
ins.version = -1
|
||||
ins.oinfo = {}
|
||||
|
||||
if old_mb and ins.mb != old_mb:
|
||||
raise ParseError(f"请检查-{ins.number}-所属仓库批次")
|
||||
|
@ -72,7 +74,6 @@ class Wpr(BaseModel):
|
|||
if wm.defect:
|
||||
WprDefect.objects.create(wpr=ins, defect=wm.defect, is_main=True)
|
||||
ins.version = ins.version + 1
|
||||
ins.oinfo = ins.oinfo if ins.oinfo else {}
|
||||
ins.save()
|
||||
if ftest:
|
||||
# 通过检验变更其缺陷项
|
||||
|
@ -84,7 +85,7 @@ class Wpr(BaseModel):
|
|||
for ftestitem in FtestItem.objects.filter(ftest=ftest, addto_wpr=True):
|
||||
if ftestitem.test_val_json:
|
||||
oinfo[ftestitem.id] = {"name": ftestitem.testitem.name, "val": ftestitem.test_val_json}
|
||||
ins.oinfo = ins.oinfo.update(oinfo) if ins.oinfo else oinfo
|
||||
ins.oinfo = update_dict(ins.oinfo, oinfo)
|
||||
ins.save()
|
||||
# if ins.mb and ins.wm:
|
||||
# raise ParseError("所属仓库批次和车间批次不可同时存在2")
|
||||
|
|
Loading…
Reference in New Issue