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 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,
|
||||||
Handover, Mgroup, Mlogb, Mtask, BatchSt)
|
Handover, Mgroup, Mlogb, Mtask, BatchSt)
|
||||||
|
from apps.mtm.models import Route
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
|
from rest_framework.exceptions import ParseError
|
||||||
|
|
||||||
class SfLogFilter(filters.FilterSet):
|
class SfLogFilter(filters.FilterSet):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
@ -34,6 +36,7 @@ class StLogFilter(filters.FilterSet):
|
||||||
class WMaterialFilter(filters.FilterSet):
|
class WMaterialFilter(filters.FilterSet):
|
||||||
mgroupx = filters.CharFilter(label='MgroupId', method='filter_mgroupx')
|
mgroupx = filters.CharFilter(label='MgroupId', method='filter_mgroupx')
|
||||||
mtaskx = filters.CharFilter(label='MtaskId', method='filter_mtaskx')
|
mtaskx = filters.CharFilter(label='MtaskId', method='filter_mtaskx')
|
||||||
|
route = filters.CharFilter(label='routeId', method='filter_route')
|
||||||
|
|
||||||
def filter_mgroupx(self, queryset, name, value):
|
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)
|
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:
|
if mtask.route and mtask.route.batch_bind:
|
||||||
return WMaterial.mat_in_qs(mtask=Mtask.objects.get(id=value), qs=queryset)
|
return WMaterial.mat_in_qs(mtask=Mtask.objects.get(id=value), qs=queryset)
|
||||||
return 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:
|
class Meta:
|
||||||
model = WMaterial
|
model = WMaterial
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue