From 584e5dc5c3d582f49227f4bbaa49dd3dd9a96b4c Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 9 Aug 2023 13:17:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20enstat=20list=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=89=93=E5=B9=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/enm/views.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/apps/enm/views.py b/apps/enm/views.py index e5c720e1..be8c42a9 100644 --- a/apps/enm/views.py +++ b/apps/enm/views.py @@ -69,6 +69,32 @@ class EnStatViewSet(ListModelMixin, CustomGenericViewSet): filterset_class = EnStatFilter ordering = ['mgroup__sort', 'year_s', 'month_s', 'day_s', 'hour'] + def handle_data(self, data): + for i in data: + # imaterial_data = i['imaterial_data'] + # other_cost_data = i['other_cost_data'] + qua_data = i['qua_data'] + equip_elec_data = i['equip_elec_data'] + if qua_data: + for item in qua_data: + i[f'{item["material_name"]}_{item["testitem_name"]}_rate_pass'] = item['rate_pass'] + if equip_elec_data: + for item in equip_elec_data: + i[f'{item["equipment_name"]}_consume_unit'] = item.get('consume_unit', None) + return data + + def list(self, request, *args, **kwargs): + queryset = self.filter_queryset(self.get_queryset()) + + page = self.paginate_queryset(queryset) + if page is not None: + serializer = self.get_serializer(page, many=True) + data = self.handle_data(serializer.data) + return self.get_paginated_response(data) + + serializer = self.get_serializer(queryset, many=True) + data = self.handle_data(serializer.data) + return Response(data) class EnStat2ViewSet(ListModelMixin, CustomGenericViewSet): """