{% extends "base.html" %} {% block title %}Diagnóstico do Plano de Contas{% endblock %} {% block content %} {% macro cabecalho_ordenavel(label, campo) %} {% set ativo = div_sort == campo %} {% set proxima_ordem = 'desc' if ativo and div_order == 'asc' else 'asc' %} {{ label }} {% if ativo %} {% else %} {% endif %} {% endmacro %}

Diagnóstico do Plano de Contas

Auditoria estrutural da hierarquia contábil com base no seed oficial do sistema.

Exportar Excel Voltar aos Parâmetros
Área sensível: esta tela valida a estrutura de grupos, subgrupos e contas analíticas do cadastro compartilhado de `plano_contas`.
Filtro rápido: escolha a visão que deseja inspecionar.
Limpar
{% if busca %}
Exibindo resultados filtrados por {{ busca }}. Divergências: {{ diagnostico.resumo_filtrado.divergencias }} | Auto referências: {{ diagnostico.resumo_filtrado.auto_referencias }} | Sem código: {{ diagnostico.resumo_filtrado.sem_codigo }}
{% endif %}
Total de contas
{{ diagnostico.resumo.total_contas }}
{{ diagnostico.resumo.total_com_codigo }} com código
Divergências
{{ diagnostico.resumo.total_divergencias }}
pai/nível fora do padrão
Auto referência
{{ diagnostico.resumo.total_auto_referencias }}
contas apontando para si mesmas
Sem código
{{ diagnostico.resumo.total_sem_codigo }}
{{ diagnostico.resumo.total_customizadas }} código(s) fora do seed
Saneamento controlado
Idempotente

Recalcula conta_pai_id e nivel com base no prefixo do código contábil e no seed oficial do instalador. Use esta ação apenas quando houver divergências detectadas.

{% if not diagnostico.resumo.total_divergencias %}
Nenhuma divergência estrutural encontrada no momento.
{% endif %}
Últimos saneamentos executados
Fonte: log de auditoria
{% for item in historico_reparos %} {% else %} {% endfor %}
Data/Hora Usuário Status Contas ajustadas Pais ausentes Resumo
{{ item.data_hora.strftime('%d/%m/%Y %H:%M') if item.data_hora else '-' }} {{ item.usuario_nome }} {% if item.status == 'erro' %} Erro {% elif item.alteradas %} Aplicado {% else %} Sem ajustes {% endif %} {{ item.alteradas }} {{ item.pais_ausentes }} {% if item.erro %} {{ item.erro }} {% else %} {{ item.detalhes or 'Saneamento executado sem observações adicionais.' }} {% endif %}
Nenhum saneamento administrativo registrado até o momento.
{% if filtro in ['todos', 'divergencias'] %}
Divergências de pai e nível
Ordenado por {{ div_sort }} ({{ 'decrescente' if div_order == 'desc' else 'crescente' }})
{% for item in diagnostico.divergencias %} {% else %} {% endfor %}
{{ cabecalho_ordenavel('Código', 'codigo') }} {{ cabecalho_ordenavel('Conta', 'nome') }} {{ cabecalho_ordenavel('Pai atual', 'pai_atual_id') }} {{ cabecalho_ordenavel('Pai atual nome', 'pai_atual_nome') }} {{ cabecalho_ordenavel('Pai esperado', 'pai_esperado_id') }} {{ cabecalho_ordenavel('Pai esperado nome', 'pai_esperado_nome') }} {{ cabecalho_ordenavel('Código pai', 'codigo_pai_esperado') }} {{ cabecalho_ordenavel('Nível atual', 'nivel_atual') }} {{ cabecalho_ordenavel('Nível esperado', 'nivel_esperado') }}
{{ item.codigo }} {{ item.nome }} {{ item.pai_atual_id or '-' }} {{ item.pai_atual_nome or '-' }} {{ item.pai_esperado_id or '-' }} {{ item.pai_esperado_nome or '-' }} {{ item.codigo_pai_esperado }} {{ item.nivel_atual or '-' }} {{ item.nivel_esperado }}
Nenhuma divergência encontrada.
{% endif %} {% if filtro in ['todos', 'auto_referencias'] %}
Auto referências
{% for item in diagnostico.auto_referencias %} {% else %} {% endfor %}
ID Código Conta Pai atual nome
{{ item.id }} {{ item.codigo }} {{ item.nome }} {{ item.pai_atual_nome or '-' }}
Nenhuma auto referência encontrada.
{% endif %} {% if filtro in ['todos', 'sem_codigo'] %}
Contas sem código
{% for item in diagnostico.sem_codigo %} {% else %} {% endfor %}
ID Conta Nível Pai
{{ item.id }} {{ item.nome }} {{ item.nivel or '-' }} {{ item.conta_pai_id or '-' }}
Nenhuma conta sem código encontrada.
{% endif %}
{% endblock %}