Files
rkm-conectasus-ci-sandbox/api/app/Http/Controllers/Impressao/Almoxarifado/RequisicaoController.php
Antonio Lopes dos Santos afec302c3e
All checks were successful
build-api-image / build (push) Successful in 51s
init commit
2026-08-04 16:52:02 -03:00

53 lines
1.9 KiB
PHP

<?php
namespace App\Http\Controllers\Impressao\Almoxarifado;
use App\Http\Controllers\Controller;
use App\Models\Almoxarifado\Requisicao;
use App\Services\Almoxarifado\RequisicaoPendentePermissaoService;
use App\Utils\Exports\Pdf1;
use App\Utils\MaskUtil;
use Carbon\Carbon;
class RequisicaoController extends Controller
{
private const TITLE = 'REQUISIÇÃO';
private const TEMPLATE = 'almoxarifado.requisicao';
public static function getTemplate($id)
{
$requisicao = Requisicao::findOrFail($id);
$data = RequisicaoPendentePermissaoService::edit($id);
$isPrimeiroEnvio = $data['form']['envios']->isEmpty();
$data['model']['itens'] = $data['model']['itens']->map(function ($item) {
$item['entrada_itens'] = $item['entrada_itens']
->filter(fn ($i) => $i['quantidade_saida'] > 0)
->values();
return $item;
});
return [
'data' => (new Carbon($requisicao->created_at))->format('d/m/Y'),
'numero' => $requisicao->numero,
'requisitante' => [
'unidade' => $requisicao->createdCentroCusto->infraestrutura->unidade->nome_fantasia,
'local_atendimento' => $requisicao->createdCentroCusto->infraestrutura->nome,
'setor' => $requisicao->createdCentroCusto->setor->nome,
'usuario' => $requisicao->createdLotacao->usuario->cidadao->nome,
'endereco' => $requisicao->createdCentroCusto->infraestrutura->endereco->completo,
'telefone' => MaskUtil::getPhoneMasked($requisicao->createdCentroCusto->infraestrutura->telefone)
],
'isPrimeiroEnvio' => $isPrimeiroEnvio,
'itens' => $data['model']['itens'],
];
}
public function __invoke($id)
{
return Pdf1::generate(self::TITLE, self::TEMPLATE, self::getTemplate($id));
}
}