feat: wpr增加can_use筛选条件2

This commit is contained in:
caoqianming 2025-08-07 10:05:33 +08:00
parent aa72953d17
commit a42d48775c
1 changed files with 14 additions and 3 deletions

View File

@ -23,10 +23,21 @@ class WprFilter(filters.FilterSet):
def filter_can_use(self, queryset, name, value):
if value == 'yes':
# 交接记录
handoverws = Handoverbw.objects.filter(handoverb__handover__submit_time__isnull=True).values_list('wpr__id', flat=True)
handoverws = Handoverbw.objects.filter(handoverb__handover__submit_time__isnull=True)
if self.data.get("wm"):
handoverws = handoverws.filter(handoverb__wm=self.data.get("wm"))
handoverws = handoverws.values_list('wpr__id', flat=True)
# 生产日志
mlogbws = Mlogbw.objects.filter(mlogb__mlog__submit_time__isnull=True).values_list('wpr__id', flat=True)
mlogbws = Mlogbw.objects.filter(mlogb__mlog__submit_time__isnull=True)
if self.data.get("wm"):
mlogbws = mlogbws.filter(mlogb__wm_in=self.data.get("wm"))
mlogbws = mlogbws.values_list('wpr__id', flat=True)
# 出入库记录
mioitemws = MIOItemw.objects.filter(mioitem__mio__submit_time__isnull=True).values_list('wpr__id', flat=True)
mioitemws = MIOItemw.objects.filter(mioitem__mio__submit_time__isnull=True)
if self.data.get("wm"):
mioitemws = mioitemws.filter(mioitem__wm=self.data.get("wm"))
if self.data.get("mb"):
mioitemws = mioitemws.filter(mioitem__mb=self.data.get("mb"))
mioitemws = mioitemws.values_list('wpr__id', flat=True)
return queryset.exclude(id__in=handoverws).exclude(id__in=mlogbws).exclude(id__in=mioitemws)
return queryset