|
@@ -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})
|