|
@@ -51,50 +51,56 @@ class PcTest(View):
|
|
|
# 获取访问者的id和岗位
|
|
|
userID = tko.id
|
|
|
jobID = tko.job
|
|
|
- if jobID == 1:
|
|
|
- # 管理员可访问的接口
|
|
|
- if operation == 'job/add':
|
|
|
- return self.jobadd(request_dict, userID, response)
|
|
|
- elif operation == 'job/query':
|
|
|
- return self.jobquery(request_dict, userID, response)
|
|
|
- elif operation == 'device/add':
|
|
|
- return self.deviceadd(request_dict, userID, response)
|
|
|
- elif operation == 'device/query':
|
|
|
- return self.devicequery(request_dict, userID, response)
|
|
|
- elif operation == 'function/add':
|
|
|
- return self.functionadd(request_dict, userID, response)
|
|
|
- elif operation == 'function/query':
|
|
|
- return self.functionquery(request_dict, userID, response)
|
|
|
- elif operation == 'job/device/add':
|
|
|
- return self.jobdeviceadd(request_dict, userID, response)
|
|
|
- elif operation == 'job/device/query':
|
|
|
- return self.jobdevicequery(request_dict, jobID, response)
|
|
|
- elif operation == 'device/function/add':
|
|
|
- return self.devicefunctionadd(request_dict, userID, response)
|
|
|
- elif operation == 'device/function/query':
|
|
|
- return self.devicefunctionquery(request_dict, jobID, response)
|
|
|
- elif operation == 'staff/add':
|
|
|
- return self.staffadd(request_dict, userID, response)
|
|
|
- elif operation == 'staff/query':
|
|
|
- return self.staffquery(request_dict, userID, response)
|
|
|
- elif operation == 'staff/delete':
|
|
|
- return self.staffdelete(request_dict, userID, response)
|
|
|
- elif operation == 'log/query':
|
|
|
- return self.logquery(request_dict, userID, response)
|
|
|
- else:
|
|
|
- return response.json(404)
|
|
|
+ # if jobID == 1:
|
|
|
+ # # 管理员可访问的接口
|
|
|
+ if operation == 'job/add':
|
|
|
+ return self.jobadd(request_dict, userID, response)
|
|
|
+ elif operation == 'job/query':
|
|
|
+ return self.jobquery(request_dict, userID, response)
|
|
|
+ elif operation == 'job/delete':
|
|
|
+ return self.jobdelete(request_dict, userID, response)
|
|
|
+ elif operation == 'device/add':
|
|
|
+ return self.deviceadd(request_dict, userID, response)
|
|
|
+ elif operation == 'device/query':
|
|
|
+ return self.devicequery(request_dict, userID, response)
|
|
|
+ elif operation == 'device/delete':
|
|
|
+ return self.devicedelete(request_dict, userID, response)
|
|
|
+ elif operation == 'function/add':
|
|
|
+ return self.functionadd(request_dict, userID, response)
|
|
|
+ elif operation == 'function/query':
|
|
|
+ return self.functionquery(request_dict, userID, response)
|
|
|
+ elif operation == 'function/delete':
|
|
|
+ return self.functiondelete(request_dict, userID, response)
|
|
|
+ elif operation == 'job/device/add':
|
|
|
+ return self.jobdeviceadd(request_dict, userID, response)
|
|
|
+ elif operation == 'device/function/add':
|
|
|
+ return self.devicefunctionadd(request_dict, userID, response)
|
|
|
+ elif operation == 'staff/add':
|
|
|
+ return self.staffadd(request_dict, userID, response)
|
|
|
+ elif operation == 'staff/query':
|
|
|
+ return self.staffquery(request_dict, userID, response)
|
|
|
+ elif operation == 'staff/delete':
|
|
|
+ return self.staffdelete(request_dict, userID, response)
|
|
|
+
|
|
|
+
|
|
|
+ # 公共访问的接口
|
|
|
+ if operation == 'job/device/query':
|
|
|
+ return self.jobdevicequery(request_dict, jobID, response)
|
|
|
+ elif operation == 'device/function/query':
|
|
|
+ return self.devicefunctionquery(request_dict, jobID, response)
|
|
|
+ elif operation == 'log/add':
|
|
|
+ return self.logadd(request_dict, userID, response)
|
|
|
+ elif operation == 'log/query':
|
|
|
+ return self.logquery(request_dict, userID, response)
|
|
|
+ elif operation == 'token/fullInfo':
|
|
|
+ return self.fullInfo(request_dict, userID, response)
|
|
|
+ elif operation == 'staff/initPass':
|
|
|
+ return self.initPass(request_dict, userID, response)
|
|
|
+ elif operation == 'staff/updatePass':
|
|
|
+ return self.updatePass(request_dict, userID, response)
|
|
|
else:
|
|
|
- # 普通员工访问的接口
|
|
|
- if operation == 'job/device/query':
|
|
|
- return self.jobdevicequery(request_dict, jobID, response)
|
|
|
- elif operation == 'device/function/query':
|
|
|
- return self.devicefunctionquery(request_dict, jobID, response)
|
|
|
- elif operation == 'log/add':
|
|
|
- return self.logadd(request_dict, userID, response)
|
|
|
- elif operation == 'log/query':
|
|
|
- return self.logquery(request_dict, userID, response)
|
|
|
- else:
|
|
|
- return response.json(404)
|
|
|
+ return response.json(404)
|
|
|
+
|
|
|
|
|
|
def login(self, request_dict, response):
|
|
|
username = request_dict.get('username', None)
|
|
@@ -105,20 +111,27 @@ class PcTest(View):
|
|
|
return response.json(444)
|
|
|
user_qs = PctestuserModel.objects.filter(username=username, password=password)
|
|
|
if not user_qs.exists():
|
|
|
- return response.json(104)
|
|
|
- users = user_qs.values('id', 'username', 'password', 'job')[0]
|
|
|
+ if not PctestuserModel.objects.filter(username=username).exists():
|
|
|
+ return response.json(104)
|
|
|
+ return response.json(111)
|
|
|
+
|
|
|
+ users = user_qs.values('id', 'username', 'password', 'job__id', 'job__jobcode')[0]
|
|
|
tko = TokenObject()
|
|
|
# 加密
|
|
|
res = tko.generate(
|
|
|
- data={'id': users['id'], 'username': users['username'], 'password': users['password'], 'job': users['job']})
|
|
|
+ data={'id': users['id'], 'username': users['username'], 'password': users['password'], 'jobid': users['job__id'], 'job': users['job__jobcode']})
|
|
|
res_qs = {
|
|
|
'res': res,
|
|
|
- 'job': users['job']
|
|
|
+ 'id': users['id'],
|
|
|
+ 'username': users['username'],
|
|
|
+ 'job': users['job__jobcode'],
|
|
|
+ 'jobid': users['job__id']
|
|
|
}
|
|
|
return response.json(0, res_qs)
|
|
|
|
|
|
def jobadd(self, request_dict, userID, response):
|
|
|
jobname = request_dict.get('jobname', None)
|
|
|
+ jobcode = request_dict.get('jobcode', None)
|
|
|
param_flag = CommonService.get_param_flag(
|
|
|
data=[jobname])
|
|
|
if param_flag is not True:
|
|
@@ -127,50 +140,121 @@ class PcTest(View):
|
|
|
if job_qs.exists():
|
|
|
return response.json(174)
|
|
|
else:
|
|
|
- PctestjobModel.objects.create(jobname=jobname)
|
|
|
+ PctestjobModel.objects.create(jobname=jobname,jobcode=jobcode)
|
|
|
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()
|
|
|
+ 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 jobdelete(self, request_dict, userID, response):
|
|
|
+ id = request_dict.get('id', None)
|
|
|
+ job_qs = PctestjobModel.objects.filter(id=id)
|
|
|
+ if job_qs.exists:
|
|
|
+ job_qs.delete()
|
|
|
+ PctestjobdeviceModel.objects.filter(job__in=job_qs).delete()
|
|
|
+ return response.json(0)
|
|
|
|
|
|
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)
|
|
|
- job_qs = PctestdeviceModel.objects.filter(devicename=devicename)
|
|
|
- if job_qs.exists():
|
|
|
- return response.json(174)
|
|
|
- else:
|
|
|
+
|
|
|
+ if not deviceid:
|
|
|
+ device_qs = PctestdeviceModel.objects.filter(devicename=devicename)
|
|
|
+ if device_qs.exists():
|
|
|
+ return response.json(174)
|
|
|
PctestdeviceModel.objects.create(devicename=devicename)
|
|
|
- return response.json(0)
|
|
|
+
|
|
|
+ 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(','))
|
|
|
+ # 判断设备与此职能是否有关联,避免重复添加
|
|
|
+ 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)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
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')
|
|
|
+ device_qs = PctestdeviceModel.objects.filter()
|
|
|
+
|
|
|
+ function_qs = PctestModel.objects.filter(device__in=device_qs)
|
|
|
+
|
|
|
+ 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['id']).values('function__id','function__functionname','function__functioncode'))
|
|
|
+ i = i + 1
|
|
|
+ count = device_qs.count()
|
|
|
+ return response.json(0, {'datas': data, 'count': count})
|
|
|
+
|
|
|
+ def devicedelete(self, request_dict, userID, response):
|
|
|
+ id = request_dict.get('id', None)
|
|
|
+ device_qs = PctestdeviceModel.objects.filter(id=id)
|
|
|
+ if device_qs.exists:
|
|
|
+ device_qs.delete()
|
|
|
+ PctestModel.objects.filter(device__in=device_qs).delete()
|
|
|
+
|
|
|
+ return response.json(0)
|
|
|
|
|
|
def functionadd(self, request_dict, userID, response):
|
|
|
functionname = request_dict.get('functionname', None)
|
|
|
+ functioncode = request_dict.get('functioncode', None)
|
|
|
+ id = request_dict.get('id', None)
|
|
|
param_flag = CommonService.get_param_flag(
|
|
|
data=[functionname])
|
|
|
if param_flag is not True:
|
|
|
return response.json(444)
|
|
|
- job_qs = PctestfunctionModel.objects.filter(functionname=functionname)
|
|
|
- if job_qs.exists():
|
|
|
- return response.json(174)
|
|
|
+
|
|
|
+ if not id:
|
|
|
+ job_qs = PctestfunctionModel.objects.filter(functionname=functionname)
|
|
|
+ if job_qs.exists():
|
|
|
+ return response.json(174)
|
|
|
+ PctestfunctionModel.objects.create(functionname=functionname,functioncode=functioncode)
|
|
|
else:
|
|
|
- PctestfunctionModel.objects.create(functionname=functionname)
|
|
|
- return response.json(0)
|
|
|
+ PctestfunctionModel.objects.filter(id=id).update(functionname=functionname, functioncode=functioncode)
|
|
|
+
|
|
|
+ return response.json(0)
|
|
|
+
|
|
|
+ def functiondelete(self, request_dict, userID, response):
|
|
|
+ id = request_dict.get('id', None)
|
|
|
+ function_qs = PctestfunctionModel.objects.filter(id=id)
|
|
|
+
|
|
|
+ if function_qs.exists:
|
|
|
+ function_qs.delete()
|
|
|
+ return response.json(0)
|
|
|
|
|
|
def functionquery(self, request_dict, userID, response):
|
|
|
function_list = PctestfunctionModel.objects.all()
|
|
@@ -252,22 +336,65 @@ class PcTest(View):
|
|
|
def staffadd(self, request_dict, userID, response):
|
|
|
username = request_dict.get('username', None)
|
|
|
password = request_dict.get('password', None)
|
|
|
+ id = request_dict.get('id', None)
|
|
|
job_id = request_dict.get('job_id', None)
|
|
|
param_flag = CommonService.get_param_flag(
|
|
|
- data=[username, password, job_id])
|
|
|
+ data=[username, job_id])
|
|
|
if param_flag is not True:
|
|
|
return response.json(444)
|
|
|
# 判断员工与岗位是否存在,员工存在返回174
|
|
|
user_list = PctestuserModel.objects.filter(username=username)
|
|
|
+
|
|
|
job_list = PctestjobModel.objects.filter(id=job_id)
|
|
|
- if not job_list.exists() or user_list.exists():
|
|
|
+ if not job_list.exists():
|
|
|
return response.json(174)
|
|
|
- else:
|
|
|
+
|
|
|
+ if not id:
|
|
|
+ if user_list.exists():
|
|
|
+ return response.json(174)
|
|
|
PctestuserModel.objects.create(username=username, password=password, job_id=job_id)
|
|
|
- return response.json(0)
|
|
|
+ else:
|
|
|
+ PctestuserModel.objects.filter(id=id).update(username=username, job_id=job_id)
|
|
|
+
|
|
|
+ return response.json(0)
|
|
|
+
|
|
|
+
|
|
|
+ def initPass(self, request_dict, userID, response):
|
|
|
+
|
|
|
+ id = request_dict.get('id', None)
|
|
|
+ param_flag = CommonService.get_param_flag(
|
|
|
+ data=[id])
|
|
|
+ if param_flag is not True:
|
|
|
+ return response.json(444)
|
|
|
+
|
|
|
+ # 判断员工与岗位是否存在,员工存在返回174
|
|
|
+ user_list = PctestuserModel.objects.filter(id=id)
|
|
|
+ if user_list.exists():
|
|
|
+ user_list.update(password='555')
|
|
|
+
|
|
|
+ return response.json(0)
|
|
|
+
|
|
|
+ def updatePass(self, request_dict, userID, response):
|
|
|
+
|
|
|
+ id = request_dict.get('id', None)
|
|
|
+ password = request_dict.get('password', None)
|
|
|
+ param_flag = CommonService.get_param_flag(
|
|
|
+ data=[id,password])
|
|
|
+ if param_flag is not True:
|
|
|
+ return response.json(444)
|
|
|
+
|
|
|
+ # 判断员工与岗位是否存在,员工存在返回174
|
|
|
+ user_list = PctestuserModel.objects.filter(id=id)
|
|
|
+ if user_list.exists():
|
|
|
+ user_list.update(password=password)
|
|
|
+
|
|
|
+ return response.json(0)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
def staffquery(self, request_dict, userID, response):
|
|
|
- user_list = PctestuserModel.objects.filter(id__gt=1).values('id', 'username', 'job__jobname')
|
|
|
+ user_list = PctestuserModel.objects.filter(id__gt=1).values('id', 'username', 'job__id', 'job__jobname', 'job__jobcode')
|
|
|
users_list = []
|
|
|
for i in user_list:
|
|
|
users_list.append(i)
|
|
@@ -296,14 +423,47 @@ class PcTest(View):
|
|
|
|
|
|
def logquery(self, request_dict, userID, response):
|
|
|
if userID == 1:
|
|
|
- job_device_list = PctestlogModel.objects.values('user__username', 'content', 'addtime')
|
|
|
+ job_device_list = PctestlogModel.objects.values('id', 'user__id', 'user__username', 'content', 'addtime')
|
|
|
else:
|
|
|
- job_device_list = PctestlogModel.objects.filter(user_id=userID).values('content','addtime')
|
|
|
+ job_device_list = PctestlogModel.objects.filter(user_id=userID).values('id', 'user__id', 'user__username', 'content', 'addtime')
|
|
|
device_list = []
|
|
|
for i in job_device_list:
|
|
|
device_list.append(i)
|
|
|
return response.json(0, device_list)
|
|
|
|
|
|
+ def fullInfo(self, request_dict, userID, response):
|
|
|
+ user_qs = PctestuserModel.objects.filter(id=userID).values('job')
|
|
|
+ fullinfo = []
|
|
|
+ data = {}
|
|
|
+ if user_qs.exists():
|
|
|
+
|
|
|
+ job_qs = PctestjobModel.objects.filter(id=user_qs[0]['job'])
|
|
|
+ user_qs = user_qs.values('id', 'username')
|
|
|
+
|
|
|
+ # device_qs = PctestjobdeviceModel.objects.filter(job__in=job_qs).values('device')
|
|
|
+ #
|
|
|
+ # function_qs = PctestModel.objects.filter(device__in=device_qs)
|
|
|
+
|
|
|
+
|
|
|
+ data = user_qs[0]
|
|
|
+ data['jobs'] = CommonService.qs_to_list(job_qs.values('id', 'jobname', 'jobcode'))
|
|
|
+
|
|
|
+ # i = 0
|
|
|
+ # for jobs in data['jobs']:
|
|
|
+ #
|
|
|
+ # data['jobs'][i]['devices'] = CommonService.qs_to_list(device_qs.filter(job__id=jobs['id']).values('device__id', 'device__devicename'))
|
|
|
+ #
|
|
|
+ # j = 0
|
|
|
+ # for devices in jobs['devices']:
|
|
|
+ # data['jobs'][i]['devices'][j]['functions'] = CommonService.qs_to_list(function_qs.filter(device__id=devices['device__id']).values('function__id','function__functionname','function__functioncode'))
|
|
|
+ # j = j+1
|
|
|
+ #
|
|
|
+ # i = i+1
|
|
|
+
|
|
|
+
|
|
|
+ fullinfo.append(data)
|
|
|
+ return response.json(0, fullinfo)
|
|
|
+
|
|
|
|
|
|
class TokenObject1:
|
|
|
|