Files
rkm-conectasus-ci-sandbox/api/app/Http/Controllers/Impressao/AtencaoBasica/RelatorioCuidadoPessoaComDiabeteController.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

61 lines
2.3 KiB
PHP

<?php
namespace App\Http\Controllers\Impressao\AtencaoBasica;
use App\Http\Controllers\Controller;
use App\Models\AtencaoBasica\Parametrizacao\Equipe;
use App\Models\Cadastro\Estabelecimento\Unidade;
use App\Models\Cadastro\SujeitoAtencao\Paciente;
use App\Models\Cadastro\SujeitoAtencao\Sexo;
use App\Services\AtencaoBasica\RelatorioCuidadoPessoaComDiabeteService;
use App\Utils\DataUtil;
use App\Utils\Exports\Pdf1;
class RelatorioCuidadoPessoaComDiabeteController extends Controller
{
private const TITLE = 'RELATÓRIO C4 - CUIDADO DA PESSOA COM DIABETES';
private const TEMPLATE = 'atencao-basica.relatorio-cuidado-pessoa-com-diabete';
public function __invoke()
{
$unidade = Unidade::find(request()->unidade_id);
$equipe = Equipe::find(request()->equipe_id);
$sexo = Sexo::find(request()->sexo_id);
$paciente = Paciente::find(request()->paciente_id);
$itens = RelatorioCuidadoPessoaComDiabeteService::index();
$data = [
'periodo' => [
'inicio' => request()->periodo['start'],
'fim' => request()->periodo['end'],
],
'ano' => request()->ano ?? null,
'quadrimestre' => self::getQuadrimestre(request()->quadrimestre) ?? null,
'unidade' => $unidade->nome_fantasia ?? 'Todas',
'equipe' => $equipe->nome ?? 'Todas',
'boas_praticas' => request()->boas_praticas ?? [],
'sexo' => $sexo->descricao ?? 'Todos',
'idade_anos_minimo' => request()->idade_anos_minimo ?? '-',
'idade_anos_maximo' => request()->idade_anos_maximo ?? '-',
'paciente' => $paciente->nome ?? 'Todos',
'busca_ativa' => DataUtil::getBooleanValueFromStringBoolean(request()->busca_ativa) ?? false,
'fora_area' => DataUtil::getBooleanValueFromStringBoolean(request()->fora_area) ?? false,
'itens' => $itens,
];
return Pdf1::generate(self::TITLE, self::TEMPLATE, $data, 'landscape');
}
private static function getQuadrimestre($value)
{
switch ($value) {
case 1:
return '1º Janeiro a Abril';
case 2:
return '2º Maio a Agosto';
case 3:
return '3º Setembro a Dezembro';
}
}
}