|
|
|
|
@ -115,6 +115,7 @@ class PlacementPointViewSet(ReadOnlyModelViewSet):
|
|
|
|
|
return fieldset
|
|
|
|
|
|
|
|
|
|
def get_queryset(self):
|
|
|
|
|
basename = self.request.parser_context['view'].basename
|
|
|
|
|
qs = self.queryset.all().order_by('id')
|
|
|
|
|
location_ids = self.request.GET.get('location_ids[]')
|
|
|
|
|
prediction_first = self.request.GET.get('prediction_first[]')
|
|
|
|
|
@ -186,18 +187,30 @@ class PlacementPointViewSet(ReadOnlyModelViewSet):
|
|
|
|
|
if group_dists_lt:
|
|
|
|
|
g_d = [list(g.split(',')) for g in group_dists_lt]
|
|
|
|
|
for group in g_d:
|
|
|
|
|
filtered_points = list(
|
|
|
|
|
models.PlacementPointPVZDistance.objects.filter(pvz_postamates_group__id=int(group[0]),
|
|
|
|
|
dist__lt=int(group[1])).values_list(
|
|
|
|
|
'placement_point__id', flat=True))
|
|
|
|
|
if basename=='preplacementpoint':
|
|
|
|
|
filtered_points = list(
|
|
|
|
|
models.PrePlacementPointPVZDistance.objects.filter(pvz_postamates_group__id=int(group[0]),
|
|
|
|
|
dist__lt=int(group[1])).values_list(
|
|
|
|
|
'placement_point__id', flat=True))
|
|
|
|
|
else:
|
|
|
|
|
filtered_points = list(
|
|
|
|
|
models.PlacementPointPVZDistance.objects.filter(pvz_postamates_group__id=int(group[0]),
|
|
|
|
|
dist__lt=int(group[1])).values_list(
|
|
|
|
|
'placement_point__id', flat=True))
|
|
|
|
|
qs = qs.filter(id__in=filtered_points)
|
|
|
|
|
if group_dists_gt:
|
|
|
|
|
g_d = [list(g.split(',')) for g in group_dists_gt]
|
|
|
|
|
for group in g_d:
|
|
|
|
|
filtered_points = list(
|
|
|
|
|
models.PlacementPointPVZDistance.objects.filter(pvz_postamates_group__id=int(group[0]),
|
|
|
|
|
dist__gt=int(group[1])).values_list(
|
|
|
|
|
'placement_point__id', flat=True))
|
|
|
|
|
if basename=='preplacementpoint':
|
|
|
|
|
filtered_points = list(
|
|
|
|
|
models.PrePlacementPointPVZDistance.objects.filter(pvz_postamates_group__id=int(group[0]),
|
|
|
|
|
dist__gt=int(group[1])).values_list(
|
|
|
|
|
'placement_point__id', flat=True))
|
|
|
|
|
else:
|
|
|
|
|
filtered_points = list(
|
|
|
|
|
models.PlacementPointPVZDistance.objects.filter(pvz_postamates_group__id=int(group[0]),
|
|
|
|
|
dist__gt=int(group[1])).values_list(
|
|
|
|
|
'placement_point__id', flat=True))
|
|
|
|
|
qs = qs.filter(id__in=filtered_points)
|
|
|
|
|
return qs
|
|
|
|
|
|
|
|
|
|
|