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,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);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\WebService\Almoxarifado\Cliente\Entrada;
use App\Services\WebService\Almoxarifado\Cliente\EntradaService;
use Exception;
use Illuminate\Http\Response;
class InvalidSearchPeriodException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O período de busca ultrapassa o limite de ' . EntradaService::LIMITE_DIAS_PERIODO_BUSCA . ' dias.'
], 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 PeriodoContabilClosedException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Entrada não permitida. A data do documento está em um período contábil fechado.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\WebService\Almoxarifado\Cliente\Fabricante;
use Exception;
use Illuminate\Http\Response;
class CannotDeleteFabricanteException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O fabricante não pode ser excluído, pois possui vínculo com entrada(s).'
], Response::HTTP_BAD_REQUEST);
}
}

View File

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

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\WebService\Almoxarifado\Cliente\Fornecedor;
use Exception;
use Illuminate\Http\Response;
class CannotDeleteFornecedorException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O fornecedor não pode ser excluído, pois possui vínculo com entrada(s).'
], Response::HTTP_BAD_REQUEST);
}
}

View File

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

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\WebService\Almoxarifado\Cliente\Material;
use Exception;
use Illuminate\Http\Response;
class CannotDeleteMaterialException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O material não pode ser excluído, pois possui vínculo com entrada(s).'
], Response::HTTP_BAD_REQUEST);
}
}

View File

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

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\WebService\Almoxarifado\Cliente\PeriodoContabil;
use Exception;
use Illuminate\Http\Response;
class ConflictException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O período contábil informado conflita com outro período contábil já cadastrado.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\WebService\Almoxarifado\Cliente\PeriodoContabil;
use App\Services\WebService\Almoxarifado\Cliente\PeriodoContabilService;
use Exception;
use Illuminate\Http\Response;
class InvalidDaysLimitException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O período contábil ultrapassa o limite de ' . PeriodoContabilService::LIMITE_DIAS_PERIODO . ' dias.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\WebService\Almoxarifado\Cliente\PeriodoContabil;
use Exception;
use Illuminate\Http\Response;
class PeriodoContabilNotFoundException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Período contábil não encontrado.'
], Response::HTTP_NOT_FOUND);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Exceptions\WebService\Almoxarifado\Cliente\Saida;
use App\Services\WebService\Almoxarifado\Cliente\SaidaService;
use Exception;
use Illuminate\Http\Response;
class InvalidSearchPeriodException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O período de busca ultrapassa o limite de ' . SaidaService::LIMITE_DIAS_PERIODO_BUSCA . ' dias.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\WebService\Almoxarifado\Cliente\Unidade;
use Exception;
use Illuminate\Http\Response;
class CannotDeleteUnidadeException extends Exception
{
public function render()
{
return response()->json([
'message' => 'A unidade não pode ser excluída, pois possui vínculo com entrada(s).'
], Response::HTTP_BAD_REQUEST);
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Exceptions\WebService\Ambulatorio\ConectaSus;
use Exception;
use Illuminate\Http\Response;
class FeridaNotFoundException extends Exception
{
private string $identificador;
private ?int $indice;
public function __construct(string $identificador, ?int $indice = null)
{
$this->identificador = $identificador;
$this->indice = $indice;
parent::__construct();
}
public function render()
{
$msg = "Ferida com identificador externo '{$this->identificador}' não encontrada.";
if ($this->indice !== null) {
$msg = "Ferida [{$this->indice}]: {$msg}";
}
return response()->json([
'message' => $msg
], Response::HTTP_UNPROCESSABLE_ENTITY);
}
}

View File

@@ -0,0 +1,27 @@
<?php
namespace App\Exceptions\WebService\Ambulatorio\ConectaSus;
use Exception;
use Illuminate\Http\Response;
class LocalAnatomicoAusenteException extends Exception
{
private ?int $indice;
public function __construct(?int $indice = null)
{
$this->indice = $indice;
parent::__construct();
}
public function render()
{
$msg = 'É necessário informar ao menos o local anatômico ou o local anatômico região.';
if ($this->indice !== null) {
$msg = "Ferida [{$this->indice}]: {$msg}";
}
return response()->json([
'message' => $msg
], Response::HTTP_UNPROCESSABLE_ENTITY);
}
}

View File

@@ -0,0 +1,32 @@
<?php
namespace App\Exceptions\WebService\Ambulatorio\ConectaSus;
use Exception;
use Illuminate\Http\Response;
class LocalAnatomicoInconsistenteException extends Exception
{
private string $pai;
private string $filho;
private ?int $indice;
public function __construct(string $pai = '', string $filho = '', ?int $indice = null)
{
$this->pai = $pai;
$this->filho = $filho;
$this->indice = $indice;
parent::__construct();
}
public function render()
{
$msg = ($this->pai && $this->filho)
? "Local anatômico '{$this->pai}' não corresponde ao local anatômico região '{$this->filho}'."
: 'Local anatômico informado não corresponde ao local anatômico região.';
if ($this->indice !== null) {
$msg = "Ferida [{$this->indice}]: {$msg}";
}
return response()->json([
'message' => $msg
], Response::HTTP_UNPROCESSABLE_ENTITY);
}
}

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Exceptions\WebService\Ambulatorio\ConectaSus;
use Exception;
use Illuminate\Http\Response;
class LocalAnatomicoNotFoundException extends Exception
{
private string $valor;
private ?int $indice;
public function __construct(string $valor, ?int $indice = null)
{
$this->valor = $valor;
$this->indice = $indice;
parent::__construct();
}
public function render()
{
$msg = "Local anatômico '{$this->valor}' não encontrado.";
if ($this->indice !== null) {
$msg = "Ferida [{$this->indice}]: {$msg}";
}
return response()->json([
'message' => $msg
], Response::HTTP_UNPROCESSABLE_ENTITY);
}
}

View File

@@ -0,0 +1,31 @@
<?php
namespace App\Exceptions\WebService\Ambulatorio\ConectaSus;
use Exception;
use Illuminate\Http\Response;
class LocalAnatomicoRegiaoInativoException extends Exception
{
private string $valor;
private ?int $indice;
public function __construct(string $valor = '', ?int $indice = null)
{
$this->valor = $valor;
$this->indice = $indice;
parent::__construct();
}
public function render()
{
$msg = $this->valor
? "Local anatômico região '{$this->valor}' está inativo."
: 'Local anatômico região informado está inativo.';
if ($this->indice !== null) {
$msg = "Ferida [{$this->indice}]: {$msg}";
}
return response()->json([
'message' => $msg
], Response::HTTP_UNPROCESSABLE_ENTITY);
}
}

View File

@@ -0,0 +1,31 @@
<?php
namespace App\Exceptions\WebService\Ambulatorio\ConectaSus;
use Exception;
use Illuminate\Http\Response;
class LocalAnatomicoRegiaoNotFoundException extends Exception
{
private string $valor;
private ?int $indice;
public function __construct(string $valor = '', ?int $indice = null)
{
$this->valor = $valor;
$this->indice = $indice;
parent::__construct();
}
public function render()
{
$msg = $this->valor
? "Local anatômico região '{$this->valor}' não encontrado ou inexistente."
: 'Local anatômico região não encontrado ou inexistente.';
if ($this->indice !== null) {
$msg = "Ferida [{$this->indice}]: {$msg}";
}
return response()->json([
'message' => $msg
], Response::HTTP_UNPROCESSABLE_ENTITY);
}
}

View File

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

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\WebService\Laboratorio\Cliente\Exame;
use Exception;
use Illuminate\Http\Response;
class CannotDeleteExameException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O exame não pode ser excluído, pois possui vínculo com pedido(s) de exame em processamento.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

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

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\WebService\Laboratorio\Cliente\Laboratorio;
use Exception;
use Illuminate\Http\Response;
class CannotDeleteLaboratorioException extends Exception
{
public function render()
{
return response()->json([
'message' => 'O laboratório não pode ser excluído, pois possui vínculo com exame(s).'
], Response::HTTP_BAD_REQUEST);
}
}

View File

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

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Exceptions\WebService\Laboratorio\Cliente\Pedido;
use Exception;
use Illuminate\Http\Response;
class CannotChangeStatusException extends Exception
{
public function __construct($message = null)
{
parent::__construct($message ?? 'O status do pedido não pode ser alterado.');
}
public function render()
{
return response()->json([
'message' => $this->message
], Response::HTTP_BAD_REQUEST);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Exceptions\WebService\Laboratorio\Cliente\Pedido;
use Exception;
use Illuminate\Http\Response;
class IncompleteExameParametrizationException extends Exception
{
public function render()
{
return response()->json([
'message' => 'Um ou mais exames do pedido não foram vinculados com exames do cliente.'
], Response::HTTP_BAD_REQUEST);
}
}

View File

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

View File

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