1 changed files with 117 additions and 0 deletions
@ -0,0 +1,117 @@ |
|||
from django.shortcuts import render |
|||
from django.http import HttpResponse,Http404,HttpResponseRedirect |
|||
from .envpost import * |
|||
from django.views.decorators.csrf import csrf_exempt |
|||
import time |
|||
from datetime import datetime |
|||
import json |
|||
|
|||
@csrf_exempt |
|||
def ntp_time(request): |
|||
spot = request.GET.get('spot') |
|||
# servaddr = request.GET.get('servaddr') |
|||
timespan = request.GET.get('timespan') |
|||
afire = request.GET.get('afire') |
|||
atemp = request.GET.get('atemp') |
|||
ahum = request.GET.get('ahum') |
|||
try: |
|||
save_deviceinfo(spot, timespan, afire, atemp, ahum) |
|||
except: |
|||
pass |
|||
return HttpResponse(str(int(time.time())+28801)) |
|||
|
|||
@csrf_exempt |
|||
def epost(request): |
|||
if request.method != 'POST': |
|||
return HttpResponse('Request method error.') |
|||
token = request.POST.get('token') |
|||
if not check_token(token): |
|||
return HttpResponse('Bad Request.') |
|||
sn = request.POST.get('sn') |
|||
if not check_spot(sn): |
|||
return HttpResponse('POST too soon.') |
|||
errcode = request.POST.get('errno') |
|||
electricity = request.POST.get('electricity') |
|||
fire = request.POST.get('fire') |
|||
water = request.POST.get('water') |
|||
temperature = request.POST.get('temperature') |
|||
humidity = request.POST.get('humidity') |
|||
envdata = {'sn':sn,'errcode':errcode, 'electricity':electricity, 'fire':fire, 'water':water, 'temperature':temperature, 'humidity':humidity} |
|||
deal_post(envdata) |
|||
return HttpResponse('Data received.') |
|||
|
|||
def index(request): |
|||
return HttpResponseRedirect('/admin/') |
|||
|
|||
def chart_index(request): |
|||
if request.method == 'POST': |
|||
topic = request.POST.get('topicval') # 统计主题 |
|||
tp = request.POST.get('tpval') # 统计分类 |
|||
spot = request.POST.get('spotval') # 地点 |
|||
statics_data = '' |
|||
if not request.POST.get('startdate'): |
|||
startdate = datetime.strftime(datetime.now() - timedelta(days=30), '%Y-%m-%d') |
|||
else: |
|||
startdate = request.POST.get('startdate') |
|||
if not request.POST.get('enddate'): |
|||
enddate = datetime.strftime(datetime.now(), '%Y-%m-%d') |
|||
else: |
|||
enddate = request.POST.get('enddate') |
|||
starttime = datetime.strptime(startdate + ' 00:00:00', '%Y-%m-%d %H:%M:%S') |
|||
endtime = datetime.strptime(enddate + ' 23:59:59', '%Y-%m-%d %H:%M:%S') |
|||
if not topic: |
|||
topic = '' |
|||
if not tp: |
|||
tp = '' |
|||
if not spot: |
|||
spot = '' |
|||
if topic == '报警统计': |
|||
statics_data = list(alarm_statics(spot, starttime, endtime)) |
|||
if topic == '采集统计': |
|||
statics_data = list(env_statics(spot, tp, starttime, endtime)) |
|||
for item in statics_data: |
|||
item['rectime'] = datetime.strftime(item['rectime'], '%Y/%m/%d %H:%M:%S') |
|||
if topic == '综合统计': |
|||
statics_data = compre_statics(starttime, endtime) |
|||
spots = parse_spots(get_spots()) |
|||
return render(request, 'chartindex.html', {'startdate': startdate, 'enddate': enddate, 'topicname': topic, |
|||
'tpname': tp, 'statics_data': statics_data, 'spots': spots, 'spot': spot}) |
|||
else: |
|||
startdate = datetime.strftime(datetime.now()-timedelta(days=30), '%Y-%m-%d') |
|||
enddate = datetime.strftime(datetime.now(), '%Y-%m-%d') |
|||
spots = get_spots() |
|||
return render(request, 'chartindex.html', {'startdate': startdate, 'enddate': enddate, 'spots': spots}) |
|||
|
|||
def sys_cmd(request): |
|||
if request.method == 'GET': |
|||
spots = get_spots() |
|||
cmdlist = get_cmdlist() |
|||
return render(request, 'sysmanager.html', {'spots': spots, 'sptname': '', 'cmdname': '', 'cmdlist':cmdlist}) |
|||
else: |
|||
spots = get_spots() |
|||
spot = request.POST.get('spotval') |
|||
cmd = request.POST.get('cmdval') |
|||
sptname = request.POST.get('sptname') |
|||
cmdname = request.POST.get('cmdname') |
|||
param = request.POST.get('paramval') |
|||
if spot and cmd: |
|||
store_cmd(spot, cmd, param) |
|||
cmdlist = get_cmdlist() |
|||
return render(request, 'sysmanager.html', {'spot': spot, 'cmd': cmd, 'param': param, 'spots': spots, |
|||
'sptname':sptname, 'cmdname':cmdname, 'cmdlist':cmdlist}) |
|||
|
|||
def cmd_query(request): |
|||
# 设备取命令 |
|||
cmdqueue = pop_cmd(request.GET.get('spot')) |
|||
return HttpResponse(cmdqueue) |
|||
|
|||
def cmd_queue(request): |
|||
# 获取当前未执行命令列表 |
|||
cmdlist = get_cmdlist() |
|||
return HttpResponse(json.dumps({'cmdlist':cmdlist})) |
|||
|
|||
def query_deviceinfo(request): |
|||
# 管理端获取最新定设备参数 |
|||
deviceinfo = get_deviceinfo(request.GET.get('spot')) |
|||
return HttpResponse(json.dumps(deviceinfo)) |
|||
|
Loading…
Reference in new issue