Browse Source

Corrige erros de PEP 8 com autopep8

Correções feitas usando o scrip fix_qa.sh na raiz do projeto
que agora contém a linha

autopep8 --in-place --recursive . --exclude='migrations,ipython_log.py*'
pull/1416/head
Marcio Mazza 7 years ago
parent
commit
0677a85471
  1. 10
      create_admin.py
  2. 13
      sapl/api/serializers.py
  3. 2
      sapl/base/templatetags/common_tags.py
  4. 6
      sapl/comissoes/views.py
  5. 1
      sapl/compilacao/templatetags/compilacao_filters.py
  6. 1
      sapl/legacy/migration.py
  7. 7
      sapl/legacy/scripts/street_sweeper.py
  8. 1
      sapl/materia/admin.py
  9. 3
      sapl/materia/email_utils.py
  10. 2
      sapl/norma/models.py
  11. 17
      sapl/protocoloadm/views.py
  12. 1
      sapl/redireciona_urls/tests.py
  13. 33
      sapl/relatorios/templates/pdf_capa_processo_preparar_pysc.py
  14. 200
      sapl/relatorios/templates/pdf_detalhe_materia_gerar.py
  15. 59
      sapl/relatorios/templates/pdf_detalhe_materia_preparar_pysc.py
  16. 31
      sapl/relatorios/templates/pdf_documento_administrativo_preparar_pysc.py
  17. 3
      sapl/relatorios/templates/pdf_espelho_gerar.py
  18. 28
      sapl/relatorios/templates/pdf_espelho_preparar_pysc.py
  19. 30
      sapl/relatorios/templates/pdf_etiqueta_protocolo_preparar_pysc.py
  20. 32
      sapl/relatorios/templates/pdf_materia_gerar.py
  21. 42
      sapl/relatorios/templates/pdf_materia_preparar_pysc.py
  22. 24
      sapl/relatorios/templates/pdf_norma_gerar.py
  23. 29
      sapl/relatorios/templates/pdf_norma_preparar_pysc.py
  24. 66
      sapl/relatorios/templates/pdf_ordem_dia_preparar_pysc.py
  25. 4
      sapl/relatorios/templates/pdf_pauta_sessao_gerar.py
  26. 81
      sapl/relatorios/templates/pdf_pauta_sessao_preparar_pysc.py
  27. 39
      sapl/relatorios/templates/pdf_protocolo_gerar.py
  28. 27
      sapl/relatorios/templates/pdf_protocolo_preparar_pysc.py
  29. 10
      sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py
  30. 125
      sapl/relatorios/templates/pdf_sessao_plenaria_preparar_pysc.py
  31. 2
      sapl/sessao/forms.py
  32. 1
      sapl/sessao/models.py
  33. 1
      sapl/sessao/serializers.py
  34. 7
      sapl/sessao/views.py

10
create_admin.py

@ -7,11 +7,13 @@ from sapl import settings
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "sapl.settings")
def create_superuser():
from django.contrib.auth.models import User
username = "admin"
password = os.environ['ADMIN_PASSWORD'] if 'ADMIN_PASSWORD' in os.environ else None
password = os.environ[
'ADMIN_PASSWORD'] if 'ADMIN_PASSWORD' in os.environ else None
email = os.environ['ADMIN_EMAIL'] if 'ADMIN_EMAIL' in os.environ else ''
if User.objects.filter(username=username).exists():
@ -19,12 +21,14 @@ def create_superuser():
sys.exit('ADMIN_USER_EXISTS')
else:
if not password:
print("[SUPERUSER] Environment variable $ADMIN_PASSWORD for user %s was not set. Leaving..." % username)
print(
"[SUPERUSER] Environment variable $ADMIN_PASSWORD for user %s was not set. Leaving..." % username)
sys.exit('MISSING_ADMIN_PASSWORD')
print("[SUPERUSER] Creating superuser...")
u = User.objects.create_superuser(username=username, password=password, email=email)
u = User.objects.create_superuser(
username=username, password=password, email=email)
u.save()
print("[SUPERUSER] Done.")

13
sapl/api/serializers.py

@ -64,14 +64,18 @@ class SessaoPlenariaSerializer(serializers.ModelSerializer):
txtSiglaOrgao = serializers.SerializerMethodField('get_sigla_orgao')
txtApelido = serializers.SerializerMethodField('get_name')
txtNomeOrgao = serializers.SerializerMethodField('get_nome_orgao')
codEstadoReuniao = serializers.SerializerMethodField('get_estadoSessaoPlenaria')
codEstadoReuniao = serializers.SerializerMethodField(
'get_estadoSessaoPlenaria')
txtTipoReuniao = serializers.SerializerMethodField('get_tipo_sessao')
txtObjeto = serializers.SerializerMethodField('get_assunto_sessao')
txtLocal = serializers.SerializerMethodField('get_endereco_orgao')
bolReuniaoConjunta = serializers.SerializerMethodField('get_reuniao_conjunta')
bolHabilitarEventoInterativo = serializers.SerializerMethodField('get_iterativo')
bolReuniaoConjunta = serializers.SerializerMethodField(
'get_reuniao_conjunta')
bolHabilitarEventoInterativo = serializers.SerializerMethodField(
'get_iterativo')
idYoutube = serializers.SerializerMethodField('get_url')
codEstadoTransmissaoYoutube = serializers.SerializerMethodField('get_estadoTransmissaoYoutube')
codEstadoTransmissaoYoutube = serializers.SerializerMethodField(
'get_estadoTransmissaoYoutube')
datReuniaoString = serializers.SerializerMethodField('get_date')
# Constantes SessaoPlenaria (de 1-9) (apenas 3 serão usados)
@ -146,6 +150,7 @@ class SessaoPlenariaSerializer(serializers.ModelSerializer):
return self.TRANSMISSAO_EM_ANDAMENTO
else:
return self.SEM_TRANSMISSAO
def get_assunto_sessao(self, obj):
pauta_sessao = ''
ordem_dia = OrdemDia.objects.filter(sessao_plenaria=obj.pk)

2
sapl/base/templatetags/common_tags.py

@ -117,6 +117,7 @@ def str2intabs(value):
except:
return ''
@register.filter
def has_iframe(request):
@ -181,6 +182,7 @@ def urldetail(obj):
return '%s:%s_detail' % (
obj._meta.app_config.name, obj._meta.model_name)
@register.filter
def filiacao_data_filter(parlamentar, data_inicio):
return filiacao_data(parlamentar, data_inicio)

6
sapl/comissoes/views.py

@ -82,21 +82,23 @@ class ComissaoCrud(Crud):
public = [RP_LIST, RP_DETAIL, ]
class BaseMixin(Crud.BaseMixin):
list_field_names = ['nome', 'sigla', 'tipo', 'data_criacao', 'data_extincao', 'ativa']
list_field_names = ['nome', 'sigla', 'tipo',
'data_criacao', 'data_extincao', 'ativa']
ordering = '-ativa', 'sigla'
class ListView(Crud.ListView):
@xframe_options_exempt
def get(self, request, *args, **kwargs):
return super().get(request, *args, **kwargs)
class DetailView(Crud.DetailView):
@xframe_options_exempt
def get(self, request, *args, **kwargs):
return super().get(request, *args, **kwargs)
class MateriasTramitacaoListView(ListView):
template_name = "comissoes/materias_em_tramitacao.html"
paginate_by = 10

1
sapl/compilacao/templatetags/compilacao_filters.py

@ -286,7 +286,6 @@ def nomenclatura_heranca(d, ignore_ultimo=0, ignore_primeiro=0):
return result
@register.filter
def list(obj):
return [obj, ]

1
sapl/legacy/migration.py

@ -816,7 +816,6 @@ def adjust_tipoafastamento(new, old):
new.indicador = 'A'
def adjust_tipoproposicao(new, old):
if old.ind_mat_ou_doc == 'M':
new.tipo_conteudo_related = TipoMateriaLegislativa.objects.get(

7
sapl/legacy/scripts/street_sweeper.py

@ -43,6 +43,7 @@ mapa['parlamentar'] = ['autor', 'autoria', 'composicao_comissao',
'sessao_plenaria_presenca', 'unidade_tramitacao']
"""
def get_ids_excluidos(cursor, query):
"""
recupera as PKs de registros com ind_excluido = 1 da tabela principal
@ -58,7 +59,8 @@ def remove_tabelas(cursor, tabela_principal, pk, query_dependentes=None):
QUERY = SELECT_EXCLUIDOS % (pk, tabela_principal, pk)
ids_excluidos = get_ids_excluidos(cursor, QUERY)
print("\nRegistros da tabela '%s' com ind_excluido = 1: %s" % (tabela_principal.upper(), len(ids_excluidos)))
print("\nRegistros da tabela '%s' com ind_excluido = 1: %s" %
(tabela_principal.upper(), len(ids_excluidos)))
"""
Remove registros de tabelas que dependem da tabela principal,
@ -69,7 +71,8 @@ def remove_tabelas(cursor, tabela_principal, pk, query_dependentes=None):
print("Dependencias inconsistentes")
for tabela in mapa[tabela_principal]:
QUERY_DEP = REGISTROS_INCONSISTENTES % (tabela, pk, ','.join(ids_excluidos))
QUERY_DEP = REGISTROS_INCONSISTENTES % (
tabela, pk, ','.join(ids_excluidos))
# Trata caso especifico de norma_juridica
if query_dependentes:

1
sapl/materia/admin.py

@ -11,6 +11,7 @@ if not DEBUG:
admin.site.unregister(Proposicao)
class ProposicaoAdmin(admin.ModelAdmin):
def has_add_permission(self, request, obj=None):
return False

3
sapl/materia/email_utils.py

@ -206,6 +206,7 @@ def do_envia_email_tramitacao(base_url, materia, status, unidade_destino):
# a conexão será fechada
except Exception:
connection.close()
raise Exception('Erro ao enviar e-mail de acompanhamento de matéria.')
raise Exception(
'Erro ao enviar e-mail de acompanhamento de matéria.')
connection.close()

2
sapl/norma/models.py

@ -59,9 +59,11 @@ class TipoNormaJuridica(models.Model):
def __str__(self):
return self.descricao
def norma_upload_path(instance, filename):
return texto_upload_path(instance, filename, subpath=instance.ano)
@reversion.register()
class NormaJuridica(models.Model):
ESFERA_FEDERACAO_CHOICES = Choices(

17
sapl/protocoloadm/views.py

@ -118,6 +118,7 @@ class DocumentoAdministrativoCrud(Crud):
'numero_protocolo': p.numero}
class DetailView(DocumentoAdministrativoMixin, Crud.DetailView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
self.layout_display[0]['rows'][-1][0]['text'] = (
@ -127,6 +128,7 @@ class DocumentoAdministrativoCrud(Crud):
return context
class DeleteView(DocumentoAdministrativoMixin, Crud.DeleteView):
def get_success_url(self):
return reverse('sapl.protocoloadm:pesq_doc_adm', kwargs={})
@ -463,14 +465,19 @@ class ProtocoloMateriaView(PermissionRequiredMixin, CreateView):
return context
def autores_ativos(self):
lista_parlamentares = Parlamentar.objects.filter(ativo=True).values_list('id', flat=True)
lista_parlamentares = Parlamentar.objects.filter(
ativo=True).values_list('id', flat=True)
model_parlamentar = ContentType.objects.get_for_model(Parlamentar)
autor_parlamentar = Autor.objects.filter(content_type=model_parlamentar, object_id__in=lista_parlamentares)
autor_parlamentar = Autor.objects.filter(
content_type=model_parlamentar, object_id__in=lista_parlamentares)
lista_comissoes = Comissao.objects.filter(Q(data_extincao__isnull=True)|Q(data_extincao__gt=date.today())).values_list('id', flat=True)
lista_comissoes = Comissao.objects.filter(Q(data_extincao__isnull=True) | Q(
data_extincao__gt=date.today())).values_list('id', flat=True)
model_comissao = ContentType.objects.get_for_model(Comissao)
autor_comissoes = Autor.objects.filter(content_type=model_comissao, object_id__in=lista_comissoes)
autores_outros = Autor.objects.exclude(content_type__in=[model_parlamentar, model_comissao])
autor_comissoes = Autor.objects.filter(
content_type=model_comissao, object_id__in=lista_comissoes)
autores_outros = Autor.objects.exclude(
content_type__in=[model_parlamentar, model_comissao])
q = autor_parlamentar | autor_comissoes | autores_outros
return q

1
sapl/redireciona_urls/tests.py

@ -6,6 +6,7 @@ EMPTY_STRING = ''
class RedirecionaURLsTests(TestCase):
def test_redireciona_index_SAPL(self):
response = self.client.get(reverse(
'sapl.redireciona_urls:redireciona_sapl_index')

33
sapl/relatorios/templates/pdf_capa_processo_preparar_pysc.py

@ -11,7 +11,8 @@ casa={}
aux = context.sapl_documentos.props_sapl.propertyItems()
for item in aux:
casa[item[0]] = item[1]
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
localidade = context.zsql.localidade_obter_zsql(
cod_localidade=casa["cod_localidade"])
if len(casa["num_cep"]) == 8:
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:]
else:
@ -23,7 +24,8 @@ if cep!="":
linha1 = linha1 + " - "
linha1 = linha1 + "CEP " + cep
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None:
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf
linha1 = linha1 + " - " + \
localidade[0].nom_localidade + " " + localidade[0].sgl_uf
if casa["num_tel"] != "" and casa["num_tel"] != None:
linha1 = linha1 + " Tel.: " + casa["num_tel"]
@ -57,10 +59,14 @@ else:
protocolos = []
REQUEST = context.REQUEST
for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['rad_tip_protocolo'],
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST['txt_ano_protocolo'],
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST['rad_tip_processo'],
tip_materia=REQUEST['lst_tip_materia'], des_assunto=REQUEST['txt_assunto'],
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST['txa_txt_interessado'],
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST[
'txt_ano_protocolo'],
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST[
'rad_tip_processo'],
tip_materia=REQUEST[
'lst_tip_materia'], des_assunto=REQUEST['txt_assunto'],
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST[
'txa_txt_interessado'],
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']):
dic = {}
@ -68,7 +74,8 @@ for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['ra
dic['ano'] = str(protocolo.ano_protocolo)
dic['data']=context.pysc.iso_to_port_pysc(protocolo.dat_protocolo)+' - '+protocolo.hor_protocolo
dic['data'] = context.pysc.iso_to_port_pysc(
protocolo.dat_protocolo) + ' - ' + protocolo.hor_protocolo
dic['txt_assunto'] = protocolo.txt_assunto_ementa
@ -100,18 +107,21 @@ for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['ra
dic['num_materia'] = ''
for materia in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo, ano_ident_basica=protocolo.ano_protocolo):
dic['num_materia']=str(materia.num_ident_basica)+'/'+ str(materia.ano_ident_basica)
dic['num_materia'] = str(materia.num_ident_basica) + \
'/' + str(materia.ano_ident_basica)
dic['num_documento'] = ''
for documento in context.zsql.documento_administrativo_obter_zsql(num_protocolo=protocolo.cod_protocolo):
dic['num_documento']=str(documento.num_documento)+'/'+ str(documento.ano_documento)
dic['num_documento'] = str(
documento.num_documento) + '/' + str(documento.ano_documento)
dic['num_processo'] = dic['num_materia'] or dic['num_documento']
dic['numeracao'] = ''
for materia_num in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo, ano_ident_basica=protocolo.ano_protocolo):
for numera in context.zsql.numeracao_obter_zsql(cod_materia=materia_num.cod_materia, ind_excluido=0):
dic['numeracao']='PROCESSO N° ' +str(numera.num_materia)+'/'+ str(numera.ano_materia)
dic['numeracao'] = 'PROCESSO N° ' + \
str(numera.num_materia) + '/' + str(numera.ano_materia)
dic['anulado'] = ''
if protocolo.ind_anulado == 1:
@ -131,7 +141,8 @@ filtro['autor']=REQUEST.hdn_cod_autor
filtro['interessado'] = REQUEST.txa_txt_interessado
sessao = session.id
caminho = context.pdf_capa_processo_gerar(sessao,imagem,data,protocolos,cabecalho,rodape,filtro)
caminho = context.pdf_capa_processo_gerar(
sessao, imagem, data, protocolos, cabecalho, rodape, filtro)
if caminho == 'aviso':
return response.redirect('mensagem_emitir_proc')
else:

200
sapl/relatorios/templates/pdf_detalhe_materia_gerar.py

@ -21,17 +21,21 @@ def cabecalho(dic_inf_basicas,imagem):
tmp += '\t\t\t\t<lines>2cm 24.5cm 19cm 24.5cm</lines>\n'
if dic_inf_basicas['nom_camara'] != "" and dic_inf_basicas['nom_camara'] != None:
tmp += '\t\t\t\t<setFont name="Helvetica" size="16"/>\n'
tmp+='\t\t\t\t<drawString x="5cm" y="27.2cm">' + dic_inf_basicas['nom_camara'] + '</drawString>\n'
tmp += '\t\t\t\t<drawString x="5cm" y="27.2cm">' + \
dic_inf_basicas['nom_camara'] + '</drawString>\n'
tmp += '\t\t\t\t<setFont name="Helvetica" size="14"/>\n'
tmp += '\t\t\t\t<drawString x="5cm" y="26.5cm">Sistema de Apoio ao Processo Legislativo</drawString>\n'
if str(dic_inf_basicas['nom_projeto']) != "" and str(dic_inf_basicas['nom_projeto']) != None:
tmp += '\t\t\t\t<setFont name="Helvetica" size="15"/>\n'
tmp+='\t\t\t\t<drawCentredString x="10.5cm" y="25.2cm">' + str(dic_inf_basicas['nom_projeto']) + '</drawCentredString>\n'
tmp += '\t\t\t\t<drawCentredString x="10.5cm" y="25.2cm">' + \
str(dic_inf_basicas['nom_projeto']) + '</drawCentredString>\n'
if str(dic_inf_basicas['cod_projeto']) != "" and str(dic_inf_basicas['cod_projeto']) != None:
tmp += '\t\t\t\t<setFont name="Helvetica" size="15"/>\n'
tmp+='\t\t\t\t<drawCentredString x="10.5cm" y="24.7cm">' + str(dic_inf_basicas['cod_projeto']) + '</drawCentredString>\n'
tmp += '\t\t\t\t<drawCentredString x="10.5cm" y="24.7cm">' + \
str(dic_inf_basicas['cod_projeto']) + '</drawCentredString>\n'
return tmp
def rodape(dic_rodape):
"""
Função que gera o codigo rml do rodape da pagina.
@ -60,11 +64,14 @@ def rodape(dic_rodape):
tmp += '\t\t\t\t<setFont name="Helvetica" size="8"/>\n'
tmp += '\t\t\t\t<drawString x="2cm" y="3.3cm">' + data_emissao + '</drawString>\n'
tmp += '\t\t\t\t<drawString x="17.9cm" y="3.3cm">Página <pageNumber/></drawString>\n'
tmp+='\t\t\t\t<drawCentredString x="10.5cm" y="2.7cm">' + linha1 + '</drawCentredString>\n'
tmp+='\t\t\t\t<drawCentredString x="10.5cm" y="2.3cm">' + linha2 + '</drawCentredString>\n'
tmp += '\t\t\t\t<drawCentredString x="10.5cm" y="2.7cm">' + \
linha1 + '</drawCentredString>\n'
tmp += '\t\t\t\t<drawCentredString x="10.5cm" y="2.3cm">' + \
linha2 + '</drawCentredString>\n'
return tmp
def paraStyle():
"""Função que gera o código rml que define o estilo dos parágrafos"""
@ -86,6 +93,7 @@ def paraStyle():
return tmp
def inf_basicas(dic_inf_basicas):
"""
Função que gera o código rml das funções básicas do relatório
@ -95,15 +103,18 @@ def inf_basicas(dic_inf_basicas):
# Texto do projeto
texto_projeto = str(dic_inf_basicas['texto_projeto'])
if texto_projeto != "" and texto_projeto != None:
tmp+='\t\t<para style="texto_projeto">' + texto_projeto.replace('&','&amp;') + '</para>\n'
tmp += '\t\t<para style="texto_projeto">' + \
texto_projeto.replace('&', '&amp;') + '</para>\n'
# início das informações básicas
tmp += '\t\t<para style="P1">Informações Básicas</para>\n'
if str(dic_inf_basicas['apresentada']) != "" and str(dic_inf_basicas['apresentada']) != None:
tmp+='\t\t<para style="P2"><b>Apresentada em: </b> ' + str(dic_inf_basicas['apresentada']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Apresentada em: </b> ' + \
str(dic_inf_basicas['apresentada']) + '</para>\n'
if str(dic_inf_basicas['formato']) != "" and str(dic_inf_basicas['formato']) != None:
tmp+='\t\t<para style="P2"><b>Formato: </b> ' + str(dic_inf_basicas['formato']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Formato: </b> ' + \
str(dic_inf_basicas['formato']) + '</para>\n'
if dic_inf_basicas['publicada'] == 0:
tmp += '\t\t<para style="P2"><b>Publicada:</b> Não</para>\n'
@ -111,7 +122,8 @@ def inf_basicas(dic_inf_basicas):
tmp += '\t\t<para style="P2"><b>Publicada:</b> Sim</para>\n'
if str(dic_inf_basicas['objeto']) != "" and str(dic_inf_basicas['objeto']) != None:
tmp+='\t\t<para style="P2"><b>Objeto: </b> ' + str(dic_inf_basicas['objeto']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Objeto: </b> ' + \
str(dic_inf_basicas['objeto']) + '</para>\n'
if dic_inf_basicas['tramitacao'] == 0:
tmp += '\t\t<para style="P2"><b>Tramitação:</b> Não</para>\n'
@ -119,13 +131,16 @@ def inf_basicas(dic_inf_basicas):
tmp += '\t\t<para style="P2"><b>Tramitação:</b> Sim</para>\n'
if str(dic_inf_basicas['reg_tramitacao']) != "" and str(dic_inf_basicas['reg_tramitacao']) != None:
tmp+='\t\t<para style="P2"><b>Regime: </b> ' + str(dic_inf_basicas['reg_tramitacao']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Regime: </b> ' + \
str(dic_inf_basicas['reg_tramitacao']) + '</para>\n'
if str(dic_inf_basicas['prazo']) != "" and str(dic_inf_basicas['prazo']) != None:
tmp+='\t\t<para style="P2"><b>Dias de prazo: </b> ' + str(dic_inf_basicas['prazo']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Dias de prazo: </b> ' + \
str(dic_inf_basicas['prazo']) + '</para>\n'
if str(dic_inf_basicas['fim_prazo']) != "" and str(dic_inf_basicas['fim_prazo']) != None:
tmp+='\t\t<para style="P2"><b>Data do fim do prazo: </b> ' + str(dic_inf_basicas['fim_prazo']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Data do fim do prazo: </b> ' + \
str(dic_inf_basicas['fim_prazo']) + '</para>\n'
if dic_inf_basicas['mat_complementar'] == 0:
tmp += '\t\t<para style="P2"><b>Matéria Complementar:</b> Não</para>\n'
@ -139,18 +154,22 @@ def inf_basicas(dic_inf_basicas):
apelido = dic_inf_basicas['apelido']
if apelido != "" and apelido != None:
tmp+='\t\t<para style="P2"><b>Apelido: </b> ' + apelido.replace('&','&amp;') + '</para>\n'
tmp += '\t\t<para style="P2"><b>Apelido: </b> ' + \
apelido.replace('&', '&amp;') + '</para>\n'
indexacao = dic_inf_basicas['indexacao']
if indexacao != "" and indexacao != None:
tmp+='\t\t<para style="P2"><b>Indexação: </b> ' + indexacao.replace('&','&amp;') + '</para>\n'
tmp += '\t\t<para style="P2"><b>Indexação: </b> ' + \
indexacao.replace('&', '&amp;') + '</para>\n'
observacao = dic_inf_basicas['observacao']
if observacao != "" and observacao != None:
tmp+='\t\t<para style="P2"><b>Observação: </b> ' + observacao.replace('&','&amp;') + '</para>\n'
tmp += '\t\t<para style="P2"><b>Observação: </b> ' + \
observacao.replace('&', '&amp;') + '</para>\n'
return tmp
def orig_externa(dic_orig_externa):
"""
Função que gera o código rml da origem externa
@ -160,46 +179,60 @@ def orig_externa(dic_orig_externa):
tmp += '\t\t<para style="P1">Origem Externa</para>\n'
try:
if dic_orig_externa['local'] != "" and dic_orig_externa['local'] != None:
tmp+='\t\t<para style="P2"><b>Local:</b> ' + dic_orig_externa['local'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Local:</b> ' + \
dic_orig_externa['local'] + '</para>\n'
if dic_orig_externa['data'] != "" and dic_orig_externa['data'] != None:
tmp+='\t\t<para style="P2"><b>Data:</b> ' + dic_orig_externa['data'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Data:</b> ' + \
dic_orig_externa['data'] + '</para>\n'
if dic_orig_externa['tipo'] != "" and dic_orig_externa['tipo'] != None:
tmp+='\t\t<para style="P2"><b>Tipo:</b> ' + dic_orig_externa['tipo'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Tipo:</b> ' + \
dic_orig_externa['tipo'] + '</para>\n'
if dic_orig_externa['numero_ano'] != "" and dic_orig_externa['numero_ano'] != None:
tmp+='\t\t<para style="P2"><b>Número/Ano:</b> ' + dic_orig_externa['numero_ano'] + '</para>\n'
except: pass
tmp += '\t\t<para style="P2"><b>Número/Ano:</b> ' + \
dic_orig_externa['numero_ano'] + '</para>\n'
except:
pass
return tmp
def mat_anexadas(lst_mat_anexadas):
tmp = ''
tmp += '\t\t<para style="P1">Matérias Anexadas</para>\n'
for dic_mat in lst_mat_anexadas:
if dic_mat['nom_mat'] != "" and dic_mat['nom_mat'] != None:
tmp+='\t\t<para style="P2"><b>Nome da matéria:</b> ' + dic_mat['nom_mat'] + '</para>\n'
tmp+='\t\t<para style="P2"><b>Data:</b> ' + dic_mat['data'] + '</para>\n'
tmp+='\t\t<para style="P2"><b>Data final:</b> ' + str(dic_mat['data_fim']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Nome da matéria:</b> ' + \
dic_mat['nom_mat'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Data:</b> ' + \
dic_mat['data'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Data final:</b> ' + \
str(dic_mat['data_fim']) + '</para>\n'
return tmp
def autoria(lst_autoria):
tmp = ''
tmp += '\t\t<para style="P1">Autores</para>\n'
for dic_autor in lst_autoria:
if dic_autor['nom_autor'] != "" and dic_autor['nom_autor'] != None:
tmp+='\t\t<para style="P2"><b>Nome do Autor:</b> ' + dic_autor['nom_autor'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Nome do Autor:</b> ' + \
dic_autor['nom_autor'] + '</para>\n'
if dic_autor['nom_autor'] != "" and dic_autor['cargo'] != None:
tmp+='\t\t<para style="P2"><b>Cargo:</b> ' + dic_autor['cargo'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Cargo:</b> ' + \
dic_autor['cargo'] + '</para>\n'
if dic_autor['nom_autor'] != "" and dic_autor['tipo'] != None:
tmp+='\t\t<para style="P2"><b>Tipo:</b> ' + dic_autor['tipo'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Tipo:</b> ' + \
dic_autor['tipo'] + '</para>\n'
return tmp
def despachos_iniciais(lst_des_iniciais):
tmp = ''
@ -207,94 +240,137 @@ def despachos_iniciais(lst_des_iniciais):
for dic_dados in lst_des_iniciais:
if dic_dados['nom_comissao'] == None:
dic_dados['nom_comissao'] = " "
tmp+='\t\t<para style="P2"><b>Nome da comissão:</b> ' + dic_dados['nom_comissao'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Nome da comissão:</b> ' + \
dic_dados['nom_comissao'] + '</para>\n'
return tmp
def tramitacoes(dic_tramitacoes):
tmp = ''
tmp += '\t\t<para style="P1">Última Tramitação</para>\n'
try:
tmp+='\t\t<para style="P2"><b>Data Ação:</b> ' + str(dic_tramitacoes['data']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Unidade Local:</b> ' + dic_tramitacoes['unidade'] + '</para>\n'
tmp+='\t\t<para style="P2"><b>Encaminhada em:</b> ' + str(dic_tramitacoes['data_enc']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Destino:</b> ' + dic_tramitacoes['destino'] + '</para>\n'
tmp+='\t\t<para style="P2"><b>Turno:</b> ' + dic_tramitacoes['turno'] + '</para>\n'
tmp+='\t\t<para style="P2"><b>Status:</b> ' + dic_tramitacoes['status'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Data Ação:</b> ' + \
str(dic_tramitacoes['data']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Unidade Local:</b> ' + \
dic_tramitacoes['unidade'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Encaminhada em:</b> ' + \
str(dic_tramitacoes['data_enc']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Destino:</b> ' + \
dic_tramitacoes['destino'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Turno:</b> ' + \
dic_tramitacoes['turno'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Status:</b> ' + \
dic_tramitacoes['status'] + '</para>\n'
if dic_tramitacoes['urgente'] == 0:
tmp += '\t\t<para style="P2"><b>Urgente:</b> Não</para>\n'
else:
tmp += '\t\t<para style="P2"><b>Urgente:</b> Sim</para>\n'
tmp+='\t\t<para style="P2"><b>Data do fim do prazo:</b> ' + str(dic_tramitacoes['data_fim']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Data do fim do prazo:</b> ' + \
str(dic_tramitacoes['data_fim']) + '</para>\n'
if dic_tramitacoes['texto_acao'] != "" and dic_tramitacoes['texto_acao'] != None:
tmp+='\t\t<para style="P2"><b>Texto da Ação:</b> ' + dic_tramitacoes['texto_acao'].replace('&','&amp;') + '</para>\n'
tmp += '\t\t<para style="P2"><b>Texto da Ação:</b> ' + \
dic_tramitacoes['texto_acao'].replace(
'&', '&amp;') + '</para>\n'
except: pass
except:
pass
return tmp
def relatorias(lst_relatorias):
tmp = ''
tmp += '\t\t<para style="P1">Relatorias</para>\n'
for dic_comissao in lst_relatorias:
tmp+='\t\t<para style="P2"><b>Comissão:</b> ' + dic_comissao['nom_comissao'] + '</para>\n'
tmp+='\t\t<para style="P2"><b>Data Designação:</b> ' + str(dic_comissao['data_desig']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Parlamentar:</b> ' + dic_comissao['parlamentar'] + '</para>\n'
tmp+='\t\t<para style="P2"><b>Data Destituição:</b> ' + str(dic_comissao['data_dest']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Motivo Fim Relatoria:</b> ' + dic_comissao['motivo'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Comissão:</b> ' + \
dic_comissao['nom_comissao'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Data Designação:</b> ' + \
str(dic_comissao['data_desig']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Parlamentar:</b> ' + \
dic_comissao['parlamentar'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Data Destituição:</b> ' + \
str(dic_comissao['data_dest']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Motivo Fim Relatoria:</b> ' + \
dic_comissao['motivo'] + '</para>\n'
return tmp
def numeracoes(lst_numeracoes):
tmp = ''
tmp += '\t\t<para style="P1">Numerações</para>\n'
for dic_dados in lst_numeracoes:
tmp+='\t\t<para style="P2"><b>Nome:</b> ' + dic_dados['nome'] + '</para>\n'
tmp+='\t\t<para style="P2"><b>Ano:</b> ' + str(dic_dados['ano']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Nome:</b> ' + \
dic_dados['nome'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Ano:</b> ' + \
str(dic_dados['ano']) + '</para>\n'
return tmp
def legislacoes_citadas(lst_leg_citadas):
tmp = ''
tmp += '\t\t<para style="P1">Legislações Citadas</para>\n'
for dic_dados in lst_leg_citadas:
tmp+='\t\t<para style="P2"><b>Tipo Norma:</b> ' + str(dic_dados['nome_lei']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Disposição:</b> ' + str(dic_dados['disposicao']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Parte:</b> ' + str(dic_dados['parte']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Livro:</b> ' + str(dic_dados['livro']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Tí­tulo:</b> ' + str(dic_dados['titulo']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Capí­tulo:</b> ' + str(dic_dados['capitulo']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Seção:</b> ' + str(dic_dados['secao']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Subseção:</b> ' + str(dic_dados['subsecao']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Artigo:</b> ' + str(dic_dados['artigo']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Parágrafo:</b> ' + str(dic_dados['paragrafo']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Inciso:</b> ' + str(dic_dados['inciso']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Alí­nea:</b> ' + str(dic_dados['alinea']) + '</para>\n'
tmp+='\t\t<para style="P2"><b>Item:</b> ' + str(dic_dados['item']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Tipo Norma:</b> ' + \
str(dic_dados['nome_lei']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Disposição:</b> ' + \
str(dic_dados['disposicao']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Parte:</b> ' + \
str(dic_dados['parte']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Livro:</b> ' + \
str(dic_dados['livro']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Tí­tulo:</b> ' + \
str(dic_dados['titulo']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Capí­tulo:</b> ' + \
str(dic_dados['capitulo']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Seção:</b> ' + \
str(dic_dados['secao']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Subseção:</b> ' + \
str(dic_dados['subsecao']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Artigo:</b> ' + \
str(dic_dados['artigo']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Parágrafo:</b> ' + \
str(dic_dados['paragrafo']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Inciso:</b> ' + \
str(dic_dados['inciso']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Alí­nea:</b> ' + \
str(dic_dados['alinea']) + '</para>\n'
tmp += '\t\t<para style="P2"><b>Item:</b> ' + \
str(dic_dados['item']) + '</para>\n'
return tmp
def documentos_acessorios(lst_acessorios):
tmp = ''
tmp += '\t\t<para style="P1">Documentos Acessórios</para>\n'
for dic_dados in lst_acessorios:
if dic_dados['tipo'] != None:
tmp+='\t\t<para style="P2"><b>Tipo:</b> ' + dic_dados['tipo'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Tipo:</b> ' + \
dic_dados['tipo'] + '</para>\n'
if dic_dados['nome'] != None:
tmp+='\t\t<para style="P2"><b>Nome:</b> ' + dic_dados['nome'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Nome:</b> ' + \
dic_dados['nome'] + '</para>\n'
tmp+='\t\t<para style="P2"><b>Data:</b> ' + dic_dados['data'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Data:</b> ' + \
dic_dados['data'] + '</para>\n'
if dic_dados['autor'] != None:
tmp+='\t\t<para style="P2"><b>Autor:</b> ' + dic_dados['autor'] + '</para>\n'
tmp += '\t\t<para style="P2"><b>Autor:</b> ' + \
dic_dados['autor'] + '</para>\n'
if dic_dados['ementa'] != None:
tmp+='\t\t<para style="P2"><b>Ementa:</b> ' + dic_dados['ementa'].replace('&','&amp;') + '</para>\n'
tmp += '\t\t<para style="P2"><b>Ementa:</b> ' + \
dic_dados['ementa'].replace('&', '&amp;') + '</para>\n'
if dic_dados['indexacao'] != None:
tmp+='\t\t<para style="P2"><b>Ementa:</b> ' + dic_dados['indexacao'].replace('&','&amp;') + '</para>\n'
tmp += '\t\t<para style="P2"><b>Ementa:</b> ' + \
dic_dados['indexacao'].replace('&', '&amp;') + '</para>\n'
return tmp
def principal(imagem, dic_rodape, dic_inf_basicas, dic_orig_externa, lst_mat_anexadas, lst_autoria, lst_des_iniciais,
dic_tramitacoes, lst_relatorias, lst_numeracoes, lst_leg_citadas, lst_acessorios, sessao=''):
"""

59
sapl/relatorios/templates/pdf_detalhe_materia_preparar_pysc.py

@ -17,7 +17,8 @@ casa={}
aux = context.sapl_documentos.props_sapl.propertyItems()
for item in aux:
casa[item[0]] = item[1]
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
localidade = context.zsql.localidade_obter_zsql(
cod_localidade=casa["cod_localidade"])
data_emissao = DateTime().strftime("%d/%m/%Y")
rodape = casa
rodape['data_emissao'] = data_emissao
@ -39,7 +40,8 @@ for materia in context.zsql.materia_obter_zsql(cod_materia=REQUEST['cod_materia'
inf_basicas_dic['publicada'] = materia.dat_publicacao
inf_basicas_dic['objeto'] = materia.des_objeto
inf_basicas_dic['tramitacao'] = materia.ind_tramitacao
inf_basicas_dic['cod_projeto']= materia.sgl_tipo_materia+" "+ str(materia.num_ident_basica)+" de "+ str(materia.ano_ident_basica)
inf_basicas_dic['cod_projeto'] = materia.sgl_tipo_materia + " " + \
str(materia.num_ident_basica) + " de " + str(materia.ano_ident_basica)
inf_basicas_dic['nom_projeto'] = materia.des_tipo_materia
for tramitacao in context.zsql.regime_tramitacao_obter_zsql(cod_regime_tramitacao=materia.cod_regime_tramitacao):
@ -76,14 +78,17 @@ for materia in context.zsql.materia_obter_zsql(cod_materia=REQUEST['cod_materia'
orig_externa_dic['local'] = origem.sgl_origem + "-" + origem.nom_origem
orig_externa_dic['tipo'] = materia.tip_origem_externa
orig_externa_dic['data'] = materia.dat_origem_externa
orig_externa_dic['numero_ano']= str(materia.num_origem_externa)+ "/"+ str(materia.ano_origem_externa)
orig_externa_dic['numero_ano'] = str(
materia.num_origem_externa) + "/" + str(materia.ano_origem_externa)
# #o bloco abaixo gera o dicionario das materias anexadas (ln 55)
lst_mat_anexadas = []
dic_mat = {}
for anexada in context.zsql.anexada_obter_zsql(cod_materia_principal=materia.cod_materia):
aux1 = context.zsql.materia_obter_zsql(cod_materia = anexada.cod_materia_anexada)
aux2 = context.zsql.tipo_materia_legislativa_obter_zsql(tip_materia = aux1[0].tip_id_basica)
aux1 = context.zsql.materia_obter_zsql(
cod_materia=anexada.cod_materia_anexada)
aux2 = context.zsql.tipo_materia_legislativa_obter_zsql(
tip_materia=aux1[0].tip_id_basica)
# """#tratando possíveis erros"""
# if aux2.sgl_tipo_materia==None: aux2.sgl_tipo_materia=""
# if aux2.num_ident_basica==None: aux2.num_ident_basica=""
@ -91,7 +96,8 @@ for materia in context.zsql.materia_obter_zsql(cod_materia=REQUEST['cod_materia'
# if anexadas.dat_anexacao==None: anexadas.dat_anexacao=""
# if anexadas.dat_desanexacao==None: anexadas.dat_desanexacao=""
# """#"""
dic_mat['nom_mat']= aux2[0].sgl_tipo_materia+ "/"+ str(aux1[0].num_ident_basica)+ "/"+ str(aux1[0].ano_ident_basica)
dic_mat['nom_mat'] = aux2[0].sgl_tipo_materia + "/" + \
str(aux1[0].num_ident_basica) + "/" + str(aux1[0].ano_ident_basica)
dic_mat['data'] = anexada.dat_anexacao
dic_mat['data_fim'] = anexada.dat_desanexacao
lst_mat_anexadas.append(dic_mat)
@ -139,7 +145,8 @@ for materia in context.zsql.materia_obter_zsql(cod_materia=REQUEST['cod_materia'
comissao.nom_comissao = ''
if comissao.sgl_comissao == None:
comissao.sgl_comissao = ''
dic_dados['nom_comissao']=comissao.nom_comissao+ " - "+ comissao.sgl_comissao
dic_dados['nom_comissao'] = comissao.nom_comissao + \
" - " + comissao.sgl_comissao
lst_des_iniciais.append(dic_dados)
# #o bloco abaixo gera o dicionário de Tramitacoes(ln 87)
@ -153,9 +160,8 @@ for materia in context.zsql.materia_obter_zsql(cod_materia=REQUEST['cod_materia'
dic_tramitacoes['data_fim'] = tramitacao.dat_fim_prazo
dic_tramitacoes['texto_acao'] = tramitacao.txt_tramitacao
for unidade in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao=tramitacao.cod_unid_tram_local):
#-----------------se unidade for comissao---------------------------------
#-----------------se unidade for comissao--------------------------
if unidade.cod_orgao == None:
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=unidade.cod_comissao):
if tramitacao.cod_unid_tram_dest != None:
@ -163,17 +169,21 @@ for materia in context.zsql.materia_obter_zsql(cod_materia=REQUEST['cod_materia'
# se unidade destino for comissao
if unidade_dest.cod_orgao == None:
for comissao_dest in context.zsql.comissao_obter_zsql(cod_comissao=unidade_dest.cod_comissao):
dic_tramitacoes['unidade']= comissao.nom_comissao
dic_tramitacoes['destino']= comissao_dest.nom_comissao
dic_tramitacoes[
'unidade'] = comissao.nom_comissao
dic_tramitacoes[
'destino'] = comissao_dest.nom_comissao
# se unidade destino for orgao
if unidade_dest.cod_comissao == None:
for orgao_dest in context.zsql.orgao_obter_zsql(cod_orgao=unidade_dest.cod_orgao):
dic_tramitacoes['unidade']= comissao.nom_comissao
dic_tramitacoes['destino']= orgao_dest.nom_orgao
dic_tramitacoes[
'unidade'] = comissao.nom_comissao
dic_tramitacoes[
'destino'] = orgao_dest.nom_orgao
else:
dic_tramitacoes['unidade'] = comissao.nom_comissao
dic_tramitacoes['destino'] = "None"
#---------------se unidade for orgao-----------------------------------------
#---------------se unidade for orgao-------------------------------
if unidade.cod_comissao == None:
for orgao in context.zsql.orgao_obter_zsql(cod_orgao=unidade.cod_orgao):
if tramitacao.cod_unid_tram_dest != None:
@ -181,13 +191,17 @@ for materia in context.zsql.materia_obter_zsql(cod_materia=REQUEST['cod_materia'
# se unidade destino for comissao
if unidade_dest.cod_orgao == None:
for comissao_dest in context.zsql.comissao_obter_zsql(cod_comissao=unidade_dest.cod_comissao):
dic_tramitacoes['unidade']= orgao.nom_orgao
dic_tramitacoes['destino']= comissao_dest.nom_comissao
dic_tramitacoes[
'unidade'] = orgao.nom_orgao
dic_tramitacoes[
'destino'] = comissao_dest.nom_comissao
# se unidade destino for orgao
if unidade_dest.cod_comissao == None:
for orgao_dest in context.zsql.orgao_obter_zsql(cod_orgao=unidade_dest.cod_orgao):
dic_tramitacoes['unidade']= orgao.nom_orgao
dic_tramitacoes['destino']= orgao_dest.nom_orgao
dic_tramitacoes[
'unidade'] = orgao.nom_orgao
dic_tramitacoes[
'destino'] = orgao_dest.nom_orgao
else:
dic_tramitacoes['unidade'] = orgao.nom_orgao
dic_tramitacoes['destino'] = "None"
@ -218,7 +232,8 @@ for materia in context.zsql.materia_obter_zsql(cod_materia=REQUEST['cod_materia'
dic_dados = {}
for numeracao in context.zsql.numeracao_obter_zsql(cod_materia=materia.cod_materia):
for tipo_materia in context.zsql.tipo_materia_legislativa_obter_zsql(tip_materia=numeracao.tip_materia):
dic_dados['nome']= tipo_materia.sgl_tipo_materia+ "-"+ tipo_materia.des_tipo_materia+ ""+ numeracao.num_materia
dic_dados['nome'] = tipo_materia.sgl_tipo_materia + "-" + \
tipo_materia.des_tipo_materia + "" + numeracao.num_materia
dic_dados['ano'] = numeracao.ano_materia
lst_numeracoes.append(dic_dados)
@ -228,8 +243,10 @@ for materia in context.zsql.materia_obter_zsql(cod_materia=REQUEST['cod_materia'
lst_legis_citadas = []
dic_dados = {}
for legislacao in context.zsql.legislacao_citada_obter_zsql(cod_materia=materia.cod_materia):
norma = context.zsql.norma_juridica_obter_zsql(cod_norma = legislacao.cod_norma_sel)
dic_dados['nome_lei']= str(norma[0].tip_norma_sel) + ""+ str(norma[0].num_norma) + " de"+ str(norma[0].ano_norma)
norma = context.zsql.norma_juridica_obter_zsql(
cod_norma=legislacao.cod_norma_sel)
dic_dados['nome_lei'] = str(norma[0].tip_norma_sel) + "" + \
str(norma[0].num_norma) + " de" + str(norma[0].ano_norma)
dic_dados['disposicao'] = legislacao.des_disposicoes
dic_dados['parte'] = legislacao.des_parte
dic_dados['livro'] = legislacao.des_livro

31
sapl/relatorios/templates/pdf_documento_administrativo_preparar_pysc.py

@ -11,7 +11,8 @@ casa={}
aux = context.sapl_documentos.props_sapl.propertyItems()
for item in aux:
casa[item[0]] = item[1]
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
localidade = context.zsql.localidade_obter_zsql(
cod_localidade=casa["cod_localidade"])
if len(casa["num_cep"]) == 8:
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:]
else:
@ -23,7 +24,8 @@ if cep!="":
linha1 = linha1 + " - "
linha1 = linha1 + "CEP " + cep
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None:
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf
linha1 = linha1 + " - " + \
localidade[0].nom_localidade + " " + localidade[0].sgl_uf
if casa["num_tel"] != "" and casa["num_tel"] != None:
linha1 = linha1 + " Tel.: " + casa["num_tel"]
@ -57,14 +59,20 @@ else:
documentos = []
REQUEST = context.REQUEST
for documento in context.zsql.documento_administrativo_pesquisar_zsql(tip_documento=REQUEST['lst_tip_documento'],
num_documento=REQUEST['txt_num_documento'], ano_documento=REQUEST['txt_ano_documento'],
num_protocolo=REQUEST['txt_num_protocolo'], ind_tramitacao=REQUEST['rad_tramitando'],
des_assunto=REQUEST['txa_txt_assunto'], cod_status=REQUEST['lst_status'],
txt_interessado=REQUEST['txa_txt_interessado'], dat_apres1=REQUEST['dt_apres1'],
num_documento=REQUEST['txt_num_documento'], ano_documento=REQUEST[
'txt_ano_documento'],
num_protocolo=REQUEST[
'txt_num_protocolo'], ind_tramitacao=REQUEST['rad_tramitando'],
des_assunto=REQUEST[
'txa_txt_assunto'], cod_status=REQUEST['lst_status'],
txt_interessado=REQUEST[
'txa_txt_interessado'], dat_apres1=REQUEST['dt_apres1'],
dat_apres2=REQUEST['dt_apres2'], rd_ordem=REQUEST['rd_ordenacao']):
dic = {}
dic['titulo']=documento.sgl_tipo_documento+" "+str(documento.num_documento)+" "+str(documento.ano_documento)+" - "+documento.des_tipo_documento
dic['titulo'] = documento.sgl_tipo_documento + " " + \
str(documento.num_documento) + " " + \
str(documento.ano_documento) + " - " + documento.des_tipo_documento
dic['txt_assunto'] = documento.txt_assunto
dic['txt_interessado'] = documento.txt_interessado
@ -103,7 +111,8 @@ filtro['assunto']=REQUEST.txa_txt_assunto
filtro['tipo_documento'] = ''
if REQUEST.lst_tip_documento != '':
for tipo_documento in context.zsql.tipo_documento_administrativo_obter_zsql(ind_excluido=0, tip_documento=REQUEST.lst_tip_documento):
filtro['tipo_documento']= tipo_documento.sgl_tipo_documento + ' - ' + tipo_documento.des_tipo_documento
filtro['tipo_documento'] = tipo_documento.sgl_tipo_documento + \
' - ' + tipo_documento.des_tipo_documento
filtro['tramitando'] = ''
if REQUEST.rad_tramitando == '1':
@ -114,10 +123,12 @@ elif REQUEST['rad_tramitando']=='0':
filtro['situacao_atual'] = ''
if REQUEST.lst_status != '':
for status in context.zsql.status_tramitacao_administrativo_obter_zsql(ind_exluido=0, cod_status=REQUEST.lst_status):
filtro['situacao_atual']=status.sgl_status + ' - ' + status.des_status
filtro['situacao_atual'] = status.sgl_status + \
' - ' + status.des_status
sessao = session.id
caminho = context.pdf_documento_administrativo_gerar(sessao,imagem,data,documentos,cabecalho,rodape,filtro)
caminho = context.pdf_documento_administrativo_gerar(
sessao, imagem, data, documentos, cabecalho, rodape, filtro)
if caminho == 'aviso':
return response.redirect('mensagem_emitir_proc')
else:

3
sapl/relatorios/templates/pdf_espelho_gerar.py

@ -163,4 +163,5 @@ def principal(imagem, lst_materias, dic_cabecalho, lst_rodape):
# return "/temp_folder/"+arquivoPdf
# return principal(sessao,imagem,data,lst_materias,dic_cabecalho,lst_rodape,dic_filtro)
# return
# principal(sessao,imagem,data,lst_materias,dic_cabecalho,lst_rodape,dic_filtro)

28
sapl/relatorios/templates/pdf_espelho_preparar_pysc.py

@ -11,7 +11,8 @@ casa={}
aux = context.sapl_documentos.props_sapl.propertyItems()
for item in aux:
casa[item[0]] = item[1]
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
localidade = context.zsql.localidade_obter_zsql(
cod_localidade=casa["cod_localidade"])
if len(casa["num_cep"]) == 8:
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:]
else:
@ -23,7 +24,8 @@ if cep!="":
linha1 = linha1 + " - "
linha1 = linha1 + "CEP " + cep
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None:
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf
linha1 = linha1 + " - " + \
localidade[0].nom_localidade + " " + localidade[0].sgl_uf
if casa["num_tel"] != "" and casa["num_tel"] != None:
linha1 = linha1 + " Tel.: " + casa["num_tel"]
@ -60,8 +62,10 @@ if REQUEST.txt_check=='1':
REQUEST = context.REQUEST
for materia in context.zsql.materia_obter_zsql(cod_materia=cod_mat):
dic = {}
dic['titulo']="INDICAÇÃO: "+str(materia.num_ident_basica)+" "+str(materia.ano_ident_basica)
dic['materia']=str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
dic['titulo'] = "INDICAÇÃO: " + \
str(materia.num_ident_basica) + " " + str(materia.ano_ident_basica)
dic['materia'] = str(materia.num_ident_basica) + \
"/" + str(materia.ano_ident_basica)
dic['dat_apresentacao'] = materia.dat_apresentacao
dic['txt_ementa'] = materia.txt_ementa
@ -106,7 +110,8 @@ if REQUEST.txt_check=='1':
dic['norma_juridica_vinculada'] = "Não há nenhuma norma jurídica vinculada"
for norma in context.zsql.materia_buscar_norma_juridica_zsql(cod_materia=materia.cod_materia):
dic['norma_juridica_vinculada']=norma.des_norma+" "+str(norma.num_norma)+"/"+str(norma.ano_norma)
dic['norma_juridica_vinculada'] = norma.des_norma + " " + \
str(norma.num_norma) + "/" + str(norma.ano_norma)
materias.append(dic)
@ -117,8 +122,11 @@ else:
for cod_mat in codigo:
for materia in context.zsql.materia_obter_zsql(cod_materia=cod_mat):
dic = {}
dic['titulo']="INDICAÇÃO: "+str(materia.num_ident_basica)+" "+str(materia.ano_ident_basica)
dic['materia']=str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
dic['titulo'] = "INDICAÇÃO: " + \
str(materia.num_ident_basica) + " " + \
str(materia.ano_ident_basica)
dic['materia'] = str(materia.num_ident_basica) + \
"/" + str(materia.ano_ident_basica)
dic['dat_apresentacao'] = materia.dat_apresentacao
dic['txt_ementa'] = materia.txt_ementa
@ -163,7 +171,8 @@ else:
dic['norma_juridica_vinculada'] = "Não há nenhuma norma jurídica vinculada"
for norma in context.zsql.materia_buscar_norma_juridica_zsql(cod_materia=materia.cod_materia):
dic['norma_juridica_vinculada']=norma.des_norma+" "+str(norma.num_norma)+"/"+str(norma.ano_norma)
dic['norma_juridica_vinculada'] = norma.des_norma + " " + \
str(norma.num_norma) + "/" + str(norma.ano_norma)
materias.append(dic)
@ -193,7 +202,8 @@ filtro={} # Dicionário que conterá os dados do filtro
# filtro['situacao_atual']=status.sgl_status + ' - ' + status.des_status
sessao = session.id
caminho = context.pdf_espelho_gerar(sessao,imagem,data,materias,cabecalho,rodape,filtro)
caminho = context.pdf_espelho_gerar(
sessao, imagem, data, materias, cabecalho, rodape, filtro)
if caminho == 'aviso':
return response.redirect('mensagem_emitir_proc')
else:

30
sapl/relatorios/templates/pdf_etiqueta_protocolo_preparar_pysc.py

@ -11,7 +11,8 @@ casa={}
aux = context.sapl_documentos.props_sapl.propertyItems()
for item in aux:
casa[item[0]] = item[1]
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
localidade = context.zsql.localidade_obter_zsql(
cod_localidade=casa["cod_localidade"])
if len(casa["num_cep"]) == 8:
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:]
else:
@ -23,7 +24,8 @@ if cep!="":
linha1 = linha1 + " - "
linha1 = linha1 + "CEP " + cep
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None:
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf
linha1 = linha1 + " - " + \
localidade[0].nom_localidade + " " + localidade[0].sgl_uf
if casa["num_tel"] != "" and casa["num_tel"] != None:
linha1 = linha1 + " Tel.: " + casa["num_tel"]
@ -57,16 +59,21 @@ else:
protocolos = []
REQUEST = context.REQUEST
for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['rad_tip_protocolo'],
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST['txt_ano_protocolo'],
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST['rad_tip_processo'],
tip_materia=REQUEST['lst_tip_materia'], des_assunto=REQUEST['txt_assunto'],
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST['txa_txt_interessado'],
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST[
'txt_ano_protocolo'],
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST[
'rad_tip_processo'],
tip_materia=REQUEST[
'lst_tip_materia'], des_assunto=REQUEST['txt_assunto'],
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST[
'txa_txt_interessado'],
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']):
dic = {}
dic['titulo'] = str(protocolo.cod_protocolo)
dic['data']='Data: '+context.pysc.iso_to_port_pysc(protocolo.dat_protocolo)+' Horário: '+protocolo.hor_protocolo[0:2]+':'+protocolo.hor_protocolo[3:5]
dic['data'] = 'Data: ' + context.pysc.iso_to_port_pysc(
protocolo.dat_protocolo) + ' Horário: ' + protocolo.hor_protocolo[0:2] + ':' + protocolo.hor_protocolo[3:5]
dic['txt_assunto'] = protocolo.txt_assunto_ementa
@ -92,11 +99,13 @@ for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['ra
dic['num_materia'] = ''
for materia in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo, ano_ident_basica=protocolo.ano_protocolo):
dic['num_materia']=materia.sgl_tipo_materia+' '+str(materia.num_ident_basica)+'/'+str(materia.ano_ident_basica)
dic['num_materia'] = materia.sgl_tipo_materia + ' ' + \
str(materia.num_ident_basica) + '/' + str(materia.ano_ident_basica)
dic['num_documento'] = ''
for documento in context.zsql.documento_administrativo_obter_zsql(num_protocolo=protocolo.cod_protocolo):
dic['num_documento']=documento.sgl_tipo_documento+' '+str(documento.num_documento)+'/'+ str(documento.ano_documento)
dic['num_documento'] = documento.sgl_tipo_documento + ' ' + \
str(documento.num_documento) + '/' + str(documento.ano_documento)
dic['ident_processo'] = dic['num_materia'] or dic['num_documento']
@ -120,7 +129,8 @@ filtro['autor']=REQUEST.hdn_cod_autor
filtro['interessado'] = REQUEST.txa_txt_interessado
sessao = session.id
caminho = context.pdf_etiqueta_protocolo_gerar(sessao,imagem,data,protocolos,cabecalho,rodape,filtro)
caminho = context.pdf_etiqueta_protocolo_gerar(
sessao, imagem, data, protocolos, cabecalho, rodape, filtro)
if caminho == 'aviso':
return response.redirect('mensagem_emitir_proc')
else:

32
sapl/relatorios/templates/pdf_materia_gerar.py

@ -1,4 +1,4 @@
##parameters=sessao,imagem,data,lst_materias,dic_cabecalho,lst_rodape,dic_filtro
# parameters=sessao,imagem,data,lst_materias,dic_cabecalho,lst_rodape,dic_filtro
"""relatorio_materia.py
External method para gerar o arquivo rml do resultado de uma pesquisa de matérias
@ -17,27 +17,34 @@ def cabecalho(dic_cabecalho,imagem):
tmp_data += '\t\t\t\t<image x="2.1cm" y="25.7cm" width="59" height="62" file="' + imagem + '"/>\n'
tmp_data += '\t\t\t\t<lines>2cm 25cm 19cm 25cm</lines>\n'
tmp_data += '\t\t\t\t<setFont name="Helvetica-Bold" size="16"/>\n'
tmp_data+='\t\t\t\t<drawString x="5cm" y="27.1cm">' + dic_cabecalho['nom_casa'] + '</drawString>\n'
tmp_data += '\t\t\t\t<drawString x="5cm" y="27.1cm">' + \
dic_cabecalho['nom_casa'] + '</drawString>\n'
tmp_data += '\t\t\t\t<setFont name="Helvetica" size="13"/>\n'
tmp_data+='\t\t\t\t<drawString x="5cm" y="26.5cm">' + dic_cabecalho['nom_estado'] + '</drawString>\n'
tmp_data += '\t\t\t\t<drawString x="5cm" y="26.5cm">' + \
dic_cabecalho['nom_estado'] + '</drawString>\n'
tmp_data += '\t\t\t\t<setFont name="Helvetica-Bold" size="13"/>\n'
tmp_data += '\t\t\t\t<drawCentredString x="10.5cm" y="25.2cm">Relatório de Matérias Legislativas</drawCentredString>\n'
return tmp_data
def rodape(lst_rodape):
"""Gera o codigo rml do rodape"""
tmp_data = ''
tmp_data += '\t\t\t\t<lines>2cm 3.2cm 19cm 3.2cm</lines>\n'
tmp_data += '\t\t\t\t<setFont name="Helvetica" size="8"/>\n'
tmp_data+='\t\t\t\t<drawString x="2cm" y="3.3cm">' + lst_rodape[2] + '</drawString>\n'
tmp_data += '\t\t\t\t<drawString x="2cm" y="3.3cm">' + \
lst_rodape[2] + '</drawString>\n'
tmp_data += '\t\t\t\t<drawString x="17.9cm" y="3.3cm">Página <pageNumber/></drawString>\n'
tmp_data+='\t\t\t\t<drawCentredString x="10.5cm" y="2.7cm">' + lst_rodape[0] + '</drawCentredString>\n'
tmp_data+='\t\t\t\t<drawCentredString x="10.5cm" y="2.3cm">' + lst_rodape[1] + '</drawCentredString>\n'
tmp_data += '\t\t\t\t<drawCentredString x="10.5cm" y="2.7cm">' + \
lst_rodape[0] + '</drawCentredString>\n'
tmp_data += '\t\t\t\t<drawCentredString x="10.5cm" y="2.3cm">' + \
lst_rodape[1] + '</drawCentredString>\n'
return tmp_data
def paraStyle():
"""Gera o codigo rml que define o estilo dos paragrafos"""
@ -56,6 +63,7 @@ def paraStyle():
return tmp_data
def materias(lst_materias):
"""Gera o codigo rml do conteudo da pesquisa de materias"""
@ -74,15 +82,20 @@ def materias(lst_materias):
tmp_data += '\t\t<condPageBreak height="1.5cm"/>\n'
# materias
tmp_data+='\t\t<para style="P1"> <b>'+ dic['titulo'] +'</b> - <b>Autor: </b>' + dic['nom_autor'] + ' </para>\n'
tmp_data += '\t\t<para style="P1"> <b>' + \
dic['titulo'] + '</b> - <b>Autor: </b>' + \
dic['nom_autor'] + ' </para>\n'
if dic['txt_ementa'] != None:
txt_ementa = dic['txt_ementa'].replace('&', '&amp;')
tmp_data += '\t\t<para style="P2"> ' + txt_ementa + ' </para>\n'
tmp_data+='\t\t<para style="P2"><b>Situação:</b> ' + dic['des_situacao'] + '/ <b>Norma Jurídica Vinculada:</b> ' + dic['norma_vinculada'] + '</para>\n'
tmp_data += '\t\t<para style="P2"><b>Situação:</b> ' + \
dic['des_situacao'] + '/ <b>Norma Jurídica Vinculada:</b> ' + \
dic['norma_vinculada'] + '</para>\n'
tmp_data += '\t</story>\n'
return tmp_data
def principal(imagem, lst_materias, dic_cabecalho, lst_rodape):
"""Funcao pricipal que gera a estrutura global do arquivo rml"""
@ -116,4 +129,5 @@ def principal(imagem, lst_materias, dic_cabecalho, lst_rodape):
# return "/temp_folder/"+arquivoPdf
# return principal(sessao,imagem,data,lst_materias,dic_cabecalho,lst_rodape,dic_filtro)
# return
# principal(sessao,imagem,data,lst_materias,dic_cabecalho,lst_rodape,dic_filtro)

42
sapl/relatorios/templates/pdf_materia_preparar_pysc.py

@ -13,7 +13,8 @@ casa={}
aux = context.sapl_documentos.props_sapl.propertyItems()
for item in aux:
casa[item[0]] = item[1]
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
localidade = context.zsql.localidade_obter_zsql(
cod_localidade=casa["cod_localidade"])
if len(casa["num_cep"]) == 8:
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:]
else:
@ -25,7 +26,8 @@ if cep!="":
linha1 = linha1 + " - "
linha1 = linha1 + "CEP " + cep
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None:
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf
linha1 = linha1 + " - " + \
localidade[0].nom_localidade + " " + localidade[0].sgl_uf
if casa["num_tel"] != "" and casa["num_tel"] != None:
linha1 = linha1 + " Tel.: " + casa["num_tel"]
@ -59,17 +61,25 @@ else:
materias = []
REQUEST = context.REQUEST
for materia in context.zsql.materia_pesquisar_zsql(tip_id_basica=REQUEST['lst_tip_materia'], num_ident_basica=REQUEST['txt_numero'],
ano_ident_basica=REQUEST['txt_ano'], ind_tramitacao=REQUEST['rad_tramitando'],
des_assunto=REQUEST['txt_assunto'], nom_relator=REQUEST['txt_relator'],
cod_status=REQUEST['lst_status'], des_tipo_autor=REQUEST['lst_tip_autor'],
dat_apresentacao=REQUEST['dt_apres'], dat_apresentacao2=REQUEST['dt_apres2'],
dat_publicacao=REQUEST['dt_public'], dat_publicacao2=REQUEST['dt_public2'],
cod_partido=REQUEST['lst_cod_partido'],cod_autor=REQUEST['hdn_cod_autor'],
ano_ident_basica=REQUEST[
'txt_ano'], ind_tramitacao=REQUEST['rad_tramitando'],
des_assunto=REQUEST[
'txt_assunto'], nom_relator=REQUEST['txt_relator'],
cod_status=REQUEST['lst_status'], des_tipo_autor=REQUEST[
'lst_tip_autor'],
dat_apresentacao=REQUEST[
'dt_apres'], dat_apresentacao2=REQUEST['dt_apres2'],
dat_publicacao=REQUEST[
'dt_public'], dat_publicacao2=REQUEST['dt_public2'],
cod_partido=REQUEST['lst_cod_partido'], cod_autor=REQUEST[
'hdn_cod_autor'],
rd_ordem=REQUEST['rd_ordenacao'], rd_ordem_td=REQUEST['rd_ordem_td']):
dic = {}
dic['titulo']=materia.sgl_tipo_materia+" "+materia.des_tipo_materia+" "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
dic['titulo'] = materia.sgl_tipo_materia + " " + materia.des_tipo_materia + \
" " + str(materia.num_ident_basica) + "/" + \
str(materia.ano_ident_basica)
dic['txt_ementa'] = materia.txt_ementa
dic['nom_autor'] = " "
for autoria in context.zsql.autoria_obter_zsql(cod_materia=materia.cod_materia):
@ -105,10 +115,11 @@ for materia in context.zsql.materia_pesquisar_zsql(tip_id_basica=REQUEST['lst_ti
dic['des_situacao'] = des_status
dic['ultima_acao'] = txt_tramitacao
dic['norma_vinculada'] = " "
for norma_vinculada in context.zsql.materia_buscar_norma_juridica_zsql(cod_materia=materia.cod_materia):
dic['norma_vinculada']=norma_vinculada.des_norma+" "+str(norma_vinculada.num_norma)+"/"+str(norma_vinculada.ano_norma)
dic['norma_vinculada'] = norma_vinculada.des_norma + " " + \
str(norma_vinculada.num_norma) + "/" + \
str(norma_vinculada.ano_norma)
materias.append(dic)
@ -129,7 +140,8 @@ if REQUEST.hdn_txt_autor==' ': # Corrige bug do Netscape
filtro['tipo_materia'] = ''
if REQUEST.lst_tip_materia != '':
for tipo_materia in context.zsql.tipo_materia_legislativa_obter_zsql(ind_excluido=0, tip_materia=REQUEST.lst_tip_materia):
filtro['tipo_materia']= tipo_materia.sgl_tipo_materia + ' - ' + tipo_materia.des_tipo_materia
filtro['tipo_materia'] = tipo_materia.sgl_tipo_materia + \
' - ' + tipo_materia.des_tipo_materia
filtro['partido'] = ''
if REQUEST.lst_cod_partido != '':
@ -145,10 +157,12 @@ elif REQUEST['rad_tramitando']=='0':
filtro['situacao_atual'] = ''
if REQUEST.lst_status != '':
for status in context.zsql.status_tramitacao_obter_zsql(ind_excluido=0, cod_status=REQUEST.lst_status):
filtro['situacao_atual']=status.sgl_status + ' - ' + status.des_status
filtro['situacao_atual'] = status.sgl_status + \
' - ' + status.des_status
sessao = session.id
caminho = context.pdf_materia_gerar(sessao,imagem,data,materias,cabecalho,rodape,filtro)
caminho = context.pdf_materia_gerar(
sessao, imagem, data, materias, cabecalho, rodape, filtro)
if caminho == 'aviso':
return response.redirect('mensagem_emitir_proc')
else:

24
sapl/relatorios/templates/pdf_norma_gerar.py

@ -1,4 +1,4 @@
##parameters=sessao,imagem,data,lst_normas,dic_cabecalho,lst_rodape,dic_filtro
# parameters=sessao,imagem,data,lst_normas,dic_cabecalho,lst_rodape,dic_filtro
"""relatorio_norma.py
External method para gerar o arquivo rml do resultado de uma pesquisa de normas
@ -17,7 +17,8 @@ def cabecalho(inf_basicas_dic,imagem):
tmp_data += '\t\t\t\t<image x="2.1cm" y="25.7cm" width="59" height="62" file="' + imagem + '"/>\n'
tmp_data += '\t\t\t\t<lines>2cm 25.4cm 19cm 25.4cm</lines>\n'
tmp_data += '\t\t\t\t<setFont name="Helvetica-Bold" size="15"/>\n'
tmp_data+='\t\t\t\t<drawString x="5cm" y="27.2cm">' + dic_cabecalho['nom_casa'] + '</drawString>\n'
tmp_data += '\t\t\t\t<drawString x="5cm" y="27.2cm">' + \
dic_cabecalho['nom_casa'] + '</drawString>\n'
tmp_data += '\t\t\t\t<setFont name="Helvetica" size="12"/>\n'
tmp_data += '\t\t\t\t<drawString x="5cm" y="26.6cm">Sistema de Apoio ao Processo Legislativo</drawString>\n'
tmp_data += '\t\t\t\t<setFont name="Helvetica-Bold" size="13"/>\n'
@ -25,19 +26,24 @@ def cabecalho(inf_basicas_dic,imagem):
return tmp_data
def rodape(lst_rodape):
"""Gera o codigo rml do rodape"""
tmp_data = ''
tmp_data += '\t\t\t\t<lines>2cm 3.2cm 19cm 3.2cm</lines>\n'
tmp_data += '\t\t\t\t<setFont name="Helvetica" size="8"/>\n'
tmp_data+='\t\t\t\t<drawString x="2cm" y="3.3cm">' + lst_rodape[2] + '</drawString>\n'
tmp_data += '\t\t\t\t<drawString x="2cm" y="3.3cm">' + \
lst_rodape[2] + '</drawString>\n'
tmp_data += '\t\t\t\t<drawString x="17.9cm" y="3.3cm">Página <pageNumber/></drawString>\n'
tmp_data+='\t\t\t\t<drawCentredString x="10.5cm" y="2.7cm">' + lst_rodape[0] + '</drawCentredString>\n'
tmp_data+='\t\t\t\t<drawCentredString x="10.5cm" y="2.3cm">' + lst_rodape[1] + '</drawCentredString>\n'
tmp_data += '\t\t\t\t<drawCentredString x="10.5cm" y="2.7cm">' + \
lst_rodape[0] + '</drawCentredString>\n'
tmp_data += '\t\t\t\t<drawCentredString x="10.5cm" y="2.3cm">' + \
lst_rodape[1] + '</drawCentredString>\n'
return tmp_data
def paraStyle():
"""Gera o codigo rml que define o estilo dos paragrafos"""
@ -56,6 +62,7 @@ def paraStyle():
return tmp_data
def normas(lst_normas):
"""Gera o codigo rml do conteudo da pesquisa de normas"""
@ -86,11 +93,13 @@ def normas(lst_normas):
txt_ementa = dic['txt_ementa'].replace('&', '&amp;')
tmp_data += '\t\t<para style="P2">' + txt_ementa + '</para>\n'
if dic['materia_vinculada'] != None:
tmp_data+='\t\t<para style="P2"><b>Matéria Legislativa:</b> ' + dic['materia_vinculada'] + '</para>\n'
tmp_data += '\t\t<para style="P2"><b>Matéria Legislativa:</b> ' + \
dic['materia_vinculada'] + '</para>\n'
tmp_data += '\t</story>\n'
return tmp_data
def principal(imagem, lst_normas, dic_cabecalho, lst_rodape):
"""Funcao pricipal que gera a estrutura global do arquivo rml"""
@ -124,4 +133,5 @@ def principal(imagem, lst_normas, dic_cabecalho, lst_rodape):
# return "/temp_folder/"+arquivoPdf
# return principal(sessao,imagem,data,lst_normas,dic_cabecalho,lst_rodape,dic_filtro)
# return
# principal(sessao,imagem,data,lst_normas,dic_cabecalho,lst_rodape,dic_filtro)

29
sapl/relatorios/templates/pdf_norma_preparar_pysc.py

@ -11,7 +11,8 @@ casa={}
aux = context.sapl_documentos.props_sapl.propertyItems()
for item in aux:
casa[item[0]] = item[1]
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
localidade = context.zsql.localidade_obter_zsql(
cod_localidade=casa["cod_localidade"])
if len(casa["num_cep"]) == 8:
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:]
else:
@ -23,7 +24,8 @@ if cep!="":
linha1 = linha1 + " - "
linha1 = linha1 + "CEP " + cep
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None:
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf
linha1 = linha1 + " - " + \
localidade[0].nom_localidade + " " + localidade[0].sgl_uf
if casa["num_tel"] != "" and casa["num_tel"] != None:
linha1 = linha1 + " Tel.: " + casa["num_tel"]
@ -57,20 +59,27 @@ else:
normas = []
REQUEST = context.REQUEST
for norma in context.zsql.norma_juridica_obter_zsql(tip_norma=REQUEST['lst_tip_norma'], num_norma=REQUEST['txt_numero'],
ano_norma=REQUEST['txt_ano'], des_assunto=REQUEST['txt_assunto'],
cod_assunto=REQUEST['lst_assunto_norma'], dat_norma=REQUEST['dt_norma'],
dat_norma2=REQUEST['dt_norma2'], dat_publicacao=REQUEST['dt_public'],
ano_norma=REQUEST['txt_ano'], des_assunto=REQUEST[
'txt_assunto'],
cod_assunto=REQUEST[
'lst_assunto_norma'], dat_norma=REQUEST['dt_norma'],
dat_norma2=REQUEST[
'dt_norma2'], dat_publicacao=REQUEST['dt_public'],
dat_publicacao2=REQUEST['dt_public2'], rd_ordem=REQUEST['rd_ordenacao']):
dic = {}
dic['titulo']=norma.sgl_tipo_norma+""+str(norma.num_norma)+" de "+str(norma.dat_norma)+" - "+norma.des_tipo_norma
dic['titulo'] = norma.sgl_tipo_norma + "" + \
str(norma.num_norma) + " de " + \
str(norma.dat_norma) + " - " + norma.des_tipo_norma
dic['txt_ementa'] = norma.txt_ementa
dic['materia_vinculada'] = " "
if norma.cod_materia != None:
for materia_vinculada in context.zsql.materia_obter_zsql(cod_materia=str(norma.cod_materia)):
dic['materia_vinculada']=materia_vinculada.sgl_tipo_materia+" "+str(materia_vinculada.num_ident_basica)+"/"+str(materia_vinculada.ano_ident_basica)
dic['materia_vinculada'] = materia_vinculada.sgl_tipo_materia + " " + \
str(materia_vinculada.num_ident_basica) + "/" + \
str(materia_vinculada.ano_ident_basica)
normas.append(dic)
@ -84,10 +93,12 @@ filtro['assunto']=REQUEST.txt_assunto
filtro['tipo_norma'] = ''
if REQUEST.lst_tip_norma != '':
for tipo_norma in context.zsql.tipo_norma_juridica_obter_zsql(ind_excluido=0, tip_norma=REQUEST.lst_tip_norma):
filtro['tipo_norma']= tipo_norma.sgl_tipo_norma + ' - ' + tipo_norma.des_tipo_norma
filtro['tipo_norma'] = tipo_norma.sgl_tipo_norma + \
' - ' + tipo_norma.des_tipo_norma
sessao = session.id
caminho = context.pdf_norma_gerar(sessao,imagem,data,normas,cabecalho,rodape,filtro)
caminho = context.pdf_norma_gerar(
sessao, imagem, data, normas, cabecalho, rodape, filtro)
if caminho == 'aviso':
return response.redirect('mensagem_emitir_proc')
else:

66
sapl/relatorios/templates/pdf_ordem_dia_preparar_pysc.py

@ -9,35 +9,46 @@ if context.REQUEST['cod_sessao_plen']!='':
pauta = [] # lista contendo a pauta da ordem do dia a ser impressa
data = ""
for dat_sessao in context.zsql.sessao_plenaria_obter_zsql(cod_sessao_plen=cod_sessao_plen, ind_excluido=0):
data = context.pysc.data_converter_pysc(dat_sessao.dat_inicio_sessao) # converte data para formato yyyy/mm/dd
dat_ordem = context.pysc.data_converter_pysc(dat_sessao.dat_inicio_sessao) # converte data para formato yyyy/mm/dd
# converte data para formato yyyy/mm/dd
data = context.pysc.data_converter_pysc(dat_sessao.dat_inicio_sessao)
dat_ordem = context.pysc.data_converter_pysc(
dat_sessao.dat_inicio_sessao) # converte data para formato yyyy/mm/dd
# seleciona dados da sessão plenária
for sp in context.zsql.sessao_plenaria_obter_zsql(dat_inicio_sessao=data, ind_excluido=0):
dicsp = {} # dicionário que armazenará os dados a serem impressos de uma sessão plenária
ts = context.zsql.tipo_sessao_plenaria_obter_zsql(tip_sessao=sp.tip_sessao)[0]
dicsp["sessao"] = str(sp.num_sessao_plen)+"ª Sessao "+ts.nom_sessao+" da "+str(sp.num_sessao_leg)+"ª Sessao Legislativa da "+str(sp.num_legislatura)+"ª Legislatura"
dia = context.pysc.data_converter_por_extenso_pysc(data=sp.dat_inicio_sessao)
ts = context.zsql.tipo_sessao_plenaria_obter_zsql(
tip_sessao=sp.tip_sessao)[0]
dicsp["sessao"] = str(sp.num_sessao_plen) + "ª Sessao " + ts.nom_sessao + " da " + str(
sp.num_sessao_leg) + "ª Sessao Legislativa da " + str(sp.num_legislatura) + "ª Legislatura"
dia = context.pysc.data_converter_por_extenso_pysc(
data=sp.dat_inicio_sessao)
hora = context.pysc.hora_formatar_pysc(hora=sp.hr_inicio_sessao)
dicsp["datasessao"] = "Dia "+str(dia)+" ("+str(sp.dia_sessao)+") - Inicio as "+hora
dicsp["datasessao"] = "Dia " + \
str(dia) + " (" + str(sp.dia_sessao) + ") - Inicio as " + hora
splen.append(dicsp)
# seleciona as matérias que compõem a pauta na data escolhida
for ordem in context.zsql.ordem_dia_obter_zsql(dat_ordem=data, ind_excluido=0):
# seleciona os detalhes de uma matéria
materia = context.zsql.materia_obter_zsql(cod_materia=ordem.cod_materia)[0]
materia = context.zsql.materia_obter_zsql(
cod_materia=ordem.cod_materia)[0]
dic = {} # dicionário que armazenará os dados a serem impressos de uma matéria
dic["num_ordem"] = ordem.num_ordem
dic["id_materia"] = materia.des_tipo_materia+" - Nº "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
dic["id_materia"] = materia.des_tipo_materia + " - Nº " + \
str(materia.num_ident_basica) + "/" + str(materia.ano_ident_basica)
# dic["id_materia"] = materia.sgl_tipo_materia+" - "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)+" - "+materia.des_tipo_materia
dic["txt_ementa"] = ordem.txt_observacao
# numeracao do processo 26/02/2011
dic["des_numeracao"] = ""
numeracao = context.zsql.numeracao_obter_zsql(cod_materia=ordem.cod_materia)
numeracao = context.zsql.numeracao_obter_zsql(
cod_materia=ordem.cod_materia)
if len(numeracao):
numeracao = numeracao[0]
dic["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia)
dic["des_numeracao"] = str(
numeracao.num_materia) + "/" + str(numeracao.ano_materia)
dic["des_turno"] = ""
dic["des_situacao"] = ""
tramitacao = context.zsql.tramitacao_obter_zsql(cod_materia=ordem.cod_materia, ind_ult_tramitacao=1)
tramitacao = context.zsql.tramitacao_obter_zsql(
cod_materia=ordem.cod_materia, ind_ult_tramitacao=1)
if len(tramitacao):
tramitacao = tramitacao[0]
if tramitacao.sgl_turno != "":
@ -50,7 +61,8 @@ if context.REQUEST['cod_sessao_plen']!='':
dic["des_situacao"] = " "
dic["nom_autor"] = ''
autoria = context.zsql.autoria_obter_zsql(cod_materia=ordem.cod_materia, ind_primeiro_autor=1)
autoria = context.zsql.autoria_obter_zsql(
cod_materia=ordem.cod_materia, ind_primeiro_autor=1)
if len(autoria): # se existe autor
autoria = autoria[0]
try:
@ -59,11 +71,13 @@ if context.REQUEST['cod_sessao_plen']!='':
autor = autor[0]
if autor.des_tipo_autor == "Parlamentar":
parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]
parlamentar = context.zsql.parlamentar_obter_zsql(
cod_parlamentar=autor.cod_parlamentar)[0]
dic["nom_autor"] = parlamentar.nom_parlamentar
elif autor.des_tipo_autor == "Comissao":
comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
comissao = context.zsql.comissao_obter_zsql(
cod_comissao=autor.cod_comissao)[0]
dic["nom_autor"] = comissao.nom_comissao
else:
dic["nom_autor"] = autor.nom_autor
@ -71,9 +85,12 @@ if context.REQUEST['cod_sessao_plen']!='':
pass
lst_relator = [] # lista contendo os relatores da matéria
for relatoria in context.zsql.relatoria_obter_zsql(cod_materia=ordem.cod_materia):
parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=relatoria.cod_parlamentar)[0]
comissao = context.zsql.comissao_obter_zsql(cod_comissao=relatoria.cod_comissao)[0]
lst_relator.append(parlamentar.nom_parlamentar+" - "+comissao.nom_comissao)
parlamentar = context.zsql.parlamentar_obter_zsql(
cod_parlamentar=relatoria.cod_parlamentar)[0]
comissao = context.zsql.comissao_obter_zsql(
cod_comissao=relatoria.cod_comissao)[0]
lst_relator.append(parlamentar.nom_parlamentar +
" - " + comissao.nom_comissao)
if not len(lst_relator):
lst_relator = ['']
dic["lst_relator"] = lst_relator
@ -81,14 +98,16 @@ if context.REQUEST['cod_sessao_plen']!='':
# adiciona o dicionário na pauta
pauta.append(dic)
# obtém as propriedades da casa legislativa para montar o cabeçalho e o rodapé da página
# obtém as propriedades da casa legislativa para montar o cabeçalho e o
# rodapé da página
casa = {}
aux = context.sapl_documentos.props_sapl.propertyItems()
for item in aux:
casa[item[0]] = item[1]
# obtém a localidade
localidade = context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
localidade = context.zsql.localidade_obter_zsql(
cod_localidade=casa["cod_localidade"])
# monta o cabeçalho da página
cabecalho = {}
@ -103,7 +122,8 @@ if context.REQUEST['cod_sessao_plen']!='':
# tenta buscar o logotipo da casa LOGO_CASA
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'):
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url()
imagem = context.sapl_documentos.props_sapl[
'logo_casa.gif'].absolute_url()
else:
imagem = context.imagens.absolute_url() + "/brasao_transp.gif"
@ -118,7 +138,8 @@ if context.REQUEST['cod_sessao_plen']!='':
linha1 = linha1 + " "
linha1 = linha1 + " CEP: " + num_cep
if localidade[0].nom_localidade != None and localidade[0].nom_localidade != "":
linha1 = linha1 +" "+localidade[0].nom_localidade +" - "+localidade[0].sgl_uf
linha1 = linha1 + " " + \
localidade[0].nom_localidade + " - " + localidade[0].sgl_uf
if casa["num_tel"] != None and casa["num_tel"] != "":
linha1 = linha1 + " Tel.: " + casa["num_tel"]
@ -131,7 +152,8 @@ if context.REQUEST['cod_sessao_plen']!='':
rodape = [linha1, linha2, dat_emissao]
sessao = session.id
caminho = context.pdf_ordem_dia_gerar( sessao, imagem, dat_ordem, splen, pauta, cabecalho, rodape)
caminho = context.pdf_ordem_dia_gerar(
sessao, imagem, dat_ordem, splen, pauta, cabecalho, rodape)
if caminho == 'aviso':
return response.redirect('mensagem_emitir_proc')
else:

4
sapl/relatorios/templates/pdf_pauta_sessao_gerar.py

@ -23,7 +23,9 @@ def cabecalho(inf_basicas_dic, imagem):
tmp += '\t\t\t\t<setFont name="Helvetica-Bold" size="12"/>\n'
tmp += '\t\t\t\t<drawString x="4.2cm" y="25cm">Pauta da ' + str(inf_basicas_dic['num_sessao_plen']) + 'ª Reunião ' + str(inf_basicas_dic['nom_sessao']) + ' da ' + str(
inf_basicas_dic['num_sessao_leg']) + 'ª Sessão Legislativa da </drawString>\n'
tmp += '\t\t\t\t<drawString x="6.7cm" y="24.5cm">' + str(inf_basicas_dic['num_legislatura']) + ' Legislatura </drawString>\n'
tmp += '\t\t\t\t<drawString x="6.7cm" y="24.5cm">' + \
str(inf_basicas_dic['num_legislatura']) + \
' Legislatura </drawString>\n'
return tmp

81
sapl/relatorios/templates/pdf_pauta_sessao_preparar_pysc.py

@ -7,14 +7,16 @@ session= request.SESSION
if context.REQUEST['data'] != '':
dat_inicio_sessao = context.REQUEST['data']
pauta = [] # lista contendo a pauta da ordem do dia a ser impressa
data = context.pysc.data_converter_pysc(dat_inicio_sessao) # converte data para formato yyyy/mm/dd
# converte data para formato yyyy/mm/dd
data = context.pysc.data_converter_pysc(dat_inicio_sessao)
codigo = context.REQUEST['cod_sessao_plen']
# seleciona as matérias que compõem a pauta na data escolhida
for sessao in context.zsql.sessao_plenaria_obter_zsql(dat_inicio_sessao=data, cod_sessao_plen=codigo, ind_excluido=0):
inf_basicas_dic = {} # dicionário que armazenará as informacoes basicas da sessao plenaria
# seleciona o tipo da sessao plenaria
tipo_sessao = context.zsql.tipo_sessao_plenaria_obter_zsql(tip_sessao=sessao.tip_sessao,ind_excluido=0)[0]
tipo_sessao = context.zsql.tipo_sessao_plenaria_obter_zsql(
tip_sessao=sessao.tip_sessao, ind_excluido=0)[0]
inf_basicas_dic["nom_sessao"] = tipo_sessao.nom_sessao
inf_basicas_dic["num_sessao_plen"] = sessao.num_sessao_plen
inf_basicas_dic["nom_sessao"] = tipo_sessao.nom_sessao
@ -30,40 +32,52 @@ if context.REQUEST['data']!='':
for expediente_materia in context.zsql.votacao_expediente_materia_obter_zsql(dat_ordem=data, cod_sessao_plen=codigo, ind_excluido=0):
# seleciona os detalhes de uma matéria
materia = context.zsql.materia_obter_zsql(cod_materia=expediente_materia.cod_materia)[0]
materia = context.zsql.materia_obter_zsql(
cod_materia=expediente_materia.cod_materia)[0]
dic_expediente_materia = {}
dic_expediente_materia["num_ordem"] = expediente_materia.num_ordem
dic_expediente_materia["id_materia"] = materia.sgl_tipo_materia+" - "+materia.des_tipo_materia+" No. "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
dic_expediente_materia["id_materia"] = materia.sgl_tipo_materia + " - " + materia.des_tipo_materia + \
" No. " + str(materia.num_ident_basica) + "/" + \
str(materia.ano_ident_basica)
dic_expediente_materia["txt_ementa"] = materia.txt_ementa
dic_expediente_materia["ordem_observacao"] = expediente_materia.ordem_observacao
dic_expediente_materia[
"ordem_observacao"] = expediente_materia.ordem_observacao
dic_expediente_materia["des_numeracao"] = ""
numeracao = context.zsql.numeracao_obter_zsql(cod_materia=expediente_materia.cod_materia)
numeracao = context.zsql.numeracao_obter_zsql(
cod_materia=expediente_materia.cod_materia)
if len(numeracao):
numeracao = numeracao[0]
dic_expediente_materia["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia)
dic_expediente_materia["des_numeracao"] = str(
numeracao.num_materia) + "/" + str(numeracao.ano_materia)
dic_expediente_materia["nom_autor"] = ''
autoria = context.zsql.autoria_obter_zsql(cod_materia=expediente_materia.cod_materia, ind_primeiro_autor=1)
autoria = context.zsql.autoria_obter_zsql(
cod_materia=expediente_materia.cod_materia, ind_primeiro_autor=1)
if len(autoria) > 0: # se existe autor
autoria = autoria[0]
autor = context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor)
autor = context.zsql.autor_obter_zsql(
cod_autor=autoria.cod_autor)
if len(autor) > 0:
autor = autor[0]
if autor.des_tipo_autor == "Parlamentar":
parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]
dic_expediente_materia["nom_autor"] = parlamentar.nom_parlamentar
parlamentar = context.zsql.parlamentar_obter_zsql(
cod_parlamentar=autor.cod_parlamentar)[0]
dic_expediente_materia[
"nom_autor"] = parlamentar.nom_parlamentar
elif autor.des_tipo_autor == "Comissao":
comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
comissao = context.zsql.comissao_obter_zsql(
cod_comissao=autor.cod_comissao)[0]
dic_expediente_materia["nom_autor"] = comissao.nom_comissao
else:
dic_expediente_materia["nom_autor"] = autor.nom_autor
dic_expediente_materia["des_turno"] = ""
dic_expediente_materia["des_situacao"] = ""
tramitacao = context.zsql.tramitacao_obter_zsql(cod_materia=expediente_materia.cod_materia, ind_ult_tramitacao=1)
tramitacao = context.zsql.tramitacao_obter_zsql(
cod_materia=expediente_materia.cod_materia, ind_ult_tramitacao=1)
if len(tramitacao):
tramitacao = tramitacao[0]
if tramitacao.sgl_turno != "":
@ -76,46 +90,55 @@ if context.REQUEST['data']!='':
dic_expediente_materia["des_situacao"] = " "
lst_expediente_materia.append(dic_expediente_materia)
# Lista das matérias da Ordem do Dia, incluindo o status da tramitação
lst_votacao = []
for votacao in context.zsql.votacao_ordem_dia_obter_zsql(dat_ordem=data, cod_sessao_plen=codigo, ind_excluido=0):
# seleciona os detalhes de uma matéria
materia = context.zsql.materia_obter_zsql(cod_materia=votacao.cod_materia)[0]
materia = context.zsql.materia_obter_zsql(
cod_materia=votacao.cod_materia)[0]
dic_votacao = {}
dic_votacao["num_ordem"] = votacao.num_ordem
dic_votacao["id_materia"] = materia.sgl_tipo_materia+" - "+materia.des_tipo_materia+" No. "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
dic_votacao["id_materia"] = materia.sgl_tipo_materia + " - " + materia.des_tipo_materia + \
" No. " + str(materia.num_ident_basica) + "/" + \
str(materia.ano_ident_basica)
dic_votacao["txt_ementa"] = materia.txt_ementa
dic_votacao["ordem_observacao"] = votacao.ordem_observacao
dic_votacao["des_numeracao"] = ""
numeracao = context.zsql.numeracao_obter_zsql(cod_materia=votacao.cod_materia)
numeracao = context.zsql.numeracao_obter_zsql(
cod_materia=votacao.cod_materia)
if len(numeracao):
numeracao = numeracao[0]
dic_votacao["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia)
dic_votacao["des_numeracao"] = str(
numeracao.num_materia) + "/" + str(numeracao.ano_materia)
dic_votacao["nom_autor"] = ''
autoria = context.zsql.autoria_obter_zsql(cod_materia=votacao.cod_materia, ind_primeiro_autor=1)
autoria = context.zsql.autoria_obter_zsql(
cod_materia=votacao.cod_materia, ind_primeiro_autor=1)
if len(autoria) > 0: # se existe autor
autoria = autoria[0]
autor = context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor)
autor = context.zsql.autor_obter_zsql(
cod_autor=autoria.cod_autor)
if len(autor) > 0:
autor = autor[0]
if autor.des_tipo_autor == "Parlamentar":
parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]
parlamentar = context.zsql.parlamentar_obter_zsql(
cod_parlamentar=autor.cod_parlamentar)[0]
dic_votacao["nom_autor"] = parlamentar.nom_parlamentar
elif autor.des_tipo_autor == "Comissao":
comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
comissao = context.zsql.comissao_obter_zsql(
cod_comissao=autor.cod_comissao)[0]
dic_votacao["nom_autor"] = comissao.nom_comissao
else:
dic_votacao["nom_autor"] = autor.nom_autor
dic_votacao["des_turno"] = ""
dic_votacao["des_situacao"] = ""
tramitacao = context.zsql.tramitacao_obter_zsql(cod_materia=votacao.cod_materia, ind_ult_tramitacao=1)
tramitacao = context.zsql.tramitacao_obter_zsql(
cod_materia=votacao.cod_materia, ind_ult_tramitacao=1)
if len(tramitacao):
tramitacao = tramitacao[0]
if tramitacao.sgl_turno != "":
@ -128,12 +151,14 @@ if context.REQUEST['data']!='':
dic_votacao["des_situacao"] = " "
lst_votacao.append(dic_votacao)
# obtém as propriedades da casa legislativa para montar o cabeçalho e o rodapé da página
# obtém as propriedades da casa legislativa para montar o cabeçalho e o
# rodapé da página
cabecalho = {}
# tenta buscar o logotipo da casa LOGO_CASA
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'):
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url()
imagem = context.sapl_documentos.props_sapl[
'logo_casa.gif'].absolute_url()
else:
imagem = context.imagens.absolute_url() + "/brasao_transp.gif"
@ -142,7 +167,8 @@ if context.REQUEST['data']!='':
aux = context.sapl_documentos.props_sapl.propertyItems()
for item in aux:
casa[item[0]] = item[1]
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
localidade = context.zsql.localidade_obter_zsql(
cod_localidade=casa["cod_localidade"])
data_emissao = DateTime().strftime("%d/%m/%Y")
rodape = casa
rodape['data_emissao'] = data_emissao
@ -155,7 +181,8 @@ if context.REQUEST['data']!='':
# return lst_votacao
sessao = session.id
caminho = context.pdf_pauta_sessao_gerar(rodape, sessao, imagem, inf_basicas_dic, lst_votacao, lst_expediente_materia)
caminho = context.pdf_pauta_sessao_gerar(
rodape, sessao, imagem, inf_basicas_dic, lst_votacao, lst_expediente_materia)
if caminho == 'aviso':
return response.redirect('mensagem_emitir_proc')
else:

39
sapl/relatorios/templates/pdf_protocolo_gerar.py

@ -1,4 +1,4 @@
##parameters=sessao,imagem,data,lst_protocolos,dic_cabecalho,lst_rodape,dic_filtro
# parameters=sessao,imagem,data,lst_protocolos,dic_cabecalho,lst_rodape,dic_filtro
"""relatorio_protocolo.py
External method para gerar o arquivo rml do resultado de uma pesquisa de protocolos
@ -17,7 +17,8 @@ def cabecalho(dic_cabecalho,imagem):
tmp_data += '\t\t\t\t<image x="2.1cm" y="25.7cm" width="59" height="62" file="' + imagem + '"/>\n'
tmp_data += '\t\t\t\t<lines>2cm 25.4cm 19cm 25.4cm</lines>\n'
tmp_data += '\t\t\t\t<setFont name="Helvetica-Bold" size="15"/>\n'
tmp_data+='\t\t\t\t<drawString x="5cm" y="27.2cm">' + dic_cabecalho['nom_casa'] + '</drawString>\n'
tmp_data += '\t\t\t\t<drawString x="5cm" y="27.2cm">' + \
dic_cabecalho['nom_casa'] + '</drawString>\n'
tmp_data += '\t\t\t\t<setFont name="Helvetica" size="12"/>\n'
tmp_data += '\t\t\t\t<drawString x="5cm" y="26.6cm">Sistema de Apoio ao Processo Legislativo</drawString>\n'
tmp_data += '\t\t\t\t<setFont name="Helvetica-Bold" size="13"/>\n'
@ -25,19 +26,24 @@ def cabecalho(dic_cabecalho,imagem):
return tmp_data
def rodape(lst_rodape):
"""Gera o codigo rml do rodape"""
tmp_data = ''
tmp_data += '\t\t\t\t<lines>2cm 3.2cm 19cm 3.2cm</lines>\n'
tmp_data += '\t\t\t\t<setFont name="Helvetica" size="8"/>\n'
tmp_data+='\t\t\t\t<drawString x="2cm" y="3.3cm">' + lst_rodape[2] + '</drawString>\n'
tmp_data += '\t\t\t\t<drawString x="2cm" y="3.3cm">' + \
lst_rodape[2] + '</drawString>\n'
tmp_data += '\t\t\t\t<drawString x="17.9cm" y="3.3cm">Página <pageNumber/></drawString>\n'
tmp_data+='\t\t\t\t<drawCentredString x="10.5cm" y="2.7cm">' + lst_rodape[0] + '</drawCentredString>\n'
tmp_data+='\t\t\t\t<drawCentredString x="10.5cm" y="2.3cm">' + lst_rodape[1] + '</drawCentredString>\n'
tmp_data += '\t\t\t\t<drawCentredString x="10.5cm" y="2.7cm">' + \
lst_rodape[0] + '</drawCentredString>\n'
tmp_data += '\t\t\t\t<drawCentredString x="10.5cm" y="2.3cm">' + \
lst_rodape[1] + '</drawCentredString>\n'
return tmp_data
def paraStyle():
"""Gera o codigo rml que define o estilo dos paragrafos"""
@ -56,6 +62,7 @@ def paraStyle():
return tmp_data
def protocolos(lst_protocolos):
"""Gera o codigo rml do conteudo da pesquisa de protocolos"""
@ -78,7 +85,8 @@ def protocolos(lst_protocolos):
# protocolos
if dic['titulo'] != None:
tmp_data+='\t\t<para style="P1">Protocolo ' + dic['titulo'] + '</para>\n'
tmp_data += '\t\t<para style="P1">Protocolo ' + \
dic['titulo'] + '</para>\n'
tmp_data += '\t\t<para style="P1">\n'
tmp_data += '\t\t\t<font color="white"> </font>\n'
tmp_data += '\t\t</para>\n'
@ -86,21 +94,27 @@ def protocolos(lst_protocolos):
txt_assunto = dic['txt_assunto'].replace('&', '&amp;')
tmp_data += '\t\t<para style="P2">' + txt_assunto + '</para>\n'
if dic['txt_interessado'] != None:
tmp_data+='\t\t<para style="P2"><b>Interessado:</b> ' + dic['txt_interessado'] + '</para>\n'
tmp_data += '\t\t<para style="P2"><b>Interessado:</b> ' + \
dic['txt_interessado'] + '</para>\n'
elif dic['nom_autor'] != None:
tmp_data+='\t\t<para style="P2"><b>Autor:</b> ' + dic['nom_autor'] + '</para>\n'
tmp_data += '\t\t<para style="P2"><b>Autor:</b> ' + \
dic['nom_autor'] + '</para>\n'
if dic['natureza'] != None:
tmp_data+='\t\t<para style="P2"><b>Natureza Processo:</b> ' + dic['natureza'] + '</para>\n'
tmp_data += '\t\t<para style="P2"><b>Natureza Processo:</b> ' + \
dic['natureza'] + '</para>\n'
if dic['processo'] != None:
tmp_data+='\t\t<para style="P2"><b>Classificação:</b> ' + dic['processo'] + '</para>\n'
tmp_data += '\t\t<para style="P2"><b>Classificação:</b> ' + \
dic['processo'] + '</para>\n'
if dic['data'] != None:
tmp_data+='\t\t<para style="P2"><b>Data Protocolo:</b> ' + dic['data'] + '</para>\n'
tmp_data += '\t\t<para style="P2"><b>Data Protocolo:</b> ' + \
dic['data'] + '</para>\n'
if dic['anulado'] != "":
tmp_data += '\t\t<para style="P2"><b>** PROTOCOLO ANULADO **</b> ' '</para>\n'
tmp_data += '\t</story>\n'
return tmp_data
def principal(imagem, lst_protocolos, dic_cabecalho, lst_rodape):
"""Funcao pricipal que gera a estrutura global do arquivo rml"""
@ -134,4 +148,5 @@ def principal(imagem, lst_protocolos, dic_cabecalho, lst_rodape):
# return "/temp_folder/"+arquivoPdf
# return principal(sessao,imagem,data,lst_protocolos,dic_cabecalho,lst_rodape,dic_filtro)
# return
# principal(sessao,imagem,data,lst_protocolos,dic_cabecalho,lst_rodape,dic_filtro)

27
sapl/relatorios/templates/pdf_protocolo_preparar_pysc.py

@ -11,7 +11,8 @@ casa={}
aux = context.sapl_documentos.props_sapl.propertyItems()
for item in aux:
casa[item[0]] = item[1]
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
localidade = context.zsql.localidade_obter_zsql(
cod_localidade=casa["cod_localidade"])
if len(casa["num_cep"]) == 8:
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:]
else:
@ -23,7 +24,8 @@ if cep!="":
linha1 = linha1 + " - "
linha1 = linha1 + "CEP " + cep
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None:
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf
linha1 = linha1 + " - " + \
localidade[0].nom_localidade + " " + localidade[0].sgl_uf
if casa["num_tel"] != "" and casa["num_tel"] != None:
linha1 = linha1 + " Tel.: " + casa["num_tel"]
@ -57,16 +59,22 @@ else:
protocolos = []
REQUEST = context.REQUEST
for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['rad_tip_protocolo'],
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST['txt_ano_protocolo'],
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST['rad_tip_processo'],
tip_materia=REQUEST['lst_tip_materia'], des_assunto=REQUEST['txt_assunto'],
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST['txa_txt_interessado'],
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST[
'txt_ano_protocolo'],
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST[
'rad_tip_processo'],
tip_materia=REQUEST[
'lst_tip_materia'], des_assunto=REQUEST['txt_assunto'],
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST[
'txa_txt_interessado'],
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']):
dic = {}
dic['titulo']=str(protocolo.cod_protocolo)+'/'+str(protocolo.ano_protocolo)
dic['titulo'] = str(protocolo.cod_protocolo) + '/' + \
str(protocolo.ano_protocolo)
dic['data']=context.pysc.iso_to_port_pysc(protocolo.dat_protocolo)+' - <b>Horário:</b>'+protocolo.hor_protocolo
dic['data'] = context.pysc.iso_to_port_pysc(
protocolo.dat_protocolo) + ' - <b>Horário:</b>' + protocolo.hor_protocolo
dic['txt_assunto'] = protocolo.txt_assunto_ementa
@ -110,7 +118,8 @@ filtro['autor']=REQUEST.hdn_cod_autor
filtro['interessado'] = REQUEST.txa_txt_interessado
sessao = session.id
caminho = context.pdf_protocolo_gerar(sessao,imagem,data,protocolos,cabecalho,rodape,filtro)
caminho = context.pdf_protocolo_gerar(
sessao, imagem, data, protocolos, cabecalho, rodape, filtro)
if caminho == 'aviso':
return response.redirect('mensagem_emitir_proc')
else:

10
sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py

@ -26,7 +26,9 @@ def cabecalho(inf_basicas_dic, imagem):
tmp += '\t\t\t\t<setFont name="Helvetica-Bold" size="12"/>\n'
tmp += '\t\t\t\t<drawString x="4.2cm" y="25cm">Resumo da ' + str(inf_basicas_dic['num_sessao_plen']) + 'ª Reunião ' + str(inf_basicas_dic['nom_sessao']) + ' da ' + str(
inf_basicas_dic['num_sessao_leg']) + 'ª Sessão Legislativa da </drawString>\n'
tmp += '\t\t\t\t<drawString x="6.7cm" y="24.5cm">' + str(inf_basicas_dic['num_legislatura']) + ' Legislatura </drawString>\n'
tmp += '\t\t\t\t<drawString x="6.7cm" y="24.5cm">' + \
str(inf_basicas_dic['num_legislatura']) + \
' Legislatura </drawString>\n'
return tmp
@ -183,7 +185,8 @@ def expediente_materia(lst_expediente_materia):
txt_ementa = expediente_materia['txt_ementa'].replace('&', '&amp;')
tmp += '<td><para style="P4">' + txt_ementa + '</para></td>\n'
tmp += '<td><para style="P3"><b>' + \
str(expediente_materia['nom_resultado']) + '</b></para>\n' + '<para style="P3">'
str(expediente_materia['nom_resultado']) + \
'</b></para>\n' + '<para style="P3">'
if expediente_materia['votacao_observacao'] != txt_ementa:
tmp += str(expediente_materia['votacao_observacao'])
else:
@ -242,7 +245,8 @@ def votacao(lst_votacao):
txt_ementa = votacao['txt_ementa'].replace('&', '&amp;')
tmp += '<td><para style="P4">' + txt_ementa + '</para></td>\n'
tmp += '<td><para style="P3"><b>' + \
str(votacao['nom_resultado']) + '</b></para>\n' + '<para style="P3">'
str(votacao['nom_resultado']) + \
'</b></para>\n' + '<para style="P3">'
if votacao['votacao_observacao'] != txt_ementa:
tmp += str(votacao['votacao_observacao'])
else:

125
sapl/relatorios/templates/pdf_sessao_plenaria_preparar_pysc.py

@ -7,14 +7,16 @@ session= request.SESSION
if context.REQUEST['data'] != '':
dat_inicio_sessao = context.REQUEST['data']
pauta = [] # lista contendo a pauta da ordem do dia a ser impressa
data = context.pysc.data_converter_pysc(dat_inicio_sessao) # converte data para formato yyyy/mm/dd
# converte data para formato yyyy/mm/dd
data = context.pysc.data_converter_pysc(dat_inicio_sessao)
codigo = context.REQUEST['cod_sessao_plen']
# seleciona as matérias que compõem a pauta na data escolhida
for sessao in context.zsql.sessao_plenaria_obter_zsql(dat_inicio_sessao=data, cod_sessao_plen=codigo, ind_excluido=0):
inf_basicas_dic = {} # dicionário que armazenará as informacoes basicas da sessao plenaria
# seleciona o tipo da sessao plenaria
tipo_sessao = context.zsql.tipo_sessao_plenaria_obter_zsql(tip_sessao=sessao.tip_sessao,ind_excluido=0)[0]
tipo_sessao = context.zsql.tipo_sessao_plenaria_obter_zsql(
tip_sessao=sessao.tip_sessao, ind_excluido=0)[0]
inf_basicas_dic["num_sessao_plen"] = sessao.num_sessao_plen
inf_basicas_dic["nom_sessao"] = tipo_sessao.nom_sessao
inf_basicas_dic["num_legislatura"] = sessao.num_legislatura
@ -50,7 +52,8 @@ if context.REQUEST['data']!='':
for tip_expediente in context.zsql.tipo_expediente_obter_zsql():
for expediente in context.zsql.expediente_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, cod_expediente=tip_expediente.cod_expediente, ind_excluido=0):
dic_expedientes = {}
dic_expedientes["nom_expediente"] = tip_expediente.nom_expediente
dic_expedientes[
"nom_expediente"] = tip_expediente.nom_expediente
dic_expedientes["txt_expediente"] = expediente.txt_expediente
if dic_expedientes:
@ -61,19 +64,25 @@ if context.REQUEST['data']!='':
for expediente_materia in context.zsql.votacao_expediente_materia_obter_zsql(dat_ordem=data, cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
# seleciona os detalhes de uma matéria
materia = context.zsql.materia_obter_zsql(cod_materia=expediente_materia.cod_materia)[0]
materia = context.zsql.materia_obter_zsql(
cod_materia=expediente_materia.cod_materia)[0]
dic_expediente_materia = {}
dic_expediente_materia["num_ordem"] = expediente_materia.num_ordem
dic_expediente_materia["id_materia"] = materia.sgl_tipo_materia+" "+materia.des_tipo_materia+" "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
dic_expediente_materia["id_materia"] = materia.sgl_tipo_materia + " " + materia.des_tipo_materia + \
" " + str(materia.num_ident_basica) + "/" + \
str(materia.ano_ident_basica)
dic_expediente_materia["des_numeracao"] = ""
numeracao = context.zsql.numeracao_obter_zsql(cod_materia=expediente_materia.cod_materia)
numeracao = context.zsql.numeracao_obter_zsql(
cod_materia=expediente_materia.cod_materia)
if len(numeracao):
numeracao = numeracao[0]
dic_expediente_materia["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia)
dic_expediente_materia["des_numeracao"] = str(
numeracao.num_materia) + "/" + str(numeracao.ano_materia)
tram = context.zsql.tramitacao_turno_obter_zsql(cod_materia=materia.cod_materia, dat_inicio_sessao=data)
tram = context.zsql.tramitacao_turno_obter_zsql(
cod_materia=materia.cod_materia, dat_inicio_sessao=data)
dic_expediente_materia["des_turno"] = ""
if len(tram):
tram_turno = tram[0]
@ -83,35 +92,46 @@ if context.REQUEST['data']!='':
dic_expediente_materia["des_turno"] = turno[1]
dic_expediente_materia["txt_ementa"] = materia.txt_ementa
dic_expediente_materia["ordem_observacao"] = expediente_materia.ordem_observacao
dic_expediente_materia[
"ordem_observacao"] = expediente_materia.ordem_observacao
dic_expediente_materia["nom_autor"] = ""
autoria = context.zsql.autoria_obter_zsql(cod_materia=expediente_materia.cod_materia, ind_primeiro_autor=1)
autoria = context.zsql.autoria_obter_zsql(
cod_materia=expediente_materia.cod_materia, ind_primeiro_autor=1)
if len(autoria) > 0: # se existe autor
autoria = autoria[0]
autor = context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor)
autor = context.zsql.autor_obter_zsql(
cod_autor=autoria.cod_autor)
if len(autor) > 0:
autor = autor[0]
try:
if autor.des_tipo_autor == "Parlamentar":
parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]
dic_expediente_materia["nom_autor"] = parlamentar.nom_parlamentar
parlamentar = context.zsql.parlamentar_obter_zsql(
cod_parlamentar=autor.cod_parlamentar)[0]
dic_expediente_materia[
"nom_autor"] = parlamentar.nom_parlamentar
elif autor.des_tipo_autor == "Comissao":
comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
dic_expediente_materia["nom_autor"] = comissao.nom_comissao
comissao = context.zsql.comissao_obter_zsql(
cod_comissao=autor.cod_comissao)[0]
dic_expediente_materia[
"nom_autor"] = comissao.nom_comissao
elif autor.nom_autor != "":
dic_expediente_materia["nom_autor"] = autor.nom_autor
dic_expediente_materia[
"nom_autor"] = autor.nom_autor
else:
dic_expediente_materia["nom_autor"] = autor.des_tipo_autor
dic_expediente_materia[
"nom_autor"] = autor.des_tipo_autor
except:
dic_expediente_materia["nom_autor"] = "NC-em"
dic_expediente_materia["votacao_observacao"] = ""
if expediente_materia.tip_resultado_votacao:
resultado = context.zsql.tipo_resultado_votacao_obter_zsql(tip_resultado_votacao=expediente_materia.tip_resultado_votacao, ind_excluido=0)
resultado = context.zsql.tipo_resultado_votacao_obter_zsql(
tip_resultado_votacao=expediente_materia.tip_resultado_votacao, ind_excluido=0)
for i in resultado:
dic_expediente_materia["nom_resultado"] = i.nom_resultado
if expediente_materia.votacao_observacao:
dic_expediente_materia["votacao_observacao"] = expediente_materia.votacao_observacao
dic_expediente_materia[
"votacao_observacao"] = expediente_materia.votacao_observacao
else:
dic_expediente_materia["nom_resultado"] = "Matéria não votada"
dic_expediente_materia["votacao_observacao"] = "Vazio"
@ -122,9 +142,12 @@ if context.REQUEST['data']!='':
for orador_expediente in context.zsql.oradores_expediente_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=orador_expediente.cod_parlamentar, ind_excluido=0):
dic_oradores_expediente = {}
dic_oradores_expediente["num_ordem"] = orador_expediente.num_ordem
dic_oradores_expediente["nom_parlamentar"] = parlamentar.nom_parlamentar
dic_oradores_expediente['sgl_partido'] = parlamentar.sgl_partido
dic_oradores_expediente[
"num_ordem"] = orador_expediente.num_ordem
dic_oradores_expediente[
"nom_parlamentar"] = parlamentar.nom_parlamentar
dic_oradores_expediente[
'sgl_partido'] = parlamentar.sgl_partido
lst_oradores_expediente.append(dic_oradores_expediente)
# Lista presença na ordem do dia
@ -132,30 +155,39 @@ if context.REQUEST['data']!='':
for presenca_ordem_dia in context.zsql.presenca_ordem_dia_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=presenca_ordem_dia.cod_parlamentar, ind_excluido=0):
dic_presenca_ordem_dia = {}
dic_presenca_ordem_dia['nom_parlamentar'] = parlamentar.nom_parlamentar
dic_presenca_ordem_dia[
'nom_parlamentar'] = parlamentar.nom_parlamentar
dic_presenca_ordem_dia['sgl_partido'] = parlamentar.sgl_partido
lst_presenca_ordem_dia.append(dic_presenca_ordem_dia)
# Lista das matérias da Ordem do Dia, incluindo o resultado das votacoes
# Lista das matérias da Ordem do Dia, incluindo o resultado das
# votacoes
lst_votacao = []
for votacao in context.zsql.votacao_ordem_dia_obter_zsql(dat_ordem=data, cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
# seleciona os detalhes de uma matéria
materia = context.zsql.materia_obter_zsql(cod_materia=votacao.cod_materia)[0]
materia = context.zsql.materia_obter_zsql(
cod_materia=votacao.cod_materia)[0]
dic_votacao = {}
dic_votacao["num_ordem"] = votacao.num_ordem
dic_votacao["id_materia"] = materia.sgl_tipo_materia+" "+materia.des_tipo_materia+" "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
dic_votacao["id_materia"] = materia.sgl_tipo_materia + " " + materia.des_tipo_materia + \
" " + str(materia.num_ident_basica) + "/" + \
str(materia.ano_ident_basica)
dic_votacao["des_numeracao"] = ""
numeracao = context.zsql.numeracao_obter_zsql(cod_materia=votacao.cod_materia)
numeracao = context.zsql.numeracao_obter_zsql(
cod_materia=votacao.cod_materia)
if len(numeracao):
numeracao = numeracao[0]
dic_votacao["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia)
dic_votacao["des_numeracao"] = str(
numeracao.num_materia) + "/" + str(numeracao.ano_materia)
dic_votacao["des_turno"] = ""
tramitacao = context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia, ind_ult_tramitacao=1)
tramitacao = context.zsql.tramitacao_obter_zsql(
cod_materia=materia.cod_materia, ind_ult_tramitacao=1)
if len(tramitacao):
tramitacao = tramitacao[0]
tram = context.zsql.tramitacao_turno_obter_zsql(cod_materia=materia.cod_materia, dat_inicio_sessao=data)
tram = context.zsql.tramitacao_turno_obter_zsql(
cod_materia=materia.cod_materia, dat_inicio_sessao=data)
if len(tram):
tram_turno = tram[0]
if tram_turno.sgl_turno != "":
@ -165,18 +197,23 @@ if context.REQUEST['data']!='':
dic_votacao["txt_ementa"] = materia.txt_ementa
dic_votacao["ordem_observacao"] = votacao.ordem_observacao
dic_votacao["nom_autor"] = ""
autoria = context.zsql.autoria_obter_zsql(cod_materia=votacao.cod_materia, ind_primeiro_autor=1)
autoria = context.zsql.autoria_obter_zsql(
cod_materia=votacao.cod_materia, ind_primeiro_autor=1)
if len(autoria) > 0: # se existe autor
autoria = autoria[0]
autor = context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor)
autor = context.zsql.autor_obter_zsql(
cod_autor=autoria.cod_autor)
if len(autor) > 0:
autor = autor[0]
try:
if autor.des_tipo_autor == "Parlamentar":
parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]
dic_votacao["nom_autor"] = parlamentar.nom_parlamentar
parlamentar = context.zsql.parlamentar_obter_zsql(
cod_parlamentar=autor.cod_parlamentar)[0]
dic_votacao[
"nom_autor"] = parlamentar.nom_parlamentar
elif autor.des_tipo_autor == "Comissao":
comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
comissao = context.zsql.comissao_obter_zsql(
cod_comissao=autor.cod_comissao)[0]
dic_votacao["nom_autor"] = comissao.nom_comissao
elif autor.nom_autor != "":
dic_votacao["nom_autor"] = autor.nom_autor
@ -187,11 +224,13 @@ if context.REQUEST['data']!='':
dic_votacao["votacao_observacao"] = ""
if votacao.tip_resultado_votacao:
resultado = context.zsql.tipo_resultado_votacao_obter_zsql(tip_resultado_votacao=votacao.tip_resultado_votacao, ind_excluido=0)
resultado = context.zsql.tipo_resultado_votacao_obter_zsql(
tip_resultado_votacao=votacao.tip_resultado_votacao, ind_excluido=0)
for i in resultado:
dic_votacao["nom_resultado"] = i.nom_resultado
if votacao.votacao_observacao:
dic_votacao["votacao_observacao"] = votacao.votacao_observacao
dic_votacao[
"votacao_observacao"] = votacao.votacao_observacao
else:
dic_votacao["nom_resultado"] = "Matéria não votada"
dic_votacao["votacao_observacao"] = "Vazio"
@ -207,12 +246,14 @@ if context.REQUEST['data']!='':
dic_oradores['sgl_partido'] = parlamentar.sgl_partido
lst_oradores.append(dic_oradores)
# obtém as propriedades da casa legislativa para montar o cabeçalho e o rodapé da página
# obtém as propriedades da casa legislativa para montar o cabeçalho e o
# rodapé da página
cabecalho = {}
# tenta buscar o logotipo da casa LOGO_CASA
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'):
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url()
imagem = context.sapl_documentos.props_sapl[
'logo_casa.gif'].absolute_url()
else:
imagem = context.imagens.absolute_url() + "/brasao_transp.gif"
@ -221,7 +262,8 @@ if context.REQUEST['data']!='':
aux = context.sapl_documentos.props_sapl.propertyItems()
for item in aux:
casa[item[0]] = item[1]
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
localidade = context.zsql.localidade_obter_zsql(
cod_localidade=casa["cod_localidade"])
data_emissao = DateTime().strftime("%d/%m/%Y")
rodape = casa
rodape['data_emissao'] = data_emissao
@ -234,7 +276,8 @@ if context.REQUEST['data']!='':
# return lst_votacao
sessao = session.id
caminho = context.pdf_sessao_plenaria_gerar(rodape, sessao, imagem, inf_basicas_dic, lst_mesa, lst_presenca_sessao, lst_expedientes, lst_expediente_materia, lst_oradores_expediente, lst_presenca_ordem_dia, lst_votacao, lst_oradores)
caminho = context.pdf_sessao_plenaria_gerar(rodape, sessao, imagem, inf_basicas_dic, lst_mesa, lst_presenca_sessao,
lst_expedientes, lst_expediente_materia, lst_oradores_expediente, lst_presenca_ordem_dia, lst_votacao, lst_oradores)
if caminho == 'aviso':
return response.redirect('mensagem_emitir_proc')
else:

2
sapl/sessao/forms.py

@ -52,6 +52,7 @@ ORDENACAO_RESUMO = [('cont_mult', 'Conteúdo Multimídia'),
('oradores_exped', 'Oradores do Expediente'),
('oradores_expli', 'Oradores das Explicações Pessoais')]
class SessaoPlenariaForm(ModelForm):
class Meta:
@ -85,6 +86,7 @@ class SessaoPlenariaForm(ModelForm):
return self.cleaned_data
class BancadaForm(ModelForm):
class Meta:

1
sapl/sessao/models.py

@ -415,7 +415,6 @@ class RegistroVotacao(models.Model):
auto_now=True,
verbose_name=_('Data'))
class Meta:
verbose_name = _('Votação')
verbose_name_plural = _('Votações')

1
sapl/sessao/serializers.py

@ -4,6 +4,7 @@ from .models import SessaoPlenaria
class SessaoPlenariaSerializer(serializers.Serializer):
class Meta:
model = SessaoPlenaria
fields = ('tipo',

7
sapl/sessao/views.py

@ -81,6 +81,7 @@ def reordernar_materias_ordem(request, pk):
return HttpResponseRedirect(
reverse('sapl.sessao:ordemdia_list', kwargs={'pk': pk}))
def verifica_presenca(request, model, spk):
if not model.objects.filter(sessao_plenaria_id=spk).exists():
msg = _('Votação não pode ser aberta sem presenças')
@ -173,7 +174,8 @@ class MateriaOrdemDiaCrud(MasterDetailCrud):
pk=self.kwargs['pk']).data_inicio.strftime('%d/%m/%Y')
max_numero_ordem = OrdemDia.objects.filter(
sessao_plenaria=self.kwargs['pk']).aggregate(Max('numero_ordem'))['numero_ordem__max']
self.initial['numero_ordem'] = (max_numero_ordem if max_numero_ordem else 0) + 1
self.initial['numero_ordem'] = (
max_numero_ordem if max_numero_ordem else 0) + 1
return self.initial
def get_success_url(self):
@ -423,7 +425,8 @@ class ExpedienteMateriaCrud(MasterDetailCrud):
pk=self.kwargs['pk']).data_inicio.strftime('%d/%m/%Y')
max_numero_ordem = ExpedienteMateria.objects.filter(
sessao_plenaria=self.kwargs['pk']).aggregate(Max('numero_ordem'))['numero_ordem__max']
self.initial['numero_ordem'] = (max_numero_ordem if max_numero_ordem else 0) + 1
self.initial['numero_ordem'] = (
max_numero_ordem if max_numero_ordem else 0) + 1
return self.initial
def get_success_url(self):

Loading…
Cancel
Save