diff --git a/sigi/context_processors.py b/sigi/context_processors.py index 63b6af1..09dcd53 100644 --- a/sigi/context_processors.py +++ b/sigi/context_processors.py @@ -1,74 +1,107 @@ +#-*- coding:utf-8 -*- from sigi.apps.casas.models import CasaLegislativa from sigi.apps.convenios.models import Convenio, Projeto from sigi.apps.contatos.models import UnidadeFederativa def charts_data(request): - casas = CasaLegislativa.objects.all() + ''' + Busca informacoes para a criacao dos graficos e resumos + ''' + + projetos = Projeto.objects.all() convenios = Convenio.objects.all() + convenios_assinados = convenios.exclude(data_retorno_assinatura=None) + + tabela_resumo_camara = busca_informacoes_camara() + g_conv_proj = grafico_convenio_projeto(convenios) + g_convassinado_proj = grafico_convenio_projeto(convenios_assinados) + + return { + 'tabela_resumo_camara' : tabela_resumo_camara, + 'g_conv_proj': g_conv_proj, + "g_convassinado_proj":g_convassinado_proj, + } + +def busca_informacoes_camara(): + ''' + Busca informacoes no banco para montar tabela de resumo de camaras por projeto + Retorna um dicionario de listas + ''' + casas = CasaLegislativa.objects.all() + camaras = casas.filter(tipo__sigla='CM') + convenios = Convenio.objects.filter(casa_legislativa__tipo__sigla='CM') projetos = Projeto.objects.all() - convenios_firmados = convenios.exclude(data_retorno_assinatura=None) - - num_convenios_firmados = convenios_firmados.count() - num_convenios_nao_firmados = convenios.filter(data_retorno_assinatura=None).count() - #num_casas_nao_aderidas = CasaLegislativa.objects.filter(convenio=None).count() - #num_casas_nao_aderidas = casas.count() - convenios.exclude(data_adesao=None).count() - - # Verifica quantidade de convenios por projeto - convenios_por_projeto = [] - for p in projetos: - convenios_por_projeto.append(convenios_firmados.filter(projeto=p).count()) - - num_casas_regiao = [ - casas.filter(municipio__uf__regiao='CO').count(), - casas.filter(municipio__uf__regiao='NO').count(), - casas.filter(municipio__uf__regiao='NE').count(), - casas.filter(municipio__uf__regiao='SD').count(), - casas.filter(municipio__uf__regiao='SL').count() - ] - #num_convenios_firmados_regiao = [ - # convenios_firmados.filter(casa_legislativa__municipio__uf__regiao='CO').count(), - # convenios_firmados.filter(casa_legislativa__municipio__uf__regiao='NO').count(), - # convenios_firmados.filter(casa_legislativa__municipio__uf__regiao='NE').count(), - # convenios_firmados.filter(casa_legislativa__municipio__uf__regiao='SD').count(), - # convenios_firmados.filter(casa_legislativa__municipio__uf__regiao='SL').count() - #] - - REGIAO_CHOICES = ('CO','NO','NE','SD','SL') - - # Busca numero de casas conveniadas por regiao - num_casas_conveniadas_regiao = [] - for regiao in REGIAO_CHOICES: - num_casas_conveniadas_regiao.append( - casas.filter( - municipio__uf__regiao=regiao - ).exclude( - convenio__data_retorno_assinatura=None - ).distinct().count() - ) - - # Busca numero de casas sem convenio por regiao - num_casas_sem_convenio_regiao = [] - for i in range(len(num_casas_regiao)): - num_casas_sem_convenio_regiao.append( - num_casas_regiao[i] - num_casas_conveniadas_regiao[i] - ) - - # Verifica qual regiao tem mais convenios e guarda valor para "axis left" do grafico de regioes - num_regiao_maior = 0 - for i in num_casas_regiao: - if num_regiao_maior -

Convênios

-

Convênios com as Casas Legislativas

-

- -

+

Resumo de informações

+

Câmaras municipais por projeto

+
+ + + {% for item in tabela_resumo_camara.cabecalho_topo %} + + {% endfor %} + + + {% for cabecalho,lista in tabela_resumo_camara.lista_zip %} + + + {% for item in lista %} + + {% endfor %} + + {% endfor %} +
{{item}}
{{cabecalho}}{{item}}
+
- -
-

Convênios

-

Casas Legislativas com equipamentos

-

- -

+

Convênios

+

Convênios assinados por projeto

+
+ +
-

Convênios

-

Convênios por projeto

-

- -

-
- +

Convênios

+

Processos de convênios por projeto

+
+ +
+ \ No newline at end of file diff --git a/sigi/urls.py b/sigi/urls.py index e555644..095364c 100644 --- a/sigi/urls.py +++ b/sigi/urls.py @@ -34,6 +34,11 @@ urlpatterns = patterns( 'sigi.apps.convenios.views.report_por_al'), (r'^convenios/convenio/reportsRegiao/(?P\w+)', 'sigi.apps.convenios.views.report_regiao'), + #reports sem data de aceite + (r'^convenios/convenio/report_semaceite_por_cm/', + 'sigi.apps.convenios.views.report_semaceite_por_cm'), + (r'^convenios/convenio/report_semaceite_por_al/', + 'sigi.apps.convenios.views.report_semaceite_por_al'), # automatic interface based on admin (r'^(.*)', sites.default.root), )