更新各个页面的父组织数据显示

This commit is contained in:
vijay-huang 2022-10-06 12:06:18 +08:00
parent 395e680461
commit 63606ea1a7
1 changed files with 21 additions and 4 deletions

View File

@ -46,7 +46,10 @@ class DeviceLogListAPIView(ListAPIView, RoleMixin, DeviceListMixin):
queryset = DeviceCount.objects.get_queryset().order_by('-data_time') queryset = DeviceCount.objects.get_queryset().order_by('-data_time')
if 'staff' in user_roles or 'manager' in user_roles: if 'staff' in user_roles or 'manager' in user_roles:
device_list = self.get_device_list() device_list = self.get_device_list()
device_ids = [query.device_id for query in device_list if query.org == self.request.user.org] child = self.request.user.get_child()
device_ids = [query.device_id
for query in device_list
if query.org == self.request.user.org or query.org.id in child]
queryset = queryset.filter(device_id__in=device_ids) queryset = queryset.filter(device_id__in=device_ids)
if device: if device:
# device_id or device_name # device_id or device_name
@ -158,8 +161,14 @@ class LatestStatisticAPIView(APIView, RoleMixin):
user_roles = self.get_role() user_roles = self.get_role()
queryset = DeviceInfo.objects.get_queryset().order_by('-online') queryset = DeviceInfo.objects.get_queryset().order_by('-online')
if 'staff' in user_roles or 'manager' in user_roles: if 'staff' in user_roles or 'manager' in user_roles:
device_ids = [query.device_id for query in queryset if query.org == self.request.user.org] #device_ids = [query.device_id for query in queryset if query.org == self.request.user.org]
#queryset = queryset.filter(device_id__in=device_ids)
child = self.request.user.get_child()
device_ids = [query.device_id
for query in queryset
if query.org == self.request.user.org or query.org.id in child]
queryset = queryset.filter(device_id__in=device_ids) queryset = queryset.filter(device_id__in=device_ids)
return queryset return queryset
@ -199,7 +208,11 @@ class LatestDailyListAPIView(ListAPIView, RoleMixin, DeviceListMixin):
results = resp.data['results'] results = resp.data['results']
if 'staff' in user_roles or 'manager' in user_roles: if 'staff' in user_roles or 'manager' in user_roles:
devices = self.get_device_list() devices = self.get_device_list()
device_ids = [device.device_id for device in devices if device.org == self.request.user.org] #device_ids = [device.device_id for device in devices if device.org == self.request.user.org]
child = self.request.user.get_child()
device_ids = [query.device_id
for query in devices
if query.org == self.request.user.org or query.org.id in child]
device_daily_qs = DevicePostStatistic.objects.filter(device_id__in=device_ids) device_daily_qs = DevicePostStatistic.objects.filter(device_id__in=device_ids)
for item in results: for item in results:
date = item['date'] date = item['date']
@ -231,7 +244,11 @@ class DeviceDailyListAPIView(ListAPIView, RoleMixin, DeviceListMixin):
if 'staff' in user_roles or 'manager' in user_roles: if 'staff' in user_roles or 'manager' in user_roles:
devices = self.get_device_list() devices = self.get_device_list()
device_ids = [device.device_id for device in devices if device.org == self.request.user.org] #device_ids = [device.device_id for device in devices if device.org == self.request.user.org]
child = self.request.user.get_child()
device_ids = [query.device_id
for query in devices
if query.org == self.request.user.org or query.org.id in child]
queryset = queryset.filter(device_id__in=device_ids) queryset = queryset.filter(device_id__in=device_ids)
if device_id: if device_id: