This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Impressao\Apac;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Cadastro\Estabelecimento\Unidade;
|
||||
use App\Models\Cadastro\SujeitoAtencao\Usuario;
|
||||
use App\Models\Sigtap\Cid;
|
||||
use App\Models\Sigtap\Competencia;
|
||||
use App\Models\Sigtap\Ocupacao;
|
||||
use App\Models\Sigtap\Procedimento;
|
||||
use App\Services\Apac\RelatorioInconsistenciaService;
|
||||
use App\Utils\Exports\Pdf1;
|
||||
use App\Utils\MaskUtil;
|
||||
|
||||
class RelatorioInconsistenciaController extends Controller
|
||||
{
|
||||
private const TITLE = 'RELATÓRIO DE INCONSISTÊNCIA';
|
||||
private const TEMPLATE = 'apac.relatorio-inconsistencia';
|
||||
|
||||
public function __invoke()
|
||||
{
|
||||
$competencia = Competencia::find(request()->competencia_id);
|
||||
|
||||
$tipoInconsistencia = request()->tipo_inconsistencia === 'procedimento-principal'
|
||||
? 'Procedimento principal' : 'Procedimento secundário';
|
||||
|
||||
$unidadeExecutante = request()->unidade_executante_id ? Unidade::findOrFail(request()->unidade_executante_id) : null;
|
||||
$usuarioExecutante = request()->usuario_executante_id ? Usuario::findOrFail(request()->usuario_executante_id) : null;
|
||||
$ocupacao = request()->ocupacao_id ? Ocupacao::findOrFail(request()->ocupacao_id) : null;
|
||||
$procedimento = request()->procedimento_id ? Procedimento::findOrFail(request()->procedimento_id) : null;
|
||||
|
||||
$cid = null;
|
||||
|
||||
if (count(request()->cids) === 1) {
|
||||
|
||||
$cid = Cid::findOrFail(request()->cids[0]);
|
||||
$cid = MaskUtil::getCidMasked($cid->codigo) . " - {$cid->nome}";
|
||||
}
|
||||
else {
|
||||
|
||||
$cid = count(request()->cids) . ' cids selecionados';
|
||||
}
|
||||
|
||||
$itens = RelatorioInconsistenciaService::index();
|
||||
|
||||
$data = [
|
||||
'competencia' => $competencia->valor,
|
||||
'tipo_inconsistencia' => $tipoInconsistencia,
|
||||
'unidade_executante' => $unidadeExecutante->nome_fantasia ?? 'Todas',
|
||||
'usuario_executante' => $usuarioExecutante->cidadao->nome ?? 'Todos',
|
||||
'ocupacao' => $ocupacao ? "{$ocupacao->codigo} - {$ocupacao->nome}" : 'Todas',
|
||||
'procedimento' => $procedimento ? MaskUtil::getProcedimentoMasked($procedimento->codigo) . " - {$procedimento->nome}" : 'Todos',
|
||||
'cid' => $cid,
|
||||
'data' => $itens,
|
||||
];
|
||||
|
||||
return Pdf1::generate(self::TITLE, self::TEMPLATE, $data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user