Ver código fonte

修改PC获取设备数据

chenshibin 4 anos atrás
pai
commit
5c08629ae8
1 arquivos alterados com 19 adições e 15 exclusões
  1. 19 15
      Controller/PctestController.py

+ 19 - 15
Controller/PctestController.py

@@ -149,28 +149,32 @@ class PcTest(View):
         return response.json(0, {'datas': data, 'count': count})
 
     def deviceadd(self, request_dict, userID, response):
+        deviceid = request_dict.get('deviceid', None)
         devicename = request_dict.get('devicename', None)
         functions= request_dict.get('functions', None)
         param_flag = CommonService.get_param_flag(
             data=[devicename])
         if param_flag is not True:
             return response.json(444)
-        device_qs = PctestdeviceModel.objects.filter(devicename=devicename)
-        if device_qs.exists():
-            return response.json(174)
 
-        PctestdeviceModel.objects.create(devicename=devicename)
+        if not deviceid:
+            device_qs = PctestdeviceModel.objects.filter(devicename=devicename)
+            if device_qs.exists():
+                return response.json(174)
+            PctestdeviceModel.objects.create(devicename=devicename)
 
-        function_list = PctestfunctionModel.objects.filter(id__in=functions.split(','))
+        else:
+            device_qs = PctestdeviceModel.objects.filter(id=deviceid)
+            PctestdeviceModel.objects.filter(id=deviceid).update(devicename=devicename)
 
+
+        function_list = PctestfunctionModel.objects.filter(id__in=functions.split(','))
         # 判断设备与此职能是否有关联,避免重复添加
-        device_function_list = PctestModel.objects.filter(device_id=device_qs[0].id, function__in=function_list)
-        if device_function_list.exists():
-            return response.json(174)
-        else:
-            for fun in function_list:
-                PctestModel.objects.create(device_id=device_qs[0].id, function_id=fun.id)
-            return response.json(0)
+        PctestModel.objects.filter(device_id=device_qs[0].id, function__in=function_list).delete()
+        for fun in function_list:
+            PctestModel.objects.create(device_id=device_qs[0].id, function_id=fun.id)
+        return response.json(0)
+
 
 
 
@@ -182,15 +186,15 @@ class PcTest(View):
         #     device_qs = PctestjobdeviceModel.objects.filter().values('device')
         # else:
         #     device_qs = PctestjobdeviceModel.objects.filter(job__in=job_qs).values('device')
-        device_qs = PctestjobdeviceModel.objects.filter().values('device')
+        device_qs = PctestdeviceModel.objects.filter()
 
         function_qs = PctestModel.objects.filter(device__in=device_qs)
 
-        device_qs = device_qs.values('device__id', 'device__devicename')
+        device_qs = device_qs.values('id', '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'))
+            data[i]['functions'] = CommonService.qs_to_list(function_qs.filter(device__id=devices['id']).values('function__id','function__functionname','function__functioncode'))
             i = i + 1
         count = device_qs.count()
         return response.json(0, {'datas': data, 'count': count})