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,17 @@
<?php
namespace App\Exceptions\Almoxarifado;
use Exception;
use Illuminate\Http\Response;
class BaixaEstoqueIndisponivelException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O material está sem a quantidade informada disponível. '
. 'Favor atualizar o estoque e informar uma quantidade disponível.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace App\Exceptions\Almoxarifado;
use Exception;
use Illuminate\Http\Response;
class EstoqueIndisponivelException extends Exception
{
public function render()
{
$materiais = collect(json_decode($this->getMessage()))->pluck('descricao');
$message = $materiais->count() > 1
? 'Os seguintes materiais estão sem as quantidades informadas disponíveis'
: 'O seguinte material está sem a quantidade informada disponível';
return response()->json([
'message' => $message . ':<br>' . $materiais->join('<br>')
. '<br>Favor informar novamente com o estoque disponível.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,22 @@
<?php
namespace App\Exceptions\Almoxarifado;
use Exception;
use Illuminate\Http\Response;
class EstornoNaoPermitidoException extends Exception
{
public function render()
{
$materiais = collect(json_decode($this->getMessage()))->pluck('descricao');
$message = $materiais->count() > 1
? 'Os seguintes materiais não podem ser estornados porque possuem saída(s) finalizada(s)'
: 'O seguinte material não pode ser estornado porque possui saída(s) finalizada(s)';
return response()->json([
'message' => $message . ':<br>' . $materiais->join('<br>')
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\Almoxarifado;
use Exception;
use Illuminate\Http\Response;
class FechamentoBalanceteNaoPermitidoException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Não é permitido fechar o balancete do mês atual'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\Almoxarifado;
use Exception;
use Illuminate\Http\Response;
class TransferenciaRespondidaPeloDestinoException extends Exception
{
public function render()
{
return response()->json([
'message' => 'A transferência já foi recusada ou aceita pelo destino. Alteração não permitida.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Ambulatorio;
use Exception;
use Illuminate\Http\Response;
class AgendamentoConflitanteException extends Exception
{
public function __construct()
{
$this->message = 'Já existe um agendamento neste horário.';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Ambulatorio;
use Exception;
use Illuminate\Http\Response;
class AgendamentoNaoPermitidoJornadaGrupoException extends Exception
{
public function __construct()
{
$this->message = 'Agendamento não permitido nesta jornada de grupo.';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Ambulatorio;
use Exception;
use Illuminate\Http\Response;
class ConflitoJornadaBloqueioException extends Exception
{
public function __construct()
{
$this->message = 'Bloqueio de jornada conflitante.';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Ambulatorio;
use Exception;
use Illuminate\Http\Response;
class FimExcedeuDataJornadaException extends Exception
{
public function __construct()
{
$this->message = 'O tempo total excede o limite de tempo por dia.';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Ambulatorio;
use Exception;
use Illuminate\Http\Response;
class JornadaConflitanteException extends Exception
{
public function __construct()
{
$this->message = 'Já existe outra jornada no mesmo horário. Alteração não permitida!';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Ambulatorio;
use Exception;
use Illuminate\Http\Response;
class NaoPodeAlterarStatusAgendamentoException extends Exception
{
public function __construct()
{
$this->message = 'Alteração de status não permitida.';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Ambulatorio;
use Exception;
use Illuminate\Http\Response;
class NaoPodeCriarFichaAtencaoBasicaException extends Exception
{
public function __construct()
{
$this->message = 'Ocorreu um erro na criação da ficha da atenção básica.';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Ambulatorio;
use Exception;
use Illuminate\Http\Response;
class NaoPodeExcluirAgendamentoException extends Exception
{
public function __construct()
{
$this->message = 'Exclusão não permitida.';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Ambulatorio;
use Exception;
use Illuminate\Http\Response;
class PossuiAgendamentoException extends Exception
{
public function __construct()
{
$this->message = 'Esta(s) jornada(s) já possui(em) agendamento(s). Alteração não permitida!';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Ambulatorio;
use Exception;
use Illuminate\Http\Response;
class ProtocoloFechamentoException extends Exception
{
public function __construct()
{
$this->message = 'Existe(m) protocolo(s) de fechamento não informado(s) e/ou inválido(s).';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,9 @@
<?php
namespace App\Exceptions\Apac;
use Exception;
class ProcedimentoSecundarioSemOcupacaoException extends Exception
{
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\AtencaoBasica;
use Exception;
use Illuminate\Http\Response;
class AcompanhamentoException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O acompanhamento <strong>' . json_decode($this->getMessage()) .'</strong> é incompatível com o sexo do(a) paciente.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\AtencaoBasica;
use Exception;
use Illuminate\Http\Response;
class AcompanhamentoTipoImovelException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O acompanhamento não deve ser informado para o tipo de imóvel especificado.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\AtencaoBasica;
use Exception;
use Illuminate\Http\Response;
class ArquivoException extends Exception
{
public function __construct()
{
$this->message = 'O arquivo não foi encontrado.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\AtencaoBasica\AtendimentoOdontologico;
use Exception;
use Illuminate\Http\Response;
class ExportedException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O atendimento foi exportado e não pode ser deletado.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\AtencaoBasica\AtendimentoOdontologico;
use Exception;
use Illuminate\Http\Response;
class FichaGeradaException extends Exception
{
public function render()
{
return response()->json([
'message' => 'A ficha possui vínculos e não pode ser deletada.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\AtencaoBasica;
use Exception;
use Illuminate\Http\Response;
class BuscaAtivaException extends Exception
{
public function render()
{
return response()->json([
'message' => 'A busca ativa não deve ser informada para o tipo de imóvel especificado.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\AtencaoBasica;
use Exception;
use Illuminate\Http\Response;
class CondicaoAvaliadaException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O problema / condição avaliada <strong>' . json_decode($this->getMessage()) .'</strong> é incompatível com o sexo do(a) paciente.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,18 @@
<?php
namespace App\Exceptions\AtencaoBasica;
use Exception;
use Illuminate\Http\Response;
class DesfechoException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Os motivos, a avaliação antropométrica, os sinais vitais e a glicemia não devem ser informados
para o tipo de desfecho especificado.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\AtencaoBasica;
use Exception;
use Illuminate\Http\Response;
class ExameSolicitadoAvaliadoException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O Exame <strong>' . json_decode($this->getMessage()) .'</strong> é incompatível com o sexo do(a) paciente.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\AtencaoBasica;
use Exception;
use Illuminate\Http\Response;
class ExportacaoEmAndamentoException extends Exception
{
public function __construct()
{
$this->message = 'Já existe uma exportação em andamento. Por favor, aguarde a conclusão antes de iniciar uma nova exportação.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\AtencaoBasica\FichaVacinacao;
use Exception;
use Illuminate\Http\Response;
class CnsException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O CNS do paciente não pode ser o mesmo do aplicador.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\AtencaoBasica\FichaVacinacao;
use Exception;
use Illuminate\Http\Response;
class DoseException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Dose inválida para a vacina e estratégia selecionados.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\AtencaoBasica\FichaVacinacao;
use Exception;
use Illuminate\Http\Response;
class EstrategiaException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Estratégia inválida para a vacina selecionada.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\AtencaoBasica\FichaVacinacao;
use Exception;
use Illuminate\Http\Response;
class ProdutorException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Produtor inválido'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\AtencaoBasica;
use Exception;
use Illuminate\Http\Response;
class NaoExisteFichaException extends Exception
{
public function __construct()
{
$this->message = 'Não existem fichas para exportação na competência selecionada.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\AtencaoBasica;
use Exception;
use Illuminate\Http\Response;
class OutroMotivoException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O motivo <strong>' . json_decode($this->getMessage()) .'</strong> é incompatível com o tipo de imóvel.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\AtencaoBasica;
use Exception;
use Illuminate\Http\Response;
class ParametrizacaoAtendimentoCboException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O profissional responsável pelo cadastro ainda não possui CBO parametrizado em "Atenção Básica > Outros > Atendimento por CBO > Cadastro Domiciliar".'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\AtencaoBasica;
use Exception;
use Illuminate\Http\Response;
class RastreamentoException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O rastreamento <strong>' . json_decode($this->getMessage()) .'</strong> é incompatível com o sexo do(a) paciente.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\AtencaoBasica;
use Exception;
use Illuminate\Http\Response;
class TipoVisitaException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O tipo de visita <strong>' . json_decode($this->getMessage()) .'</strong> é incompatível com o tipo de imóvel.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\AtencaoBasica;
use Exception;
use Illuminate\Http\Response;
class VisitaDuplicadaException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Já existe uma visita domiciliar registrada para este paciente com a mesma data, turno e profissional responsável.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Bpa;
use Exception;
use Illuminate\Http\Response;
class ExportacaoEmAndamentoException extends Exception
{
public function __construct()
{
$this->message = 'Já existe uma exportação em andamento. Por favor, aguarde a conclusão antes de iniciar uma nova exportação.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Broadcasting;
use Illuminate\Broadcasting\BroadcastException;
class PusherException extends BroadcastException
{
public function report()
{
}
public function render($request)
{
//TODO: Implementar exception
return response('...');
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Cadastro\SujeitoAtencao;
use Exception;
use Illuminate\Http\Response;
class AlteracaoAtencaoBasicaNaoPermitidoException extends Exception
{
public function __construct()
{
$this->message = 'O cadastro do paciente foi registrado com sucesso, porém o profissional responsável não foi informado ou não possui permissão para criar a ficha na atenção básica.';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\Cadastro\SujeitoAtencao;
use Exception;
use Illuminate\Http\Response;
class AlteracaoCadastroPacienteNaoPermitidoException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O usuário não tem permissão para alterar o cadastro.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\Cadastro\SujeitoAtencao;
use Exception;
use Illuminate\Http\Response;
class AlteracaoEnderecoNaoPermitidaException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O CBO do usuário não possui permissão para alterar o endereço.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\Cadastro\SujeitoAtencao;
use Exception;
use Illuminate\Http\Response;
class ObitoAlreadyRegisteredException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Óbito já registrado.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\Cadastro\UnidadeExterna;
use Exception;
use Illuminate\Http\Response;
class DuplicatedNomeFantasiaException extends Exception
{
public function render($request)
{
return response()->json([
'message' => 'Nome Fantasia já cadastrado para outra unidade externa!'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\Cadastro\UnidadeManutencao;
use Exception;
use Illuminate\Http\Response;
class InfraestruturaExistenteException extends Exception
{
public function render($request)
{
return response()->json([
'message' => 'A unidade selecionada já existe!'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\ExameImagem;
use Exception;
use Illuminate\Http\Response;
class ExceededCotaAgendamentoException extends Exception
{
public function render()
{
return response()->json(
json_decode(json_encode(['requires_supervisor' => true]), true),
Response::HTTP_OK
);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\ExameImagem;
use Exception;
use Illuminate\Http\Response;
class ExceededJornadaException extends Exception
{
public function render()
{
return response()->json(
json_decode(json_encode(['requires_supervisor_jornada' => true]), true),
Response::HTTP_OK
);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\ExameImagem;
use Exception;
use Illuminate\Http\Response;
class ExceededVagaJornadaException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Número de vagas atingido.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\ExameImagem;
use Exception;
use Illuminate\Http\Response;
class ProtocoloFechamentoException extends Exception
{
public function __construct()
{
$this->message = 'Existe(m) protocolo(s) de fechamento não informado(s) e/ou inválido(s).';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\ExameLaboratorial;
use Exception;
use Illuminate\Http\Response;
class ConflitoJornadaBloqueioException extends Exception
{
public function __construct()
{
$this->message = 'Bloqueio de jornada conflitante.';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\ExameLaboratorial;
use Exception;
use Illuminate\Http\Response;
class CriacaoArquivoException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Não foi possível salvar o laudo.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\ExameLaboratorial;
use Exception;
use Illuminate\Http\Response;
class DuplicatedCotaExameException extends Exception
{
public function render()
{
return response()->json([
'message' => 'A cota do exame já está cadastrada com os parâmetros informados.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\ExameLaboratorial;
use Exception;
use Illuminate\Http\Response;
class DuplicatedCotaException extends Exception
{
public function render()
{
return response()->json([
'message' => 'A cota já está cadastrada com os parâmetros informados.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\ExameLaboratorial;
use Exception;
use Illuminate\Http\Response;
class ExceededCotaAgendamentoException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O saldo atual para o agendamento foi atingido.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\ExameLaboratorial;
use Exception;
use Illuminate\Http\Response;
class ExceededCotaExameException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O saldo atual para o exame foi atingido.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\ExameLaboratorial;
use Exception;
use Illuminate\Http\Response;
class ExceededSaldoCotaUnidadeSolicitanteException extends Exception
{
public function render()
{
return response()->json([
'message' => 'A cota ultrapassa o saldo atual do período para a unidade solicitante.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\ExameLaboratorial;
use Exception;
use Illuminate\Http\Response;
class ExceededSaldoException extends Exception
{
public function render()
{
return response()->json([
'message' => 'A cota ultrapassa o saldo atual do período para o exame.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\ExameLaboratorial;
use Exception;
use Illuminate\Http\Response;
class ExceededSaldoTransferenciaExameException extends Exception
{
public function render()
{
return response()->json([
'message' => 'A cota ultrapassa o saldo atual do período para a transferência dos exames.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\ExameLaboratorial;
use Exception;
use Illuminate\Http\Response;
class ExceededSaldoTransferenciaException extends Exception
{
public function render()
{
return response()->json([
'message' => 'A cota ultrapassa o saldo atual do período para a transferência.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\ExameLaboratorial;
use Exception;
use Illuminate\Http\Response;
class ExceededVagaJornadaException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Número de vagas atingido.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\ExameLaboratorial;
use Exception;
use Illuminate\Http\Response;
class LotacaoException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Lotação não encontrada para o profissional.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace App\Exceptions\ExameLaboratorial;
use Exception;
use Illuminate\Http\Response;
class ProtocoloFechamentoException extends Exception
{
public function __construct()
{
$this->message = 'Existe(m) protocolo(s) de fechamento não informado(s) e/ou inválido(s).';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\Externo;
use Exception;
use Illuminate\Http\Response;
class InvalidCredentialsException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Usuário e/ou senha incorreto(s).'
], Response::HTTP_UNAUTHORIZED);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\Externo;
use Exception;
use Illuminate\Http\Response;
class WithoutPermissionException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Você não tem permissão para acessar este método.'
], Response::HTTP_FORBIDDEN);
}
}

View File

@@ -0,0 +1,80 @@
<?php
namespace App\Exceptions;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Database\QueryException;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Illuminate\Http\Response;
use Illuminate\Validation\ValidationException;
use Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException;
use Throwable;
class Handler extends ExceptionHandler
{
/**
* A list of the exception types that are not reported.
*
* @var array
*/
protected $dontReport = [
//
];
/**
* A list of the inputs that are never flashed for validation exceptions.
*
* @var array
*/
protected $dontFlash = [
'password',
'password_confirmation',
];
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Throwable $e
* @return \Symfony\Component\HttpFoundation\Response
*
* @throws \Throwable
*/
public function render($request, Throwable $e)
{
if ($e instanceof AuthorizationException) {
return response()->json(['message' => 'Você não tem permissão para realizar esta ação.'], Response::HTTP_FORBIDDEN);
}
if ($e instanceof ModelNotFoundException) {
return response()->json(['error' => 'Registro não encontrado.'], Response::HTTP_NOT_FOUND);
}
if ($e instanceof QueryException) {
//return response()->json(['error' => 'Definir uma mensagem para QueryException.'], Response::HTTP_NOT_FOUND);
}
if ($e instanceof UnauthorizedHttpException) {
return response()->json(['error' => 'Não Autenticado.'], Response::HTTP_UNAUTHORIZED);
}
if ($e instanceof ValidationException) {
return response()->json($e->errors(), Response::HTTP_UNPROCESSABLE_ENTITY);
}
return parent::render($request, $e);
}
/**
* Register the exception handling callbacks for the application.
*
* @return void
*/
public function register()
{
$this->reportable(function (Throwable $e) {
//TODO: Verificar se precisa implementar algo aqui
});
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Integracao\Cns;
use Exception;
use Illuminate\Http\Response;
class CertificadoDigitalInvalidoException extends Exception
{
public function __construct()
{
$this->message = 'O certificado digital é inválido.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Integracao\Cns;
use Exception;
use Illuminate\Http\Response;
class CertificadoDigitalNaoEncontradoException extends Exception
{
public function __construct()
{
$this->message = 'O certificado digital não foi ncontrado.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Integracao\Cns;
use Exception;
use Illuminate\Http\Response;
class ConsultaException extends Exception
{
public function __construct()
{
$this->message = 'Erro ao realizar a consulta, o servidor do CADSUS está offline.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Integracao\Cns;
use Exception;
use Illuminate\Http\Response;
class SenhaInvalidaException extends Exception
{
public function __construct()
{
$this->message = 'A senha do certificado é inválida.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Integracao\Cns;
use Exception;
use Illuminate\Http\Response;
class TokenException extends Exception
{
public function __construct()
{
$this->message = 'Erro ao gerar o TOKEN de acesso, o servidor do CADSUS está offline.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Integracao\Ria;
use Exception;
use Illuminate\Http\Response;
class CertificadoDigitalInvalidoException extends Exception
{
public function __construct()
{
$this->message = 'O certificado digital é inválido.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Integracao\Ria;
use Exception;
use Illuminate\Http\Response;
class CertificadoDigitalNaoEncontradoException extends Exception
{
public function __construct()
{
$this->message = 'O certificado digital não foi encontrado.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Integracao\Ria;
use Exception;
use Illuminate\Http\Response;
class EnvioException extends Exception
{
public function __construct()
{
$this->message = 'Erro ao enviar os dados para o RIA.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Integracao\Ria;
use Exception;
use Illuminate\Http\Response;
class SenhaInvalidaException extends Exception
{
public function __construct()
{
$this->message = 'A senha do certificado é inválida.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Integracao\Rira;
use Exception;
use Illuminate\Http\Response;
class CertificadoDigitalInvalidoException extends Exception
{
public function __construct()
{
$this->message = 'O certificado digital é inválido.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Integracao\Rira;
use Exception;
use Illuminate\Http\Response;
class CertificadoDigitalNaoEncontradoException extends Exception
{
public function __construct()
{
$this->message = 'O certificado digital não foi ncontrado.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Integracao\Rira;
use Exception;
use Illuminate\Http\Response;
class EnvioException extends Exception
{
public function __construct()
{
$this->message = 'Erro ao enviar os dados para o RIRA.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Exceptions\Integracao\Rira;
use Exception;
use Illuminate\Http\Response;
class SenhaInvalidaException extends Exception
{
public function __construct()
{
$this->message = 'A senha do certificado é inválida.';
}
public function render()
{
return response()->json(['message' => $this->message], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Manutencao;
use Exception;
use Illuminate\Http\Response;
class CannotStoreSolicitacaoException extends Exception
{
public function __construct()
{
$this->message = 'É preciso cadastrar um status do tipo escolhido para atualizar a solicitação.';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,15 @@
<?php
namespace App\Exceptions\Model;
use Exception;
class DeletingModelException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O registro possui vínculos e não pode ser excluído.'
], 400);
}
}

View File

@@ -0,0 +1,10 @@
<?php
namespace App\Exceptions\PainelSenha;
use Exception;
class FilaException extends Exception
{
//TODO: Implementar exception
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\ProntoAtendimento\Atendimento\Enfermagem;
use Exception;
use Illuminate\Http\Response;
class PedidoExameCannotChangeStatusException extends Exception
{
public function render($request)
{
return response()->json([
'error' => 'Um ou mais pedidos de exames não permitem alterar o status de seus exames!'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\ProntoAtendimento\Atendimento\Enfermagem;
use Exception;
use Illuminate\Http\Response;
class PedidoExameItemCannotChangeStatusException extends Exception
{
public function render($request)
{
return response()->json([
'error' => 'Um ou mais itens do pedido de exames não permitem alterar!'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\ProntoAtendimento\Atendimento\Enfermagem;
use Exception;
use Illuminate\Http\Response;
class PrescricaoInternaAplicacaoCannotChangeStatusException extends Exception
{
public function render($request)
{
return response()->json([
'error' => 'Uma ou mais aplicações da prescrição interna não permitem alterar o status!'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\ProntoAtendimento\Atendimento\Enfermagem;
use Exception;
use Illuminate\Http\Response;
class ServicoEnfermagemCannotChangeStatusException extends Exception
{
public function render($request)
{
return response()->json([
'error' => 'Um ou mais serviços de enfermagem não permitem alterar o status!'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\ProntoAtendimento\Atendimento;
use Exception;
use Illuminate\Http\Response;
class ExamesSolicitadosFinalizacaoNotAllowedException extends Exception
{
public function render($request)
{
return response()->json([
'error' => 'Finalização não permitida, um ou mais exames estão com status solicitados!'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\ProntoAtendimento\Plantao;
use Exception;
use Illuminate\Http\Response;
class ConflictingPlantaoException extends Exception
{
public function render($request)
{
return response()->json([
'message' => 'Já existe uma escala criada para este(a) profissional.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\ProntoAtendimento\Plantao;
use Exception;
use Illuminate\Http\Response;
class PlantaoComTempoAdicionalConflitanteException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Já existe um plantão com tempo adicional para este profissional.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Regulacao;
use Exception;
use Illuminate\Http\Response;
class CannotCancelSolicitacaoException extends Exception
{
public function __construct()
{
$this->message = 'A solicitação não pode ser cancelada.';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Regulacao;
use Exception;
use Illuminate\Http\Response;
class CannotCreateSolicitacaoException extends Exception
{
public function __construct()
{
$this->message = 'Necessário cadastrar pelo menos um Status com o tipo SOLICITADO.';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,35 @@
<?php
namespace App\Exceptions\Regulacao;
use Exception;
use Illuminate\Http\Response;
class CannotStoreSolicitacaoException extends Exception
{
protected $itens;
public function __construct(array $itens)
{
$this->itens = $itens;
$this->message = 'O(s) seguinte(s) procedimento(s) já foi(ram) solicitado(s): <strong>'
. implode(', ', $this->formatItens($itens))
. '</strong>. Deseja continuar?';
}
protected function formatItens(array $itens)
{
return array_map(function ($item) {
return $item['nome'] ?? 'Item desconhecido';
}, $itens);
}
public function render()
{
return response()->json([
'message' => $this->message,
'itens' => $this->formatItens($this->itens)
], Response::HTTP_CONFLICT);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Regulacao;
use Exception;
use Illuminate\Http\Response;
class CannotUpdateSolicitacaoException extends Exception
{
public function __construct()
{
$this->message = 'A solicitação não pode ser atualizada.';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Regulacao;
use Exception;
use Illuminate\Http\Response;
class CannotUpdateSolicitacoesException extends Exception
{
public function __construct()
{
$this->message = 'As solicitações não podem ser atualizadas.';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\Regulacao;
use Exception;
use Illuminate\Http\Response;
class StatusVinculadoException extends Exception
{
public function __construct()
{
$this->message = 'O status não pode ser excluído, pois está vinculado a outro(s)';
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\RestPki;
use Exception;
use Illuminate\Http\Response;
class CertificadoInvalidException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O certificado digital informado é inválido ou expirado.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\TransportePaciente;
use Exception;
use Illuminate\Http\Response;
class ExceededCapacidadeVeiculoException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Capacidade do veículo atingida.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\WebService\Almoxarifado\Cliente\Entrada;
use Exception;
use Illuminate\Http\Response;
class BalanceteConectaSusClosedException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Entrada não permitida. A data do documento está em um período com balancete (ConectaSUS) fechado.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\WebService\Almoxarifado\Cliente\Entrada;
use Exception;
use Illuminate\Http\Response;
class CannotDeleteEntradaAprovadaException extends Exception
{
public function render()
{
return response()->json([
'message' => 'A entrada não pode ser excluída, pois já foi aprovada.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\WebService\Almoxarifado\Cliente\Entrada;
use Exception;
use Illuminate\Http\Response;
class ConflictEntradaException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Já existe uma entrada para a mesma unidade, fornecedor, código de nota, '
. 'tipo de documento, data do documento, número do documento e número do pedido.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\WebService\Almoxarifado\Cliente\Entrada;
use Exception;
use Illuminate\Http\Response;
class DuplicatedMaterialLoteException extends Exception
{
public function render()
{
return response()->json([
'message' => 'A entrada possui mais de um item com o mesmo material e lote.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\WebService\Almoxarifado\Cliente\Entrada;
use Exception;
use Illuminate\Http\Response;
class EntradaNotFoundException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Entrada não encontrada.'
], Response::HTTP_NOT_FOUND);
}
}

Some files were not shown because too many files have changed in this diff Show More