Files
SGF/scripts/preview-coherence-worker.php
T
nala f8d57b52aa Preserva classificacao contabilistica aceite e bases locais
Regista aceitacao funcional do primeiro incremento PGC-NIRF e preserva as dependencias documentais e tecnicas existentes. A validacao do calculo fiscal continua separada e pendente. Sem credenciais, bases operacionais ou publicacao.
2026-10-26 13:47:11 +02:00

19 lines
1.2 KiB
PHP

<?php
require __DIR__.'/../vendor/autoload.php';
$app = require __DIR__.'/../bootstrap/app.php';
$app->make(\Illuminate\Contracts\Console\Kernel::class)->bootstrap();
\App\Shared\Testing\TestingDatabaseGuard::assertSafe();
$input = json_decode(stream_get_contents(STDIN), true, 32, JSON_THROW_ON_ERROR);
app(\App\Shared\Context\CompanyContext::class)->selectFor($input['actor'], $input['tenant'], $input['company'], $input['unit']);
$paused = false; $isolation = null;
\Illuminate\Support\Facades\DB::listen(function ($query) use (&$paused, &$isolation): void {
if (! $paused && str_contains($query->sql, 'from "a_billing_drafts"')) {
$paused = true;
$isolation = \Illuminate\Support\Facades\DB::selectOne('SHOW transaction_isolation')->transaction_isolation;
echo "SNAPSHOT_STARTED\n"; flush(); usleep(2000000);
}
});
$result = app(\App\Modules\Services\DocumentPreview::class)->read($input['draft'], $input['actor']);
echo json_encode(['repeatable_read' => $isolation === 'repeatable read', 'original_issuer' => $result['issuer']['data']['nuit'] === $input['issuer'], 'original_client' => $result['client']['data']['nuit'] === $input['client']], JSON_THROW_ON_ERROR).PHP_EOL;