From b9ca9b802a381831d99a56ebe3bc424baa3f4697 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 16 May 2025 16:42:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mlogbw=E6=B7=BB=E5=8A=A0wpr=E7=AD=89?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/filters.py | 18 ++++++++++++++++-- apps/wpm/views.py | 4 ++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/apps/wpm/filters.py b/apps/wpm/filters.py index 260bd6ad..aacabe61 100644 --- a/apps/wpm/filters.py +++ b/apps/wpm/filters.py @@ -1,5 +1,5 @@ from django_filters import rest_framework as filters -from apps.wpm.models import (SfLog, StLog, WMaterial, Mlog, +from apps.wpm.models import (SfLog, StLog, WMaterial, Mlog, Mlogbw, Handover, Mgroup, Mlogb, Mtask, BatchSt) from apps.mtm.models import Route from django.db.models import Q @@ -197,4 +197,18 @@ class BatchStFilter(filters.FilterSet): query = Q() for value in v_list: query |= Q(batch__startswith=value) - return queryset.filter(query) \ No newline at end of file + return queryset.filter(query) + + +class MlogbwFilter(filters.FilterSet): + class Meta: + model = Mlogbw + fields = { + "mlogb": ["exact"], + "mlogb__mlog__mgroup": ["exact"], + "mlogb__mlog__submit_time": ["isnull"], + "wpr": ["exact"], + "ftest": ["isnull"], + "ftest__is_ok": ["exact"], + "ftest__defect_main": ["exact"] + } \ No newline at end of file diff --git a/apps/wpm/views.py b/apps/wpm/views.py index 34aa7ce0..7fd67970 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -14,7 +14,7 @@ from apps.mtm.models import Material, Process, Route, Mgroup, RoutePack from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet from apps.utils.mixins import CustomListModelMixin, BulkCreateModelMixin, BulkDestroyModelMixin -from .filters import StLogFilter, SfLogFilter, WMaterialFilter, MlogFilter, HandoverFilter, MlogbFilter, BatchStFilter +from .filters import StLogFilter, SfLogFilter, WMaterialFilter, MlogFilter, HandoverFilter, MlogbFilter, BatchStFilter, MlogbwFilter from .models import (SfLog, SfLogExp, StLog, WMaterial, Mlog, Handover, Mlogb, Mlogbw, AttLog, OtherLog, Fmlog, BatchSt, MlogbDefect, MlogUser, BatchLog) from .serializers import (SflogExpSerializer, SfLogSerializer, StLogSerializer, WMaterialSerializer, @@ -748,7 +748,7 @@ class MlogbwViewSet(CustomModelViewSet): perms_map = {"get": "*", "post": "mlog.update", "put": "mlog.update", "delete": "mlog.update"} queryset = Mlogbw.objects.all() serializer_class = MlogbwCreateUpdateSerializer - filterset_fields = ['mlogb'] + filterset_class = MlogbwFilter ordering = ["number", "create_time"] ordering_fields = ["number", "create_time"]