feat: wm 增加 来料/完成 筛选
This commit is contained in:
parent
4f60483a49
commit
f7843621df
|
|
@ -36,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')
|
||||||
|
tag = filters.CharFilter(label="todo/done", method="filter_tag")
|
||||||
mtaskx = filters.CharFilter(label='MtaskId', method='filter_mtaskx')
|
mtaskx = filters.CharFilter(label='MtaskId', method='filter_mtaskx')
|
||||||
route = filters.CharFilter(label='routeId', method='filter_route')
|
route = filters.CharFilter(label='routeId', method='filter_route')
|
||||||
material__process__exclude = filters.CharFilter(field_name="material__process", lookup_expr="exact", exclude=True)
|
material__process__exclude = filters.CharFilter(field_name="material__process", lookup_expr="exact", exclude=True)
|
||||||
|
|
@ -43,6 +44,19 @@ class WMaterialFilter(filters.FilterSet):
|
||||||
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)
|
||||||
|
|
||||||
|
def filter_tag(self, queryset, name, value):
|
||||||
|
mgroup = self.data.get("mgroupx", None)
|
||||||
|
if mgroup:
|
||||||
|
process = Mgroup.objects.get(id=mgroup).process
|
||||||
|
if value == "todo":
|
||||||
|
qs = queryset.filter(material__process=process)|queryset.filter(state=WMaterial.WM_REPAIR)
|
||||||
|
return qs
|
||||||
|
elif value == "done":
|
||||||
|
qs = queryset.exclude(material__process=process)|queryset.filter(state=WMaterial.WM_REPAIRED)
|
||||||
|
return qs
|
||||||
|
else:
|
||||||
|
raise ParseError("请提供工段查询条件")
|
||||||
|
|
||||||
def filter_mtaskx(self, queryset, name, value):
|
def filter_mtaskx(self, queryset, name, value):
|
||||||
mtask = Mtask.objects.get(id=value)
|
mtask = Mtask.objects.get(id=value)
|
||||||
if mtask.route and mtask.route.batch_bind:
|
if mtask.route and mtask.route.batch_bind:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue