33 lines
984 B
PHP
33 lines
984 B
PHP
<?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);
|
|
}
|
|
}
|