def lecturas(request,tipo): template="" listadatos=[] listgrafico=[] tipo=str(tipo) hoy = datetime.datetime.now() if tipo=="24": template = "web/secciones/lecturas/ultima24horas.html" datos=consultaTablas('24',hoy,sensores=None,grafica="ultima") if datos!=[]: listgrafico =[([ [ tiempoenMil(row[0],row[1],row[2],row[3],row[4]) , ponCero(row[5]) ]] ) for row in datos ] for dat in datos: #listadatos.append([str(dat[3])+":"+str(dat[4]),ponCero(dat[5])]) listadatos.append( [str(dat[6]).split(' ')[1],ponCero(dat[5])]) if tipo=="7": template = "web/secciones/lecturas/ultimos7dias.html" datos=consultaTablas('semana', hoy,sensores=None,grafica="ultima") if datos!=[]: listgrafico =[([[ tiempoenMil(row[0],row[1],row[2],0,0), ponCero(row[3]) ]] ) for row in datos ] for dat in datos: listadatos.append(dict(dia=dat[0],energia=ponCero(dat[3]))) if tipo=="30": template = "web/secciones/lecturas/ultimomes.html" datos=consultaTablas('mes',hoy,sensores=None,grafica="ultima") if datos!=[]: listgrafico =[([[ tiempoenMil(row[0],row[1],row[2],0,0), ponCero(row[3]) ]] ) for row in datos ] for dat in datos: listadatos.append([dat[0],ponCero(dat[3])] ) return render_to_response(template, {'listadatos' : listadatos,'listgraf':listgrafico, },context_instance=RequestContext(request) )
def grafico_dia(request): hoy = datetime.datetime.now() dia = hoy.day mes = hoy.month ano = hoy.year sql=('select dia,per,ejer,hora, sum(energia) from lecturas_consumoshoras where dia=%s and per=%s and ejer=%s %s group by dia,per,ejer,hora order by hora' % (dia,mes,ano,sentenciaSensores() ) ) cur = connection.cursor() cur.execute(sql) entries = [([[tiempoenMil(row[0],row[1],row[2],row[3],0), ponCero(row[4])]]) for row in cur.fetchall()] return simplejson.dumps(entries)
def grafico_mes(request): hoy = datetime.datetime.now() dia = hoy.day mes = hoy.month ano = hoy.year nsemana =hoy.strftime("%W") sql =('select dia,per,ejer,sum(energia) promedio from lecturas_consumosdias where per=%s and ejer=%s %s group by dia,per,ejer order by dia ' % (mes,ano,sentenciaSensores())) cur = connection.cursor() cur.execute(sql) entries = [([[tiempoenMil(row[0],row[1],row[2],0,0) , ponCero(row[3])]]) for row in cur.fetchall()] return simplejson.dumps(entries)
def grafico_semana(request): hoy = datetime.datetime.now() dia = hoy.day mes = hoy.month ano = hoy.year nsemana = noSemana(dia,mes,ano) sql = (""" select dia,per,ejer,sum(energia) from lecturas_consumosdias where per = """+str(mes)+""" and ejer="""+str(ano)+ """ %s group by semana """ % sentenciaSensores() ) print sql #sql=("""select strftime('%%w',date(cast(ejer as varchar(2)) || "-"|| cast(per as varchar(2)) ||"-"|| cast(dia as varchar(2)) ) ) ,sum(energia) promedio from (select dia,per,ejer,hora,avg(energia) energia from lecturas_consumos where strftime('%%W',date(cast(ejer as varchar(2)) || "-"|| cast(per as varchar(2)) ||"-"|| cast(dia as varchar(2)) ) ) ="%s" and ejer=%s group by hora,dia,per,ejer) group by strftime('%%w',date(cast(ejer as varchar(2)) || "-"|| cast(per as varchar(2)) ||"-"|| cast(dia as varchar(2)) ) ) order by 1 """ % (nsemana,ano)) cur = connection.cursor() cur.execute(sql) entries = [([[ tiempoenMil(row[0],row[1],row[2],0,0), ponCero(row[3])] ]) for row in cur.fetchall()] return simplejson.dumps(entries)
def verHistoricos(request,tipo): listadatos=[] listgrafico=[] datos=[] etiquetas = { 'titulotab': 'Datos Diarios', 'titcol1': 'Horas', 'titulograf' : 'Gráfico Diario'} template="web/secciones/historico/resumenhistorico.html" if 'consulta' in request.POST: formconsulta = HistoricoForms(request.POST) if formconsulta.is_valid(): vsensor = formconsulta.cleaned_data['sensores'] vfecha = formconsulta.cleaned_data['fecha'] vfecha = datetime.datetime(*(vfecha.timetuple()[:6])) if tipo==u'1': #Diario etiquetas = { 'titulotab': 'Datos Diarios', 'titcol1': 'Horas', 'titulograf' : 'Gráfico Diario'} datos= consultaTablas('24',vfecha,int(vsensor.id),None) if datos!=[]: listgrafico =[([ [ tiempoenMil(row[0],row[1],row[2],row[3],row[4]) , ponCero(row[5]) ]] ) for row in datos ] for dat in datos: listadatos.append( [str(dat[6]).split(' ')[1],ponCero(dat[5])]) elif tipo==u'2': #Semana etiquetas = { 'titulotab': 'Datos Semanales', 'titcol1': 'Día Semana', 'titulograf' : 'Gráfico Semanal'} datos= consultaTablas('semana',vfecha,int(vsensor.id),None) if datos!=[]: listgrafico =[([ [ tiempoenMil(row[0],row[1],row[2],0,0) , ponCero(row[3]) ]] ) for row in datos ] print listgrafico for dat in datos: listadatos.append([str(dat[0]),ponCero(dat[3])]) elif tipo==u'3': #Mes etiquetas = { 'titulotab': 'Datos Mensuales', 'titcol1': 'Dias', 'titulograf' : 'Gráfico Mensuales'} datos= consultaTablas('mes',vfecha,int(vsensor.id),grafica="ultimas") print datos if datos!=[]: listgrafico =[([ [ tiempoenMil(row[0],row[1],row[2],0,0) , ponCero(row[3]) ]] ) for row in datos ] for dat in datos: listadatos.append([str(dat[0]),ponCero(dat[3])] ) elif tipo==u'4': #Ano etiquetas = { 'titulotab': 'Datos Anuales', 'titcol1': 'Mes', 'titulograf' : 'Gráfico Anual'} datos= consultaTablas('ano',vfecha,int(vsensor.id),None) if datos!=[]: listgrafico =[([ [ tiempoenMil(1,row[0],row[1],0,0) , ponCero(row[2]) ]] ) for row in datos ] for dat in datos: listadatos.append( [str(dat[0]),ponCero(dat[2])]) else: print messages.error(request, "%s " % formconsulta.errors.as_text) print "Error" else: if tipo==u'1': etiquetas = { 'titulotab': 'Datos Diarios', 'titcol1': 'Horas', 'titulograf' : 'Gráfico Diario'} elif tipo==u'2': etiquetas = { 'titulotab': 'Datos Semanales', 'titcol1': 'Dáa Semana', 'titulograf' : 'Gráfico Semanal'} elif tipo==u'3': etiquetas = { 'titulotab': 'Datos Mensuales', 'titcol1': 'Dias', 'titulograf' : 'Gráfico Mensuales'} elif tipo==u'4': etiquetas = { 'titulotab': 'Datos Anuales', 'titcol1': 'Mes', 'titulograf' : 'Gráfico Anual'} formconsulta = HistoricoForms() return render_to_response(template, {'formconsulta' :formconsulta,'listadatos' : listadatos,'listgraf':listgrafico, 'etiquetas' : etiquetas } ,context_instance=RequestContext(request) )