Quellcode durchsuchen

修改PC获取各信息

chenshibin vor 4 Jahren
Ursprung
Commit
2c5626e4a5
1 geänderte Dateien mit 34 neuen und 12 gelöschten Zeilen
  1. 34 12
      Controller/PctestController.py

+ 34 - 12
Controller/PctestController.py

@@ -131,12 +131,22 @@ class PcTest(View):
             return response.json(0)
 
     def jobquery(self, request_dict, userID, response):
-        job_list = PctestjobModel.objects.filter(id__gt=1)
-        count = job_list.count()
-        res = job_list
-        send_json = CommonService.qs_to_dict(res)
-        send_json['count'] = count
-        return response.json(0, send_json)
+        user_qs = PctestuserModel.objects.filter(id=userID).values('job')
+        job_qs = PctestjobModel.objects.filter(id=user_qs[0]['job'])
+
+        if job_qs[0].id == 1:
+            job_qs = PctestjobModel.objects.filter()
+
+        device_qs = PctestjobdeviceModel.objects.filter(job__in=job_qs).values('device')
+
+        data = CommonService.qs_to_list(job_qs.values('id', 'jobname', 'jobcode'))
+
+        i = 0
+        for jobs in job_qs:
+            data[i]['devices'] = CommonService.qs_to_list(device_qs.filter(job__id=jobs.id).values('device__id', 'device__devicename'))
+            i = i + 1
+        count = device_qs.count()
+        return response.json(0, {'datas': data, 'count': count})
 
     def deviceadd(self, request_dict, userID, response):
         devicename = request_dict.get('devicename', None)
@@ -152,12 +162,24 @@ class PcTest(View):
             return response.json(0)
 
     def devicequery(self, request_dict, userID, response):
-        device_list = PctestdeviceModel.objects.all()
-        count = device_list.count()
-        res = device_list
-        send_json = CommonService.qs_to_dict(res)
-        send_json['count'] = count
-        return response.json(0, send_json)
+        user_qs = PctestuserModel.objects.filter(id=userID).values('job')
+        job_qs = PctestjobModel.objects.filter(id=user_qs[0]['job'])
+
+        if job_qs[0].id == 1:
+            device_qs = PctestjobdeviceModel.objects.filter().values('device')
+        else:
+            device_qs = PctestjobdeviceModel.objects.filter(job__in=job_qs).values('device')
+
+        function_qs = PctestModel.objects.filter(device__in=device_qs)
+
+        device_qs = device_qs.values('device__id', 'device__devicename')
+        data = CommonService.qs_to_list(device_qs)
+        i = 0
+        for devices in device_qs:
+            data[i]['functions'] = CommonService.qs_to_list(function_qs.filter(device__id=devices['device__id']).values('function__id','function__functionname','function__functioncode'))
+            i = i + 1
+        count = device_qs.count()
+        return response.json(0, {'datas': data, 'count': count})
 
     def functionadd(self, request_dict, userID, response):
         functionname = request_dict.get('functionname', None)