@@ -219,11 +219,13 @@ def get_screen_data(point=None, point_id=None): |
||
| 219 | 219 |
macid__in=macids, |
| 220 | 220 |
status=True, |
| 221 | 221 |
).values('macid', 'temperature', 'updated_at')
|
| 222 |
- temperature_logs = {log.get('macid'): log.get('temperature') or get_old_temperature(point.point_id, log.get('macid')) for log in logs}
|
|
| 223 |
- time_logs = {log.get('macid'): tc.local_string(utc_dt=log.get('updated_at'), format='%m-%d %H:%M') for log in logs}
|
|
| 222 |
+ temperature_logs = {log.get('macid'): log.get('temperature') for log in logs}
|
|
| 223 |
+ time_logs = {log.get('macid'): log.get('updated_at') for log in logs}
|
|
| 224 | 224 |
|
| 225 | 225 |
ipuis = IsolationPointUserInfo.objects.filter(point_id=point.point_id, status=True).values('pk', 'fields', 'observed_days')
|
| 226 |
- ipuis = {info.get('pk'): {'fields': info.get('fields'), 'observed_days': info.get('observed_days')} for info in ipuis}
|
|
| 226 |
+ # ipuis = {info.get('pk'): {'fields': info.get('fields'), 'observed_days': info.get('observed_days')} for info in ipuis}
|
|
| 227 |
+ ipuis_fields = {info.get('pk'): info.get('fields') for info in ipuis}
|
|
| 228 |
+ ipuis_observed_days = {info.get('pk'): info.get('observed_days') for info in ipuis}
|
|
| 227 | 229 |
|
| 228 | 230 |
total_active_eqpt_num = eqpts.count() |
| 229 | 231 |
has_upload_temperature_num = len(temperature_logs) |
@@ -232,8 +234,8 @@ def get_screen_data(point=None, point_id=None): |
||
| 232 | 234 |
eqpts = [{**eqpt.screen_data, **{
|
| 233 | 235 |
'has_upload': eqpt.macid in temperature_logs, |
| 234 | 236 |
'temperature': temperature_logs.get(eqpt.macid, 0), |
| 235 |
- 'observed_days': ipuis.get(eqpt.ipui_pk, {}).get('observed_days', 0),
|
|
| 236 |
- }, **{field.get('key', ''): field.get('value', '') for field in ipuis.get(eqpt.ipui_pk, {}).get('fields', {})}} for eqpt in eqpts]
|
|
| 237 |
+ 'observed_days': ipuis_observed_days.get(eqpt.ipui_pk, 0), |
|
| 238 |
+ }, **{field.get('key', ''): field.get('value', '') for field in ipuis_fields.get(eqpt.ipui_pk, {})}} for eqpt in eqpts]
|
|
| 237 | 239 |
reminds = [{
|
| 238 | 240 |
'name': eqpt.get('name'),
|
| 239 | 241 |
'room': eqpt.get('room'),
|
@@ -256,7 +258,7 @@ def get_screen_data(point=None, point_id=None): |
||
| 256 | 258 |
'phone': eqpt.get('phone', ''),
|
| 257 | 259 |
'sex': eqpt.get('sex', ''),
|
| 258 | 260 |
'age': eqpt.get('age', ''),
|
| 259 |
- 'temperature': eqpt.get('temperature', ''),
|
|
| 261 |
+ 'temperature': eqpt.get('temperature', '') or get_old_temperature(eqpt.get('point_id', ''), eqpt.get('macid', '')),
|
|
| 260 | 262 |
'status': '已上报' if eqpt.get('temperature') else '未上报',
|
| 261 | 263 |
'last_report_time': time_logs.get(eqpt.get('macid', ''), '') if eqpt.get('temperature') else eqpt.get('last_submit_at', ''),
|
| 262 | 264 |
'observed_days': eqpt.get('observed_days', 0),
|
@@ -251,6 +251,7 @@ class ThermometerEquipmentInfo(BaseModelMixin): |
||
| 251 | 251 |
@property |
| 252 | 252 |
def screen_data(self): |
| 253 | 253 |
return {
|
| 254 |
+ 'point_id': self.point_id, |
|
| 254 | 255 |
'macid': self.macid, |
| 255 | 256 |
'remark': self.remark, |
| 256 | 257 |
'last_submit_at': tc.local_string(utc_dt=self.last_submit_at, format='%m-%d %H:%M'), |
@@ -287,6 +288,7 @@ class ThermometerMeasureInfo(BaseModelMixin): |
||
| 287 | 288 |
'macid': self.macid, |
| 288 | 289 |
'sn': self.sn, |
| 289 | 290 |
'temperature': self.temperature, |
| 291 |
+ 'updated_at': tc.local_string(utc_dt=self.updated_at, format='%m-%d %H:%M'), |
|
| 290 | 292 |
} |
| 291 | 293 |
|
| 292 | 294 |
|