feat: ftest添加主要缺陷字段
This commit is contained in:
parent
805d4ac4fe
commit
d9a5720cc6
|
@ -0,0 +1,19 @@
|
||||||
|
# Generated by Django 3.2.12 on 2025-01-17 08:37
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('qm', '0038_auto_20250116_1000'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='ftest',
|
||||||
|
name='defect_main',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='qm.defect', verbose_name='主要缺陷'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -283,6 +283,7 @@ class Ftest(CommonBDModel):
|
||||||
note = models.TextField('备注', default='', blank=True)
|
note = models.TextField('备注', default='', blank=True)
|
||||||
ftest_work = models.ForeignKey(
|
ftest_work = models.ForeignKey(
|
||||||
FtestWork, verbose_name='关联检验工作', on_delete=models.CASCADE, null=True, blank=True)
|
FtestWork, verbose_name='关联检验工作', on_delete=models.CASCADE, null=True, blank=True)
|
||||||
|
defect_main = models.ForeignKey(Defect, verbose_name='主要缺陷', on_delete=models.SET_NULL, null=True, blank=True)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def ftestitems(self):
|
def ftestitems(self):
|
||||||
|
|
|
@ -332,6 +332,7 @@ class FtestProcessSerializer(CustomModelSerializer):
|
||||||
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
|
||||||
has_is_main = False
|
has_is_main = False
|
||||||
for item2 in ftestdefects:
|
for item2 in ftestdefects:
|
||||||
defect:Defect = item2["defect"]
|
defect:Defect = item2["defect"]
|
||||||
|
@ -340,9 +341,11 @@ class FtestProcessSerializer(CustomModelSerializer):
|
||||||
if not has_is_main:
|
if not has_is_main:
|
||||||
item2["is_main"] = True
|
item2["is_main"] = True
|
||||||
has_is_main = True
|
has_is_main = True
|
||||||
|
defect_main = defect
|
||||||
else:
|
else:
|
||||||
item2["is_main"] = False
|
item2["is_main"] = False
|
||||||
FtestDefect.objects.create(ftest=instance, **item2)
|
FtestDefect.objects.create(ftest=instance, **item2)
|
||||||
|
instance.defect_main = defect_main
|
||||||
instance.is_ok = is_ok
|
instance.is_ok = is_ok
|
||||||
instance.save()
|
instance.save()
|
||||||
return instance
|
return instance
|
||||||
|
@ -361,6 +364,7 @@ class FtestProcessSerializer(CustomModelSerializer):
|
||||||
setattr(ins, k, v)
|
setattr(ins, k, v)
|
||||||
ins.save()
|
ins.save()
|
||||||
is_ok = True
|
is_ok = True
|
||||||
|
defect_main = None
|
||||||
has_is_main = False
|
has_is_main = False
|
||||||
for item2 in ftestdefects:
|
for item2 in ftestdefects:
|
||||||
try:
|
try:
|
||||||
|
@ -372,14 +376,17 @@ class FtestProcessSerializer(CustomModelSerializer):
|
||||||
ins.save()
|
ins.save()
|
||||||
if ins.is_main:
|
if ins.is_main:
|
||||||
has_is_main = True
|
has_is_main = True
|
||||||
|
defect_main = ins.defect
|
||||||
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 not has_is_main:
|
||||||
ins.is_main = True
|
ins.is_main = True
|
||||||
has_is_main = True
|
has_is_main = True
|
||||||
|
defect_main = ins.defect
|
||||||
else:
|
else:
|
||||||
ins.is_main = False
|
ins.is_main = False
|
||||||
ins.save()
|
ins.save()
|
||||||
|
instance.defect_main = defect_main
|
||||||
instance.is_ok = is_ok
|
instance.is_ok = is_ok
|
||||||
instance.save()
|
instance.save()
|
||||||
return instance
|
return instance
|
Loading…
Reference in New Issue