|
|
|
|
@ -131,7 +131,8 @@ class PlacementPointViewSet(ReadOnlyModelViewSet):
|
|
|
|
|
delta_current = self.request.GET.get('delta_current[]')
|
|
|
|
|
rayons = self.request.GET.get('area[]')
|
|
|
|
|
aos = self.request.GET.get('district[]')
|
|
|
|
|
group_dists = self.request.GET.getlist('dist_to_group')
|
|
|
|
|
group_dists_lt = self.request.GET.getlist('dist_to_group__lt')
|
|
|
|
|
group_dists_gt = self.request.GET.getlist('dist_to_group__gt')
|
|
|
|
|
if location_ids:
|
|
|
|
|
location_ids = list(location_ids.split(','))
|
|
|
|
|
qs = qs.filter(pk__in=location_ids)
|
|
|
|
|
@ -181,14 +182,22 @@ class PlacementPointViewSet(ReadOnlyModelViewSet):
|
|
|
|
|
inclded = list(included.split(','))
|
|
|
|
|
qs2 = models.PlacementPoint.objects.filter(pk__in=inclded).all()
|
|
|
|
|
qs = (qs | qs2).distinct()
|
|
|
|
|
if group_dists:
|
|
|
|
|
g_d = [list(g.split(',')) for g in group_dists]
|
|
|
|
|
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))
|
|
|
|
|
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))
|
|
|
|
|
qs = qs.filter(id__in=filtered_points)
|
|
|
|
|
return qs
|
|
|
|
|
|
|
|
|
|
@action(methods=['get'], detail=False)
|
|
|
|
|
|