init commit
All checks were successful
build-api-image / build (push) Successful in 51s

This commit is contained in:
Antonio Lopes dos Santos
2026-08-04 16:52:02 -03:00
commit afec302c3e
11594 changed files with 1636728 additions and 0 deletions

View File

@@ -0,0 +1,494 @@
<?php
namespace App\Services\AtencaoBasica\Exportacao;
use App\Enums\AtencaoBasica\CadastroDomiciliar\ImovelTipo;
use App\Enums\AtencaoBasica\CadastroDomiciliar\Zona;
use App\Enums\AtencaoBasica\Exportacao\SalarioMinimo;
use App\Enums\AtencaoBasica\Procedimento\TipoDadoSerializado;
use App\Models\AtencaoBasica\CadastroDomiciliar\CadastroDomiciliar;
use App\Models\AtencaoBasica\Exportacao\Exportacao;
use App\Rules\Cns;
use App\Services\Service;
use Carbon\Carbon;
use DOMDocument;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
use ZipArchive;
class FichaCadastroDomiciliarService extends Service
{
public static function create($arquivo_caminho, $arquivo_nome, $exportacaoArquivoId, $usuarioId = null)
{
$mes_ano = request()->mes_ano;
foreach (self::getFichasCadastroDomiciliar($mes_ano) as $fichaCadastroDomiciliar) {
$dadosExportacao = self::getDadosExportacao($fichaCadastroDomiciliar, $exportacaoArquivoId, $usuarioId);
$xmlPath = Storage::path($arquivo_caminho . 'xml_temp.xml');
$dadosExportacao['dom']->save($xmlPath);
$zip = new ZipArchive;
$zip->open(Storage::path($arquivo_caminho . $arquivo_nome), ZipArchive::CREATE);
$zip->addFile($xmlPath, 'CD_' . $dadosExportacao['exportacao']->uuid . '.esus.xml');
$zip->close();
unlink($xmlPath);
}
}
public static function gerarExportacoes($mesAnoInicial)
{
$exportacoes = collect();
foreach (self::getFichasCadastroDomiciliar($mesAnoInicial, false) as $fichaCadastroDomiciliar) {
$dadosExportacao = self::getDadosExportacao($fichaCadastroDomiciliar);
$exportacoes->push([
'exportacao_id' => $dadosExportacao['exportacao']->id,
'data_atendimento' => $fichaCadastroDomiciliar->data_usuario_responsavel,
'usuario_id' => $fichaCadastroDomiciliar->usuario->id,
'ocupacao_id' => $fichaCadastroDomiciliar->ocupacao->id,
'equipe_id' => $fichaCadastroDomiciliar->equipe->id,
'cadastro_domiciliar_id' => $fichaCadastroDomiciliar->id,
'pacientes' => $dadosExportacao['pacientes'],
'xml' => [
'nome_arquivo' => 'CD_' . $dadosExportacao['exportacao']->uuid . '.esus.xml',
'conteudo' => $dadosExportacao['dom']->saveXml(),
]
]);
}
return $exportacoes;
}
private static function getFichasCadastroDomiciliar($mes_ano, $somenteMesAno = true)
{
return CadastroDomiciliar::whereNull('exportacao_id')
->when($somenteMesAno,
fn ($q) => $q->whereYear('data_usuario_responsavel', substr($mes_ano, 2))
->whereMonth('data_usuario_responsavel', substr($mes_ano, 0, 2)),
fn ($q) => $q->where(function ($q) use ($mes_ano) {
$q->whereYear('data_usuario_responsavel', '>', substr($mes_ano, 2))
->orWhere(function ($q) use ($mes_ano) {
$q->whereYear('data_usuario_responsavel', substr($mes_ano, 2))
->whereMonth('data_usuario_responsavel', '>=', substr($mes_ano, 0, 2));
});
})
)
->get();
}
private static function getDadosExportacao($fichaCadastroDomiciliar, $exportacaoArquivoId = null, $usuarioId = null)
{
$pacientesPosicoes = collect();
$uuid = ExportacaoService::getUuid($fichaCadastroDomiciliar->equipe->unidade->cnes);
$instituicaoOutrosProfissionais = $fichaCadastroDomiciliar->instituicao_outros_profissionais ? 'true' : 'false';
$possuiAnimais = $fichaCadastroDomiciliar->possui_animais ? 'true' : 'false';
$recusaCadastro = $fichaCadastroDomiciliar->recusa_cadastro ? 'true' : 'false';
$foraArea = $fichaCadastroDomiciliar->fora_area ? 'true' : 'false';
$energiaEletrica = $fichaCadastroDomiciliar->energia_eletrica ? 'true' : 'false';
$fichaAtualizada = $fichaCadastroDomiciliar->uuid_ficha != null ? 'true' : 'false';
$semNumero = $fichaCadastroDomiciliar->domicilio->endereco->sem_numero ? 'true' : 'false';
$cidadao = $fichaCadastroDomiciliar->domicilio->cidadaos()->first();
if ($cidadao) {
$telefone = $cidadao->telefones->filter(fn ($t) => Str::length($t->numero) === 11)->first()->numero ?? null;
}
$residentes = self::getResidentes($fichaCadastroDomiciliar->domicilio_id);
$dom = new DOMDocument('1.0', 'UTF-8');
$dadoTransporteTransportXml = $dom->createElementNS('http://esus.ufsc.br/dadotransporte', 'ns3:dadoTransporteTransportXml');
$dadoTransporteTransportXml->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:ns2', 'http://esus.ufsc.br/dadoinstalacao');
$dadoTransporteTransportXml->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:ns3', 'http://esus.ufsc.br/dadotransporte');
$dadoTransporteTransportXml->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:ns4', 'http://esus.ufsc.br/cadastrodomiciliar');
$dadoTransporteTransportXml->appendChild($dom->createElement('uuidDadoSerializado', $uuid));
$dadoTransporteTransportXml->appendChild($dom->createElement('tipoDadoSerializado', TipoDadoSerializado::CADASTRO_DOMICILIAR));
$dadoTransporteTransportXml->appendChild($dom->createElement('codIbge', $fichaCadastroDomiciliar->equipe->infraestrutura->endereco->logradouro->municipio->ibge));
$dadoTransporteTransportXml->appendChild($dom->createElement('cnesDadoSerializado', $fichaCadastroDomiciliar->equipe->unidade->cnes));
if($fichaCadastroDomiciliar->equipe->area->numero_ine){
$dadoTransporteTransportXml->appendChild($dom->createElement('ineDadoSerializado', $fichaCadastroDomiciliar->equipe->area->numero_ine));
}
$cadastroDomiciliarTransport = $dom->createElement('ns4:cadastroDomiciliarTransport');
$dadoTransporteTransportXml->appendChild($cadastroDomiciliarTransport);
if ($recusaCadastro == 'false') {
if ($possuiAnimais == 'true' && optional($fichaCadastroDomiciliar->imovelTipo)->codigo_esus == ImovelTipo::DOMICILIO) {
self::getAnimais($dom, $fichaCadastroDomiciliar, $cadastroDomiciliarTransport);
}
$codigoImovel = $fichaCadastroDomiciliar->imovelTipo->codigo_esus ?? null;
if (self::handleTipoImovelPermitido($codigoImovel)) {
$condicaoMoradia = $dom->createElement('condicaoMoradia');
$cadastroDomiciliarTransport->appendChild($condicaoMoradia);
if ($fichaCadastroDomiciliar->abastecimento) {
$condicaoMoradia->appendChild($dom->createElement('abastecimentoAgua', $fichaCadastroDomiciliar->abastecimento->codigo_esus));
}
if (self::handleTipoImovelPermitidoRural($codigoImovel)
&& (($fichaCadastroDomiciliar->domicilioZona->codigo_esus ?? null) == Zona::RURAL)
) {
$condicaoMoradia->appendChild($dom->createElement('areaProducaoRural', $fichaCadastroDomiciliar->situacaoRural->codigo_esus ?? null));
}
if ($fichaCadastroDomiciliar->destinoLixo) {
$condicaoMoradia->appendChild($dom->createElement('destinoLixo', $fichaCadastroDomiciliar->destinoLixo->codigo_esus));
}
if ($fichaCadastroDomiciliar->formaEscoamento) {
$condicaoMoradia->appendChild($dom->createElement('formaEscoamentoBanheiro', $fichaCadastroDomiciliar->formaEscoamento->codigo_esus));
}
if ($fichaCadastroDomiciliar->domicilioZona) {
$condicaoMoradia->appendChild($dom->createElement('localizacao', $fichaCadastroDomiciliar->domicilioZona->codigo_esus));
}
if (self::handleTipoImovelPermitidoRural($codigoImovel)) {
if ($fichaCadastroDomiciliar->materialPredominante) {
$condicaoMoradia->appendChild($dom->createElement('materialPredominanteParedesExtDomicilio', $fichaCadastroDomiciliar->materialPredominante->codigo_esus));
}
$condicaoMoradia->appendChild($dom->createElement('nuComodos', $fichaCadastroDomiciliar->quantidade_comodos));
}
if ($residentes->sum('total_residentes') > 0) {
$condicaoMoradia->appendChild($dom->createElement('nuMoradores',$residentes->sum('total_residentes')));
}
if (self::handleTipoImovelPermitidoRural($codigoImovel)) {
if ($fichaCadastroDomiciliar->SituacaoDomicilio) {
$condicaoMoradia->appendChild($dom->createElement('situacaoMoradiaPosseTerra', $fichaCadastroDomiciliar->SituacaoDomicilio->codigo_esus));
}
}
$condicaoMoradia->appendChild($dom->createElement('stDisponibilidadeEnergiaEletrica', $energiaEletrica));
if (self::handleTipoImovelPermitidoRural($codigoImovel)) {
if ($fichaCadastroDomiciliar->domicilioTipoAcesso) {
$condicaoMoradia->appendChild($dom->createElement('tipoAcessoDomicilio', $fichaCadastroDomiciliar->domicilioTipoAcesso->codigo_esus));
}
if ($fichaCadastroDomiciliar->domicilioTipo) {
$condicaoMoradia->appendChild($dom->createElement('tipoDomicilio', $fichaCadastroDomiciliar->domicilioTipo->codigo_esus));
}
}
if ($fichaCadastroDomiciliar->tratamento) {
$condicaoMoradia->appendChild($dom->createElement('aguaConsumoDomicilio', $fichaCadastroDomiciliar->tratamento->codigo_esus));
}
}
$cadastroDomiciliarTransport->appendChild($dom->createElement('tipoEndereco', 3));
$enderecoLocalPermanencia = $dom->createElement('enderecoLocalPermanencia');
$cadastroDomiciliarTransport->appendChild($enderecoLocalPermanencia);
$enderecoLocalPermanencia->appendChild($dom->createElement('bairro', $fichaCadastroDomiciliar->domicilio->endereco->logradouro->bairro->nome));
$enderecoLocalPermanencia->appendChild($dom->createElement('cep', $fichaCadastroDomiciliar->domicilio->endereco->logradouro->cep));
$enderecoLocalPermanencia->appendChild($dom->createElement('codigoIbgeMunicipio', $fichaCadastroDomiciliar->domicilio->endereco->logradouro->municipio->ibge));
if ($fichaCadastroDomiciliar->domicilio->endereco->complemento) {
$enderecoLocalPermanencia->appendChild($dom->createElement('complemento', $fichaCadastroDomiciliar->domicilio->endereco->complemento));
}
$enderecoLocalPermanencia->appendChild($dom->createElement('nomeLogradouro', $fichaCadastroDomiciliar->domicilio->endereco->logradouro->nome));
if($semNumero == 'false'){
$enderecoLocalPermanencia->appendChild($dom->createElement('numero', $fichaCadastroDomiciliar->domicilio->endereco->numero));
}
$enderecoLocalPermanencia->appendChild($dom->createElement('numeroDneUf', str_pad($fichaCadastroDomiciliar->domicilio->endereco->logradouro->municipio->estado->codigo,2 ,'0', STR_PAD_LEFT)));
if (isset($telefone)) {
$enderecoLocalPermanencia->appendChild($dom->createElement('telefoneContato', $telefone));
}
$enderecoLocalPermanencia->appendChild($dom->createElement('tipoLogradouroNumeroDne', $fichaCadastroDomiciliar->domicilio->endereco->logradouro->tipo->codigo));
$enderecoLocalPermanencia->appendChild($dom->createElement('stSemNumero', $semNumero));
if ($fichaCadastroDomiciliar->domicilio->endereco->referencia) {
$enderecoLocalPermanencia->appendChild($dom->createElement('pontoReferencia', $fichaCadastroDomiciliar->domicilio->endereco->referencia));
}
if ($foraArea == 'false' && $fichaCadastroDomiciliar->microarea) {
$enderecoLocalPermanencia->appendChild($dom->createElement('microArea', str_pad($fichaCadastroDomiciliar->microarea->descricao, 2, '0', STR_PAD_LEFT)));
}
$enderecoLocalPermanencia->appendChild($dom->createElement('stForaArea', $foraArea));
}
if ($fichaCadastroDomiciliar->domicilio->endereco->latitude) {
$cadastroDomiciliarTransport->appendChild($dom->createElement('latitude', $fichaCadastroDomiciliar->domicilio->endereco->latitude));
}
if ($fichaCadastroDomiciliar->domicilio->endereco->longitude) {
$cadastroDomiciliarTransport->appendChild($dom->createElement('longitude', $fichaCadastroDomiciliar->domicilio->endereco->longitude));
}
if ($recusaCadastro == 'false' && $fichaCadastroDomiciliar->imovelTipo && $fichaCadastroDomiciliar->imovelTipo->codigo_esus == ImovelTipo::DOMICILIO) {
foreach ($residentes as $i => $residente) {
$pacientesPosicoes->push([
'posicao' => $i + 1,
'id' => $residente->paciente_id,
]);
$familias = $dom->createElement('familias');
$cadastroDomiciliarTransport->appendChild($familias);
$familias->appendChild($dom->createElement('dataNascimentoResponsavel', strtotime($residente->data_nascimento) * 1000));
if (Cns::isValid($residente->cns)) {
$familias->appendChild($dom->createElement('numeroCnsResponsavel', $residente->cns ?? ''));
}
if (!Cns::isValid($residente->cns)) {
$familias->appendChild($dom->createElement('cpfResponsavel', $residente->cpf ?? ''));
}
$familias->appendChild($dom->createElement('numeroMembrosFamilia', $residente->total_residentes));
$familias->appendChild($dom->createElement('numeroProntuario', $residente->prontuario));
if ($residente->total_renda && $residente->salario_minimo) {
$familias->appendChild($dom->createElement('rendaFamiliar', self::getRendaMensal($residente)));
}
}
}
$cadastroDomiciliarTransport->appendChild($dom->createElement('fichaAtualizada', $fichaAtualizada));
if ($recusaCadastro == 'false' && $possuiAnimais == 'true' && $fichaCadastroDomiciliar->quantidade_animais
&& $fichaCadastroDomiciliar->imovelTipo->codigo_esus == ImovelTipo::DOMICILIO) {
$cadastroDomiciliarTransport->appendChild($dom->createElement('quantosAnimaisNoDomicilio', $fichaCadastroDomiciliar->quantidade_animais));
}
if ($recusaCadastro == 'false' && $fichaCadastroDomiciliar->imovelTipo && $fichaCadastroDomiciliar->imovelTipo->codigo_esus == ImovelTipo::DOMICILIO) {
$cadastroDomiciliarTransport->appendChild($dom->createElement('stAnimaisNoDomicilio', $possuiAnimais));
}
$cadastroDomiciliarTransport->appendChild($dom->createElement('statusTermoRecusa', $recusaCadastro));
$cadastroDomiciliarTransport->appendChild($dom->createElement('tpCdsOrigem', '3'));
$cadastroDomiciliarTransport->appendChild($dom->createElement('uuid', $uuid));
if ($fichaAtualizada == 'true') {
$cadastroDomiciliarTransport->appendChild($dom->createElement('uuidFichaOriginadora', $fichaCadastroDomiciliar->uuid_ficha));
} else {
$cadastroDomiciliarTransport->appendChild($dom->createElement('uuidFichaOriginadora', $uuid));
}
$codigoEsus = $fichaCadastroDomiciliar->imovelTipo->codigo_esus ?? null;
$cadastroDomiciliarTransport->appendChild($dom->createElement('tipoDeImovel', $codigoEsus ?? ''));
if ($recusaCadastro == 'false' && $codigoEsus !== null && self::handleTipoImovelPermanencia($codigoEsus)) {
$instituicaoPermanencia = $dom->createElement('instituicaoPermanencia');
$cadastroDomiciliarTransport->appendChild($instituicaoPermanencia);
$instituicaoPermanencia->appendChild($dom->createElement('nomeInstituicaoPermanencia', $fichaCadastroDomiciliar->instituicao_nome));
$instituicaoPermanencia->appendChild($dom->createElement('stOutrosProfissionaisVinculados', $instituicaoOutrosProfissionais));
$instituicaoPermanencia->appendChild($dom->createElement('nomeResponsavelTecnico', $fichaCadastroDomiciliar->instituicao_nome_responsavel_tecnico));
$instituicaoPermanencia->appendChild($dom->createElement('cnsResponsavelTecnico', $fichaCadastroDomiciliar->instituicao_cns_responsavel_tecnico));
$instituicaoPermanencia->appendChild($dom->createElement('cargoInstituicao', $fichaCadastroDomiciliar->instituicao_cargo_responsavel_tecnico));
$instituicaoPermanencia->appendChild($dom->createElement('telefoneResponsavelTecnico', $fichaCadastroDomiciliar->instituicao_telefone_responsavel_tecnico));
}
$headerTransport = $dom->createElement('headerTransport');
$cadastroDomiciliarTransport->appendChild($headerTransport);
$headerTransport->appendChild($dom->createElement('profissionalCNS', $fichaCadastroDomiciliar->usuario->cidadao->cns ?? ''));
$headerTransport->appendChild($dom->createElement('cboCodigo_2002', $fichaCadastroDomiciliar->ocupacao->codigo));
$headerTransport->appendChild($dom->createElement('cnes', $fichaCadastroDomiciliar->equipe->unidade->cnes));
if($fichaCadastroDomiciliar->equipe->area->numero_ine){
$headerTransport->appendChild($dom->createElement('ine', $fichaCadastroDomiciliar->equipe->area->numero_ine));
}
$headerTransport->appendChild($dom->createElement('dataAtendimento', strtotime($fichaCadastroDomiciliar->data_usuario_responsavel) * 1000));
$headerTransport->appendChild($dom->createElement('codigoIbgeMunicipio', $fichaCadastroDomiciliar->equipe->infraestrutura->endereco->logradouro->municipio->ibge));
$dom->appendChild($dadoTransporteTransportXml);
ExportacaoService::elementRemetente($dom, $dadoTransporteTransportXml);
ExportacaoService::elementOriginadora($dom, $dadoTransporteTransportXml);
ExportacaoService::elementVersao($dom, $dadoTransporteTransportXml);
$exportacao = new Exportacao();
$exportacao->uuid = $uuid;
$exportacao->exportacao_arquivo_id = $exportacaoArquivoId;
$exportacao->save();
$fichaCadastroDomiciliar->uuid_ficha = $uuid;
$fichaCadastroDomiciliar->exportacao_id = $exportacao->id;
$fichaCadastroDomiciliar->data_hora_exportacao = Carbon::now()->format('Y-m-d H:i:s');
$fichaCadastroDomiciliar->usuario_exportacao_id = $usuarioId ?? self::getCurrentLotacao()->usuario_id ?? null;
$fichaCadastroDomiciliar->save();
return [
'exportacao' => $exportacao,
'dom' => $dom,
'pacientes' => $pacientesPosicoes,
];
}
private static function getResidentes($id)
{
return DB::table('cadastro_cidadao')
->select([
'cadastro_paciente.id AS paciente_id',
'atencao_basica_cadastro_individual.responsavel AS responsavel',
'atencao_basica_cadastro_individual.responsavel_cidadao_id AS responsavel_cidadao_id',
'cadastro_cidadao.data_nascimento',
'cadastro_cidadao.cns',
'cadastro_cidadao.cpf',
'atencao_basica_cadastro_individual.renda_mensal as renda_responsavel',
DB::raw('LPAD(cadastro_paciente.prontuario,7,0) AS prontuario'),
DB::raw('(
SELECT COUNT(*) + 1
FROM atencao_basica_cadastro_individual
WHERE responsavel_cidadao_id = cadastro_cidadao.id
) AS total_residentes'),
DB::raw('(
SELECT salario_minimo
FROM atencao_basica_parametrizacao_outros
) AS salario_minimo'),
DB::raw('(atencao_basica_cadastro_individual.renda_mensal + COALESCE((
SELECT SUM(ci.renda_mensal)
FROM atencao_basica_cadastro_individual as ci
WHERE ci.responsavel_cidadao_id = cadastro_cidadao.id
), 0)) AS total_renda')
])
->join('cadastro_paciente', 'cadastro_paciente.cidadao_id', 'cadastro_cidadao.id')
->leftJoin('atencao_basica_cadastro_individual', 'atencao_basica_cadastro_individual.paciente_id', 'cadastro_paciente.id')
->where('cadastro_cidadao.domicilio_id', $id)
->where('atencao_basica_cadastro_individual.responsavel', true)
->whereNotExists(function ($query) {
$query->select(DB::raw(1))
->from('cadastro_obito')
->whereColumn('cadastro_obito.cidadao_id', 'cadastro_cidadao.id');
})
->get();
}
private static function getAnimais(&$dom, $fichaCadastroDomiciliar, &$cadastroDomiciliarTransport){
$animais = DB::table('atencao_basica_cadastro_domiciliar_animal')
->select([
'atencao_basica_cadastro_animal.codigo_esus',
])
->join(
'atencao_basica_cadastro_animal',
'atencao_basica_cadastro_animal.id',
'atencao_basica_cadastro_domiciliar_animal.animal_id'
)
->where('atencao_basica_cadastro_domiciliar_animal.cadastro_domiciliar_id', $fichaCadastroDomiciliar->id)
->get();
foreach ($animais as $animal) {
$cadastroDomiciliarTransport->appendChild($dom->createElement('animaisNoDomicilio', $animal->codigo_esus));
}
}
private static function handleTipoImovelPermitido($tipoImovel) {
return $tipoImovel == ImovelTipo::DOMICILIO
|| $tipoImovel == ImovelTipo::ABRIGO
|| $tipoImovel == ImovelTipo::INSTITUICAO_LONGA_PERMANENCIA_IDOSOS
|| $tipoImovel == ImovelTipo::UNIDADE_PRISIONAL
|| $tipoImovel == ImovelTipo::UNIDADE_MEDIDA_SOCIO_EDUCATIVA
|| $tipoImovel == ImovelTipo::DELEGACIA ? true : false;
}
private static function handleTipoImovelPermanencia($tipoImovel) {
return $tipoImovel == ImovelTipo::ABRIGO
|| $tipoImovel == ImovelTipo::INSTITUICAO_LONGA_PERMANENCIA_IDOSOS
|| $tipoImovel == ImovelTipo::UNIDADE_PRISIONAL
|| $tipoImovel == ImovelTipo::UNIDADE_MEDIDA_SOCIO_EDUCATIVA
|| $tipoImovel == ImovelTipo::DELEGACIA ? true : false;
}
private static function handleTipoImovelPermitidoRural($tipoImovel) {
return $tipoImovel == ImovelTipo::DOMICILIO
|| $tipoImovel == ImovelTipo::COMERCIO
|| $tipoImovel == ImovelTipo::TERRENO_BALDIO
|| $tipoImovel == ImovelTipo::PONTO_ESTRATEGICO
|| $tipoImovel == ImovelTipo::ESCOLA
|| $tipoImovel == ImovelTipo::CRECHE
|| $tipoImovel == ImovelTipo::ESTABELECIMENTO_RELIGIOSO
|| $tipoImovel == ImovelTipo::OUTROS ? true : false;
}
private static function getRendaMensal($residente) {
$renda = $residente->total_renda;
$salarioMinimo = $residente->salario_minimo;
if ($renda <= 0.25 * $salarioMinimo) {
return SalarioMinimo::UM_QUARTO_SALARIO_MINIMO;
} elseif ($renda <= 0.5 * $salarioMinimo) {
return SalarioMinimo::MEIO_SALARIO_MINIMO;
} elseif ($renda <= $salarioMinimo) {
return SalarioMinimo::UM_QUARTO_SALARIO_MINIMO;
} elseif ($renda <= 2 * $salarioMinimo) {
return SalarioMinimo::DOIS_SALARIO_MINIMO;
} elseif ($renda <= 3 * $salarioMinimo) {
return SalarioMinimo::TRES_SALARIO_MINIMO;
} elseif ($renda <= 4 * $salarioMinimo) {
return SalarioMinimo::QUATRO_SALARIO_MINIMO;
} else {
return SalarioMinimo::ACIMA_QUATRO_SALARIO_MINIMO;
}
}
}