Conjunto de mudanças 5102 no repositório publico


Ignorar:
Timestamp:
14/06/2011 16:56:43 (10 anos atrás)
Autor:
starlone
Mensagem:

Atualizando relatorio por regiao. Dividido por projetos.

Localização:
SIGI/trunk/sigi/apps/convenios
Arquivos:
3 editados

Legenda:

Não Modificado
Adicionado
Removido
  • SIGI/trunk/sigi/apps/convenios/admin.py

    r5100 r5102  
    5151    inlines = (TramitacaoInline, AnexosInline, EquipamentoPrevistoInline)
    5252    list_display = ('num_convenio', 'casa_legislativa',
    53                     'data_adesao','data_retorno_assinatura','data_termo_aceite',
     53                    'data_adesao','data_retorno_assinatura','data_pub_diario','data_termo_aceite',
    5454                    'projeto',
    5555                    )
  • SIGI/trunk/sigi/apps/convenios/templates/convenios/tabela_regiao.html

    r4968 r5102  
    100100            </tr>           
    101101        </table>
    102         <h1 class="titulo">{{tabela.regiao}}</h1>       
     102        <h1 class="titulo">{{regiao}}</h1>       
    103103    </div>   
    104     <div id="midle">       
     104    <div id="midle">
     105        {% for tabela in tabelas %}
    105106        <table class="tabela" repeat="1">
    106             <caption>{{tabela.projeto}} - {{tabela.regiao}}</caption>
     107            <caption>{{tabela.projeto}} - {{regiao}}</caption>
    107108            <thead>
    108109                <tr>
     
    129130            </tbody>
    130131        </table>
     132        <br />
     133        {% endfor %}
    131134    </div>   
    132135    <div id="footerContent">
  • SIGI/trunk/sigi/apps/convenios/views.py

    r5029 r5102  
    33from django.shortcuts import render_to_response, get_list_or_404
    44from geraldo.generators import PDFGenerator
    5 from sigi.apps.convenios.models import Convenio
     5from sigi.apps.convenios.models import Convenio, Projeto
    66from sigi.apps.convenios.reports import ConvenioReport      \
    77                                        ,ConvenioPorCMReport      \
     
    174174    else:
    175175        return HttpResponseRedirect('../')
    176     return response   
     176    return response
     177
     178def casas_estado_to_tabela(casas,convenios,regiao):
     179
     180
     181    estados = get_list_or_404(UnidadeFederativa,regiao=regiao)
     182
     183    class LinhaEstado():
     184        pass
     185
     186    lista = []
     187
     188    for estado in estados:
     189        linha = LinhaEstado()
     190
     191        convenios_est = convenios.filter(casa_legislativa__municipio__uf=estado)
     192        convenios_est_publicados = convenios_est.exclude(data_pub_diario=None)
     193
     194        casas_est = casas.filter(municipio__uf=estado)
     195        casas_est_nao_aderidas = casas_est.exclude(convenio__in=convenios_est).distinct()
     196        casas_est_aderidas = casas_est.filter(convenio__in=convenios_est).distinct()
     197        casas_est_conveniadas = casas_est.filter(convenio__in=convenios_est_publicados).distinct()
     198
     199        linha.lista = (
     200            casas_est.count(),
     201            casas_est_nao_aderidas.count(),
     202            casas_est_aderidas.count(),
     203            casas_est_conveniadas.count(),
     204        )
     205
     206        linha.estado = estado
     207
     208        lista.append(linha)
     209       
     210    casas_regiao = casas.filter(municipio__uf__regiao=regiao)
     211    convenios_regiao = convenios.filter(casa_legislativa__municipio__uf__regiao=regiao)
     212    convenios_regiao_publicados = convenios_regiao.exclude(data_pub_diario=None)
     213    sumario = (
     214        casas_regiao.count(),
     215        casas_regiao.exclude(convenio__in=convenios_regiao).distinct().count(),
     216        casas_regiao.filter(convenio__in=convenios_regiao).distinct().count(),
     217        casas_regiao.filter(convenio__in=convenios_regiao_publicados).distinct().count(),
     218    )
     219
     220    cabecalho_topo = (
     221        u'UF',
     222        u'Câmaras municipais',
     223        u'Não Aderidas',
     224        u'Aderidas',       
     225        u'Conveniadas',
     226    )   
     227
     228    return {
     229        "linhas":lista,
     230        "cabecalho":cabecalho_topo,
     231        "sumario":sumario,
     232    }
    177233
    178234def report_regiao(request,regiao='NE'):
     
    188244        'NE': 'Nordeste',
    189245        'NO': 'Norte',
    190     }   
     246    }
     247   
     248    projetos = Projeto.objects.all()
    191249   
    192250    camaras = CasaLegislativa.objects.filter(tipo__sigla='CM')
    193     convenios = Convenio.objects.filter(casa_legislativa__tipo__sigla='CM',projeto__sigla='PI')
    194    
    195     camaras_sem_processo = camaras.exclude(convenio__projeto__sigla='PI')   
    196    
    197     convenios_assinados = convenios.exclude(data_retorno_assinatura=None)
    198     convenios_em_andamento = convenios.filter(data_retorno_assinatura=None)
    199 
    200     convenios_sem_adesao = convenios.filter(data_adesao=None)
    201     convenios_com_adesao = convenios.exclude(data_adesao=None)
    202 
    203     convenios_com_aceite = convenios.exclude(data_termo_aceite=None)
    204    
    205     # Contando casas por estado
    206     estados = get_list_or_404(UnidadeFederativa,regiao=regiao)
    207    
    208     class LinhaEstado():
    209         pass
    210    
    211     lista = []
    212    
    213     for estado in estados:
    214         linha = LinhaEstado()       
    215         conv_sem_adesao_est = convenios_sem_adesao.filter(casa_legislativa__municipio__uf=estado)
    216         conv_com_adesao_est = convenios_com_adesao.filter(casa_legislativa__municipio__uf=estado)
    217         conv_assinados_est  = convenios_assinados.filter(casa_legislativa__municipio__uf=estado)
    218         conv_em_andamento_est = convenios_em_andamento.filter(casa_legislativa__municipio__uf=estado)
    219         conv_equipadas_est = convenios_com_aceite.filter(casa_legislativa__municipio__uf=estado)
    220                
    221         camaras_est = camaras.filter(municipio__uf=estado,tipo__sigla='CM').count()
    222         camaras_sem_processo_est = camaras_sem_processo.filter(municipio__uf=estado).count()   
    223         camaras_nao_aderidas_est = camaras.filter(convenio__in=conv_sem_adesao_est).count()
    224         camaras_aderidas_est = camaras.filter(convenio__in=conv_com_adesao_est).count()
    225         camaras_convenios_assinados_est = camaras.filter(convenio__in=conv_assinados_est).count()
    226         camaras_convenios_em_andamento_est = camaras.filter(convenio__in=conv_em_andamento_est).count()
    227         camaras_equipadas_est = camaras.filter(convenio__in=conv_equipadas_est).count()
    228        
    229         linha.lista = (
    230             camaras_est,
    231             camaras_sem_processo_est,
    232             camaras_nao_aderidas_est,
    233             camaras_aderidas_est,
    234             camaras_convenios_assinados_est,
    235             camaras_convenios_em_andamento_est,
    236             camaras_equipadas_est,
    237         )
    238        
    239         linha.estado = estado.sigla
    240        
    241         lista.append(linha)
    242     # Total
    243     total_cm = camaras.filter(municipio__uf__regiao=regiao,tipo__sigla='CM').count()
    244     total_sem_processo = camaras_sem_processo.filter(municipio__uf__regiao=regiao).count()
    245     total_sem_adesao = camaras.filter(convenio__in=convenios_sem_adesao,municipio__uf__regiao=regiao).count()
    246     total_com_adesao = camaras.filter(convenio__in=convenios_com_adesao,municipio__uf__regiao=regiao).count()
    247     total_conv_assin = camaras.filter(convenio__in=convenios_assinados,municipio__uf__regiao=regiao).count()
    248     total_conv_andam = camaras.filter(convenio__in=convenios_em_andamento,municipio__uf__regiao=regiao).count()
    249     total_equipadas  = camaras.filter(convenio__in=convenios_com_aceite,municipio__uf__regiao=regiao).count()
    250    
    251     sumario = [
    252            total_cm,
    253            total_sem_processo,
    254            total_sem_adesao,
    255            total_com_adesao,
    256            total_conv_assin,
    257            total_conv_andam,
    258            total_equipadas,
    259     ]
    260    
    261        
    262        
    263    
    264     cabecalho_topo = (
    265         u'UF',             
    266         u'Câmaras municipais',
    267         u'Sem processo',
    268         u'Sem adesão',
    269         u'Com adesão',
    270         u'Convênios assinados',
    271         u'Convênios andamento',
    272         u'Equipadas'
    273     )   
    274    
    275     projeto = "Projeto Interlegis"
    276    
    277     tabela = {
    278         "regiao":REGIAO_CHOICES[regiao],
    279         "linhas":lista,
    280         "cabecalho":cabecalho_topo,
    281         "sumario":sumario,
    282         "projeto":projeto,
    283     }   
     251
     252    tabelas = list()
     253    # Geral
     254    convenios = Convenio.objects.filter(casa_legislativa__tipo__sigla='CM')   
     255    tabela = casas_estado_to_tabela(camaras,convenios,regiao)
     256    tabela["projeto"] = "Geral"
     257
     258    tabelas.append(tabela)
     259
     260    for projeto in projetos:
     261        convenios_proj = convenios.filter(projeto=projeto)
     262        tabela = casas_estado_to_tabela(camaras, convenios_proj,regiao)
     263        tabela["projeto"] = projeto.nome
     264        tabelas.append(tabela)
    284265   
    285266    data = datetime.datetime.now().strftime('%d/%m/%Y')
     
    288269    response = HttpResponse(mimetype='application/pdf')
    289270    response['Content-Disposition'] = 'attachment; filename=RelatorioRegiao_' + regiao + '.pdf'
     271    #tabelas = ({'projeto':"PI"},{'projeto':"PML"},)
    290272    t = loader.get_template('convenios/tabela_regiao.html')
    291     c = Context({'tabela':tabela,'data':data,'hora':hora})
     273    c = Context({'tabelas':tabelas,'regiao':REGIAO_CHOICES[regiao],'data':data,'hora':hora})   
    292274    pdf = pisa.CreatePDF(t.render(c),response)
    293275    if not pdf.err:
Note: Veja TracChangeset para ajuda no uso do visualizador de conjunto de mudanças.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.