Browse Source

Fix #2794 - Relatório de tramitações (#2795)

* Fix relatorio de tramitacoes

* Refatora relatorio de Historico Tramitacao

* Corrige relatorio de fim prazo tramitacao
pull/2810/head
Cesar Augusto de Carvalho 6 years ago
committed by Edward
parent
commit
96789069f3
  1. 40
      sapl/base/forms.py
  2. 25
      sapl/base/views.py
  3. 51
      sapl/templates/base/RelatorioDataFimPrazoTramitacao_filter.html
  4. 51
      sapl/templates/base/RelatorioHistoricoTramitacao_filter.html
  5. 4
      sapl/templates/base/relatorios_list.html

40
sapl/base/forms.py

@ -899,34 +899,35 @@ class RelatorioHistoricoTramitacaoFilterSet(django_filters.FilterSet):
class Meta(FilterOverridesMetaMixin): class Meta(FilterOverridesMetaMixin):
model = MateriaLegislativa model = MateriaLegislativa
fields = ['tipo', 'tramitacao__unidade_tramitacao_local', fields = ['tipo', 'tramitacao__status', 'tramitacao__data_tramitacao',
'tramitacao__status', 'tramitacao__data_tramitacao'] 'tramitacao__unidade_tramitacao_local', 'tramitacao__unidade_tramitacao_destino']
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(RelatorioHistoricoTramitacaoFilterSet, self).__init__( super(RelatorioHistoricoTramitacaoFilterSet, self).__init__(
*args, **kwargs) *args, **kwargs)
self.filters['tipo'].label = 'Tipo de Matéria' self.filters['tipo'].label = 'Tipo de Matéria'
self.filters['tramitacao__unidade_tramitacao_local'
].label = _('Unidade Local')
self.filters['tramitacao__status'].label = _('Status') self.filters['tramitacao__status'].label = _('Status')
row1 = to_row([('tramitacao__data_tramitacao', 12)]) self.filters['tramitacao__unidade_tramitacao_local'].label = _('Unidade Local (Origem)')
self.filters['tramitacao__unidade_tramitacao_destino'].label = _('Unidade Destino')
row2 = to_row( row1 = to_row([('tramitacao__data_tramitacao', 12)])
[('tipo', 4), row2 = to_row([('tramitacao__unidade_tramitacao_local', 6),
('tramitacao__unidade_tramitacao_local', 4), ('tramitacao__unidade_tramitacao_destino', 6)])
('tramitacao__status', 4)]) row3 = to_row(
[('tipo', 6),
('tramitacao__status', 6)])
self.form.helper = SaplFormHelper() self.form.helper = SaplFormHelper()
self.form.helper.form_method = 'GET' self.form.helper.form_method = 'GET'
self.form.helper.layout = Layout( self.form.helper.layout = Layout(
Fieldset(_('Histórico de Tramitação'), Fieldset(_(''),
row1, row2, row1, row2, row3,
form_actions(label='Pesquisar')) form_actions(label='Pesquisar'))
) )
class RelatorioDataFimPrazoTramitacaoFilterSet(django_filters.FilterSet): class RelatorioDataFimPrazoTramitacaoFilterSet(django_filters.FilterSet):
@property @property
@ -937,6 +938,7 @@ class RelatorioDataFimPrazoTramitacaoFilterSet(django_filters.FilterSet):
class Meta(FilterOverridesMetaMixin): class Meta(FilterOverridesMetaMixin):
model = MateriaLegislativa model = MateriaLegislativa
fields = ['tipo', 'tramitacao__unidade_tramitacao_local', fields = ['tipo', 'tramitacao__unidade_tramitacao_local',
'tramitacao__unidade_tramitacao_destino',
'tramitacao__status', 'tramitacao__data_fim_prazo'] 'tramitacao__status', 'tramitacao__data_fim_prazo']
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
@ -944,20 +946,22 @@ class RelatorioDataFimPrazoTramitacaoFilterSet(django_filters.FilterSet):
*args, **kwargs) *args, **kwargs)
self.filters['tipo'].label = 'Tipo de Matéria' self.filters['tipo'].label = 'Tipo de Matéria'
self.filters['tramitacao__unidade_tramitacao_local'].label = 'Unidade de tramitação local' self.filters['tramitacao__unidade_tramitacao_local'].label = 'Unidade Local (Origem)'
self.filters['tramitacao__unidade_tramitacao_destino'].label = 'Unidade Destino'
self.filters['tramitacao__status'].label = 'Status de tramitação' self.filters['tramitacao__status'].label = 'Status de tramitação'
row1 = to_row([('tramitacao__data_fim_prazo', 12)]) row1 = to_row([('tramitacao__data_fim_prazo', 12)])
row2 = to_row( row2 = to_row([('tramitacao__unidade_tramitacao_local', 6),
[('tipo', 4), ('tramitacao__unidade_tramitacao_destino', 6)])
('tramitacao__unidade_tramitacao_local', 4), row3 = to_row(
('tramitacao__status', 4)]) [('tipo', 6),
('tramitacao__status', 6)])
self.form.helper = SaplFormHelper() self.form.helper = SaplFormHelper()
self.form.helper.form_method = 'GET' self.form.helper.form_method = 'GET'
self.form.helper.layout = Layout( self.form.helper.layout = Layout(
Fieldset(_('Tramitações por fim de prazo'), Fieldset(_('Tramitações por fim de prazo'),
row1, row2, row1, row2, row3,
form_actions(label='Pesquisar')) form_actions(label='Pesquisar'))
) )

25
sapl/base/views.py

@ -297,10 +297,7 @@ class RelatoriosListView(TemplateView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super(TemplateView, self).get_context_data(**kwargs) context = super(TemplateView, self).get_context_data(**kwargs)
estatisticas_acesso_normas = AppConfig.objects.first().estatisticas_acesso_normas estatisticas_acesso_normas = AppConfig.objects.first().estatisticas_acesso_normas
if estatisticas_acesso_normas == 'S': context['estatisticas_acesso_normas'] = True if estatisticas_acesso_normas == 'S' else False
context['estatisticas_acesso_normas'] = True
else:
context['estatisticas_acesso_normas'] = False
return context return context
@ -453,7 +450,7 @@ class RelatorioHistoricoTramitacaoView(FilterView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super(RelatorioHistoricoTramitacaoView, context = super(RelatorioHistoricoTramitacaoView,
self).get_context_data(**kwargs) self).get_context_data(**kwargs)
context['title'] = _('Histórico de Tramitações') context['title'] = _('Histórico de Tramitações de Matérias Legislativas')
if not self.filterset.form.is_valid(): if not self.filterset.form.is_valid():
return context return context
qr = self.request.GET.copy() qr = self.request.GET.copy()
@ -468,16 +465,25 @@ class RelatorioHistoricoTramitacaoView(FilterView):
str(TipoMateriaLegislativa.objects.get(id=tipo))) str(TipoMateriaLegislativa.objects.get(id=tipo)))
else: else:
context['tipo'] = '' context['tipo'] = ''
if self.request.GET['tramitacao__status']: if self.request.GET['tramitacao__status']:
tramitacao_status = self.request.GET['tramitacao__status'] tramitacao_status = self.request.GET['tramitacao__status']
context['tramitacao__status'] = ( context['tramitacao__status'] = (
str(StatusTramitacao.objects.get(id=tramitacao_status))) str(StatusTramitacao.objects.get(id=tramitacao_status)))
else: else:
context['tramitacao__status'] = '' context['tramitacao__status'] = ''
if self.request.GET['tramitacao__unidade_tramitacao_local']: if self.request.GET['tramitacao__unidade_tramitacao_local']:
context['tramitacao__unidade_tramitacao_local'] = \ context['tramitacao__unidade_tramitacao_local'] = \
(str(UnidadeTramitacao.objects.get( (str(UnidadeTramitacao.objects.get(
id=self.request.GET['tramitacao__unidade_tramitacao_local']))) id=self.request.GET['tramitacao__unidade_tramitacao_local'])))
else:
context['tramitacao__unidade_tramitacao_local'] = ''
if self.request.GET['tramitacao__unidade_tramitacao_destino']:
context['tramitacao__unidade_tramitacao_destino'] = \
(str(UnidadeTramitacao.objects.get(
id=self.request.GET['tramitacao__unidade_tramitacao_destino'])))
else: else:
context['tramitacao__unidade_tramitacao_destino'] = '' context['tramitacao__unidade_tramitacao_destino'] = ''
@ -508,16 +514,25 @@ class RelatorioDataFimPrazoTramitacaoView(FilterView):
str(TipoMateriaLegislativa.objects.get(id=tipo))) str(TipoMateriaLegislativa.objects.get(id=tipo)))
else: else:
context['tipo'] = '' context['tipo'] = ''
if self.request.GET['tramitacao__status']: if self.request.GET['tramitacao__status']:
tramitacao_status = self.request.GET['tramitacao__status'] tramitacao_status = self.request.GET['tramitacao__status']
context['tramitacao__status'] = ( context['tramitacao__status'] = (
str(StatusTramitacao.objects.get(id=tramitacao_status))) str(StatusTramitacao.objects.get(id=tramitacao_status)))
else: else:
context['tramitacao__status'] = '' context['tramitacao__status'] = ''
if self.request.GET['tramitacao__unidade_tramitacao_local']: if self.request.GET['tramitacao__unidade_tramitacao_local']:
context['tramitacao__unidade_tramitacao_local'] = \ context['tramitacao__unidade_tramitacao_local'] = \
(str(UnidadeTramitacao.objects.get( (str(UnidadeTramitacao.objects.get(
id=self.request.GET['tramitacao__unidade_tramitacao_local']))) id=self.request.GET['tramitacao__unidade_tramitacao_local'])))
else:
context['tramitacao__unidade_tramitacao_local'] = ''
if self.request.GET['tramitacao__unidade_tramitacao_destino']:
context['tramitacao__unidade_tramitacao_destino'] = \
(str(UnidadeTramitacao.objects.get(
id=self.request.GET['tramitacao__unidade_tramitacao_destino'])))
else: else:
context['tramitacao__unidade_tramitacao_destino'] = '' context['tramitacao__unidade_tramitacao_destino'] = ''

51
sapl/templates/base/RelatorioDataFimPrazoTramitacao_filter.html

@ -4,10 +4,9 @@
{% block base_content %} {% block base_content %}
{% if not show_results %} {% if not show_results %}
<br>
{% crispy filter.form %} {% crispy filter.form %}
{% endif %} {% else %}
{% if show_results %}
<div class="actions btn-group float-right" role="group"> <div class="actions btn-group float-right" role="group">
<a href="{% url 'sapl.base:data_fim_prazo_tramitacoes' %}" class="btn btn-outline-primary">{% trans 'Fazer nova pesquisa' %}</a> <a href="{% url 'sapl.base:data_fim_prazo_tramitacoes' %}" class="btn btn-outline-primary">{% trans 'Fazer nova pesquisa' %}</a>
</div> </div>
@ -16,24 +15,34 @@
&emsp;Período: {{ data_tramitacao }} <br /> &emsp;Período: {{ data_tramitacao }} <br />
&emsp;Tipo de matéria: {{ tipo }}<br /> &emsp;Tipo de matéria: {{ tipo }}<br />
&emsp;Status atual: {{ tramitacao__status }}<br /> &emsp;Status atual: {{ tramitacao__status }}<br />
&emsp;Local atual: {{ tramitacao__unidade_tramitacao_local }}<br /><br /><br /> &emsp;Local de origem: {{ tramitacao__unidade_tramitacao_local }}<br />
<table class="table table-bordered table-hover"> &emsp;Local de destino: {{ tramitacao__unidade_tramitacao_destino }}<br /><br /><br />
<thead class="thead-default" > {% if object_list %}
<tr class="active"> {% if object_list|length == 1 %}
<th>Matéria</th> <tr><td><h3 style="text-align: left;">Foi encontrada 1 matéria com esses parâmetros.</h3></td></tr><br><br>
<th>Ementa</th> {% else %}
</tr> <tr><td><h3 style="text-align: left;">Foram encontradas {{object_list|length}} matérias com esses parâmetros.</h3></td></tr><br><br>
</thead> {% endif %}
<tbody> <table class="table table-bordered table-hover">
{% for materia in object_list %} <thead class="thead-default" >
<tr> <tr class="active">
<td><a href="{% url 'sapl.materia:tramitacao_list' materia.pk %}"> <th>Matéria</th>
{{materia.tipo.descricao}} - {{materia.tipo.sigla}} {{materia.numero}}/{{materia.ano}} <th>Ementa</th>
</a></td>
<td>{{materia.ementa}}</td>
</tr> </tr>
{% endfor %} </thead>
</tbody> <tbody>
</table> {% for materia in object_list %}
<tr>
<td><a href="{% url 'sapl.materia:tramitacao_list' materia.pk %}">
{{materia.tipo.descricao}} - {{materia.tipo.sigla}} {{materia.numero}}/{{materia.ano}}
</a></td>
<td>{{materia.ementa}}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<tr><td><h3 style="text-align: left;">Nenhuma matéria encontrada com esses parâmetros.</h3></td></tr><br><br>
{% endif %}
{% endif %} {% endif %}
{% endblock base_content %} {% endblock base_content %}

51
sapl/templates/base/RelatorioHistoricoTramitacao_filter.html

@ -4,10 +4,9 @@
{% block base_content %} {% block base_content %}
{% if not show_results %} {% if not show_results %}
<br>
{% crispy filter.form %} {% crispy filter.form %}
{% endif %} {% else %}
{% if show_results %}
<div class="actions btn-group float-right" role="group"> <div class="actions btn-group float-right" role="group">
<a href="{% url 'sapl.base:historico_tramitacoes' %}" class="btn btn-outline-primary">{% trans 'Fazer nova pesquisa' %}</a> <a href="{% url 'sapl.base:historico_tramitacoes' %}" class="btn btn-outline-primary">{% trans 'Fazer nova pesquisa' %}</a>
</div> </div>
@ -16,24 +15,34 @@
&emsp;Período: {{ data_tramitacao }} <br /> &emsp;Período: {{ data_tramitacao }} <br />
&emsp;Tipo de matéria: {{ tipo }}<br /> &emsp;Tipo de matéria: {{ tipo }}<br />
&emsp;Status atual: {{ tramitacao__status }}<br /> &emsp;Status atual: {{ tramitacao__status }}<br />
&emsp;Local atual: {{ tramitacao__unidade_tramitacao_local }}<br /><br /><br /> &emsp;Local de origem: {{ tramitacao__unidade_tramitacao_local }}<br />
<table class="table table-bordered table-hover"> &emsp;Local de destino: {{ tramitacao__unidade_tramitacao_destino }}<br /><br /><br />
<thead class="thead-default" > {% if object_list %}
<tr class="active"> {% if object_list|length == 1 %}
<th>Matéria</th> <tr><td><h3 style="text-align: left;">Foi encontrada 1 matéria com esses parâmetros.</h3></td></tr><br><br>
<th>Ementa</th> {% else %}
</tr> <tr><td><h3 style="text-align: left;">Foram encontradas {{object_list|length}} matérias com esses parâmetros.</h3></td></tr><br><br>
</thead> {% endif %}
<tbody> <table class="table table-bordered table-hover">
{% for materia in object_list %} <thead class="thead-default" >
<tr> <tr class="active">
<td><a href="{% url 'sapl.materia:tramitacao_list' materia.pk %}"> <th>Matéria</th>
{{materia.tipo.descricao}} - {{materia.tipo.sigla}} {{materia.numero}}/{{materia.ano}} <th>Ementa</th>
</a></td>
<td>{{materia.ementa}}<br>{{materia.observacao}}</td>
</tr> </tr>
{% endfor %} </thead>
</tbody> <tbody>
</table> {% for materia in object_list %}
<tr>
<td><a href="{% url 'sapl.materia:tramitacao_list' materia.pk %}">
{{materia.tipo.descricao}} - {{materia.tipo.sigla}} {{materia.numero}}/{{materia.ano}}
</a></td>
<td>{{materia.ementa}}<br>{{materia.observacao}}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<tr><td><h3 style="text-align: left;">Nenhuma matéria encontrada com esses parâmetros.</h3></td></tr><br><br>
{% endif %}
{% endif %} {% endif %}
{% endblock base_content %} {% endblock base_content %}

4
sapl/templates/base/relatorios_list.html

@ -33,11 +33,11 @@
<td> Atas de Sessão Plenária. </td> <td> Atas de Sessão Plenária. </td>
</tr> </tr>
<tr> <tr>
<td><a href="{% url 'sapl.base:historico_tramitacoes' %}">Histórico de tramitações</a></td> <td><a href="{% url 'sapl.base:historico_tramitacoes' %}">Histórico de tramitações de Matérias</a></td>
<td> Histórico de tramitações por período e local informados. </td> <td> Histórico de tramitações por período e local informados. </td>
</tr> </tr>
<tr> <tr>
<td><a href="{% url 'sapl.base:data_fim_prazo_tramitacoes' %}">Tramitações por fim de prazo</a></td> <td><a href="{% url 'sapl.base:data_fim_prazo_tramitacoes' %}">Tramitações de Matérias por fim de prazo</a></td>
<td> Tramitações com fim de prazo no intervalo informado. </td> <td> Tramitações com fim de prazo no intervalo informado. </td>
</tr> </tr>
<tr> <tr>

Loading…
Cancel
Save