Merge branch 'master' of http://gitea.xxhhcty.xyz:8080/zcdsj/factory
This commit is contained in:
commit
1c71659890
|
|
@ -367,24 +367,22 @@ class FtestProcessSerializer(CustomModelSerializer):
|
||||||
instance = super().create(validated_data)
|
instance = super().create(validated_data)
|
||||||
for item in ftestitems:
|
for item in ftestitems:
|
||||||
FtestItem.objects.create(ftest=instance, **item)
|
FtestItem.objects.create(ftest=instance, **item)
|
||||||
|
|
||||||
|
# 判断是否合格和主缺陷
|
||||||
is_ok = True
|
is_ok = True
|
||||||
defect_main = None
|
defect_main = None
|
||||||
has_is_main = False
|
|
||||||
for item2 in ftestdefects:
|
for item2 in ftestdefects:
|
||||||
defect:Defect = item2["defect"]
|
defect:Defect = item2["defect"]
|
||||||
if defect.okcate in [Defect.DEFECT_NOTOK] and item2["has"]:
|
if defect.okcate in [Defect.DEFECT_NOTOK] and item2["has"]:
|
||||||
is_ok = False
|
is_ok = False
|
||||||
if not has_is_main:
|
if defect_main is None:
|
||||||
item2["is_main"] = True
|
|
||||||
has_is_main = True
|
|
||||||
defect_main = defect
|
defect_main = defect
|
||||||
|
item2["is_main"] = True
|
||||||
else:
|
else:
|
||||||
item2["is_main"] = False
|
item2["is_main"] = False
|
||||||
FtestDefect.objects.create(ftest=instance, **item2)
|
FtestDefect.objects.create(ftest=instance, **item2)
|
||||||
if not is_ok:
|
|
||||||
instance.defect_main = defect_main
|
instance.defect_main = defect_main
|
||||||
else:
|
|
||||||
instance.defect_main = None
|
|
||||||
instance.is_ok = is_ok
|
instance.is_ok = is_ok
|
||||||
instance.save()
|
instance.save()
|
||||||
return instance
|
return instance
|
||||||
|
|
@ -402,9 +400,8 @@ class FtestProcessSerializer(CustomModelSerializer):
|
||||||
for k, v in item.items():
|
for k, v in item.items():
|
||||||
setattr(ins, k, v)
|
setattr(ins, k, v)
|
||||||
ins.save()
|
ins.save()
|
||||||
is_ok = True
|
|
||||||
defect_main = None
|
# 先保存
|
||||||
has_is_main = False
|
|
||||||
for item2 in ftestdefects:
|
for item2 in ftestdefects:
|
||||||
try:
|
try:
|
||||||
ins:FtestDefect = FtestDefect.objects.get(ftest=instance, defect=item2["defect"])
|
ins:FtestDefect = FtestDefect.objects.get(ftest=instance, defect=item2["defect"])
|
||||||
|
|
@ -416,22 +413,21 @@ class FtestProcessSerializer(CustomModelSerializer):
|
||||||
for k, v in item2.items():
|
for k, v in item2.items():
|
||||||
setattr(ins, k, v)
|
setattr(ins, k, v)
|
||||||
ins.save()
|
ins.save()
|
||||||
if ins.is_main:
|
|
||||||
has_is_main = True
|
# 判断是否合格和主缺陷
|
||||||
defect_main = ins.defect
|
is_ok = True
|
||||||
|
defect_main = None
|
||||||
|
for ins in FtestDefect.objects.filter(ftest=instance).order_by("create_time"):
|
||||||
if ins.has and ins.defect.okcate in [Defect.DEFECT_NOTOK]:
|
if ins.has and ins.defect.okcate in [Defect.DEFECT_NOTOK]:
|
||||||
is_ok = False
|
is_ok = False
|
||||||
if not has_is_main:
|
if defect_main is None:
|
||||||
ins.is_main = True
|
|
||||||
has_is_main = True
|
|
||||||
defect_main = ins.defect
|
defect_main = ins.defect
|
||||||
|
ins.is_main = True
|
||||||
else:
|
else:
|
||||||
ins.is_main = False
|
ins.is_main = False
|
||||||
ins.save()
|
ins.save(update_fields=["is_main"])
|
||||||
if not is_ok:
|
|
||||||
instance.defect_main = defect_main
|
instance.defect_main = defect_main
|
||||||
else:
|
|
||||||
instance.defect_main = None
|
|
||||||
instance.is_ok = is_ok
|
instance.is_ok = is_ok
|
||||||
instance.save()
|
instance.save()
|
||||||
return instance
|
return instance
|
||||||
Loading…
Reference in New Issue