feat: wm添加route查询条件
This commit is contained in:
parent
ccac1aea87
commit
c8594aaa99
|
@ -1,7 +1,9 @@
|
|||
from django_filters import rest_framework as filters
|
||||
from apps.wpm.models import (SfLog, StLog, WMaterial, Mlog,
|
||||
Handover, Mgroup, Mlogb, Mtask, BatchSt)
|
||||
from apps.mtm.models import Route
|
||||
from django.db.models import Q
|
||||
from rest_framework.exceptions import ParseError
|
||||
|
||||
class SfLogFilter(filters.FilterSet):
|
||||
class Meta:
|
||||
|
@ -34,6 +36,7 @@ class StLogFilter(filters.FilterSet):
|
|||
class WMaterialFilter(filters.FilterSet):
|
||||
mgroupx = filters.CharFilter(label='MgroupId', method='filter_mgroupx')
|
||||
mtaskx = filters.CharFilter(label='MtaskId', method='filter_mtaskx')
|
||||
route = filters.CharFilter(label='routeId', method='filter_route')
|
||||
|
||||
def filter_mgroupx(self, queryset, name, value):
|
||||
return queryset.filter(mgroup__id=value)|queryset.filter(belong_dept=Mgroup.objects.get(id=value).belong_dept, mgroup=None)
|
||||
|
@ -43,6 +46,13 @@ class WMaterialFilter(filters.FilterSet):
|
|||
if mtask.route and mtask.route.batch_bind:
|
||||
return WMaterial.mat_in_qs(mtask=Mtask.objects.get(id=value), qs=queryset)
|
||||
return queryset
|
||||
|
||||
def filter_route(self, queryset, name, value):
|
||||
try:
|
||||
route = Route.objects.get(id=value)
|
||||
except Route.DoesNotExist:
|
||||
raise ParseError('生产路线不存在!')
|
||||
return queryset.filter(material=route.material_in)|queryset.filter(material__in=route.materials.all())
|
||||
|
||||
class Meta:
|
||||
model = WMaterial
|
||||
|
|
Loading…
Reference in New Issue