| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855 |
- # -*- coding: utf-8 -*-
- from django.shortcuts import render, redirect
- from django.http import HttpResponse
- from django.template import RequestContext
- from django.contrib import auth
- from django.contrib.auth import authenticate, login as auth_login, logout
- from django.contrib.auth import get_user_model
- from django.contrib.auth.models import User, Group, Permission
- from django.contrib.auth.hashers import make_password, check_password
- from django.contrib.auth.decorators import login_required
- from django.views.generic import ListView
- from django.views.generic.base import View
- from apps.AppInfoManage.models import Help, MyUser, User_Group, User_Log, Equip, Equip_type, Logo, Alarm_record, RecentCBDdata
- from django.db.models import Q
- # 引入自定义用户组:
- from apps.AppInfoManage.models import User_Group
- from apps.EquipManage.views import CJSONEncoder
- import time
- import re,datetime,json
- from apps.Home.forms import LoginForm, ChangePwdForm
- from apps.SystemManage.forms import AddUserForm
- from django.contrib.auth import get_user_model
- from django.utils.decorators import method_decorator
- from django.views.decorators.csrf import csrf_exempt
- # 用户管理
- class UserManage_View(ListView):
- def get(self, request):
- # 接收当前用户
- current_user = request.session.get('username')
- print("current_user:", current_user)
- current_user = MyUser.objects.get(username=current_user)
- # 判断是经销商还是超级管理员
- if current_user.is_superuser == True:
- # 超级管理员
- nums = MyUser.objects.all().count()
- else:
- nums = MyUser.objects.filter(user_agency=current_user.user_agency).count()
- User_Log.objects.create(log_user=request.user.username,
- log_ip=request.META['REMOTE_ADDR'], log_desc='系统管理-用户管理')
- return render(request, 'systemmanage/systemmanage_user.html', context={"nums": nums})
- def post(self,request):
- pass
- # 系统管理-用户管理子--页面用户列表视图:
- class UserList_View(ListView):
- def get(self, request):
- # 接收当前用户
- current_user = request.session.get('username')
- print("current_user:", current_user)
- current_user = MyUser.objects.get(username=current_user)
- page = int(request.GET.get('page'))
- print("page=", page)
- # 判断是经销商还是超级管理员
- if current_user.is_superuser == True or current_user.is_staff == True:
- user_list = MyUser.objects.all()[(10*(page-1)):(page*10)]#.order_by("-date_joined")
- else:
- user_list = MyUser.objects.filter(user_agency=current_user.user_agency)[(10*(page-1)):(page*10)]
- return render(request, 'systemmanage/systemmanage_user_list.html', context={"user_list": user_list,"username":current_user.username})
- def post(self, request):
- req = request.POST.get("req")
- current_user = request.session.get('username')
- print("current_user:", current_user)
- current_user = MyUser.objects.get(username=current_user)
- if req == "state":
- # 禁用和启用:
- u_id = request.POST.get("id")
- state = request.POST.get("state")
- print("id:",u_id)
- print("state:",state)
- user = MyUser.objects.get(id = u_id)
- user.is_active = state
- try:
- user.save()
- data = "0"
- except:
- data = "1"
- return HttpResponse(data)
- elif req == "resetpwd":
- # 重置密码:
- uid = request.POST.get("id")
- new_pwd = request.POST.get("userpassWord")
- print("id:",uid)
- print("new_pwd:",new_pwd)
- user = MyUser.objects.get(id = uid)
- user.set_password(new_pwd)
- try:
- user.save()
- data = "0"
- except:
- data = "1"
- return HttpResponse(data)
- elif req == "top_up":
- e_id = request.POST.get("id")
- print("e_id",e_id)
- user = MyUser.objects.get(id = e_id)
- user.expire_date = user.expire_date + datetime.timedelta(days=365)
- print("------------",user.expire_date)
- try:
- user.save()
- data = "0"
- except:
- data = "1"
- return HttpResponse(data)
- elif req == "filter":
- print("筛选:")
- uname = request.POST.get("uname")
- uemail = request.POST.get("uemail")
- utype = request.POST.get("utype")
- print("uname:",uname)
- print("uemail:",uemail)
- print("utype:",utype)
- page = int(request.POST.get("page"))
- print("page:",page)
- # 接收当前用户
- current_user = request.session.get('username')
- print("current_user:", current_user)
- current_user = MyUser.objects.get(username=current_user)
- # 判断是经销商还是超级管理员
- if current_user.is_superuser == True or current_user.is_staff == True:
- if uname == "" and uemail == "" and utype == "-1":
- user_list = MyUser.objects.all()
- elif uname == "" and uemail == "" and utype != "-1":
- if utype == "0":
- user_list = MyUser.objects.filter(is_superuser = True)
- elif utype == "1":
- user_list = MyUser.objects.filter(is_staff = True,is_superuser = False)
- elif utype == "2":
- user_list = MyUser.objects.filter(is_staff = False,is_superuser = False)
- elif uname == "" and uemail != "" and utype == "-1":
- user_list = MyUser.objects.filter(email = uemail)
- elif uname == "" and uemail != "" and utype != "-1":
- if utype == "0":
- user_list = MyUser.objects.filter(is_superuser = True,email = uemail)
- elif utype == "1":
- user_list = MyUser.objects.filter(is_staff = True,is_superuser = False,email = uemail)
- elif utype == "2":
- user_list = MyUser.objects.filter(is_staff = False,is_superuser = False,email = uemail)
- elif uname != "" and uemail == "" and utype == "-1":
- user_list = MyUser.objects.filter(username__contains = uname)
- elif uname != "" and uemail == "" and utype != "-1":
- if utype == "0":
- user_list = MyUser.objects.filter(is_superuser = True,username__contains = uname)
- elif utype == "1":
- user_list = MyUser.objects.filter(is_staff = True,is_superuser = False,username__contains = uname)
- elif utype == "2":
- user_list = MyUser.objects.filter(is_staff = False,is_superuser = False,username__contains = uname)
- elif uname != "" and uemail != "" and utype == "-1":
- user_list = MyUser.objects.filter(email = uemail,username__contains = uname)
- elif uname != "" and uemail != "" and utype != "-1":
- if utype == "0":
- user_list = MyUser.objects.filter(is_superuser = True,username__contains = uname,email = uemail)
- elif utype == "1":
- user_list = MyUser.objects.filter(is_staff = True,is_superuser = False,username__contains = uname,email = uemail)
- elif utype == "2":
- user_list = MyUser.objects.filter(is_staff = False,is_superuser = False,username__contains = uname,email = uemail)
- else:
- user_list = MyUser.objects.filter(user_agency=current_user.user_agency)
- nums = user_list.count()
- print("nums:",nums)
- user_list = user_list[(10*(page-1)):(page*10)]
-
- return render(request, 'systemmanage/systemmanage_user_list.html', context={"user_list": user_list,"nums":nums,"username":current_user.username})
- # 用户编辑
- from django.views.decorators.csrf import csrf_exempt
- @csrf_exempt
- def systemmanage_user_edit(request):
- username = request.GET.get('uname')
- uname = MyUser.objects.get(username=username)
- # 所有的用户组:
- # all_groups = User_Group.objects.all()
- # 所有的logo
- all_logo = Logo.objects.all()
- if request.method == 'GET':
- # 获取当前用户的所有组:
- user_name = request.user.username
- print('user_name=', user_name)
- current_user = MyUser.objects.get(username=user_name)
- if current_user.is_superuser:
- role = "superuser"
- elif current_user.is_staff:
- role = "staff"
- elif current_user.is_agency:
- role = "agency"
- else:
- role = "user"
- groups = User_Group.objects.filter(user=uname)
- print("type groups:", type(groups))
- print("groups:", groups)
- return render(request, 'systemmanage/systemmanage_user_edit.html', context={"uname": uname,"groups": groups, "all_logo": all_logo, 'role': role})
-
- if request.method == 'POST':
- postname = request.POST['user.name']
- uname.user_phone = request.POST['user.phone']
- post_type = request.POST.get('user_type')
- # 角色:即用户组;
-
- post_groups = request.POST.get('user_groups')
- print("post_groups:", post_groups)
- if post_groups != '0' and post_groups != None:
- # 获取当前用户的组:
- post_groups = Logo.objects.get(role_describe=post_groups)
- print("post_groups:", post_groups)
-
- groups = Group.objects.filter(user=uname)
- uname.user_logo = None
- uname.save()
- uname.user_logo = post_groups
- uname.save()
- # 省市区:
- uname.user_pro = request.POST['province']
- print(request.POST['province'])
- uname.user_city = request.POST['city']
- print(request.POST['city'])
- uname.user_area = request.POST['district']
- print(request.POST['district'])
- uname.user_remark = request.POST['user_remarks']
- print("post_type", post_type)
- if post_type == '0':
- uname.is_superuser = True
- uname.is_staff = True
- print("post_type")
- elif post_type == '1':
- uname.is_superuser = False
- uname.is_staff = True
- print("post_type")
- elif post_type == '2':
- uname.is_superuser = False
- uname.is_staff = False
- print("post_type")
- # 判断新输入的用户名是否存在:
- # post的用户名存在,且没有更改用户名:
- if MyUser.objects.filter(username=postname).exists() == True and MyUser.objects.get(username=postname).username == uname.username:
- uname.save()
- user_list = MyUser.objects.all()
- User_Log.objects.create(log_user=request.user.username,
- log_ip=request.META['REMOTE_ADDR'], log_desc='系统管理-用户管理--编辑用户:修改用户'+username+"的信息")
- return redirect('/systemmanage_user')
- # post的用户名存在,且用户名改变,即输入的新用户名已存在!
- elif MyUser.objects.filter(username=postname).exists() == True and MyUser.objects.get(username=postname).username != uname.username:
- uname.save()
- User_Log.objects.create(log_user=request.user.username,
- log_ip=request.META['REMOTE_ADDR'], log_desc='系统管理-用户管理--编辑用户:修改用户'+username+"的信息")
- user_name_error = "用户名修改失败,该用户已存在!"
- return render(request, 'systemmanage/systemmanage_user_edit.html', context={"uname": uname, "roles": roles, "role_num": role_num, 'user_name_error': user_name_error})
- # post的用户名不存在,即可用的新用户名:
- else:
- # 保存新用户名:
- uname.username = postname
- uname.save()
- User_Log.objects.create(log_user=request.user.username,
- log_ip=request.META['REMOTE_ADDR'], log_desc='系统管理-用户管理--编辑用户:修改'+uname+"的用户名为:"+uname.username)
- return redirect('/systemmanage_user')
- # 用户管理--新增用户 视图函数
- class UserManageAdd_View(View):
- def post(self, request):
- # 用户注册的ajax的post:
- name = request.POST.get('username')
- email = request.POST.get('email')
- phone = request.POST.get('phone')
- pro = request.POST.get('province')
- city = request.POST.get('city')
- area = request.POST.get('area')
- utype = request.POST.get('type')
- remark = request.POST.get('remark')
- group = request.POST.get('group')
- user_name = request.user.username
- print('user_name=', user_name)
- current_user = MyUser.objects.get(username=user_name)
- one_year = datetime.timedelta(days=365)
- one_year_later = datetime.datetime.now() + one_year
- if current_user.is_superuser == True or current_user.is_staff == True:
- if MyUser.objects.extra(where=['binary username=%s'], params=[name]).exists():
- # 用户已存在!!!
- data = "1"
- return HttpResponse(data)
- elif MyUser.objects.filter(email = email).exists():
- # 该邮箱已注册!!!
- data = "2"
- return HttpResponse(data)
- else:
- UserModel = get_user_model()
- if utype == "0":
- # 创建管理员:
- user = UserModel.objects.create_user(username=name, email=email,\
- user_phone=phone, password="yf123456",\
- user_pro = pro,user_city = city,user_area = area,\
- is_active = 1,is_staff = 1)
- elif utype == "1":
- # 创建用户:
- user = UserModel.objects.create_user(username=name, email=email,\
- user_phone=phone, password="yf123456",\
- user_pro = pro,user_city = city,user_area = area,\
- is_active = 1,is_staff = 0,expire_date=one_year_later)
- elif current_user.is_agency == True:
- if MyUser.objects.extra(where=['binary username=%s'], params=[name]).exists():
- # 用户已存在!!!
- data = "1"
- return HttpResponse(data)
- elif MyUser.objects.filter(email = email).exists():
- # 该邮箱已注册!!!
- data = "2"
- return HttpResponse(data)
- else:
- UserModel = get_user_model()
- user = UserModel.objects.create_user(username=name, email=email,\
- user_phone=phone, password="yf123456",\
- user_pro = pro,user_city = city,user_area = area,\
- is_active = 1,is_staff = 0,user_agency = current_user.user_agency)
- user.save()
- data = "0"
- return HttpResponse(data)
- def get(self, request):
- user_name = request.user.username
- print('user_name=', user_name)
- current_user = MyUser.objects.get(username=user_name)
- if current_user.is_superuser:
- role = "superuser"
- elif current_user.is_staff:
- role = "staff"
- elif current_user.is_agency:
- role = "agency"
- form = AddUserForm()
- return render(request, 'systemmanage/systemmanage_user_add.html', context={'form': form, 'role': role})
- # 日志管理
- class Log_View(View):
- def get(self,request):
- nums = User_Log.objects.all().count()
- return render(request,'systemmanage/systemmanage_log.html',context={'nums':nums})
- # 日志列表
- class Log_List(View):
- def get(self,request):
- page = int(request.GET.get('page'))
- print("page:",page)
- log_list = User_Log.objects.all()[(10*(page-1)):(page*10)]
- # name_list = []
- # aaa = MyUser.objects.all().values()
- # for a in aaa:
- # name_list.append(a['username'])
- # print(name_list)
- # bbb = User_Log.objects.filter(log_user__in=name_list).order_by['-log_time'][:-1]
- # print(bbb)
- return render(request,'systemmanage/systemmanage_log_list.html',context={'log_list':log_list})
- def post(self, request):
- req = request.POST.get('req')
- print("req:",req)
- if req == "filter":
- # 筛选:用户名、创建时间:f:filter
- print("筛选:")
- f_name = request.POST.get('uname')
- f_tbegin = request.POST.get('begin')
- f_tend = request.POST.get('end')
- print("f_name:",f_name)
- print("f_tbegin:",f_tbegin)
- print("f_tend:",f_tend)
- page = int(request.POST.get('page'))
- print("page:",page)
- if f_name == '' and f_tbegin == '' and f_tend == '':
- log_list = User_Log.objects.all()
- elif f_name == '' and f_tbegin != '' and f_tend != '':
- begindate = re.findall(r"\d+\.?\d*", f_tbegin)
- enddate = re.findall(r"\d+\.?\d*", f_tend)
- print("begindate:",begindate)
- print("enddate:",enddate)
- start_date = datetime.date(int(begindate[0]), int(begindate[1]), int(begindate[2]))
- end_date = datetime.date(int(enddate[0]), int(enddate[1]), int(enddate[2]))
- print("begindate:",begindate)
- print("enddate:",enddate)
- log_list = User_Log.objects.filter(log_time__range=(start_date, end_date))
- elif f_name != '' and f_tbegin == '' and f_tend == '':
- log_list = User_Log.objects.filter(log_user__contains=f_name)
- elif f_name != '' and f_tbegin != '' and f_tend != '':
- begindate = re.findall(r"\d+\.?\d*", f_tbegin)
- enddate = re.findall(r"\d+\.?\d*", f_tend)
- start_date = datetime.date(int(begindate[0]), int(begindate[1]), int(begindate[2]))
- end_date = datetime.date(int(enddate[0]), int(enddate[1]), int(enddate[2]))
- log_list = User_Log.objects.filter(log_user__contains=f_name,log_time__range=(start_date, end_date))
- # dat = {'msg':"测试","nums":100}
- nums = log_list.count()
- log_list = log_list[(10*(page-1)):(page*10)]
- return render(request,'systemmanage/systemmanage_log_list.html',context={'log_list':log_list,"nums":nums})
- # 用户组管理 视图函数
- class RoleManage_View(View):
- def get(self, request):
- role_list = Logo.objects.all()
- return render(request, 'systemmanage/systemmanage_role.html', context={'role_list': role_list})
- def post(self, request):
- # addName = request.POST.get('addName')
- # print("addName:",addName)
- addDescribe = request.POST.get('addDescribe')
- print("addDescribe:",addDescribe)
- groupname = Logo.objects.filter(role_describe=addDescribe)
- if len(groupname) != 0:
- data = "1"
- return HttpResponse(data)
- group = Logo.objects.create(role_describe=addDescribe)
- data = "0"
- return HttpResponse(data)
- # 自定义首页logo和footer:
- import os
- from PIL import Image
- @method_decorator(csrf_exempt, name='dispatch')
- def home_set(request):
- # 获得当前用户的用户名
- if request.method == 'GET':
- current_group = request.GET.get('group')
- print("current_group", current_group)
- group = Logo.objects.get(role_describe=current_group)
- return render(request, 'systemmanage/home_set.html',context={'group': group})
- if request.method == 'POST':
- req = request.POST.get('req')
- print("req:", req)
- if req == 'footer':
- current_group = request.POST.get('group')
- print("current_group:", current_group)
- group = Logo.objects.get(role_describe=current_group)
- # print("group.role_footer:", group.role_footer)
- footer = request.POST.get('footer')
- # print("footer:", footer)
- group.role_footer = footer
- header = request.POST.get('header')
- # print("footer:", footer)
- group.role_header = header
- group.save()
- data = "0"
- return HttpResponse(data)
- # elif req == 'header':
- # current_group = request.POST.get('group')
- # print("current_group:", current_group)
- # group = Logo.objects.get(role_describe=current_group)
- # # print("group.role_footer:", group.role_footer)
- # header = request.POST.get('header')
- # # print("footer:", footer)
- # group.role_footer = header
- # group.save()
- # data = "0"
- # return HttpResponse(data)
- else:
- current_group = request.POST.get('group1')
- print("current_group:", current_group)
- group = Logo.objects.get(role_describe=current_group)
- group_logo = request.FILES['upicture']
- print("组的首页logo", group_logo)
- # 路径:
- group_logo_dir = 'home_logo/'
- # group_logo_dir = 'F:\\YFWLW\\yfwlw\\home_logo/'
- # 判断如果路径不存在,即创建路径
- if os.path.exists(group_logo_dir) == False:
- os.makedirs(group_logo_dir)
- img = Image.open(group_logo)
- img.save(group_logo_dir + current_group+".png")
- new_logo = group_logo_dir + current_group+".png"
- # new_logo = 'home_logo/' + current_group+".png"
- print("组页logo路径:", new_logo)
- # 数据库关联设备,并在照片的表中存入路径:
- group.role_logo = new_logo
- group.save()
- data = "0"
- return HttpResponse(data)
- # 权限列表 视图函数
- class Privi_View(ListView):
- def get(self, request):
- privi_list = Permission.objects.all()
- return render(request, 'systemmanage/systemmanage_privi.html', context={'privi_list': privi_list})
- # 帮助中心设置 视图函数
- class Help_Set_View(View):
- def get(self, request):
- help_list = Help.objects.all()
- return render(request, 'systemmanage/systemmanage_help.html', context={'help_list': help_list})
- # 设备预警信息
- class EquipAlarm(View):
- def get(self,request):
- alarm_obj = Alarm_record.objects.all()
- nums = alarm_obj.count()
- return render(request,'systemmanage/equip_alarm.html', context={'nums': nums})
- from collections import Counter
- # 设备预警信息
- class EquipAlarm_List(View):
- def get(self,request):
- page = int(request.GET.get('page'))
- alarm_obj = Alarm_record.objects.all()
- alarm_list = alarm_obj[(10*(page-1)):(page*10)]
- return render(request,'systemmanage/equip_alarm_list.html', context={'alarm_list': alarm_list})
- def post(self,request):
- e_id = request.POST.get('e_id')
- page = int(request.POST.get('page',1))
- f_type = request.POST.get('f_type')
- req = request.POST.get('req')
- data = []
- if req == "offline":
- alarm_list = Alarm_record.objects.filter(alarm_desc="{'status':0,'type':'offline'}").values_list('equip_id_id')
- dat = Counter(alarm_list)
- dat = {str(k): v for k, v in dat.items()}
- for i in dat:
- number = re.findall("\d+",i)[0]
- data.append({"e_id":number,"etype":Equip.objects.get(equip_id=number).equip_type_id,"nums":dat[i]})
- data = sorted(data, key=lambda x:x['nums'],reverse=True)
- nums = len(data)
- data = data[(10*(page-1)):(page*10)]
- data = {'data': data, 'nums': nums}
- data = json.dumps(data, cls=CJSONEncoder)
- return HttpResponse(data)
- elif req == "relink":
- alarm_list = Alarm_record.objects.filter(alarm_desc="{'status': 'relink', 'type': 'dev_sta'}").values_list('equip_id_id')
- dat = Counter(alarm_list)
- dat = {str(k): v for k, v in dat.items()}
- for i in dat:
- number = re.findall("\d+",i)[0]
- data.append({"e_id":number,"etype":Equip.objects.get(equip_id=number).equip_type_id,"nums":dat[i]})
- data = sorted(data, key=lambda x:x['nums'],reverse=True)
- nums = len(data)
- data = data[(10*(page-1)):(page*10)]
- data = {'data': data, 'nums': nums}
- data = json.dumps(data, cls=CJSONEncoder)
- return HttpResponse(data)
- elif req == "cbdoffline":
- alarm_list = Alarm_record.objects.filter(alarm_desc="{'status':0,'type':'offline'}",e_type="3").values_list('equip_id_id')
- dat = Counter(alarm_list)
- dat = {str(k): v for k, v in dat.items()}
- for i in dat:
- number = re.findall("\d+",i)[0]
- data.append({"e_id":number,"etype":"3","nums":dat[i]})
- data = sorted(data, key=lambda x:x['nums'],reverse=True)
- nums = len(data)
- data = data[(10*(page-1)):(page*10)]
- data = {'data': data, 'nums': nums}
- data = json.dumps(data, cls=CJSONEncoder)
- return HttpResponse(data)
- elif req == "scdoffline":
- alarm_list = Alarm_record.objects.filter(alarm_desc="{'status':0,'type':'offline'}",e_type="2").values_list('equip_id_id')
- dat = Counter(alarm_list)
- dat = {str(k): v for k, v in dat.items()}
- for i in dat:
- number = re.findall("\d+",i)[0]
- data.append({"e_id":number,"etype":"2","nums":dat[i]})
- data = sorted(data, key=lambda x:x['nums'],reverse=True)
- nums = len(data)
- data = data[(10*(page-1)):(page*10)]
- data = {'data': data, 'nums': nums}
- data = json.dumps(data, cls=CJSONEncoder)
- return HttpResponse(data)
- elif req == "xyoffline":
- alarm_list = Alarm_record.objects.filter(alarm_desc="{'status':0,'type':'offline'}",e_type="4").values_list('equip_id_id')
- dat = Counter(alarm_list)
- dat = {str(k): v for k, v in dat.items()}
- for i in dat:
- number = re.findall("\d+",i)[0]
- data.append({"e_id":number,"etype":"4","nums":dat[i]})
- data = sorted(data, key=lambda x:x['nums'],reverse=True)
- nums = len(data)
- data = data[(10*(page-1)):(page*10)]
- data = {'data': data, 'nums': nums}
- data = json.dumps(data, cls=CJSONEncoder)
- return HttpResponse(data)
- elif req == "qxzoffline":
- alarm_list = Alarm_record.objects.filter(alarm_desc="{'status':0,'type':'offline'}",e_type="5").values_list('equip_id_id')
- dat = Counter(alarm_list)
- dat = {str(k): v for k, v in dat.items()}
- for i in dat:
- number = re.findall("\d+",i)[0]
- data.append({"e_id":number,"etype":"5","nums":dat[i]})
- data = sorted(data, key=lambda x:x['nums'],reverse=True)
- nums = len(data)
- data = data[(10*(page-1)):(page*10)]
- data = {'data': data, 'nums': nums}
- data = json.dumps(data, cls=CJSONEncoder)
- return HttpResponse(data)
- elif req == "cbdrelink":
- alarm_list = Alarm_record.objects.filter(alarm_desc="{'status': 'relink', 'type': 'dev_sta'}",e_type="3").values_list('equip_id_id')
- dat = Counter(alarm_list)
- dat = {str(k): v for k, v in dat.items()}
- for i in dat:
- number = re.findall("\d+",i)[0]
- data.append({"e_id":number,"etype":"3","nums":dat[i]})
- data = sorted(data, key=lambda x:x['nums'],reverse=True)
- nums = len(data)
- data = data[(10*(page-1)):(page*10)]
- data = {'data': data, 'nums': nums}
- data = json.dumps(data, cls=CJSONEncoder)
- return HttpResponse(data)
- elif req == "qxzrelink":
- alarm_list = Alarm_record.objects.filter(alarm_desc="{'status': 'relink', 'type': 'dev_sta'}",e_type="5").values_list('equip_id_id')
- dat = Counter(alarm_list)
- dat = {str(k): v for k, v in dat.items()}
- for i in dat:
- number = re.findall("\d+",i)[0]
- data.append({"e_id":number,"etype":"5","nums":dat[i]})
- data = sorted(data, key=lambda x:x['nums'],reverse=True)
- nums = len(data)
- data = data[(10*(page-1)):(page*10)]
- data = {'data': data, 'nums': nums}
- data = json.dumps(data, cls=CJSONEncoder)
- return HttpResponse(data)
- alarm_obj = Alarm_record.objects.all().values()
- if e_id:
- alarm_obj = Alarm_record.objects.filter(equip_id__equip_id__contains=e_id).values()
- dat = []
- for i in alarm_obj:
- sta = {"equip_id": i["equip_id_id"],"alarm_time": i["alarm_time"],"alarm_desc": i["alarm_desc"]}
- dat.append(sta)
- if f_type:
- dat = []
- for i in alarm_obj:
- sta = {"equip_id": i["equip_id_id"],"alarm_time": i["alarm_time"],"alarm_desc": i["alarm_desc"]}
- if eval(i['alarm_desc'])['type'] == f_type:
- dat.append(sta)
- nums = len(dat)
- dat = dat[(10*(page-1)):(page*10)]
- # print("dat:",eval(dat[0]['alarm_desc'])['type'])
- data = {'dat': dat, 'nums': nums}
- data = json.dumps(data, cls=CJSONEncoder)
- # print("data:",data)
- return HttpResponse(data)
- # 代理商分配视图
- class Agency_View(ListView):
- def get(self, request):
- agency_list = User_Group.objects.all()
- nums = MyUser.objects.all().count()
- return render(request,'systemmanage/agency_view.html', context={'nums': nums, "agency_list":agency_list})
- def post(self, request):
- user_name = request.POST.get('uname')
- agency_name = request.POST.get('agency')
- is_not = request.POST.get('is_not')
- print("username",user_name)
- print("agencyname",agency_name)
- print("is_not",is_not)
- user_obj = MyUser.objects.get(username=user_name)
- if agency_name == "":
- user_obj.user_agency = None
- user_obj.is_agency = is_not
- user_obj.save()
- try:
- equip_list = Equip.objects.filter(equip_user=user_obj)
- for x in equip_list:
- x.equip_agency = None
- x.save()
- except:
- pass
- else:
- agency_obj = User_Group.objects.get(name=agency_name)
- user_obj.user_agency = agency_obj
- user_obj.is_agency = is_not
- user_obj.save()
- try:
- equip_list = Equip.objects.filter(equip_user=user_obj)
- for x in equip_list:
- x.equip_agency = agency_obj
- x.save()
- except:
- pass
- data = "0"
- return HttpResponse(data)
- class Agency_View_List(ListView):
- def get(self, request):
- page = int(request.GET.get('page'))
- print("page:",page)
- username = request.GET.get('name')
- print("name:",username)
- if username != None:
- user_list = MyUser.objects.filter(username__contains=username)
- else:
- user_list = MyUser.objects.all()
- nums = user_list.count()
- user_list = user_list[(10*(page-1)):(page*10)]
- agency_list = User_Group.objects.all()
- return render(request,'systemmanage/agency_view_list.html', context={"user_list":user_list, "agency_list":agency_list, "nums":nums})
-
- def post(self, request):
- pass
- # 新增代理商
- class Agency_Add_View(ListView):
- def get(self, request):
- pass
- def post(self, request):
- agency_name = request.POST.get('name')
- if User_Group.objects.filter(name=agency_name).exists():
- print("代理商已存在")
- data = "1"
- else:
- User_Group.objects.create(name=agency_name)
- data = "0"
- return HttpResponse(data)
- # 测报灯识别
- class Is_Distinguish(ListView):
- def get(self, request):
- cbd_list = Equip.objects.filter(equip_type_id=3)
- nums = cbd_list.count()
- return render(request,'systemmanage/isDistinguish.html', context={"nums":nums})
- def post(self, request):
- page = int(request.POST.get("page"))
- imei = request.POST.get("imei")
- cbd_list = Equip.objects.filter(equip_type_id=3).values()
- cbd_list2 = RecentCBDdata.objects.all().values()
- if imei:
- cbd_list = Equip.objects.filter(equip_type_id=3,equip_id__contains=imei).values()
- cbd_list2 = RecentCBDdata.objects.filter(equip_id__equip_id__contains=imei).values()
- dat = []
- for i in cbd_list:
- for x in cbd_list2:
- if x['equip_id_id'] == i['equip_id']:
- dat.append({"e_id":i['equip_id'],"add_time":i['equip_add_time'],"addr":i['ftp_addr'],"disc":x['disc']})
- nums = len(dat)
- print(dat)
- dat = dat[(10*(page-1)):(page*10)]
- data = {"dat":dat,"nums":nums}
- data = json.dumps(data, cls=CJSONEncoder)
- return HttpResponse(data)
- # 测报灯识别修改
- class Is_Distinguish_Change(ListView):
- def get(self, request):
- pass
- def post(self, request):
- imei = request.POST.get("imei")
- addr = request.POST.get("addr")
- disc = request.POST.get("disc")
- print("disc",disc)
- print("addr",addr)
- print("imei",imei)
- if disc == "1":
- try:
- cbd_obj = RecentCBDdata.objects.get(equip_id_id=imei)
- cbd_obj.disc = 1
- cbd_obj.save()
- data = "0"
- except:
- data = "1"
- elif disc == "0":
- try:
- cbd_obj = RecentCBDdata.objects.get(equip_id_id=imei)
- cbd_obj.disc = 0
- cbd_obj.save()
- data = "0"
- except:
- data = "1"
- elif disc == "2":
- try:
- cbd_obj = RecentCBDdata.objects.get(equip_id_id=imei)
- cbd_obj.disc = 2
- cbd_obj.save()
- data = "0"
- except:
- data = "1"
- if addr == "cancel":
- try:
- equip_obj = Equip.objects.get(equip_id=imei)
- equip_obj.ftp_addr = ""
- equip_obj.save()
- data = "0"
- except:
- data = "1"
- elif addr:
- try:
- equip_obj = Equip.objects.get(equip_id=imei)
- equip_obj.ftp_addr = addr
- equip_obj.save()
- data = "0"
- except:
- data = "1"
- return HttpResponse(data)
-
|