Merge branch 'master' of http://gitea.xxhhcty.xyz:8080/zcdsj/factory
This commit is contained in:
commit
1ea9ef48a6
|
@ -61,8 +61,7 @@ class WMaterialFilter(filters.FilterSet):
|
||||||
qs = queryset.filter(material__id__in=matoutIds).exclude(state=WMaterial.WM_REPAIR)|queryset.filter(state=WMaterial.WM_REPAIRED, mgroup__id=mgroupId)
|
qs = queryset.filter(material__id__in=matoutIds).exclude(state=WMaterial.WM_REPAIR)|queryset.filter(state=WMaterial.WM_REPAIRED, mgroup__id=mgroupId)
|
||||||
elif value == "canfix":
|
elif value == "canfix":
|
||||||
matoutIds = process.get_canout_mat_ids()
|
matoutIds = process.get_canout_mat_ids()
|
||||||
qs = queryset.filter(state=WMaterial.WM_REPAIR, mgroup__id=mgroupId)| queryset.filter(material__id__in=matoutIds, state=WMaterial.WM_NOTOK).exclude(
|
qs = queryset.filter(state=WMaterial.WM_REPAIR, mgroup__id=mgroupId)| queryset.filter(material__id__in=matoutIds, state=WMaterial.WM_NOTOK)
|
||||||
state=WMaterial.WM_REPAIR).exclude(state=WMaterial.WM_REPAIRED)
|
|
||||||
return qs
|
return qs
|
||||||
else:
|
else:
|
||||||
raise ParseError("请提供工段查询条件")
|
raise ParseError("请提供工段查询条件")
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
from django_filters import rest_framework as filters
|
from django_filters import rest_framework as filters
|
||||||
from apps.wpm.models import (Handoverbw, Mlogbw)
|
from apps.wpm.models import (Handoverbw, Mlogbw, WMaterial)
|
||||||
from apps.inm.models import MIOItemw
|
from apps.inm.models import MIOItemw
|
||||||
from apps.wpmw.models import Wpr
|
from apps.wpmw.models import Wpr
|
||||||
from apps.mtm.models import Route, Material
|
from apps.mtm.models import Route, Material, Mgroup
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from rest_framework.exceptions import ParseError
|
from rest_framework.exceptions import ParseError
|
||||||
|
|
||||||
|
|
||||||
class WprFilter(filters.FilterSet):
|
class WprFilter(filters.FilterSet):
|
||||||
can_use = filters.CharFilter(method='filter_can_use')
|
can_use = filters.CharFilter(method='filter_can_use')
|
||||||
|
mgroupx = filters.CharFilter(label='MgroupId', method='filter_mgroupx')
|
||||||
|
tag = filters.CharFilter(label="todo/done", method="filter_tag")
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Wpr
|
model = Wpr
|
||||||
fields = {
|
fields = {
|
||||||
|
@ -20,6 +22,28 @@ class WprFilter(filters.FilterSet):
|
||||||
"number": ["exact"]
|
"number": ["exact"]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def filter_mgroupx(self, queryset, name, value):
|
||||||
|
return queryset.filter(wm__in=WMaterial.ava_qs(mgroup=Mgroup.objects.get(id=value)))
|
||||||
|
|
||||||
|
def filter_tag(self, queryset, name, value):
|
||||||
|
mgroupId = self.data.get("mgroupx", None)
|
||||||
|
if mgroupId:
|
||||||
|
process = Mgroup.objects.get(id=mgroupId).process
|
||||||
|
|
||||||
|
queryset = queryset.filter(material__type__in=[Material.MA_TYPE_MAINSO, Material.MA_TYPE_HALFGOOD, Material.MA_TYPE_GOOD])
|
||||||
|
if value == "todo":
|
||||||
|
matIds = process.get_canin_mat_ids()
|
||||||
|
qs = queryset.filter(material__id__in=matIds).exclude(state=WMaterial.WM_REPAIRED)|queryset.filter(state=WMaterial.WM_REPAIR, wm__mgroup__id=mgroupId)
|
||||||
|
return qs
|
||||||
|
elif value == "done":
|
||||||
|
matoutIds = process.get_canout_mat_ids()
|
||||||
|
qs = queryset.filter(material__id__in=matoutIds).exclude(state=WMaterial.WM_REPAIR)|queryset.filter(state=WMaterial.WM_REPAIRED, wm__mgroup__id=mgroupId)
|
||||||
|
elif value == "canfix":
|
||||||
|
matoutIds = process.get_canout_mat_ids()
|
||||||
|
qs = queryset.filter(state=WMaterial.WM_REPAIR, wm__mgroup__id=mgroupId)| queryset.filter(material__id__in=matoutIds, state=WMaterial.WM_NOTOK)
|
||||||
|
else:
|
||||||
|
raise ParseError("请提供工段查询条件")
|
||||||
|
|
||||||
def filter_can_use(self, queryset, name, value):
|
def filter_can_use(self, queryset, name, value):
|
||||||
if value == 'yes':
|
if value == 'yes':
|
||||||
# 交接记录
|
# 交接记录
|
||||||
|
|
|
@ -13,6 +13,8 @@ class WprDefectSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
|
|
||||||
class WprSerializer(CustomModelSerializer):
|
class WprSerializer(CustomModelSerializer):
|
||||||
|
wm_batch = serializers.CharField(source="wm.batch", read_only=True)
|
||||||
|
mb_batch = serializers.CharField(source="mb.batch", read_only=True)
|
||||||
material_name = serializers.StringRelatedField(
|
material_name = serializers.StringRelatedField(
|
||||||
source='material', read_only=True)
|
source='material', read_only=True)
|
||||||
wprdefect = WprDefectSerializer(many=True, read_only=True)
|
wprdefect = WprDefectSerializer(many=True, read_only=True)
|
||||||
|
|
Loading…
Reference in New Issue