Files
SGF/scripts/sgf-service-documents-status.php
T
2026-11-11 09:00:17 +02:00

6 lines
1.3 KiB
PHP

<?php
$book='8085';require __DIR__.'/sgf-service-documents-proof-bootstrap.php';$actor=$select('finance_review');$sr=app(App\Modules\Services\ServiceReceivables::class);$http=json_decode(file_get_contents($s['root'].'/service-documents-http-20261110.json'),true);$positions=[];
foreach($http['invoices'] as $name=>$invoice){$ob=$host->table('sr_records')->where($f['scope'])->where(['invoice_id'=>$invoice,'kind'=>'obligation'])->value('id');$p=$sr->position($ob,$actor);$positions[$name]=array_intersect_key($p,array_flip(['original','reduced','received','allocated','available','balance']));}
if($positions['credit']['balance']!=='500.00'||$positions['invoice_receipt']['balance']!=='0.00'||$host->table('sd_cancellations')->count()!==0)throw new LogicException('Presentation state changed');
$out=['passed'=>true,'positions'=>$positions,'committed_documents'=>$host->table('sd_outputs')->count(),'committed_cancellations'=>0,'journals'=>$native->table('gl_journals')->count(),'period_status'=>$native->table('gl_periods')->where('period_key','QA-2026-INTEGRADO')->orderByDesc('version')->value('status'),'read_only'=>true];file_put_contents($work.'/service-documents-status.json',json_encode($out,JSON_PRETTY_PRINT));echo json_encode(['passed'=>true,'positions'=>$positions,'proof'=>$work.'/service-documents-status.json']).PHP_EOL;