@@ -163,31 +163,33 @@ def eqpt_result(request): |
||
| 163 | 163 |
return response(IsolationPointStatusCode.ISOLATIONPOINT_NOT_FOUND) |
| 164 | 164 |
|
| 165 | 165 |
eqpts = ThermometerEquipmentInfo.objects.filter(point_id=point_id, active_status=ThermometerEquipmentInfo.ONLINE, status=True) |
| 166 |
- macids = eqpts.values_list('macid', flat=True)
|
|
| 167 | 166 |
|
| 168 |
- logs = ThermometerMeasureInfo.objects.filter( |
|
| 169 |
- point_id=point_id, |
|
| 170 |
- point_measure_ymd=tc.local_string(format='%Y-%m-%d'), |
|
| 171 |
- point_measure_window=point.previous_measure_window, |
|
| 172 |
- macid__in=macids, |
|
| 173 |
- status=True, |
|
| 174 |
- ).values('macid', 'temperature')
|
|
| 175 |
- logs = {log.get('macid'): log.get('temperature') for log in logs}
|
|
| 176 |
- |
|
| 177 |
- ipuis = IsolationPointUserInfo.objects.filter(point_id=point_id, status=True).values('pk', 'fields')
|
|
| 178 |
- ipuis = {info.get('pk'): info.get('fields') for info in ipuis}
|
|
| 167 |
+ ipuis = IsolationPointUserInfo.objects.filter(point_id=point.point_id, status=True) |
|
| 168 |
+ ipuis = [ipui.data for ipui in ipuis] |
|
| 179 | 169 |
|
| 180 | 170 |
total_active_eqpt_num = eqpts.count() |
| 181 |
- has_upload_temperature_num = len(logs) |
|
| 182 |
- fever_num = len([1 for temperature in logs.values() if temperature > settings.FEVER_TEMPERATURE]) |
|
| 171 |
+ has_upload_temperature_num = len([1 for ipui in ipuis if ipui.get('temperature_has_upload', '') == '已上报'])
|
|
| 172 |
+ fever_num = len([1 for ipui in ipuis if ipui.get('temperature', 0) > settings.FEVER_TEMPERATURE])
|
|
| 173 |
+ |
|
| 174 |
+ ipuis = {ipui.get('pk'): {
|
|
| 175 |
+ 'fields': ipui.get('fields', []),
|
|
| 176 |
+ 'observed_days': ipui.get('observed_days', 0),
|
|
| 177 |
+ 'temperature_has_upload': ipui.get('temperature_has_upload', False),
|
|
| 178 |
+ 'temperature': ipui.get('temperature', 0),
|
|
| 179 |
+ 'last_submit_at': ipui.get('last_submit_at', ''),
|
|
| 180 |
+ 'remark': ipui.get('remark', ''),
|
|
| 181 |
+ } for ipui in ipuis} |
|
| 183 | 182 |
|
| 184 | 183 |
if kw: |
| 185 | 184 |
eqpts = eqpts.filter(Q(name__icontains=kw) | Q(phone__icontains=kw)) |
| 186 | 185 |
eqpts, left = pagination(eqpts, page, num) |
| 187 | 186 |
eqpts = [{**eqpt.data, **{
|
| 188 |
- 'has_upload': eqpt.macid in logs, |
|
| 189 |
- 'temperature': logs.get(eqpt.macid, 0), |
|
| 190 |
- 'fields': ipuis.get(eqpt.ipui_pk, {}),
|
|
| 187 |
+ 'has_upload': ipuis.get(eqpt.ipui_pk, {}).get('temperature_has_upload', 0),
|
|
| 188 |
+ 'temperature': ipuis.get(eqpt.ipui_pk, {}).get('temperature', 0),
|
|
| 189 |
+ 'observed_days': ipuis.get(eqpt.ipui_pk, {}).get('observed_days', 0),
|
|
| 190 |
+ 'last_submit_at': ipuis.get(eqpt.ipui_pk, {}).get('last_submit_at', ''),
|
|
| 191 |
+ 'remark': ipuis.get(eqpt.ipui_pk, {}).get('remark', ''),
|
|
| 192 |
+ 'fields': ipuis.get(eqpt.ipui_pk, {}).get('fields', []),
|
|
| 191 | 193 |
}} for eqpt in eqpts] |
| 192 | 194 |
|
| 193 | 195 |
return response(data={
|
@@ -208,41 +210,24 @@ def get_screen_data(point=None, point_id=None): |
||
| 208 | 210 |
return {}
|
| 209 | 211 |
|
| 210 | 212 |
eqpts = ThermometerEquipmentInfo.objects.filter(point_id=point.point_id, active_status=ThermometerEquipmentInfo.ONLINE, status=True) |
| 211 |
- # macids = eqpts.values_list('macid', flat=True)
|
|
| 212 |
- # |
|
| 213 |
- # logs = ThermometerMeasureInfo.objects.filter( |
|
| 214 |
- # point_id=point.point_id, |
|
| 215 |
- # point_measure_ymd=tc.local_string(format='%Y-%m-%d'), |
|
| 216 |
- # point_measure_window=point.previous_measure_window, |
|
| 217 |
- # macid__in=macids, |
|
| 218 |
- # status=True, |
|
| 219 |
- # ).values('macid', 'temperature', 'updated_at')
|
|
| 220 |
- # temperature_logs = {log.get('macid'): log.get('temperature') for log in logs}
|
|
| 221 |
- # time_logs = {log.get('macid'): tc.local_string(utc_dt=log.get('updated_at'), format='%m-%d %H:%M') for log in logs}
|
|
| 222 | 213 |
|
| 223 | 214 |
ipuis = IsolationPointUserInfo.objects.filter(point_id=point.point_id, status=True) |
| 224 | 215 |
ipuis = [ipui.data for ipui in ipuis] |
| 225 | 216 |
|
| 226 | 217 |
total_active_eqpt_num = eqpts.count() |
| 227 |
- # has_upload_temperature_num = len(temperature_logs) |
|
| 228 |
- # fever_num = len([1 for temperature in temperature_logs.values() if temperature > settings.FEVER_TEMPERATURE]) |
|
| 229 | 218 |
has_upload_temperature_num = len([1 for ipui in ipuis if ipui.get('temperature_has_upload', '') == '已上报'])
|
| 230 | 219 |
fever_num = len([1 for ipui in ipuis if ipui.get('temperature', 0) > settings.FEVER_TEMPERATURE])
|
| 231 | 220 |
|
| 232 |
- # ipuis_fields = {info.get('pk'): info.get('fields') for info in ipuis}
|
|
| 233 |
- # ipuis_observed_days = {info.get('pk'): info.get('observed_days') for info in ipuis}
|
|
| 234 | 221 |
ipuis = {ipui.get('pk'): {
|
| 235 |
- 'fields': ipui.get('fields'),
|
|
| 236 |
- 'observed_days': ipui.get('observed_days'),
|
|
| 237 |
- 'temperature_has_upload': ipui.get('temperature_has_upload'),
|
|
| 238 |
- 'temperature': ipui.get('temperature'),
|
|
| 239 |
- 'last_submit_at': ipui.get('last_submit_at'),
|
|
| 240 |
- 'remark': ipui.get('remark'),
|
|
| 222 |
+ 'fields': ipui.get('fields', []),
|
|
| 223 |
+ 'observed_days': ipui.get('observed_days', 0),
|
|
| 224 |
+ 'temperature_has_upload': ipui.get('temperature_has_upload', False),
|
|
| 225 |
+ 'temperature': ipui.get('temperature', 0),
|
|
| 226 |
+ 'last_submit_at': ipui.get('last_submit_at', ''),
|
|
| 227 |
+ 'remark': ipui.get('remark', ''),
|
|
| 241 | 228 |
} for ipui in ipuis} |
| 242 | 229 |
|
| 243 | 230 |
eqpts = [{**eqpt.screen_data, **{
|
| 244 |
- # 'has_upload': eqpt.macid in temperature_logs, |
|
| 245 |
- # 'temperature': temperature_logs.get(eqpt.macid, 0), |
|
| 246 | 231 |
'has_upload': ipuis.get(eqpt.ipui_pk, {}).get('temperature_has_upload', 0),
|
| 247 | 232 |
'temperature': ipuis.get(eqpt.ipui_pk, {}).get('temperature', 0),
|
| 248 | 233 |
'observed_days': ipuis.get(eqpt.ipui_pk, {}).get('observed_days', 0),
|
@@ -264,11 +249,8 @@ def get_screen_data(point=None, point_id=None): |
||
| 264 | 249 |
'sex': eqpt.get('sex', ''),
|
| 265 | 250 |
'age': eqpt.get('age', ''),
|
| 266 | 251 |
'status': eqpt.get('has_upload'),
|
| 267 |
- # 'status': '已上报' if eqpt.get('temperature') else '未上报',
|
|
| 268 | 252 |
'last_report_time': eqpt.get('last_submit_at', ''),
|
| 269 |
- # 'last_report_time': time_logs.get(eqpt.get('macid', ''), '') if eqpt.get('temperature') else eqpt.get('last_submit_at', ''),
|
|
| 270 | 253 |
'temperature': eqpt.get('temperature', 0),
|
| 271 |
- # 'temperature': eqpt.get('temperature', '') or get_old_temperature(eqpt.get('point_id', ''), eqpt.get('macid', '')),
|
|
| 272 | 254 |
'observed_days': eqpt.get('observed_days', 0),
|
| 273 | 255 |
} for eqpt in eqpts] |
| 274 | 256 |
|
@@ -20,7 +20,7 @@ class IsolationPointUserInfoAdmin(admin.ModelAdmin): |
||
| 20 | 20 |
|
| 21 | 21 |
|
| 22 | 22 |
class ThermometerEquipmentInfoAdmin(ReadOnlyModelAdmin, admin.ModelAdmin): |
| 23 |
- list_display = ('eqpt_id', 'point_id', 'macid', 'sn', 'active_status', 'active_at', 'ipui_pk', 'name', 'sex', 'birth_stamp', 'age', 'phone', 'status', 'updated_at', 'created_at')
|
|
| 23 |
+ list_display = ('eqpt_id', 'point_id', 'macid', 'sn', 'active_status', 'active_at', 'ipui_pk', 'status', 'updated_at', 'created_at')
|
|
| 24 | 24 |
list_filter = ('point_id', 'status')
|
| 25 | 25 |
|
| 26 | 26 |
|
@@ -182,7 +182,7 @@ class IsolationPointUserInfo(BaseModelMixin): |
||
| 182 | 182 |
'temperature_has_upload': self.temperature_has_upload, |
| 183 | 183 |
'temperature': self.temperature, |
| 184 | 184 |
'last_submit_at': tc.local_string(utc_dt=self.last_submit_at, format='%m-%d %H:%M') if self.last_submit_at else '', |
| 185 |
- 'remark': self.remark, |
|
| 185 |
+ 'remark': self.remark or '', |
|
| 186 | 186 |
} |
| 187 | 187 |
|
| 188 | 188 |
|
@@ -253,16 +253,17 @@ class ThermometerEquipmentInfo(BaseModelMixin): |
||
| 253 | 253 |
'active_status': self.active_status, |
| 254 | 254 |
'active_status_str': dict(self.ACTIVE_STATUE_TUPLE).get(self.active_status, ''), |
| 255 | 255 |
'active_at': tc.local_string(utc_dt=self.active_at), |
| 256 |
- 'name': self.name or '', |
|
| 257 |
- 'sex': self.sex, |
|
| 258 |
- 'sex_str': dict(SexModelMixin.SEX_TUPLE).get(self.sex, ''), |
|
| 259 |
- 'age': self.age or '', |
|
| 260 |
- 'phone': self.phone or '', |
|
| 261 |
- 'remark': self.remark or '', |
|
| 262 |
- 'last_submit_at': tc.local_string(utc_dt=self.last_submit_at) if self.last_submit_at else '', |
|
| 263 |
- 'eqpt_register_status': self.eqpt_register_status, |
|
| 264 |
- 'eqpt_register_status_str': dict(self.REGISTER_STATUE_TUPLE).get(self.eqpt_register_status, ''), |
|
| 265 |
- 'eqpt_register_result': self.eqpt_register_result, |
|
| 256 |
+ 'ipui_pk': self.ipui_pk, |
|
| 257 |
+ # 'name': self.name or '', |
|
| 258 |
+ # 'sex': self.sex, |
|
| 259 |
+ # 'sex_str': dict(SexModelMixin.SEX_TUPLE).get(self.sex, ''), |
|
| 260 |
+ # 'age': self.age or '', |
|
| 261 |
+ # 'phone': self.phone or '', |
|
| 262 |
+ # 'remark': self.remark or '', |
|
| 263 |
+ # 'last_submit_at': tc.local_string(utc_dt=self.last_submit_at) if self.last_submit_at else '', |
|
| 264 |
+ # 'eqpt_register_status': self.eqpt_register_status, |
|
| 265 |
+ # 'eqpt_register_status_str': dict(self.REGISTER_STATUE_TUPLE).get(self.eqpt_register_status, ''), |
|
| 266 |
+ # 'eqpt_register_result': self.eqpt_register_result, |
|
| 266 | 267 |
'created_at': tc.local_string(utc_dt=self.created_at), |
| 267 | 268 |
} |
| 268 | 269 |
|