筛选最高温度时,过滤掉冲掉状态

FFIB 3 ans auparavant
Parent
Commettre
bcad00a825
4 fichiers modifiés avec 40 ajouts et 8 suppressions
  1. 3 2
      api/eqpt_views.py
  2. 1 1
      equipment/admin.py
  3. 34 0
      equipment/migrations/0019_auto_20210818_1731.py
  4. 2 5
      equipment/models.py

+ 3 - 2
api/eqpt_views.py

@@ -327,7 +327,7 @@ def mqtt_upload_temperature(payload):
327 327
     except IsolationPointInfo.DoesNotExist:
328 328
         return
329 329
 
330
-    ThermometerMeasureLogInfo.objects.create(point_id=eqpt.point_id, macid=macid, start_stamp=start_stamp, end_stamp=end_stamp, temperature=temperature, temperature_src=ThermometerMeasureLogInfo.MQTT, upload_temperature_info=payload)
330
+    ThermometerMeasureLogInfo.objects.create(point_id=eqpt.point_id, macid=macid, start_stamp=start_stamp, end_stamp=end_stamp, temperature=temperature, temperature_src=ThermometerMeasureLogInfo.MQTT, upload_temperature_info=payload, chg_sta=chg_sta)
331 331
 
332 332
     try:
333 333
         ipui = IsolationPointUserInfo.objects.get(pk=eqpt.ipui_pk)
@@ -338,7 +338,8 @@ def mqtt_upload_temperature(payload):
338 338
             temperature__max = ThermometerMeasureLogInfo.objects.filter(
339 339
                 point_id=eqpt.point_id,
340 340
                 macid=macid,
341
-                created_at__lte=tc.utc_datetime(hours=-1),
341
+                chg_sta=False,
342
+                created_at__gte=tc.utc_datetime(hours=-1),
342 343
             ).aggregate(Max('temperature')).get('temperature__max') or 0
343 344
             ipui.observed_ymds = list(set(ipui.observed_ymds + [tc.local_string(format='%Y-%m-%d')]))
344 345
             ipui.observed_days = len(ipui.observed_ymds)

+ 1 - 1
equipment/admin.py

@@ -25,7 +25,7 @@ class ThermometerEquipmentInfoAdmin(ReadOnlyModelAdmin, admin.ModelAdmin):
25 25
 
26 26
 
27 27
 class ThermometerMeasureLogInfoAdmin(ReadOnlyModelAdmin, admin.ModelAdmin):
28
-    list_display = ('point_id', 'macid', 'sn', 'name', 'sex', 'birth_stamp', 'phone', 'start_stamp', 'end_stamp', 'temperature', 'temperature_src', 'status', 'updated_at', 'created_at')
28
+    list_display = ('point_id', 'macid', 'sn', 'chg_sta', 'start_stamp', 'end_stamp', 'temperature', 'temperature_src', 'status', 'updated_at', 'created_at')
29 29
     list_filter = ('point_id', 'temperature_src', 'status')
30 30
 
31 31
 

+ 34 - 0
equipment/migrations/0019_auto_20210818_1731.py

@@ -0,0 +1,34 @@
1
+# Generated by Django 2.2.15 on 2021-08-18 09:31
2
+
3
+from django.db import migrations, models
4
+
5
+
6
+class Migration(migrations.Migration):
7
+
8
+    dependencies = [
9
+        ('equipment', '0018_auto_20210818_1022'),
10
+    ]
11
+
12
+    operations = [
13
+        migrations.RemoveField(
14
+            model_name='thermometermeasureloginfo',
15
+            name='birth_stamp',
16
+        ),
17
+        migrations.RemoveField(
18
+            model_name='thermometermeasureloginfo',
19
+            name='name',
20
+        ),
21
+        migrations.RemoveField(
22
+            model_name='thermometermeasureloginfo',
23
+            name='phone',
24
+        ),
25
+        migrations.RemoveField(
26
+            model_name='thermometermeasureloginfo',
27
+            name='sex',
28
+        ),
29
+        migrations.AddField(
30
+            model_name='thermometermeasureloginfo',
31
+            name='chg_sta',
32
+            field=models.BooleanField(default=False, help_text='充电状态,true 充电,false 未充电', verbose_name='chg_sta'),
33
+        ),
34
+    ]

+ 2 - 5
equipment/models.py

@@ -202,11 +202,6 @@ class ThermometerMeasureLogInfo(BaseModelMixin):
202 202
     macid = models.CharField(_('macid'), max_length=32, blank=True, null=True, help_text='设备号')
203 203
     sn = models.CharField(_('sn'), max_length=32, blank=True, null=True, help_text='序列号')
204 204
 
205
-    name = models.CharField(_('name'), max_length=255, blank=True, null=True, help_text='用户姓名')
206
-    sex = models.IntegerField(_('sex'), choices=SexModelMixin.SEX_TUPLE, default=SexModelMixin.UNKNOWN, help_text='用户性别')
207
-    birth_stamp = models.BigIntegerField(_('birth_stamp'), default=0, help_text='生日时间戳')
208
-    phone = models.CharField(_('phone'), max_length=11, blank=True, null=True, help_text='用户电话', db_index=True)
209
-
210 205
     start_stamp = models.BigIntegerField(_('start_stamp'), default=0, help_text='测温开始时间戳')
211 206
     end_stamp = models.BigIntegerField(_('end_stamp'), default=0, help_text='测温结束时间戳')
212 207
 
@@ -214,6 +209,8 @@ class ThermometerMeasureLogInfo(BaseModelMixin):
214 209
 
215 210
     temperature_src = models.IntegerField(_('temperature_src'), choices=TEMPERATURE_SRC_TUPLE, default=CALLBACK, help_text='用户体温来源')
216 211
 
212
+    chg_sta = models.BooleanField(_(u'chg_sta'), default=False, help_text='充电状态,true 充电,false 未充电')
213
+
217 214
     upload_temperature_info = models.TextField(_('upload_temperature_info'), blank=True, null=True, help_text='测温结果上传信息')
218 215
 
219 216
     class Meta: