es-num lines-num-old"> 241 248
     try:
242
-        ipui = IsolationPointUserInfo.objects.get(user_id=user_id, status=True)
249
+        ipui = IsolationPointUserInfo.objects.get(user_id=user_id, member_id=member_id, status=True)
243 250
     except IsolationPointUserInfo.DoesNotExist:
244 251
         return response()
245 252
 
@@ -253,11 +260,12 @@ def admin_point_user_remark(request):
253 260
 @logit
254 261
 def admin_point_user_temperature_history(request):
255 262
     user_id = request.POST.get('user_id', '')
263
+    member_id = request.POST.get('member_id', '')
256 264
     point_id = request.POST.get('point_id', '')
257 265
     page = request.POST.get('page', 1)
258 266
     num = request.POST.get('num', 20)
259 267
 
260
-    logs = ThermometerMeasureLogInfo.objects.filter(point_id=point_id, user_id=user_id, status=True)
268
+    logs = ThermometerMeasureLogInfo.objects.filter(point_id=point_id, user_id=user_id, member_id=member_id, status=True)
261 269
     count = logs.count()
262 270
     logs, left = pagination(logs, page, num)
263 271
 

+ 7 - 1
equipment/admin.py

@@ -5,7 +5,7 @@ from django_admin import ReadOnlyModelAdmin
5 5
 
6 6
 from equipment.models import (AepThermometerMeasureLogInfo, AntigenMeasureLogInfo, IsolationPointFieldPoolInfo,
7 7
                               IsolationPointInfo, IsolationPointUserInfo, ThermometerEquipmentInfo,
8
-                              ThermometerMeasureLogInfo)
8
+                              ThermometerMeasureLogInfo, FamilyMemberInfo)
9 9
 
10 10
 
11 11
 class IsolationPointFieldPoolInfoAdmin(admin.ModelAdmin):
@@ -20,6 +20,10 @@ class IsolationPointUserInfoAdmin(admin.ModelAdmin):
20 20
     list_display = ('point_id', 'user_id', 'fields', 'observed_days', 'chg_sta', 'temperature', 'last_submit_at', 'leave_at', 'status', 'created_at', 'updated_at')
21 21
 
22 22
 
23
+class FamilyMemberInfoAdmin(admin.ModelAdmin):
24
+    list_display = ('member_id', 'user_id', 'identity_card_number', 'identity_card_name', 'relation', 'status', 'created_at', 'updated_at')
25
+
26
+
23 27
 class ThermometerEquipmentInfoAdmin(admin.ModelAdmin):
24 28
     list_display = ('eqpt_id', 'point_id', 'macid', 'sn', 'active_status', 'active_at', 'ipui_pk', 'status', 'created_at', 'updated_at')
25 29
     list_filter = ('point_id', 'status')
@@ -45,3 +49,5 @@ admin.site.register(ThermometerEquipmentInfo, ThermometerEquipmentInfoAdmin)
45 49
 admin.site.register(ThermometerMeasureLogInfo, ThermometerMeasureLogInfoAdmin)
46 50
 admin.site.register(AepThermometerMeasureLogInfo, AepThermometerMeasureLogInfoAdmin)
47 51
 admin.site.register(AntigenMeasureLogInfo, AntigenMeasureLogInfoAdmin)
52
+admin.site.register(FamilyMemberInfo, FamilyMemberInfoAdmin)
53
+

+ 42 - 0
equipment/migrations/0032_auto_20221202_1415.py

@@ -0,0 +1,42 @@
1
+# Generated by Django 3.2.16 on 2022-12-02 06:15
2
+
3
+from django.db import migrations, models
4
+import shortuuidfield.fields
5
+
6
+
7
+class Migration(migrations.Migration):
8
+
9
+    dependencies = [
10
+        ('equipment', '0031_auto_20221128_1653'),
11
+    ]
12
+
13
+    operations = [
14
+        migrations.CreateModel(
15
+            name='FamilyMemberInfo',
16
+            fields=[
17
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
18
+                ('status', models.BooleanField(default=True, help_text='Status', verbose_name='status')),
19
+                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Create Time', verbose_name='created_at')),
20
+                ('updated_at', models.DateTimeField(auto_now=True, help_text='Update Time', verbose_name='updated_at')),
21
+                ('member_id', shortuuidfield.fields.ShortUUIDField(blank=True, db_index=True, editable=False, help_text='家庭成员唯一标识', max_length=22, null=True, unique=True)),
22
+                ('user_id', models.CharField(blank=True, db_index=True, help_text='用户唯一标识', max_length=32, null=True, verbose_name='user_id')),
23
+                ('identity_card_number', models.CharField(blank=True, help_text='身份证号', max_length=32, null=True, verbose_name='identity_card_number')),
24
+                ('identity_card_name', models.CharField(blank=True, help_text='身份证姓名', max_length=32, null=True, verbose_name='identity_card_name')),
25
+                ('relation', models.CharField(choices=[('parent', '父母'), ('child', '子女'), ('spouse', '配偶')], db_index=True, default='child', help_text='家庭关系', max_length=32, verbose_name='relative')),
26
+            ],
27
+            options={
28
+                'verbose_name': '家庭成员信息',
29
+                'verbose_name_plural': '家庭成员信息',
30
+            },
31
+        ),
32
+        migrations.AddField(
33
+            model_name='isolationpointuserinfo',
34
+            name='member_id',
35
+            field=models.CharField(blank=True, db_index=True, help_text='家庭成员唯一标识', max_length=32, null=True, verbose_name='member_id'),
36
+        ),
37
+        migrations.AddField(
38
+            model_name='thermometermeasureloginfo',
39
+            name='member_id',
40
+            field=models.CharField(blank=True, help_text='用户唯一标识', max_length=32, null=True, verbose_name='member_id'),
41
+        ),
42
+    ]

+ 30 - 0
equipment/models.py

@@ -112,6 +112,34 @@ class IsolationPointInfo(BaseModelMixin):
112 112
             'qrcode_url': qrcode_url,
113 113
         }
114 114
 
115
+class FamilyMemberInfo(BaseModelMixin):
116
+    RELATION_TUPLE = (
117
+        ('parent', '父母'),
118
+        ('child', '子女'),
119
+        ('spouse', '配偶'),
120
+    )
121
+    member_id = ShortUUIDField(_('member_id'), max_length=32, blank=True, null=True, help_text='家庭成员唯一标识', db_index=True, unique=True)
122
+    user_id = models.CharField(_('user_id'), max_length=32, blank=True, null=True, help_text='用户唯一标识', db_index=True)
123
+    identity_card_number = models.CharField(_(u'identity_card_number'), max_length=32, blank=True, null=True, help_text=u'身份证号')
124
+    identity_card_name = models.CharField(_(u'identity_card_name'), max_length=32, blank=True, null=True, help_text=u'身份证姓名')
125
+    relation = models.CharField(_('relative'), choices=RELATION_TUPLE, default='child', max_length=32, help_text='家庭关系', db_index=True)
126
+
127
+    class Meta:
128
+        verbose_name = _('家庭成员信息')
129
+        verbose_name_plural = _('家庭成员信息')
130
+
131
+    def __unicode__(self):
132
+        return '%d' % self.pk
133
+    
134
+    @property
135
+    def data(self):
136
+        return {
137
+            'member_id': self.member_id,
138
+            'user_id': self.user_id,
139
+            'identity_card_number': self.identity_card_number,
140
+            'identity_card_name': self.identity_card_name,
141
+            'relation': self.relation,
142
+        }
115 143
 
116 144
 class IsolationPointUserInfo(BaseModelMixin):
117 145
     HAS_NOT_UPLOAD = '未上报'
@@ -134,6 +162,7 @@ class IsolationPointUserInfo(BaseModelMixin):
134 162
     point_id = models.CharField(_('point_id'), max_length=32, blank=True, null=True, help_text='隔离点唯一标识', db_index=True)
135 163
 
136 164
     user_id = models.CharField(_('user_id'), max_length=32, blank=True, null=True, help_text='用户唯一标识', db_index=True)
165
+    member_id = models.CharField(_('member_id'), max_length=32, blank=True, null=True, help_text='家庭成员唯一标识', db_index=True)
137 166
 
138 167
     fields = JSONField(_('fields'), default=[], blank=True, null=True, help_text='字段信息')
139 168
 
@@ -313,6 +342,7 @@ class ThermometerMeasureLogInfo(BaseModelMixin):
313 342
     point_id = models.CharField(_('point_id'), max_length=32, blank=True, null=True, help_text='隔离点唯一标识', db_index=True)
314 343
 
315 344
     user_id = models.CharField(_('user_id'), max_length=32, blank=True, null=True, help_text='用户唯一标识')
345
+    member_id = models.CharField(_('member_id'), max_length=32, blank=True, null=True, help_text='用户唯一标识')
316 346
 
317 347
     macid = models.CharField(_('macid'), max_length=32, blank=True, null=True, help_text='设备号')
318 348
     sn = models.CharField(_('sn'), max_length=32, blank=True, null=True, help_text='序列号')

Kodo/kodo - Gogs: Go Git Service

1 Commits (648c227b3769291da8e27ce8db877e9e040395f2)

Autore SHA1 Messaggio Data
  Brightcells 4efb7f6f87 Statistic 7 anni fa