{% extends "base.html" %} {% block title %}{{ detail.display_name or detail.hostname or "Agent" }} | GTI Fiscal{% endblock %} {% block content %}

{{ detail.client or "Cliente não identificado" }} / INSTALAÇÃO

{{ detail.display_name or detail.hostname or detail.installation_id }}

{{ detail.hostname or "hostname indisponível" }}

Saúde técnica{{ detail.technical_health_label }}
Status fiscal{{ detail.fiscal_status_label }}
Produtos{{ detail.total_products if detail.total_products is not none else "Não informado" }}
Completos{{ detail.fiscally_complete if detail.fiscally_complete is not none else "Não informado" }}
Bloqueados com segurança{{ detail.safe_blocked if detail.safe_blocked is not none else "Não informado" }}
Falhas técnicas{{ detail.failed_products if detail.failed_products is not none else "Não informado" }}
Não classificados{{ detail.unclassified_products if detail.unclassified_products is not none else "Não informado" }}
Cobertura fiscal{% if detail.fiscal_completion_percent is none %}Não informadonenhum snapshot recebido{% else %}{{ "%.1f"|format(detail.fiscal_completion_percent)|replace(".", ",") }}%{{ detail.fiscally_complete }} / {{ detail.total_products }} completos{% endif %}
{% if detail.total_products is none %}

Cobertura ainda não informada: nenhum snapshot recebido deste servidor.

{% elif detail.coverage_invariant_pass %}

Cobertura reconciliada para este servidor.

{% else %}

Inconsistência de cobertura: {{ detail.coverage_overcount_products }} acima do total{% if detail.coverage_invalid_counts %}; existem contagens negativas{% endif %}.

{% endif %}

Processamento

Controlado pelo Hub — nenhuma configuração local.

Reprocessar tudo {% if ops.enabled %}
{% else %}
{% endif %}
Processamento
{{ "Ativo" if ops.enabled else "Pausado" }} · sincronização automática a cada {{ ops.interval_minutes }} min
Última sincronização
{{ ops.last_sync or "ainda não sincronizado" }}{% if ops.last_changed is not none %} · {{ ops.last_changed }} produto(s) alterado(s){% endif %}
Sincronização agendada
{{ ops.next_sync or ("aguardando o primeiro sync" if ops.enabled else "pausado") }}
Último job
{% if ops.last_job %}{{ ops.last_job.kind_label }} · {{ ops.last_job.status_label }}{% else %}nenhum{% endif %}
{% if ops.expanded %}

Cobertura fiscal

Escopo anterior e escopo ampliado (cClassTrib e PIS/COFINS quando aplicáveis). Catálogo RTC local do ERP.

Escopo anterior
{{ ops.expanded.legacy.complete }} completos · {{ ops.expanded.legacy.safe_blocked }} bloqueados · {{ ops.expanded.legacy.failed }} falhas{% if ops.expanded.legacy_percent is not none %} · {{ ops.expanded.legacy_percent|string|replace(".", ",") }}%{% endif %}
Escopo ampliado
{{ ops.expanded.expanded.complete }} completos · {{ ops.expanded.expanded.safe_blocked }} bloqueados · {{ ops.expanded.expanded.failed }} falhas · {{ ops.expanded.expanded.unknown_applicability }} com aplicabilidade desconhecida
Novos bloqueios
{% for b in ops.expanded.blockers %}{{ b.label }} · {{ b.count }} {% else %}nenhum{% endfor %}
{% endif %}

Contexto da empresa

Cliente
{{ detail.client or "Não informado" }}
Nome de exibição
{{ detail.display_name or "Não informado" }}
Hostname
{{ detail.hostname or "Não informado" }}
Empresa
{{ detail.company_name or detail.company_code or "Não informado" }}
UF
{{ detail.company_uf or "Não informado" }}
CRT
{{ detail.company_crt or "Não informado" }}
Versão do agent
{{ detail.agent_version_display }}
Último heartbeat
{{ detail.last_seen_display }} · {{ detail.last_seen_age }}
Firebird
{{ detail.firebird_version or "Não informado" }} · ODS {{ detail.firebird_ods or "Não informado" }}
IDs técnicos
Agent {{ detail.technical_ids.agent_id }} · instalação {{ detail.technical_ids.installation_db_id }}

Eventos recentes

Ver eventos
{% for event in events[:8] %}
{{ event.occurred_display }}{{ event.event_type }}{{ event.message }}{% if event.job_id %} · Job {{ event.job_id }}{% endif %}{% if event.product_code %} · Produto {{ event.product_code }}{% endif %}Severidade: {{ event.severity }}
{% else %}

Nenhum evento.

{% endfor %}

Eventos operacionais

Filtros aplicados no servidor.

Blockers abertos

Ver blockers
{% for key in ["CFOP","ST","ICMS","CSOSN","NCM","OTHER"] %}
{{ key }}{{ blocker_breakdown[key] }}
{% endfor %}
{% for item in blockers["items"][:8] %}{{ item.product_code }} · {{ item.field }}{{ item.reason_label }} · {{ item.age }}{{ item.blocker_type_label }}{% else %}

Nenhum blocker aberto.

{% endfor %}
{% endblock %}