Browse Source

Adicionar dashboards de diagnósticos e dos serviços SEIT

stable/1.0
Sesostris Vieira 12 years ago
parent
commit
ff170fb5c7
  1. 2
      media/css/base_site.css
  2. 30
      sigi/context_processors.py
  3. 40
      sigi/templates/snippets/modules/charts-convenios.html

2
media/css/base_site.css

@ -139,7 +139,7 @@ img.chart {
.dashboard #content-main .module {
float: left;
margin-right: 1.5%;
width: 48%;
width: 31%;
}
/* FOOTER */

30
sigi/context_processors.py

@ -1,7 +1,10 @@
#-*- coding:utf-8 -*-
import datetime
from sigi.apps.casas.models import CasaLegislativa
from sigi.apps.convenios.models import Convenio, Projeto
from sigi.apps.contatos.models import UnidadeFederativa
from sigi.apps.servicos.models import TipoServico
from sigi.apps.diagnosticos.models import Diagnostico
def charts_data(request):
'''
@ -13,11 +16,15 @@ def charts_data(request):
convenios_assinados = convenios.exclude(data_retorno_assinatura=None)
tabela_resumo_camara = busca_informacoes_camara()
tabela_resumo_seit = busca_informacoes_seit()
tabela_resumo_diagnostico = busca_informacoes_diagnostico()
g_conv_proj = grafico_convenio_projeto(convenios)
g_convassinado_proj = grafico_convenio_projeto(convenios_assinados)
return {
'tabela_resumo_camara' : tabela_resumo_camara,
'tabela_resumo_seit' : tabela_resumo_seit,
'tabela_resumo_diagnostico': tabela_resumo_diagnostico,
'g_conv_proj': g_conv_proj,
"g_convassinado_proj":g_convassinado_proj,
}
@ -112,4 +119,25 @@ def grafico_convenio_projeto(convenios):
}
return dic
def busca_informacoes_seit():
mes_atual = datetime.date.today().replace(day=1)
mes_anterior = mes_atual - datetime.timedelta(days=1)
result = []
for tipo_servico in TipoServico.objects.all():
result.append(
{'nome': tipo_servico.nome,
'total': tipo_servico.servico_set.count(),
'novos_mes_anterior': tipo_servico.servico_set.filter(data_ativacao__year=mes_anterior.year, data_ativacao__month=mes_anterior.month).count(),
'novos_mes_atual': tipo_servico.servico_set.filter(data_ativacao__year=mes_atual.year, data_ativacao__month=mes_atual.month).count(),
}
)
return result
def busca_informacoes_diagnostico():
return [
{'title': 'Diagnósticos digitados', 'count': Diagnostico.objects.count()},
{'title': 'Diagnósticos publicados', 'count': Diagnostico.objects.filter(publicado=True).count()},
]

40
sigi/templates/snippets/modules/charts-convenios.html

@ -20,7 +20,7 @@
{% chart-title g_conv_proj.total_convenios %}
{% endchart %}
<div class="module">
<div class="module" style="height: 300px;">
<h2>Resumo de informações</h2>
<h3>Câmaras municipais por projeto</h3>
<div class="align-center">
@ -58,6 +58,29 @@
</div>
</div>
<div class="module" style="height: 300px;">
<h2>Serviços</h2>
<h3>Serviços hospedados no Interlegis (SEIT)</h3>
<table>
<tr>
<th style="width: 40%; vertical-align:bottom;">&nbsp;</th>
<th style="width: 20%; vertical-align:bottom; text-align: right;">Total de casas atendidas</th>
<th style="width: 20%; vertical-align:bottom; text-align: right;">Novas casas no mês anterior</th>
<th style="width: 20%; vertical-align:bottom; text-align: right;">Novas casas no mês atual</th>
</tr>
{% for servico in tabela_resumo_seit %}
<tr>
<th style="width: 40%;">{{ servico.nome }}</th>
<td style="text-align: right;">{{ servico.total }}</td>
<td style="text-align: right;">{{ servico.novos_mes_anterior }}</td>
<td style="text-align: right;">{{ servico.novos_mes_atual }}</td>
</tr>
{% endfor %}
</table>
</div>
<div class="module" style="height: 300px;">
<h2>Resumo de informações</h2>
<h3>Resumo de informações por região</h3>
@ -85,3 +108,18 @@
<img src="{{ processos.url }}" class="chart" />
</div>
</div>
<div class="module" style="height: 300px;">
<h2>Diagnósticos</h2>
<h3>Resumo dos diagnósticos</h3>
<table>
{% for data in tabela_resumo_diagnostico %}
<tr>
<th>{{ data.title }}</th>
<td style="text-align: right;">{{ data.count }}</td>
</tr>
{% endfor %}
</table>
</div>
Loading…
Cancel
Save