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 { .dashboard #content-main .module {
float: left; float: left;
margin-right: 1.5%; margin-right: 1.5%;
width: 48%; width: 31%;
} }
/* FOOTER */ /* FOOTER */

30
sigi/context_processors.py

@ -1,7 +1,10 @@
#-*- coding:utf-8 -*- #-*- coding:utf-8 -*-
import datetime
from sigi.apps.casas.models import CasaLegislativa from sigi.apps.casas.models import CasaLegislativa
from sigi.apps.convenios.models import Convenio, Projeto from sigi.apps.convenios.models import Convenio, Projeto
from sigi.apps.contatos.models import UnidadeFederativa 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): def charts_data(request):
''' '''
@ -13,11 +16,15 @@ def charts_data(request):
convenios_assinados = convenios.exclude(data_retorno_assinatura=None) convenios_assinados = convenios.exclude(data_retorno_assinatura=None)
tabela_resumo_camara = busca_informacoes_camara() 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_conv_proj = grafico_convenio_projeto(convenios)
g_convassinado_proj = grafico_convenio_projeto(convenios_assinados) g_convassinado_proj = grafico_convenio_projeto(convenios_assinados)
return { return {
'tabela_resumo_camara' : tabela_resumo_camara, '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_conv_proj': g_conv_proj,
"g_convassinado_proj":g_convassinado_proj, "g_convassinado_proj":g_convassinado_proj,
} }
@ -112,4 +119,25 @@ def grafico_convenio_projeto(convenios):
} }
return dic 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 %} {% chart-title g_conv_proj.total_convenios %}
{% endchart %} {% endchart %}
<div class="module"> <div class="module" style="height: 300px;">
<h2>Resumo de informações</h2> <h2>Resumo de informações</h2>
<h3>Câmaras municipais por projeto</h3> <h3>Câmaras municipais por projeto</h3>
<div class="align-center"> <div class="align-center">
@ -58,6 +58,29 @@
</div> </div>
</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;"> <div class="module" style="height: 300px;">
<h2>Resumo de informações</h2> <h2>Resumo de informações</h2>
<h3>Resumo de informações por região</h3> <h3>Resumo de informações por região</h3>
@ -85,3 +108,18 @@
<img src="{{ processos.url }}" class="chart" /> <img src="{{ processos.url }}" class="chart" />
</div> </div>
</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