diff --git a/sme_ptrf_apps/dre/services/relatorio_consolidado_service.py b/sme_ptrf_apps/dre/services/relatorio_consolidado_service.py index ce65009f8..c969749e0 100644 --- a/sme_ptrf_apps/dre/services/relatorio_consolidado_service.py +++ b/sme_ptrf_apps/dre/services/relatorio_consolidado_service.py @@ -964,9 +964,10 @@ def _totaliza_previsoes_repasses_sme(associacao, periodo, tipo_conta, totais): return totais - def _totaliza_devolucoes_ao_tesouro(prestacao_conta, periodo, totais): + def _totaliza_devolucoes_ao_tesouro(prestacao_conta, periodo, totais, tipo_conta): # Devoluções ao tesouro de PCs de Associações da DRE, no período e concluídas devolucoes = prestacao_conta.devolucoes_ao_tesouro_da_prestacao.all() + for devolucao in devolucoes: totais['devolucoes_ao_tesouro_no_periodo_total'] += devolucao.valor @@ -1008,11 +1009,20 @@ def _totaliza_devolucoes_ao_tesouro(prestacao_conta, periodo, totais): if prestacao_conta: totais = _totaliza_fechamentos(associacao, periodo, tipo_conta, totais) totais = _atualiza_demais_creditos(totais) - totais = _totaliza_devolucoes_ao_tesouro(prestacao_conta, periodo, totais) + totais = _totaliza_devolucoes_ao_tesouro(prestacao_conta, periodo, totais, tipo_conta) totais = _totaliza_previsoes_repasses_sme(associacao, periodo, tipo_conta, totais) - soma_dos_totais = sum(totais.values()) + """ + Corrige exibição de conta sem valores quando uma associação + tiver 02 contas, porém valor cadastrado em apenas uma delas + e tiver devoluções ao tesouro cadastrada. + """ + totais_sem_devolucao_ao_tesouro = totais.copy() + key_to_remove = 'devolucoes_ao_tesouro_no_periodo_total' + totais_sem_devolucao_ao_tesouro.pop(key_to_remove, None) # No `KeyError` here + + soma_dos_totais = sum(totais_sem_devolucao_ao_tesouro.values()) """ Verificando se existe algum valor para incluir os dados no resultado diff --git a/sme_ptrf_apps/templates/pdf/demonstrativo_execucao_fisico_financeiro/partials/tabela-sintese-execucao-financeira.html b/sme_ptrf_apps/templates/pdf/demonstrativo_execucao_fisico_financeiro/partials/tabela-sintese-execucao-financeira.html index cef2aa2d4..659b61a33 100644 --- a/sme_ptrf_apps/templates/pdf/demonstrativo_execucao_fisico_financeiro/partials/tabela-sintese-execucao-financeira.html +++ b/sme_ptrf_apps/templates/pdf/demonstrativo_execucao_fisico_financeiro/partials/tabela-sintese-execucao-financeira.html @@ -201,157 +201,161 @@ {% endfor %} -{% for valor in dados.execucao_financeira.total_todas_as_contas %} +{% if dados.execucao_financeira.por_tipo_de_conta|length > 1 %} + + {% for valor in dados.execucao_financeira.total_todas_as_contas %} {% comment %} - *************** Não remover
*************** - Esta tag HTML que tem display block impede que a tabela quebre dentro da linha mesclada durante o for. - Na tabela, para evitar a quebra, foi utilizado a classe CSS nao-quebra-linha, que usa a regra break-after: avoid !important;. - Ref: Documentação do WeasyPrint. Its a miracle. - {% endcomment %} -
- {% comment %} - *************** FIM Não remover
*************** - {% endcomment %} + *************** Não remover
*************** + Esta tag HTML que tem display block impede que a tabela quebre dentro da linha mesclada durante o for. + Na tabela, para evitar a quebra, foi utilizado a classe CSS nao-quebra-linha, que usa a regra break-after: avoid !important;. + Ref: Documentação do WeasyPrint. Its a miracle. + {% endcomment %} +
+ {% comment %} + *************** FIM Não remover
*************** + {% endcomment %} - - - - - +
Execução financeira - {{ valor.tipo_conta }}
+ - - + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - - - + + + + + + + - - + + - - + + - - + + - - + + - - - + + + - - - - - - - - + + + + + + + + - - + + - - + + - - + + - - + + - - - - - + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - -
01 - Saldo reprogramado do período anterior Execução financeira - {{ valor.tipo_conta }}
01 - Saldo reprogramado do período anterior 02 - Previsto pela SME 02 - Previsto pela SME 03 - Transferido pela DRE 03 - Transferido pela DRE 04 - Outros créditos 04 - Outros créditos 05 - Valor total disponível 05 - Valor total disponível 06 - Despesa realizada 06 - Despesa realizada 07 - Saldo reprogramado para o próximo período 07 - Saldo reprogramado para o próximo período 08 - Devolução ao Tesouro
08 - Devolução ao Tesouro
C{{ valor.custeio.saldo_reprogramado_periodo_anterior_custeio }} C{{ valor.custeio.saldo_reprogramado_periodo_anterior_custeio }} C{{ valor.custeio.repasses_previstos_sme_custeio }} C{{ valor.custeio.repasses_previstos_sme_custeio }} C{{ valor.custeio.repasses_no_periodo_custeio }} C{{ valor.custeio.repasses_no_periodo_custeio }} C{{ valor.custeio.outros_creditos }} C{{ valor.custeio.outros_creditos }} C{{ valor.custeio.valor_total_custeio }} C{{ valor.custeio.valor_total_custeio }} C{{ valor.custeio.despesas_no_periodo_custeio }} C{{ valor.custeio.despesas_no_periodo_custeio }} C{{ valor.custeio.saldo_reprogramado_proximo_periodo_custeio }} C{{ valor.custeio.saldo_reprogramado_proximo_periodo_custeio }} T{{ valor.totais.devolucoes_ao_tesouro_no_periodo_total }}
L{{ valor.livre.saldo_reprogramado_periodo_anterior_livre }}T{{ valor.totais.devolucoes_ao_tesouro_no_periodo_total }}
L{{ valor.livre.saldo_reprogramado_periodo_anterior_livre }}L{{ valor.livre.repasses_previstos_sme_livre }}L{{ valor.livre.repasses_previstos_sme_livre }}L{{ valor.livre.repasses_no_periodo_livre }}L{{ valor.livre.repasses_no_periodo_livre }} L{{ valor.livre.outros_creditos }} L{{ valor.livre.outros_creditos }} L{{ valor.livre.valor_total_livre }} L{{ valor.livre.valor_total_livre }} L{{ valor.livre.saldo_reprogramado_proximo_periodo_livre }} L{{ valor.livre.saldo_reprogramado_proximo_periodo_livre }}
K{{ valor.capital.despesas_no_periodo_capital }}
K{{ valor.capital.saldo_reprogramado_periodo_anterior_capital }}
K{{ valor.capital.despesas_no_periodo_capital }}
K{{ valor.capital.saldo_reprogramado_periodo_anterior_capital }} K{{ valor.capital.repasses_previstos_sme_capital }} K{{ valor.capital.repasses_previstos_sme_capital }} K{{ valor.capital.repasses_no_periodo_capital }} K{{ valor.capital.repasses_no_periodo_capital }} K{{ valor.capital.outros_creditos }} K{{ valor.capital.outros_creditos }} K{{ valor.capital.valor_total_capital }} K{{ valor.capital.valor_total_capital }} K{{ valor.capital.saldo_reprogramado_proximo_periodo_capital }}
K{{ valor.capital.saldo_reprogramado_proximo_periodo_capital }}
T{{ valor.totais.saldo_reprogramado_periodo_anterior_total }}T{{ valor.totais.saldo_reprogramado_periodo_anterior_total }}T{{ valor.totais.repasses_previstos_sme_total }}T{{ valor.totais.repasses_previstos_sme_total }}T{{ valor.totais.repasses_no_periodo_total }}T{{ valor.totais.repasses_no_periodo_total }}T{{ valor.totais.outros_creditos }}T{{ valor.totais.outros_creditos }}T{{ valor.totais.valor_total }}T{{ valor.totais.valor_total }}T{{ valor.totais.despesas_no_periodo_total }}T{{ valor.totais.despesas_no_periodo_total }}T{{ valor.totais.saldo_reprogramado_proximo_periodo_total }}
+ T + {{ valor.totais.saldo_reprogramado_proximo_periodo_total }} + + + -{% endfor %} + {% endfor %} + +{% endif %}