|
@ -1,15 +1,22 @@ |
|
|
from sigi.apps.casas.models import CasaLegislativa |
|
|
from sigi.apps.casas.models import CasaLegislativa |
|
|
from sigi.apps.convenios.models import Convenio |
|
|
from sigi.apps.convenios.models import Convenio, Projeto |
|
|
|
|
|
|
|
|
def charts_data(request): |
|
|
def charts_data(request): |
|
|
casas = CasaLegislativa.objects.all() |
|
|
casas = CasaLegislativa.objects.all() |
|
|
convenios = Convenio.objects.all() |
|
|
convenios = Convenio.objects.all() |
|
|
|
|
|
projetos = Projeto.objects.all() |
|
|
|
|
|
|
|
|
convenios_firmados = convenios.exclude(data_retorno_assinatura=None) |
|
|
convenios_firmados = convenios.exclude(data_retorno_assinatura=None) |
|
|
|
|
|
|
|
|
num_convenios_firmados = convenios_firmados.count() |
|
|
num_convenios_firmados = convenios_firmados.count() |
|
|
num_convenios_nao_firmados = convenios.filter(data_retorno_assinatura=None).count() |
|
|
num_convenios_nao_firmados = convenios.filter(data_retorno_assinatura=None).count() |
|
|
num_casas_nao_aderidas = casas.count() - convenios.exclude(data_adesao=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 = [ |
|
|
num_casas_regiao = [ |
|
|
casas.filter(municipio__uf__regiao='CO').count(), |
|
|
casas.filter(municipio__uf__regiao='CO').count(), |
|
|
casas.filter(municipio__uf__regiao='NO').count(), |
|
|
casas.filter(municipio__uf__regiao='NO').count(), |
|
@ -25,6 +32,12 @@ def charts_data(request): |
|
|
convenios_firmados.filter(casa_legislativa__municipio__uf__regiao='SL').count() |
|
|
convenios_firmados.filter(casa_legislativa__municipio__uf__regiao='SL').count() |
|
|
] |
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
# Verifica qual regiao tem mais convenios e guarda valor para "axis" do grafico de regioes |
|
|
|
|
|
num_regiao_maior = 0 |
|
|
|
|
|
for i in num_casas_regiao: |
|
|
|
|
|
if num_regiao_maior<i: |
|
|
|
|
|
num_regiao_maior = i |
|
|
|
|
|
|
|
|
equip_n_recebidos = convenios.filter(data_termo_aceite=None).count() |
|
|
equip_n_recebidos = convenios.filter(data_termo_aceite=None).count() |
|
|
equip_recebidos = convenios.exclude(data_termo_aceite=None).count() |
|
|
equip_recebidos = convenios.exclude(data_termo_aceite=None).count() |
|
|
|
|
|
|
|
@ -32,5 +45,8 @@ def charts_data(request): |
|
|
'regioes_chart_data': [num_convenios_firmados_regiao, num_casas_regiao], |
|
|
'regioes_chart_data': [num_convenios_firmados_regiao, num_casas_regiao], |
|
|
'convenios_chart_data': [num_convenios_firmados, num_convenios_nao_firmados, |
|
|
'convenios_chart_data': [num_convenios_firmados, num_convenios_nao_firmados, |
|
|
num_casas_nao_aderidas], |
|
|
num_casas_nao_aderidas], |
|
|
'equipamentos_chart_data': [equip_recebidos, equip_n_recebidos] |
|
|
'equipamentos_chart_data': [equip_recebidos, equip_n_recebidos], |
|
|
|
|
|
'projetos_chart_data': projetos, |
|
|
|
|
|
'convenios_por_projeto_chart_data': convenios_por_projeto, |
|
|
|
|
|
'num_regiao_maior_chart_data': num_regiao_maior, |
|
|
} |
|
|
} |
|
|