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)
|
||||
ftest_work = models.ForeignKey(
|
||||
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
|
||||
def ftestitems(self):
|
||||
|
|
|
@ -332,6 +332,7 @@ class FtestProcessSerializer(CustomModelSerializer):
|
|||
for item in ftestitems:
|
||||
FtestItem.objects.create(ftest=instance, **item)
|
||||
is_ok = True
|
||||
defect_main = None
|
||||
has_is_main = False
|
||||
for item2 in ftestdefects:
|
||||
defect:Defect = item2["defect"]
|
||||
|
@ -340,9 +341,11 @@ class FtestProcessSerializer(CustomModelSerializer):
|
|||
if not has_is_main:
|
||||
item2["is_main"] = True
|
||||
has_is_main = True
|
||||
defect_main = defect
|
||||
else:
|
||||
item2["is_main"] = False
|
||||
FtestDefect.objects.create(ftest=instance, **item2)
|
||||
instance.defect_main = defect_main
|
||||
instance.is_ok = is_ok
|
||||
instance.save()
|
||||
return instance
|
||||
|
@ -361,6 +364,7 @@ class FtestProcessSerializer(CustomModelSerializer):
|
|||
setattr(ins, k, v)
|
||||
ins.save()
|
||||
is_ok = True
|
||||
defect_main = None
|
||||
has_is_main = False
|
||||
for item2 in ftestdefects:
|
||||
try:
|
||||
|
@ -372,14 +376,17 @@ class FtestProcessSerializer(CustomModelSerializer):
|
|||
ins.save()
|
||||
if ins.is_main:
|
||||
has_is_main = True
|
||||
defect_main = ins.defect
|
||||
if ins.has and ins.defect.okcate in [Defect.DEFECT_NOTOK]:
|
||||
is_ok = False
|
||||
if not has_is_main:
|
||||
ins.is_main = True
|
||||
has_is_main = True
|
||||
defect_main = ins.defect
|
||||
else:
|
||||
ins.is_main = False
|
||||
ins.save()
|
||||
instance.defect_main = defect_main
|
||||
instance.is_ok = is_ok
|
||||
instance.save()
|
||||
return instance
|
Loading…
Reference in New Issue