:art: ignore_fever_temperature

huangqimin001 %!s(int64=3) %!d(string=hace) años
padre
commit
4e4e26c00b

+ 6 - 4
api/eqpt_views.py

@@ -324,17 +324,18 @@ def mqtt_upload_temperature(payload):
324 324
     if temperature > 37 and get_charging_delta_stamp(macid) < 1800:
325 325
         ignore_temperature = True
326 326
     # 过去10分钟连续大于37.3度再取最高温度
327
-    if temperature > settings.FEVER_TEMPERATURE:
327
+    ignore_fever_temperature = True
328
+    if not ignore_temperature and temperature > settings.FEVER_TEMPERATURE:
328 329
         delta_stamp = get_fever_delta_stamp(macid)
329 330
         # 首次超过37.3
330 331
         if not delta_stamp:
331 332
             set_fever_stamp(macid)
332
-            ignore_temperature = True
333
+            ignore_fever_temperature = True
333 334
         # 连续10分钟超过37.3
334 335
         elif delta_stamp > 600:
335 336
             pass
336 337
         else:
337
-            ignore_temperature = True
338
+            ignore_fever_temperature = True
338 339
     else:
339 340
         del_fever_stamp(macid)
340 341
 
@@ -352,7 +353,7 @@ def mqtt_upload_temperature(payload):
352 353
     except IsolationPointInfo.DoesNotExist:
353 354
         return
354 355
 
355
-    ThermometerMeasureLogInfo.objects.create(point_id=eqpt.point_id, macid=macid, start_stamp=start_stamp, end_stamp=end_stamp, temperature=temperature, temperature_src=ThermometerMeasureLogInfo.MQTT, chg_sta=chg_sta, ignore_temperature=ignore_temperature, upload_temperature_info=payload)
356
+    ThermometerMeasureLogInfo.objects.create(point_id=eqpt.point_id, macid=macid, start_stamp=start_stamp, end_stamp=end_stamp, temperature=temperature, temperature_src=ThermometerMeasureLogInfo.MQTT, chg_sta=chg_sta, ignore_temperature=ignore_temperature, ignore_fever_temperature=ignore_fever_temperature, upload_temperature_info=payload)
356 357
 
357 358
     try:
358 359
         ipui = IsolationPointUserInfo.objects.get(pk=eqpt.ipui_pk)
@@ -365,6 +366,7 @@ def mqtt_upload_temperature(payload):
365 366
                 macid=macid,
366 367
                 chg_sta=False,
367 368
                 ignore_temperature=False,
369
+                ignore_fever_temperature=False,
368 370
                 created_at__gte=tc.utc_datetime(hours=-1),
369 371
             ).aggregate(Max('temperature')).get('temperature__max') or 0
370 372
             ipui.observed_ymds = list(set(ipui.observed_ymds + [tc.local_string(format='%Y-%m-%d')]))

+ 2 - 2
equipment/admin.py

@@ -25,8 +25,8 @@ class ThermometerEquipmentInfoAdmin(ReadOnlyModelAdmin, admin.ModelAdmin):
25 25
 
26 26
 
27 27
 class ThermometerMeasureLogInfoAdmin(ReadOnlyModelAdmin, admin.ModelAdmin):
28
-    list_display = ('point_id', 'macid', 'sn', 'start_stamp', 'end_stamp', 'temperature_src', 'temperature', 'chg_sta', 'ignore_temperature', 'status', 'updated_at', 'created_at')
29
-    list_filter = ('point_id', 'temperature_src', 'status')
28
+    list_display = ('point_id', 'macid', 'sn', 'start_stamp', 'end_stamp', 'temperature_src', 'temperature', 'chg_sta', 'ignore_temperature', 'ignore_fever_temperature', 'status', 'updated_at', 'created_at')
29
+    list_filter = ('point_id', 'temperature_src', 'chg_sta', 'ignore_temperature', 'ignore_fever_temperature', 'status')
30 30
 
31 31
 
32 32
 admin.site.register(IsolationPointFieldPoolInfo, IsolationPointFieldPoolInfoAdmin)

+ 18 - 0
equipment/migrations/0022_thermometermeasureloginfo_ignore_fever_temperature.py

@@ -0,0 +1,18 @@
1
+# Generated by Django 3.2.6 on 2021-08-23 05:47
2
+
3
+from django.db import migrations, models
4
+
5
+
6
+class Migration(migrations.Migration):
7
+
8
+    dependencies = [
9
+        ('equipment', '0021_auto_20210821_2258'),
10
+    ]
11
+
12
+    operations = [
13
+        migrations.AddField(
14
+            model_name='thermometermeasureloginfo',
15
+            name='ignore_fever_temperature',
16
+            field=models.BooleanField(default=False, help_text='是否忽略高度', verbose_name='ignore_fever_temperature'),
17
+        ),
18
+    ]

+ 1 - 0
equipment/models.py

@@ -213,6 +213,7 @@ class ThermometerMeasureLogInfo(BaseModelMixin):
213 213
 
214 214
     chg_sta = models.BooleanField(_(u'chg_sta'), default=False, help_text='充电状态,true 充电,false 未充电')
215 215
     ignore_temperature = models.BooleanField(_(u'ignore_temperature'), default=False, help_text='是否忽略温度')
216
+    ignore_fever_temperature = models.BooleanField(_(u'ignore_fever_temperature'), default=False, help_text='是否忽略高度')
216 217
 
217 218
     upload_temperature_info = models.TextField(_('upload_temperature_info'), blank=True, null=True, help_text='测温结果上传信息')
218 219