feat: wmaterial添加mlog_date_start筛选条件
This commit is contained in:
parent
725f7d1764
commit
d7c3e92f9e
|
|
@ -4,6 +4,7 @@ from apps.wpm.models import (SfLog, StLog, WMaterial, Mlog, Mlogbw,
|
|||
from apps.mtm.models import Route, Material
|
||||
from django.db.models import Q
|
||||
from rest_framework.exceptions import ParseError
|
||||
from datetime import datetime
|
||||
|
||||
class SfLogFilter(filters.FilterSet):
|
||||
class Meta:
|
||||
|
|
@ -40,6 +41,27 @@ class WMaterialFilter(filters.FilterSet):
|
|||
mtaskx = filters.CharFilter(label='MtaskId', method='filter_mtaskx')
|
||||
route = filters.CharFilter(label='routeId', method='filter_route')
|
||||
material__process__exclude = filters.CharFilter(field_name="material__process", lookup_expr="exact", exclude=True)
|
||||
mlog_date_start = filters.DateFilter(label="产出开始", method="filter_mlog_date_start")
|
||||
mlog_date_end = filters.DateFilter(label="产出结束", method="filter_mlog_date_end")
|
||||
|
||||
def filter_mlog_date_start(self, queryset, name, value):
|
||||
mgroupId = self.data.get("mgroup", None)
|
||||
mgroupxId = self.data.get("mgroupx", None)
|
||||
mgroupId = mgroupId if mgroupId else mgroupxId
|
||||
if mgroupId:
|
||||
pass
|
||||
else:
|
||||
raise ParseError("请提供工段查询条件")
|
||||
if value:
|
||||
mlog_date_start = value
|
||||
mlog_date_end = self.data.get("mlog_date_end", datetime.now().date())
|
||||
return queryset.filter(batch__in=
|
||||
Mlogb.objects.filter(mlog__mgroup__id=mgroupId, material_out__isnull=False,
|
||||
mlog__handle_date__range=(mlog_date_start, mlog_date_end)).values_list("batch", flat=True))
|
||||
return queryset
|
||||
|
||||
def filter_mlog_date_end(self, queryset, name, value):
|
||||
pass
|
||||
|
||||
def filter_mgroupx(self, queryset, name, value):
|
||||
return WMaterial.ava_qs(mgroup=Mgroup.objects.get(id=value), qs=queryset)
|
||||
|
|
|
|||
Loading…
Reference in New Issue