get_screen_data 切换至以用户为基准

FFIB 3 年之前
父节点
当前提交
c18d029e99
共有 1 个文件被更改,包括 37 次插入31 次删除
  1. 37 31
      api/eqpt_views.py

+ 37 - 31
api/eqpt_views.py

@@ -178,50 +178,56 @@ def get_screen_data(point=None, point_id=None):
178 178
         except IsolationPointInfo.DoesNotExist:
179 179
             return {}
180 180
 
181
-    eqpts = ThermometerEquipmentInfo.objects.filter(point_id=point.point_id, active_status=ThermometerEquipmentInfo.ONLINE, status=True)
181
+    # eqpts = ThermometerEquipmentInfo.objects.filter(point_id=point.point_id, active_status=ThermometerEquipmentInfo.ONLINE, status=True)
182 182
 
183 183
     ipuis = IsolationPointUserInfo.objects.filter(point_id=point.point_id, status=True)
184
-    ipuis = [ipui.data for ipui in ipuis]
184
+    total_active_eqpt_num = ipuis.count()
185 185
 
186
-    total_active_eqpt_num = eqpts.count()
186
+    ipuis = [{**ipui.data, **{
187
+        field.get('key', ''): field.get('value', '') for field in ipui.fields }} for ipui in ipuis]
188
+
189
+    
187 190
     has_upload_temperature_num = len([1 for ipui in ipuis if ipui.get('temperature_has_upload', '') == IsolationPointUserInfo.HAS_YET_UPLOAD])
188 191
     fever_num = len([1 for ipui in ipuis if ipui.get('temperature', 0) > settings.FEVER_TEMPERATURE and ipui.get('temperature_has_upload') == IsolationPointUserInfo.HAS_YET_UPLOAD])
189 192
 
190
-    ipuis = {ipui.get('pk'): {
191
-        'fields': ipui.get('fields', []),
192
-        'observed_days': ipui.get('observed_days', 0),
193
-        'user_status': ipui.get('user_status', ''),
194
-        'temperature': ipui.get('temperature', 0),
195
-        'last_submit_at': ipui.get('last_submit_at', ''),
196
-        'remark': ipui.get('remark', ''),
197
-    } for ipui in ipuis}
193
+    # ipuis = {ipui.get('pk'): {
194
+    #     'fields': ipui.get('fields', []),
195
+    #     'observed_days': ipui.get('observed_days', 0),
196
+    #     'user_status': ipui.get('user_status', ''),
197
+    #     'temperature': ipui.get('temperature', 0),
198
+    #     'last_submit_at': ipui.get('last_submit_at', ''),
199
+    #     'remark': ipui.get('remark', ''),
200
+    # } for ipui in ipuis}
201
+
202
+    eqpts = ipuis
203
+
204
+    # eqpts = [{**{
205
+    #     'user_status': ipuis.get(eqpt.ipui_pk, {}).get('user_status', ''),
206
+    #     'temperature': ipuis.get(eqpt.ipui_pk, {}).get('temperature', 0),
207
+    #     'observed_days': ipuis.get(eqpt.ipui_pk, {}).get('observed_days', 0),
208
+    #     'last_submit_at': ipuis.get(eqpt.ipui_pk, {}).get('last_submit_at', ''),
209
+    #     'remark': ipuis.get(eqpt.ipui_pk, {}).get('remark', ''),
210
+    # }, **{
211
+    #     field.get('key', ''): field.get('value', '') for field in ipuis.get(eqpt.ipui_pk, {}).get('fields', [])
212
+    # }} for eqpt in eqpts]
198 213
 
199
-    eqpts = [{**eqpt.screen_data, **{
200
-        'user_status': ipuis.get(eqpt.ipui_pk, {}).get('user_status', ''),
201
-        'temperature': ipuis.get(eqpt.ipui_pk, {}).get('temperature', 0),
202
-        'observed_days': ipuis.get(eqpt.ipui_pk, {}).get('observed_days', 0),
203
-        'last_submit_at': ipuis.get(eqpt.ipui_pk, {}).get('last_submit_at', ''),
204
-        'remark': ipuis.get(eqpt.ipui_pk, {}).get('remark', ''),
205
-    }, **{
206
-        field.get('key', ''): field.get('value', '') for field in ipuis.get(eqpt.ipui_pk, {}).get('fields', [])
207
-    }} for eqpt in eqpts]
208 214
     reminds = [{
209 215
         'name': eqpt.get('name'),
210 216
         'room': eqpt.get('room'),
211 217
         'content': eqpt.get('remark'),
212 218
     } for eqpt in eqpts if eqpt.get('remark')]
213 219
 
214
-    eqpts = [{
215
-        'name': eqpt.get('name', ''),
216
-        'room': eqpt.get('room', ''),
217
-        'phone': eqpt.get('phone', ''),
218
-        'sex': eqpt.get('sex', ''),
219
-        'age': eqpt.get('age', ''),
220
-        'status': eqpt.get('user_status'),
221
-        'last_report_time': eqpt.get('last_submit_at', ''),
222
-        'temperature': eqpt.get('temperature', 0),
223
-        'observed_days': eqpt.get('observed_days', 0),
224
-    } for eqpt in eqpts]
220
+    # eqpts = [{
221
+    #     'name': eqpt.get('name', ''),
222
+    #     'room': eqpt.get('room', ''),
223
+    #     'phone': eqpt.get('phone', ''),
224
+    #     'sex': eqpt.get('sex', ''),
225
+    #     'age': eqpt.get('age', ''),
226
+    #     'status': eqpt.get('user_status'),
227
+    #     'last_report_time': eqpt.get('last_submit_at', ''),
228
+    #     'temperature': eqpt.get('temperature', 0),
229
+    #     'observed_days': eqpt.get('observed_days', 0),
230
+    # } for eqpt in eqpts]
225 231
 
226 232
     # 排序:发烧 > 未联网 > 关机 > 未佩戴 > 充电中 > 时间
227 233
     eqpts_fever = []