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.utils import timezone
from django.core.cache import cache from django.core.cache import cache
from django.utils.timezone import localdate 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.wf.serializers import TicketSimpleSerializer
from apps.wpmw.models import Wpr from apps.wpmw.models import Wpr
from apps.qm.serializers import FtestProcessSerializer from apps.qm.serializers import FtestProcessSerializer
@ -588,9 +588,26 @@ class MlogbwCreateUpdateSerializer(CustomModelSerializer):
raise ValidationError('请选择相应产品') raise ValidationError('请选择相应产品')
return attrs 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): def update(self, instance, validated_data):
validated_data.pop("mlogb") 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 MlogbOutUpdateSerializer(CustomModelSerializer):
class Meta: class Meta: