Esempio n. 1
0
def relatorio_ods(request):

    # montar objeto lista com os campos a mostrar no relatorio/pdf
    lista = request.session[nome_relatorio]

    if lista:
        ods = ODS()
        sheet = relatorio_ods_base_header(planilha_relatorio, titulo_relatorio, ods)

        # subtitle
        sheet.getCell(0, 1).setAlignHorizontal('center').stringValue( 'Nome' ).setFontSize('14pt')
        sheet.getCell(1, 1).setAlignHorizontal('center').stringValue( 'Divisao' ).setFontSize('14pt')
        sheet.getRow(1).setHeight('20pt')

    #TRECHO PERSONALIZADO DE CADA CONSULTA
        #DADOS
        x = 0
        for obj in lista:
            sheet.getCell(0, x+2).setAlignHorizontal('center').stringValue(obj.username)
            sheet.getCell(1, x+2).setAlignHorizontal('center').stringValue(obj.tbdivisao.nmdivisao)
            x += 1

    #TRECHO PERSONALIZADO DE CADA CONSULTA

        relatorio_ods_base(ods, planilha_relatorio)
        # generating response
        response = HttpResponse(mimetype=ods.mimetype.toString())
        response['Content-Disposition'] = 'attachment; filename='+nome_relatorio+'.ods'
        ods.save(response)

        return response
    else:
        return HttpResponseRedirect( response_consulta )
Esempio n. 2
0
def relatorio_ods(request):

    # montar objeto lista com os campos a mostrar no relatorio/pdf
    lista = request.session[nome_relatorio]
    
    if lista:
        ods = ODS()
        sheet = relatorio_ods_base_header(planilha_relatorio, titulo_relatorio, ods)
        
        # subtitle
        sheet.getCell(0, 1).setAlignHorizontal('center').stringValue( 'Nome' ).setFontSize('14pt')
        sheet.getRow(1).setHeight('20pt')
        
    #TRECHO PERSONALIZADO DE CADA CONSULTA
        #DADOS
        x = 0
        for obj in lista:
            sheet.getCell(0, x+2).setAlignHorizontal('center').stringValue(obj.nome)
            x += 1
        
    #TRECHO PERSONALIZADO DE CADA CONSULTA     
       
        relatorio_ods_base(ods, planilha_relatorio)
        # generating response
        response = HttpResponse(mimetype=ods.mimetype.toString())
        response['Content-Disposition'] = 'attachment; filename='+nome_relatorio+'.ods'
        ods.save(response)
    
        return response
    else:
        return HttpResponseRedirect( response_consulta )
Esempio n. 3
0
def relatorio_titulo_ods(request):

    titulos = request.session['titulos-caixa']
    
    if titulos:
        #GERACAO
        nome_relatorio = "relatorio-titulos-caixa"
        titulo_relatorio    = "RELATORIO DOS TITULOS DA CAIXA "+titulos[0].tbtitulo.tbcaixa.nmlocalarquivo
        planilha_relatorio  = "Titulos da Caixa"
        ods = ODS()
        sheet = relatorio_ods_base_header(planilha_relatorio, titulo_relatorio, len(titulos), ods)
        
        # TITULOS DAS COLUNAS
        sheet.getCell(0, 6).setAlignHorizontal('center').stringValue( 'Titulo' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(1, 6).setAlignHorizontal('center').stringValue( 'Processo' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(2, 6).setAlignHorizontal('center').stringValue( 'Requerente' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(3, 6).setAlignHorizontal('center').stringValue( 'CPF' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(4, 6).setAlignHorizontal('center').stringValue( 'Imovel em' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(5, 6).setAlignHorizontal('center').stringValue( 'Gleba' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getRow(1).setHeight('20pt')
        sheet.getRow(2).setHeight('20pt')
        sheet.getRow(6).setHeight('20pt')
        
        sheet.getColumn(0).setWidth("2in")
        sheet.getColumn(1).setWidth("2in")
        sheet.getColumn(2).setWidth("5in")
        sheet.getColumn(3).setWidth("2in")
        sheet.getColumn(4).setWidth("5in")
        sheet.getColumn(5).setWidth("5in")
            
        #DADOS DA CONSULTA
        x = 5
        for obj in titulos:
            sheet.getCell(0, x+2).setAlignHorizontal('center').stringValue(obj.tbtitulo.cdtitulo)
            sheet.getCell(1, x+2).setAlignHorizontal('center').stringValue(obj.tbprocessobase.nrprocesso)
            sheet.getCell(4, x+2).setAlignHorizontal('center').stringValue(obj.tbprocessobase.tbmunicipio.nome_mun)
            sheet.getCell(5, x+2).setAlignHorizontal('center').stringValue(obj.tbprocessobase.tbgleba.nmgleba)

            r = Tbprocessorural.objects.get( tbprocessobase__id = obj.tbprocessobase.id )
            sheet.getCell(2, x+2).setAlignHorizontal('center').stringValue(r.nmrequerente)    
            sheet.getCell(3, x+2).setAlignHorizontal('center').stringValue(r.nrcpfrequerente)
            x += 1
            
        #GERACAO DO DOCUMENTO  
        relatorio_ods_base(ods, planilha_relatorio)
        response = HttpResponse(mimetype=ods.mimetype.toString())
        response['Content-Disposition'] = 'attachment; filename='+nome_relatorio+'.ods'
        ods.save(response)
        return response

    else:
        return HttpResponseRedirect( response_consulta )
Esempio n. 4
0
def relatorio_ods(request):
    # montar objeto lista com os campos a mostrar no relatorio
    lista = request.session[nome_relatorio]
    lista_processo = request.session[processos_relatorio]

    if lista:

        ods = ODS()
        sheet = relatorio_ods_base_header(planilha_relatorio, titulo_relatorio,
                                          len(lista), ods)

        # subtitle
        sheet.getCell(0, 1).setAlignHorizontal('center').stringValue(
            'Titulo').setFontSize('10pt')
        sheet.getCell(1, 1).setAlignHorizontal('center').stringValue(
            'Processo').setFontSize('10pt')
        sheet.getCell(2, 1).setAlignHorizontal('center').stringValue(
            'Nome').setFontSize('10pt')
        sheet.getCell(3, 1).setAlignHorizontal('center').stringValue(
            'CPF').setFontSize('10pt')
        sheet.getCell(4, 1).setAlignHorizontal('center').stringValue(
            'Gleba').setFontSize('10pt')
        sheet.getCell(5, 1).setAlignHorizontal('center').stringValue(
            'Municipio do imovel').setFontSize('10pt')
        sheet.getCell(6, 1).setAlignHorizontal('center').stringValue(
            'Conjuge').setFontSize('10pt')
        sheet.getCell(7, 1).setAlignHorizontal('center').stringValue(
            'CPF conjuge').setFontSize('10pt')
        sheet.getCell(8, 1).setAlignHorizontal('center').stringValue(
            'Endereco').setFontSize('10pt')
        sheet.getCell(9, 1).setAlignHorizontal('center').stringValue(
            'Contato').setFontSize('10pt')
        sheet.getCell(10, 1).setAlignHorizontal('center').stringValue(
            'Municipio domicilio').setFontSize('10pt')
        sheet.getCell(11, 1).setAlignHorizontal('center').stringValue(
            'Pasta').setFontSize('10pt')

        sheet.getRow(1).setHeight('10pt')
        #TRECHO PERSONALIZADO DE CADA CONSULTA
        #DADOS
        x = 0
        for obj in lista:
            sheet.getCell(0, x + 3).setAlignHorizontal('left').stringValue(
                obj.tbtitulo.cdtitulo)
            sheet.getCell(1, x + 3).setAlignHorizontal('left').stringValue(
                obj.tbprocessobase.nrprocesso)
            sheet.getCell(4, x + 3).setAlignHorizontal('left').stringValue(
                obj.tbprocessobase.tbgleba.nmgleba)
            sheet.getCell(5, x + 3).setAlignHorizontal('left').stringValue(
                obj.tbprocessobase.tbmunicipio.nome_mun)
            sheet.getCell(8, x + 3).setAlignHorizontal('left').stringValue(
                obj.tbprocessobase.nmendereco)
            sheet.getCell(9, x + 3).setAlignHorizontal('left').stringValue(
                obj.tbprocessobase.nmcontato)
            try:
                sheet.getCell(
                    10, x + 3).setAlignHorizontal('left').stringValue(
                        obj.tbprocessobase.tbmunicipiodomicilio.nome_mun)
            except:
                sheet.getCell(10,
                              x + 3).setAlignHorizontal('left').stringValue('')

            try:
                sheet.getCell(11,
                              x + 3).setAlignHorizontal('left').stringValue(
                                  obj.tbtitulo.tbcaixa.nmlocalarquivo)
            except:
                sheet.getCell(11,
                              x + 3).setAlignHorizontal('left').stringValue('')

            for obj2 in lista_processo:
                if obj.tbprocessobase.id == obj2.tbprocessobase.id:
                    sheet.getCell(2, x +
                                  3).setAlignHorizontal('left').stringValue(
                                      obj2.nmrequerente)
                    sheet.getCell(3, x +
                                  3).setAlignHorizontal('left').stringValue(
                                      obj2.nrcpfrequerente)
                    sheet.getCell(6, x +
                                  3).setAlignHorizontal('left').stringValue(
                                      obj2.nmconjuge)
                    sheet.getCell(7, x +
                                  3).setAlignHorizontal('left').stringValue(
                                      obj2.nrcpfconjuge)

                    x += 1
    #TRECHO PERSONALIZADO DE CADA CONSULTA
        relatorio_ods_base(ods, planilha_relatorio)
        # generating response
        response = HttpResponse(mimetype=ods.mimetype.toString())
        response[
            'Content-Disposition'] = 'attachment; filename=' + nome_relatorio + '.ods'
        ods.save(response)
        return response
    else:
        return HttpResponseRedirect(response_consulta)
Esempio n. 5
0
def relatorio_titulo_ods(request):

    titulos = request.session['titulos-caixa']

    if titulos:
        #GERACAO
        nome_relatorio = "relatorio-titulos-caixa"
        titulo_relatorio = "RELATORIO DOS TITULOS DA CAIXA " + titulos[
            0].tbtitulo.tbcaixa.nmlocalarquivo
        planilha_relatorio = "Titulos da Caixa"
        ods = ODS()
        sheet = relatorio_ods_base_header(planilha_relatorio, titulo_relatorio,
                                          len(titulos), ods)

        # TITULOS DAS COLUNAS
        sheet.getCell(0, 6).setAlignHorizontal('center').stringValue(
            'Titulo').setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(1, 6).setAlignHorizontal('center').stringValue(
            'Processo').setFontSize('14pt').setBold(True).setCellColor(
                "#ccff99")
        sheet.getCell(2, 6).setAlignHorizontal('center').stringValue(
            'Requerente').setFontSize('14pt').setBold(True).setCellColor(
                "#ccff99")
        sheet.getCell(3, 6).setAlignHorizontal('center').stringValue(
            'CPF').setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(4, 6).setAlignHorizontal('center').stringValue(
            'Imovel em').setFontSize('14pt').setBold(True).setCellColor(
                "#ccff99")
        sheet.getCell(5, 6).setAlignHorizontal('center').stringValue(
            'Gleba').setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getRow(1).setHeight('20pt')
        sheet.getRow(2).setHeight('20pt')
        sheet.getRow(6).setHeight('20pt')

        sheet.getColumn(0).setWidth("2in")
        sheet.getColumn(1).setWidth("2in")
        sheet.getColumn(2).setWidth("5in")
        sheet.getColumn(3).setWidth("2in")
        sheet.getColumn(4).setWidth("5in")
        sheet.getColumn(5).setWidth("5in")

        #DADOS DA CONSULTA
        x = 5
        for obj in titulos:
            sheet.getCell(0, x + 2).setAlignHorizontal('center').stringValue(
                obj.tbtitulo.cdtitulo)
            sheet.getCell(1, x + 2).setAlignHorizontal('center').stringValue(
                obj.tbprocessobase.nrprocesso)
            sheet.getCell(4, x + 2).setAlignHorizontal('center').stringValue(
                obj.tbprocessobase.tbmunicipio.nome_mun)
            sheet.getCell(5, x + 2).setAlignHorizontal('center').stringValue(
                obj.tbprocessobase.tbgleba.nmgleba)

            r = Tbprocessorural.objects.get(
                tbprocessobase__id=obj.tbprocessobase.id)
            sheet.getCell(2, x + 2).setAlignHorizontal('center').stringValue(
                r.nmrequerente)
            sheet.getCell(3, x + 2).setAlignHorizontal('center').stringValue(
                r.nrcpfrequerente)
            x += 1

        #GERACAO DO DOCUMENTO
        relatorio_ods_base(ods, planilha_relatorio)
        response = HttpResponse(mimetype=ods.mimetype.toString())
        response[
            'Content-Disposition'] = 'attachment; filename=' + nome_relatorio + '.ods'
        ods.save(response)
        return response

    else:
        return HttpResponseRedirect(response_consulta)
Esempio n. 6
0
def relatorio_ods(request):

    processos = request.session['processos-caixa']

    if processos:
        #GERACAO
        nome_relatorio = "relatorio-processos-caixa"
        titulo_relatorio = "RELATORIO DOS PROCESSOS DA CAIXA " + processos[
            0].tbprocessobase.tbcaixa.nmlocalarquivo
        planilha_relatorio = "Processos da Caixa"
        ods = ODS()
        sheet = relatorio_ods_base_header(planilha_relatorio, titulo_relatorio,
                                          len(processos), ods)

        # TITULOS DAS COLUNAS
        sheet.getCell(0, 6).setAlignHorizontal('center').stringValue(
            'Processo').setFontSize('14pt').setBold(True).setCellColor(
                "#ccff99")
        if processos[
                0].tbprocessobase.tbtipoprocesso.tabela == 'tbprocessourbano':
            sheet.getCell(1, 6).setAlignHorizontal('center').stringValue(
                'Povoado').setFontSize('14pt').setBold(True).setCellColor(
                    "#ccff99")
        else:
            sheet.getCell(1, 6).setAlignHorizontal('center').stringValue(
                'Requerente').setFontSize('14pt').setBold(True).setCellColor(
                    "#ccff99")

        if processos[
                0].tbprocessobase.tbtipoprocesso.tabela == 'tbprocessourbano':
            sheet.getCell(2, 6).setAlignHorizontal('center').stringValue(
                'CNPJ').setFontSize('14pt').setBold(True).setCellColor(
                    "#ccff99")
        else:
            sheet.getCell(
                2,
                6).setAlignHorizontal('center').stringValue('CPF').setFontSize(
                    '14pt').setBold(True).setCellColor("#ccff99")

        sheet.getCell(3, 6).setAlignHorizontal('center').stringValue(
            'Principal | Anexo').setFontSize('14pt').setBold(
                True).setCellColor("#ccff99")

        sheet.getCell(4, 6).setAlignHorizontal('center').stringValue(
            'Tipo').setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(5, 6).setAlignHorizontal('center').stringValue(
            'Imovel / Gleba').setFontSize('14pt').setBold(True).setCellColor(
                "#ccff99")
        sheet.getCell(6, 6).setAlignHorizontal('center').stringValue(
            'Endereco').setFontSize('14pt').setBold(True).setCellColor(
                "#ccff99")
        sheet.getCell(
            7,
            6).setAlignHorizontal('center').stringValue('Contato').setFontSize(
                '14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(8, 6).setAlignHorizontal('center').stringValue(
            'Ultima Caixa').setFontSize('14pt').setBold(True).setCellColor(
                "#ccff99")
        sheet.getCell(9, 6).setAlignHorizontal('center').stringValue(
            'Qtd. Pendencias').setFontSize('14pt').setBold(True).setCellColor(
                "#ccff99")
        sheet.getCell(10, 6).setAlignHorizontal('center').stringValue(
            'Pendentes').setFontSize('14pt').setBold(True).setCellColor(
                "#ccff99")
        sheet.getCell(11, 6).setAlignHorizontal('center').stringValue(
            'Notificadas').setFontSize('14pt').setBold(True).setCellColor(
                "#ccff99")
        sheet.getRow(1).setHeight('20pt')
        sheet.getRow(2).setHeight('20pt')
        sheet.getRow(6).setHeight('20pt')

        sheet.getColumn(0).setWidth("2in")
        sheet.getColumn(1).setWidth("5in")
        sheet.getColumn(2).setWidth("2in")
        sheet.getColumn(3).setWidth("2in")
        sheet.getColumn(4).setWidth("2.5in")
        sheet.getColumn(5).setWidth("2.5in")
        sheet.getColumn(6).setWidth("3in")
        sheet.getColumn(7).setWidth("2in")
        sheet.getColumn(8).setWidth("2.5in")
        sheet.getColumn(9).setWidth("1.5in")
        sheet.getColumn(10).setWidth("2in")
        sheet.getColumn(11).setWidth("2in")

        #DADOS DA CONSULTA
        x = 5
        for obj in processos:
            sheet.getCell(0, x + 2).setAlignHorizontal('center').stringValue(
                obj.tbprocessobase.nrprocesso)

            nome = ''
            cpf = ''
            print obj.tbprocessobase.id
            if obj.tbprocessobase.tbtipoprocesso.id == 3:
                nome += obj.nmpovoado
                cpf += obj.nrcnpj
            elif obj.tbprocessobase.tbtipoprocesso.id == 1:
                nome += obj.nmrequerente
                cpf += obj.nrcpfrequerente
            else:
                if obj.nminteressado:
                    nome += obj.nminteressado + " (Interessado) "
                    cpf += obj.nrcpfinteressado + " (Interessado) "
                if obj.nmrequerente:
                    cpf += obj.nrcpfrequerente + " (Titulado)"
                    nome += obj.nmrequerente + " (Titulado)"

            sheet.getCell(1,
                          x + 2).setAlignHorizontal('center').stringValue(nome)
            sheet.getCell(2,
                          x + 2).setAlignHorizontal('center').stringValue(cpf)

            if obj.tbprocessobase.tbclassificacaoprocesso.id == 2:
                sheet.getCell(
                    3, x + 2).setAlignHorizontal('center').stringValue('ANEXO')
            else:
                sheet.getCell(
                    3, x +
                    2).setAlignHorizontal('center').stringValue('PRINCIPAL')

            sheet.getCell(4, x + 2).setAlignHorizontal('center').stringValue(
                obj.tbprocessobase.tbtipoprocesso.nome)
            sheet.getCell(5, x + 2).setAlignHorizontal('center').stringValue(
                obj.tbprocessobase.tbmunicipio.nome_mun + " / " +
                obj.tbprocessobase.tbgleba.nmgleba)
            sheet.getCell(6, x + 2).setAlignHorizontal('center').stringValue(
                obj.tbprocessobase.nmendereco)
            sheet.getCell(7, x + 2).setAlignHorizontal('center').stringValue(
                obj.tbprocessobase.nmcontato)

            mov = Tbmovimentacao.objects.filter(
                tbprocessobase__id=obj.tbprocessobase.id).order_by("-id")[:1]
            if mov:
                sheet.getCell(8,
                              x + 2).setAlignHorizontal('center').stringValue(
                                  mov[0].tbcaixa_id_origem.nmlocalarquivo)

            # buscar todas as pendencias do processo, que nao estao sanadas
            pendencias_pendente = Tbpendencia.objects.filter(
                Q(tbprocessobase__id=obj.tbprocessobase.id,
                  tbstatuspendencia__id=2))
            pendencias_notificado = Tbpendencia.objects.filter(
                Q(tbprocessobase__id=obj.tbprocessobase.id,
                  tbstatuspendencia__id=3))
            sheet.getCell(9, x + 2).setAlignHorizontal('center').stringValue(
                len(pendencias_pendente) + len(pendencias_notificado))
            # buscando as descricoes das pendencias pendentes
            desc_pendencias = ''
            for pend in pendencias_pendente:
                desc_pendencias += pend.tbtipopendencia.dspendencia + ' : ' + pend.dsdescricao + ' | '
            sheet.getCell(
                10, x +
                2).setAlignHorizontal('center').stringValue(desc_pendencias)

            # buscando as descricoes das pendencias  notificadas
            desc_pendencias = ''
            for pend in pendencias_notificado:
                desc_pendencias += pend.tbtipopendencia.dspendencia + ' : ' + pend.dsdescricao + ' | '
            sheet.getCell(
                11, x +
                2).setAlignHorizontal('center').stringValue(desc_pendencias)

            x += 1

        #GERACAO DO DOCUMENTO
        relatorio_ods_base(ods, planilha_relatorio)
        response = HttpResponse(mimetype=ods.mimetype.toString())
        response[
            'Content-Disposition'] = 'attachment; filename=' + nome_relatorio + '.ods'
        ods.save(response)
        return response

    else:
        return HttpResponseRedirect(response_consulta)
Esempio n. 7
0
def relatorio_ods(request):

    processos = request.session['processos-caixa']
    
    if processos:
        #GERACAO
        nome_relatorio = "relatorio-processos-caixa"
        titulo_relatorio    = "RELATORIO DOS PROCESSOS DA CAIXA "+processos[0].tbprocessobase.tbcaixa.nmlocalarquivo
        planilha_relatorio  = "Processos da Caixa"
        ods = ODS()
        sheet = relatorio_ods_base_header(planilha_relatorio, titulo_relatorio, len(processos), ods)
        
        # TITULOS DAS COLUNAS
        sheet.getCell(0, 6).setAlignHorizontal('center').stringValue( 'Processo' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        if processos[0].tbprocessobase.tbtipoprocesso.tabela == 'tbprocessourbano':
            sheet.getCell(1, 6).setAlignHorizontal('center').stringValue( 'Povoado' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        else:
            sheet.getCell(1, 6).setAlignHorizontal('center').stringValue( 'Requerente' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        
        if processos[0].tbprocessobase.tbtipoprocesso.tabela == 'tbprocessourbano':
            sheet.getCell(2, 6).setAlignHorizontal('center').stringValue( 'CNPJ' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        else:
            sheet.getCell(2, 6).setAlignHorizontal('center').stringValue( 'CPF' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        
        sheet.getCell(3, 6).setAlignHorizontal('center').stringValue( 'Principal | Anexo' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        
        sheet.getCell(4, 6).setAlignHorizontal('center').stringValue( 'Tipo' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(5, 6).setAlignHorizontal('center').stringValue( 'Imovel / Gleba' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(6, 6).setAlignHorizontal('center').stringValue( 'Endereco' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(7, 6).setAlignHorizontal('center').stringValue( 'Contato' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(8, 6).setAlignHorizontal('center').stringValue( 'Ultima Caixa' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(9, 6).setAlignHorizontal('center').stringValue( 'Qtd. Pendencias' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(10, 6).setAlignHorizontal('center').stringValue( 'Pendentes' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getCell(11, 6).setAlignHorizontal('center').stringValue( 'Notificadas' ).setFontSize('14pt').setBold(True).setCellColor("#ccff99")
        sheet.getRow(1).setHeight('20pt')
        sheet.getRow(2).setHeight('20pt')
        sheet.getRow(6).setHeight('20pt')
        
        sheet.getColumn(0).setWidth("2in")
        sheet.getColumn(1).setWidth("5in")
        sheet.getColumn(2).setWidth("2in")
        sheet.getColumn(3).setWidth("2in")
        sheet.getColumn(4).setWidth("2.5in")
        sheet.getColumn(5).setWidth("2.5in")
        sheet.getColumn(6).setWidth("3in")
        sheet.getColumn(7).setWidth("2in")
        sheet.getColumn(8).setWidth("2.5in")
        sheet.getColumn(9).setWidth("1.5in")
        sheet.getColumn(10).setWidth("2in")
        sheet.getColumn(11).setWidth("2in")
            
        #DADOS DA CONSULTA
        x = 5
        for obj in processos:
            sheet.getCell(0, x+2).setAlignHorizontal('center').stringValue(obj.tbprocessobase.nrprocesso)

            nome = ''
            cpf = ''
            print obj.tbprocessobase.id
            if obj.tbprocessobase.tbtipoprocesso.id == 3:
                nome += obj.nmpovoado    
                cpf += obj.nrcnpj
            elif obj.tbprocessobase.tbtipoprocesso.id == 1:
                nome += obj.nmrequerente    
                cpf += obj.nrcpfrequerente
            else:
                if obj.nminteressado:
                    nome += obj.nminteressado+" (Interessado) "
                    cpf += obj.nrcpfinteressado+" (Interessado) "
                if obj.nmrequerente:
                    cpf += obj.nrcpfrequerente+" (Titulado)"
                    nome += obj.nmrequerente+" (Titulado)"

            sheet.getCell(1, x+2).setAlignHorizontal('center').stringValue(nome)    
            sheet.getCell(2, x+2).setAlignHorizontal('center').stringValue(cpf)

            if obj.tbprocessobase.tbclassificacaoprocesso.id == 2:
                sheet.getCell(3, x+2).setAlignHorizontal('center').stringValue('ANEXO')
            else:
                sheet.getCell(3, x+2).setAlignHorizontal('center').stringValue('PRINCIPAL')
            
            sheet.getCell(4, x+2).setAlignHorizontal('center').stringValue(obj.tbprocessobase.tbtipoprocesso.nome)
            sheet.getCell(5, x+2).setAlignHorizontal('center').stringValue(obj.tbprocessobase.tbmunicipio.nome_mun+" / "+obj.tbprocessobase.tbgleba.nmgleba)
            sheet.getCell(6, x+2).setAlignHorizontal('center').stringValue(obj.tbprocessobase.nmendereco)
            sheet.getCell(7, x+2).setAlignHorizontal('center').stringValue(obj.tbprocessobase.nmcontato)
            
            mov = Tbmovimentacao.objects.filter( tbprocessobase__id = obj.tbprocessobase.id ).order_by("-id")[:1]
            if mov:
                sheet.getCell(8, x+2).setAlignHorizontal('center').stringValue(mov[0].tbcaixa_id_origem.nmlocalarquivo)

            # buscar todas as pendencias do processo, que nao estao sanadas
            pendencias_pendente = Tbpendencia.objects.filter( 
                Q(tbprocessobase__id = obj.tbprocessobase.id, tbstatuspendencia__id = 2)
                ) 
            pendencias_notificado = Tbpendencia.objects.filter( 
                Q(tbprocessobase__id = obj.tbprocessobase.id, tbstatuspendencia__id = 3)
                ) 
            sheet.getCell(9, x+2).setAlignHorizontal('center').stringValue( len(pendencias_pendente) + len(pendencias_notificado) )
            # buscando as descricoes das pendencias pendentes
            desc_pendencias = ''
            for pend in pendencias_pendente:
                desc_pendencias += pend.tbtipopendencia.dspendencia + ' : ' + pend.dsdescricao + ' | '
            sheet.getCell(10, x+2).setAlignHorizontal('center').stringValue( desc_pendencias )
                
            # buscando as descricoes das pendencias  notificadas
            desc_pendencias = ''
            for pend in pendencias_notificado:
                desc_pendencias += pend.tbtipopendencia.dspendencia + ' : ' + pend.dsdescricao + ' | '
            sheet.getCell(11, x+2).setAlignHorizontal('center').stringValue( desc_pendencias )

            x += 1
                

        #GERACAO DO DOCUMENTO  
        relatorio_ods_base(ods, planilha_relatorio)
        response = HttpResponse(mimetype=ods.mimetype.toString())
        response['Content-Disposition'] = 'attachment; filename='+nome_relatorio+'.ods'
        ods.save(response)
        return response

    else:
        return HttpResponseRedirect( response_consulta )