feat: mlogbw增加质检统计2

This commit is contained in:
caoqianming 2025-01-08 16:34:13 +08:00
parent 5f88433a25
commit 396fcdd7cc
1 changed files with 19 additions and 2 deletions

View File

@ -18,7 +18,7 @@ from django.db import transaction
from django.utils import timezone
from django.core.cache import cache
from django.utils.timezone import localdate
from apps.qm.models import NotOkOption
from apps.qm.models import NotOkOption, Ftest
from apps.wf.serializers import TicketSimpleSerializer
from apps.wpmw.models import Wpr
from apps.qm.serializers import FtestProcessSerializer
@ -588,9 +588,26 @@ class MlogbwCreateUpdateSerializer(CustomModelSerializer):
raise ValidationError('请选择相应产品')
return attrs
def save_ftest(self, mlogbw, ftest_data):
if "id" not in ftest_data:
ftest = FtestProcessSerializer(data=ftest_data).save()
mlogbw.ftest = ftest
mlogbw.save()
else:
FtestProcessSerializer(instance=Ftest.objects.get(id=ftest_data["id"]), data=ftest_data).save()
return mlogbw
@transaction.atomic
def create(self, validated_data):
ftest_data = validated_data.pop("ftest", None)
mlogbw = super().create(validated_data)
return self.save_ftest(mlogbw, ftest_data)
def update(self, instance, validated_data):
validated_data.pop("mlogb")
super().update(instance, validated_data)
ftest_data = validated_data.pop("ftest", None)
mlogbw = super().update(instance, validated_data)
return self.save_ftest(mlogbw, ftest_data)
class MlogbOutUpdateSerializer(CustomModelSerializer):
class Meta: