31 lines
1.2 KiB
PHP
31 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Requisition;
|
|
use App\Models\Tenant;
|
|
use App\Services\AiPreparationPlan;
|
|
use App\Services\IntelligencePolicy;
|
|
use App\Services\ProcurementEvidenceBrief;
|
|
use App\Services\ProcurementReviewReport;
|
|
use Illuminate\Http\Request;
|
|
use Inertia\Inertia;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
|
class ProcurementReviewReportController extends Controller
|
|
{
|
|
public function show(Request $request, Requisition $requisition, ProcurementReviewReport $builder): Response
|
|
{
|
|
$report = $builder->build($request->user(), $requisition->id);
|
|
Inertia::encryptHistory();
|
|
$company = Tenant::query()->findOrFail($request->user()->tenant_id);
|
|
$policy = app(IntelligencePolicy::class)->company($company);
|
|
$brief = app(ProcurementEvidenceBrief::class)->build($report);
|
|
$response = Inertia::render('purchases/review-report', ['report' => $report, 'brief' => $policy['procurement_brief'] ? $brief : null,
|
|
'aiPreparation' => app(AiPreparationPlan::class)->preview($company, 'procurement', $brief)])->toResponse($request);
|
|
$response->headers->set('Cache-Control', 'private, no-store, max-age=0');
|
|
|
|
return $response;
|
|
}
|
|
}
|