Files
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

46 lines
2.1 KiB
PHP

<?php
namespace App\Http\Controllers\Impressao\Almoxarifado\Relatorios;
use App\Http\Controllers\Controller;
use App\Models\Almoxarifado\EntradaTipo;
use App\Models\Almoxarifado\SaidaTipo;
use App\Models\Cadastro\Estabelecimento\Infraestrutura;
use App\Models\Cadastro\Estabelecimento\Setor;
use App\Models\Cadastro\Estabelecimento\Unidade;
use App\Models\Cadastro\Material\Material;
use App\Models\Cadastro\OrigemProgramatica;
use App\Models\Cadastro\SujeitoAtencao\Usuario;
use App\Services\Almoxarifado\Relatorios\MovimentacaoGeralService;
use App\Utils\Exports\Pdf1;
class MovimentacaoGeralController extends Controller
{
private const TITLE = 'RELATÓRIO DE MOVIMENTAÇÃO GERAL';
private const TEMPLATE = 'almoxarifado.relatorios.movimentacao-geral';
public function __invoke()
{
$itens = MovimentacaoGeralService::index();
$data = [
'periodo' => [
'start' => request()->periodo['start'],
'end' => request()->periodo['end'],
],
'movimentacao_tipo' => request()->movimentacao_tipo === 'entrada' ? 'ENTRADA' : 'SAÍDA',
'movimentacao_subtipo' => (request()->movimentacao_tipo === 'entrada' ? EntradaTipo::find(request()->movimentacao_subtipo_id)->nome ?? null : SaidaTipo::find(request()->movimentacao_subtipo_id)->nome ?? null) ?? 'Todos',
'unidade' => Unidade::find(request()->unidade_id)->nome_fantasia ?? 'Todas',
'infraestrutura' => Infraestrutura::find(request()->infraestrutura_id)->nome ?? 'Todos',
'setor' => Setor::find(request()->setor_id)->nome ?? 'Todos',
'usuario' => Usuario::find(request()->usuario_id)->nome ?? 'Todos',
'origem_programatica' => OrigemProgramatica::find(request()->origem_programatica_id) ?? 'Todas',
'material' => Material::find(request()->material_id)->descricao_completa ?? 'Todos',
'colunas' => collect(request()->selected_cols),
'itens' => $itens,
];
return Pdf1::generate(self::TITLE, self::TEMPLATE, $data, 'landscape');
}
}