18 lines
4.5 KiB
PHP
18 lines
4.5 KiB
PHP
@php
|
||
$money = static fn ($n) => $n === null ? 'Indeterminado' : number_format(intdiv($n, 100), 0, ',', ' ').','.str_pad((string) abs($n % 100), 2, '0', STR_PAD_LEFT).' MZN';
|
||
$query = http_build_query($report['criteria'], '', '&', PHP_QUERY_RFC3986);
|
||
$details = http_build_query($report['criteria'] + ['recognition' => 'recognised'], '', '&', PHP_QUERY_RFC3986);
|
||
@endphp
|
||
<!doctype html><html lang="pt"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Relatório de obrigações — ensaio SGF</title>
|
||
<style>body{font:17px system-ui;background:#f3f6f5;color:#142b28;margin:0}main{max-width:1000px;margin:auto;padding:24px}section,header{background:white;padding:24px;margin:16px 0;border:1px solid #d5e0dc;border-radius:12px}label{display:block;margin:12px 0}input,button{font:inherit;padding:10px}dt{margin-top:14px}dd{font-weight:600;margin-left:0}a{color:#125a4b}code{overflow-wrap:anywhere}.notice{background:#fff2cc;padding:16px}</style></head><body><main>
|
||
<header><a href="/supplier-payables?{{ $details }}">Conferir documentos, posições e evidências</a><h1>Obrigações reconhecidas — posição actual</h1><p class="notice">ENSAIO SINTÉTICO. Este relatório agrega as posições financeiras pelo núcleo existente. Não constitui razão contabilístico, balancete, reconciliação bancária ou relatório histórico por data de corte.</p><p>Históricos importados usam recibos de ensaio conferidos. Não há origem histórica SGF viva ou passagem operacional de responsabilidade validada.</p><p>Capturado em {{ $report['captured_at_utc'] }} UTC · Empresa #{{ $report['scope']['company_id'] }} / Unidade #{{ $report['scope']['unit_id'] }}</p></header>
|
||
<section><h2>Critérios</h2><form method="get" action="/supplier-payables/report">
|
||
@if(isset($report['criteria']['source']))<input type="hidden" name="source" value="{{ $report['criteria']['source'] }}"><p>Origem local #{{ $report['criteria']['source'] }} · <a href="/supplier-payables/report">Consultar todas as origens</a></p>@endif
|
||
<label>Número ou fornecedor<input name="q" maxlength="100" value="{{ $report['criteria']['q'] }}"></label><button>Gerar posição actual</button></form><p>Apenas obrigações reconhecidas dos documentos abrangidos. Documentos por reconhecer e pagamentos ainda por afectar não são abatidos como dívida liquidada.</p></section>
|
||
<section><h2>Posição abrangida</h2><dl><dt>Obrigações reconhecidas</dt><dd>{{ $report['totals']['count'] }}</dd><dt>Principal original reconhecido</dt><dd>{{ $money($report['totals']['principal_minor']) }}</dd><dt>Saldo global por liquidar</dt><dd>{{ $money($report['totals']['balance_minor']) }}</dd><dt>Posições com saldo indeterminado</dt><dd>{{ $report['totals']['unknown_balance_count'] }}</dd><dt>Obrigações com vencimento desconhecido</dt><dd>{{ $report['totals']['unknown_due_count'] }}</dd></dl>
|
||
@if($report['totals']['unknown_balance_count'])<p role="alert">Há evidência por conferir. O saldo global permanece indeterminado; o montante conhecido abaixo é parcial e não representa o total por liquidar.</p>@endif
|
||
</section>
|
||
<section><h2>Componentes das posições conhecidas</h2><dl><dt>Posições com saldo sustentado</dt><dd>{{ $report['known_positions']['count'] }}</dd><dt>Principal dessas posições</dt><dd>{{ $money($report['known_positions']['principal_minor']) }}</dd><dt>Confirmados históricos incorporados</dt><dd>{{ $money($report['known_positions']['historical_confirmed_minor']) }}</dd><dt>Afectações líquidas de reversões</dt><dd>{{ $money($report['known_positions']['net_allocated_minor']) }}</dd><dt>Saldo conhecido{{ $report['totals']['unknown_balance_count'] ? ' — parcial' : '' }}</dt><dd>{{ $money($report['known_positions']['balance_minor']) }}</dd></dl><p>Conferência: principal conhecido − confirmados históricos − afectações líquidas = saldo conhecido. Reversões preservam os originais e são consideradas pelo núcleo financeiro.</p></section>
|
||
<section><h2>Rastreabilidade</h2><p>Identificador de conteúdo das posições: <code>{{ $report['positions_sha256'] }}</code></p><p>O mesmo conteúdo e âmbito produzem o mesmo identificador. Uma nova consulta ou os documentos abertos depois podem já reflectir alterações posteriores à captura.</p><p><a href="/api/supplier-payables/report?{{ $query }}">Consultar os dados deste relatório em JSON</a></p><p>O link gera uma nova captura da posição actual; não recupera um documento arquivado. Não se guardou um relatório ou um lançamento por esta consulta.</p></section>
|
||
</main></body></html>
|