This commit is contained in:
TianyangZhang 2025-11-25 16:27:28 +08:00
commit ff1e60fc77
4 changed files with 22 additions and 4 deletions

View File

@ -343,6 +343,14 @@ class Ftest(CommonBDModel):
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) defect_main = models.ForeignKey(Defect, verbose_name='主要缺陷', on_delete=models.SET_NULL, null=True, blank=True)
@property
def ftestitems(self):
return FtestItem.objects.filter(ftest=self)
@property
def ftestdefects(self):
return FtestDefect.objects.filter(ftest=self)
@classmethod @classmethod
def init_by_qct(cls, qct, test_user, test_date): def init_by_qct(cls, qct, test_user, test_date):
ftest = Ftest.objects.create(qct=qct, test_user=test_user, test_date=test_date) ftest = Ftest.objects.create(qct=qct, test_user=test_user, test_date=test_date)

View File

@ -347,8 +347,8 @@ class FtestItemProcessSerializer(CustomModelSerializer):
class FtestProcessSerializer(CustomModelSerializer): class FtestProcessSerializer(CustomModelSerializer):
test_user_name = serializers.CharField( test_user_name = serializers.CharField(
source='test_user.name', read_only=True) source='test_user.name', read_only=True)
ftestitems = FtestItemProcessSerializer(source='items_ftest', many=True) ftestitems = FtestItemProcessSerializer(many=True)
ftestdefects = FtestDefectSerializer(source='defects_ftest', many=True) ftestdefects = FtestDefectSerializer(many=True)
class Meta: class Meta:
model = Ftest model = Ftest
@ -431,3 +431,7 @@ class FtestProcessSerializer(CustomModelSerializer):
instance.is_ok = is_ok instance.is_ok = is_ok
instance.save() instance.save()
return instance return instance
class FtestProcessListSerializer(FtestProcessSerializer):
ftestitems = FtestItemProcessSerializer(source='items_ftest', many=True)
ftestdefects = FtestDefectSerializer(source='defects_ftest', many=True)

View File

@ -21,7 +21,7 @@ from django.utils.timezone import localdate
from apps.qm.models import NotOkOption, Qct from apps.qm.models import NotOkOption, Qct
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, FtestProcessListSerializer
import logging import logging
from apps.qm.models import Defect from apps.qm.models import Defect
from apps.utils.snowflake import idWorker from apps.utils.snowflake import idWorker
@ -911,6 +911,9 @@ class MlogbwCreateUpdateSerializer(CustomModelSerializer):
return mlogbw return mlogbw
class MlogbwListSerializer(MlogbwCreateUpdateSerializer):
ftest = FtestProcessListSerializer(read_only=True)
class MlogbwStartTestSerializer(serializers.Serializer): class MlogbwStartTestSerializer(serializers.Serializer):
mlogbw_ids = serializers.ListField(child=serializers.CharField(), label="mlogbwId列表") mlogbw_ids = serializers.ListField(child=serializers.CharField(), label="mlogbwId列表")
test_equip = serializers.CharField(label="测试设备", allow_null=True, required=False, allow_blank=True) test_equip = serializers.CharField(label="测试设备", allow_null=True, required=False, allow_blank=True)

View File

@ -41,6 +41,7 @@ from .serializers import (
FmlogUpdateSerializer, FmlogUpdateSerializer,
BatchStSerializer, BatchStSerializer,
MlogbwCreateUpdateSerializer, MlogbwCreateUpdateSerializer,
MlogbwListSerializer,
HandoverMgroupSerializer, HandoverMgroupSerializer,
MlogListSerializer, MlogListSerializer,
MlogbSerializer, MlogbSerializer,
@ -1074,6 +1075,8 @@ class MlogbwViewSet(CustomModelViewSet):
perms_map = {"get": "*", "post": "mlog.update", "put": "mlog.update", "delete": "mlog.update"} perms_map = {"get": "*", "post": "mlog.update", "put": "mlog.update", "delete": "mlog.update"}
queryset = Mlogbw.objects.all() queryset = Mlogbw.objects.all()
serializer_class = MlogbwCreateUpdateSerializer serializer_class = MlogbwCreateUpdateSerializer
list_serializer_class = MlogbwListSerializer
retrieve_serializer_class = MlogbwListSerializer
filterset_class = MlogbwFilter filterset_class = MlogbwFilter
select_related_fields = ["ftest", "equip", "wpr", "mlogb"] select_related_fields = ["ftest", "equip", "wpr", "mlogb"]
prefetch_related_fields = [ prefetch_related_fields = [