| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405 |
- # -*- coding: utf-8 -*-
- from django.shortcuts import render
- from django.http.response import HttpResponse,HttpResponseBadRequest
- from django.views.generic import ListView
- from apps.AppInfoManage.models import Equip, MyUser, User_Log,SCDstatus,CBDstatus, RecentCBDdata, RecentSCDdata, QXZstatus, QXZ_Base_Info
- from django.http import JsonResponse
- from django.core.exceptions import ObjectDoesNotExist
- import json
- from django.core import serializers
- import datetime
- # from apps.AppInfoManage.common import CJSONEncoder
- from apps.EquipManage.views import CJSONEncoder
- # 设备列表:
- class EquipList(ListView):
- def get(self, request):
- current_user = request.session.get('username')
- current_user = MyUser.objects.get(username=current_user)
- if current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency != True:
- print("---用户")
- nums = Equip.objects.filter(equip_user=current_user).count()
- elif current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency == True:
- print("---代理商")
- nums = Equip.objects.filter(equip_agency=current_user.user_agency).count()
- else:
- print("---管理员")
- nums = Equip.objects.all().count()
- User_Log.objects.create(log_user=request.user.username,
- log_ip=request.META['REMOTE_ADDR'], log_desc='设备列表')
- return render(request, 'equiplist/equiplist.html', context={'nums': nums})
- def post(self, request):
- if request.is_ajax():
- print("ajax-post!")
- req = request.POST.get('req')
- if req == "rename":
- print("修改名称")
- equip_id = request.POST.get('eid')
- print("equip_id:",equip_id)
- new_name = request.POST.get('ename')
- print("new_name:",new_name)
- equip = Equip.objects.get(equip_id=equip_id)
- # 如果输入的设备名,和当前的设备列表中已存在:
- try:
- Equip.objects.get(equip_name=new_name)
- data = "1"
- # 输入的设备名不存在,说明是新设备名称
- except ObjectDoesNotExist:
- equip.equip_name = new_name
- equip.save()
- if equip.equip_type_id == 2:
- scdobj = RecentSCDdata.objects.get(equip_id=equip.equip_id)
- scdobj.equip_name = new_name
- scdobj.save()
- elif equip.equip_type_id == 3:
- cbdobj = RecentCBDdata.objects.get(equip_id=equip.equip_id)
- cbdobj.equip_name = new_name
- cbdobj.save()
- data = "0"
- print("新设备名称为:", new_name)
- User_Log.objects.create(
- log_user=request.user.username, log_ip=request.META['REMOTE_ADDR'], log_desc='设备列表-修改设备名称')
- return HttpResponse(data)
- elif req == "addAddr":
- print("添加位置!")
- equip_id = request.POST.get('eid')
- print("equip_id:",equip_id)
- address = request.POST.get('address')
- print("address:",address)
- equip = Equip.objects.get(equip_id=equip_id)
- equip.equip_location = address
- equip.save()
- print("equip.equip_type:",equip.equip_type.type_id)
- if 2 == equip.equip_type.type_id:
- print("修改杀虫灯")
- SCDstatus.objects.filter(equip_id=equip_id).update(equip_location = address)
- elif 3 == equip.equip_type.type_id:
- print("修改测报灯")
- CBDstatus.objects.filter(equip_id=equip_id).update(equip_location = address)
- data = "2"
- User_Log.objects.create(
- log_user=request.user.username, log_ip=request.META['REMOTE_ADDR'], log_desc='设备列表-添加位置')
- return HttpResponse(data)
- elif req == "cbdscene":
- print("添加测报灯场景!")
- equip_id = request.POST.get('eid')
- print("equip_id:",equip_id)
- scene = request.POST.get('scene')
- print("scene:",scene)
- equip = Equip.objects.get(equip_id=equip_id)
- equip.scene = scene
- equip.save()
- cbd_obj = RecentCBDdata.objects.get(equip_id=equip)
- cbd_obj.scene = scene
- cbd_obj.save()
- return HttpResponse("0")
- else:
- print("unknown request!")
- return HttpResponseBadRequest()
- else:
- print("unknown request!")
- return HttpResponseBadRequest()
- # 数据接口:
- class EquipListData(ListView):
- def get(self, request):
- pass
- def post(self, request):
- print("数据!!!")
- if request.is_ajax():
- print("ajax-post!")
- if request.POST.get('req') == "reqdat":
- 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 and current_user.is_staff != True and current_user.is_agency != True:
- print("---不是管理员")
- equip_list = Equip.objects.filter(equip_user=current_user)[(10*(page-1)):(page*10)]
- elif current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency == True:
- print("---代理商")
- equip_list = Equip.objects.filter(equip_agency=current_user.user_agency)[(10*(page-1)):(page*10)]
- else:
- print("---管理员")
- equip_list = Equip.objects.all()[(10*(page-1)):(page*10)]
- data = []
- for i in equip_list:
- sta1 = Equip.objects.filter(equip_id=i.equip_id).select_related()
-
- for x in sta1:
- try:
- sta2 = {"equip_id": x.equip_id,
- "equip_user": x.equip_user.username,
- "scene":x.scene,
- "equip_name": x.equip_name,
- "equip_add_time": x.equip_add_time,
- "equip_type": x.equip_type.type_id,
- "equip_location": x.equip_location}
- except AttributeError:
- sta2 = {"equip_id": x.equip_id,
- "equip_user": "",
- "scene":x.scene,
- "equip_name": x.equip_name,
- "equip_add_time": x.equip_add_time,
- "equip_type": x.equip_type.type_id,
- "equip_location": x.equip_location}
- data.append(sta2)
-
- User_Log.objects.create(log_user=request.user.username,log_ip=request.META['REMOTE_ADDR'], log_desc='设备列表')
- # data = serializers.serialize("json", equip_list)
- data = json.dumps(data, cls=CJSONEncoder)
- # print("data:",data)
- return HttpResponse(data)
- else:
- print("unknown request!")
- return HttpResponseBadRequest()
- else:
- print("unknown request!")
- return HttpResponseBadRequest()
-
- # 筛选接口:
- import re
- class EquipListFilter(ListView):
- def get(self, request):
- pass
- def post(self, request):
- print("筛选!!!")
- f_type = request.POST.get('f_type')
- f_id = request.POST.get('f_id')
- f_tbegin = request.POST.get('f_tbegin')
- f_tend = request.POST.get('f_tend')
- page = int(request.POST.get('page'))
- print("f_type:", f_type)
- print("f_id:", f_id)
- print("f_tbegin:", f_tbegin)
- print("f_tend:", f_tend)
- 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 and current_user.is_staff != True and current_user.is_agency != True:
- print("---不是管理员")
- # 000
- if f_id == '' and f_type == '0' and f_tbegin == '' and f_tend == '':
- equip_list = Equip.objects.filter(equip_user=current_user)
- # 001
- elif f_id == '' and f_type == '0' 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]))
- equip_list = Equip.objects.filter(equip_user=current_user,equip_add_time__range=(start_date, end_date))
- # 010
- elif f_id == '' and f_type != '0' and f_tbegin == '' and f_tend == '':
- equip_list = Equip.objects.filter(equip_user=current_user,equip_type=f_type)
- # 011
- elif f_id == '' and f_type != '0' 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]))
- equip_list = Equip.objects.filter(equip_user=current_user,equip_type=f_type,equip_add_time__range=(start_date, end_date))
- # 100
- elif f_id != '' and f_type == '0' and f_tbegin == '' and f_tend == '':
- equip_list = Equip.objects.filter(equip_user=current_user,equip_id__contains=f_id)
- # 101
- elif f_id != '' and f_type == '0' 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]))
- equip_list = Equip.objects.filter(equip_user=current_user,equip_id__contains=f_id,equip_add_time__range=(start_date, end_date))
- # 110
- elif f_id != '' and f_type != '0' and f_tbegin == '' and f_tend == '':
- equip_list = Equip.objects.filter(equip_user=current_user,equip_id__contains=f_id,equip_type=f_type)
- # 111
- # elif f_id != '' and f_type != '0' and f_tbegin != '' and f_tend != '':
- else:
- 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]))
- equip_list = Equip.objects.filter(equip_user=current_user,equip_id__contains=f_id,equip_type=f_type,equip_add_time__range=(start_date, end_date))
- elif current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency == True:
- print("---代理商")
- # 000
- if f_id == '' and f_type == '0' and f_tbegin == '' and f_tend == '':
- equip_list = Equip.objects.filter(equip_agency=current_user.user_agency)
- # 001
- elif f_id == '' and f_type == '0' 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]))
- equip_list = Equip.objects.filter(equip_agency=current_user.user_agency, equip_add_time__range=(start_date, end_date))
- # 010
- elif f_id == '' and f_type != '0' and f_tbegin == '' and f_tend == '':
- equip_list = Equip.objects.filter(equip_agency=current_user.user_agency, equip_type=f_type)
- # 011
- elif f_id == '' and f_type != '0' 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]))
- equip_list = Equip.objects.filter(equip_agency=current_user.user_agency, equip_type=f_type, equip_add_time__range=(start_date, end_date))
- # 100
- elif f_id != '' and f_type == '0' and f_tbegin == '' and f_tend == '':
- equip_list = Equip.objects.filter(equip_agency=current_user.user_agency, equip_id__contains=f_id)
- # 101
- elif f_id != '' and f_type == '0' 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]))
- equip_list = Equip.objects.filter(equip_agency=current_user.user_agency, equip_id__contains=f_id, equip_add_time__range=(start_date, end_date))
- # 110
- elif f_id != '' and f_type != '0' and f_tbegin == '' and f_tend == '':
- equip_list = Equip.objects.filter(equip_agency=current_user.user_agency, equip_id__contains=f_id, equip_type=f_type)
- # 111
- # elif f_id != '' and f_type != '0' and f_tbegin != '' and f_tend != '':
- else:
- 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]))
- equip_list = Equip.objects.filter(equip_agency=current_user.user_agency, equip_id__contains=f_id,
- equip_type=f_type,equip_add_time__range=(start_date, end_date))
- else:
- print("---管理员")
- # 000
- if f_id == '' and f_type == '0' and f_tbegin == '' and f_tend == '':
- equip_list = Equip.objects.all()
- # 001
- elif f_id == '' and f_type == '0' 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]))
- equip_list = Equip.objects.filter(equip_add_time__range=(start_date, end_date))
- # 010
- elif f_id == '' and f_type != '0' and f_tbegin == '' and f_tend == '':
- equip_list = Equip.objects.filter(equip_type=f_type)
- # 011
- elif f_id == '' and f_type != '0' 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]))
- equip_list = Equip.objects.filter(equip_type=f_type,equip_add_time__range=(start_date, end_date))
- # 100
- elif f_id != '' and f_type == '0' and f_tbegin == '' and f_tend == '':
- equip_list = Equip.objects.filter(equip_id__contains=f_id)
- # 101
- elif f_id != '' and f_type == '0' 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]))
- equip_list = Equip.objects.filter(equip_id__contains=f_id,equip_add_time__range=(start_date, end_date))
- # 110
- elif f_id != '' and f_type != '0' and f_tbegin == '' and f_tend == '':
- equip_list = Equip.objects.filter(equip_id__contains=f_id,equip_type=f_type)
- # 111
- # elif f_id != '' and f_type != '0' and f_tbegin != '' and f_tend != '':
- else:
- 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]))
- equip_list = Equip.objects.filter(equip_id__contains=f_id).filter(equip_type=f_type,equip_add_time__range=(start_date, end_date))
- # data = []
- dat = []
- for i in equip_list[(10*(page-1)):(page*10)]:
- sta1 = Equip.objects.filter(equip_id=i.equip_id).select_related()
- try:
- for x in sta1:
- sta2 = {"equip_id": x.equip_id,
- "equip_user": x.equip_user.username,
- "scene":x.scene,
- "equip_name": x.equip_name,
- "equip_add_time": x.equip_add_time,
- "equip_type": x.equip_type.type_id,
- "equip_location": x.equip_location}
- dat.append(sta2)
- except AttributeError:
- for x in sta1:
- sta2 = {"equip_id": x.equip_id,
- "equip_user": "",
- "scene":x.scene,
- "equip_name": x.equip_name,
- "equip_add_time": x.equip_add_time,
- "equip_type": x.equip_type.type_id,
- "equip_location": x.equip_location}
- dat.append(sta2)
- # data = serializers.serialize("json", equip_list)
- data = {'dat':dat,'nums':equip_list.count()}
- data = json.dumps(data, cls=CJSONEncoder)
- # print("data:",data)
- return HttpResponse(data)
- # 气象站添加定位
- class QXZ_Location(ListView):
- def get(self, request):
- e_id = request.GET.get('e_id')
- imei = Equip.objects.get(equip_id=e_id)
- if QXZ_Base_Info.objects.filter(equip_id=imei).exists():
- equip_obj = QXZ_Base_Info.objects.get(equip_id=e_id)
- else:
- QXZ_Base_Info.objects.create(equip_id=imei, volt="",rssi="",iccid="",lng="",lat="",led="")
- equip_obj = QXZ_Base_Info.objects.get(equip_id=e_id)
- data = {"lat":equip_obj.lat,"lng":equip_obj.lng}
- print(data)
- data = json.dumps(data)
- return HttpResponse(data)
- def post(self, request):
- e_id = request.POST.get('e_id')
- lng = request.POST.get('lng')
- lat = request.POST.get('lat')
- try:
- equip_obj = QXZ_Base_Info.objects.get(equip_id=e_id)
- equip_obj.lng = lng
- equip_obj.lat = lat
- equip_obj.save()
- return HttpResponse("0")
- except:
- return HttpResponse("1")
|