This commit is contained in:
443
api/app/Services/Integracao/Rira/DocumentoService.php
Normal file
443
api/app/Services/Integracao/Rira/DocumentoService.php
Normal file
@@ -0,0 +1,443 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Integracao\Rira;
|
||||
|
||||
use App\Enums\Regulacao\SolicitacaoPrioridade;
|
||||
use App\Enums\Regulacao\StatusTipo;
|
||||
use App\Models\Integracao\Rira\Documento;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class DocumentoService
|
||||
{
|
||||
public static function save($params)
|
||||
{
|
||||
DB::transaction(function () use ($params) {
|
||||
$documento = is_null($params->documento_id)
|
||||
? Documento::create([
|
||||
'regulacao_solicitacao_item_id' => $params->solicitacao_item_id,
|
||||
'identificador' => $params->identificador_documento,
|
||||
])
|
||||
: Documento::findOrFail($params->documento_id);
|
||||
|
||||
$paramsEnvio = [
|
||||
'url_rnds' => $params->url_rnds,
|
||||
'identificador_rnds' => $params->identificador_rnds,
|
||||
'regulacao_status_enviado_id' => $params->status_id,
|
||||
'identificador_solicitante' => $params->identificador_solicitante,
|
||||
'cns_solicitante' => $params->cns_solicitante,
|
||||
'data_hora_envio' => $params->data_hora_envio,
|
||||
'request' => is_null($params->identificador_rnds) ? json_encode($params->request) : null,
|
||||
'response' => is_null($params->response) ? null : json_encode($params->response),
|
||||
];
|
||||
|
||||
$ultimoEnvio = $documento->envios()->orderByDesc('created_at')->first();
|
||||
|
||||
if (!is_null($ultimoEnvio) && is_null($ultimoEnvio->identificador_rnds)) {
|
||||
$ultimoEnvio->update($paramsEnvio);
|
||||
}
|
||||
else {
|
||||
$documento->envios()->create($paramsEnvio);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static function getSolicitacoes()
|
||||
{
|
||||
return DB::query()
|
||||
->fromSub(DB::table('regulacao_solicitacao_item as solicitacao_item')
|
||||
->join('parametrizacao_exame as exame', 'exame.id', 'solicitacao_item.exame_id')
|
||||
->selectRaw("
|
||||
solicitacao_item.id,
|
||||
solicitacao_item.solicitacao_id,
|
||||
exame.codigo as codigo_procedimento,
|
||||
COALESCE(
|
||||
(
|
||||
SELECT ocupacao.codigo
|
||||
FROM sigtap.ocupacao as ocupacao
|
||||
JOIN exame_laboratorial_agendamento_exame as agendamento_exame
|
||||
ON agendamento_exame.ocupacao_id = ocupacao.id
|
||||
JOIN exame_laboratorial_agendamento as agendamento
|
||||
ON agendamento.id = agendamento_exame.agendamento_id
|
||||
WHERE agendamento_exame.exame_id = solicitacao_item.exame_id
|
||||
AND agendamento.regulacao_solicitacao_id = solicitacao_item.solicitacao_id
|
||||
),
|
||||
(
|
||||
SELECT ocupacao.codigo
|
||||
FROM sigtap.ocupacao as ocupacao
|
||||
JOIN exame_imagem_fechamento_faturamento as fechamento_faturamento
|
||||
ON fechamento_faturamento.ocupacao_id = ocupacao.id
|
||||
JOIN exame_imagem_agendamento_exame as agendamento_exame
|
||||
ON agendamento_exame.id = fechamento_faturamento.agendamento_exame_id
|
||||
JOIN exame_imagem_agendamento as agendamento
|
||||
ON agendamento.id = agendamento_exame.agendamento_id
|
||||
WHERE agendamento_exame.exame_id = solicitacao_item.exame_id
|
||||
AND agendamento.regulacao_solicitacao_id = solicitacao_item.solicitacao_id
|
||||
)
|
||||
) as cbo_prestador
|
||||
")
|
||||
->unionAll(DB::table('regulacao_solicitacao_item as solicitacao_item')
|
||||
->join(
|
||||
'parametrizacao_procedimento_cirurgico as procedimento_cirurgico',
|
||||
'procedimento_cirurgico.id',
|
||||
'solicitacao_item.procedimento_cirurgico_id'
|
||||
)
|
||||
->selectRaw("
|
||||
solicitacao_item.id,
|
||||
solicitacao_item.solicitacao_id,
|
||||
procedimento_cirurgico.procedimento_codigo as codigo_procedimento,
|
||||
NULL as cbo_prestador
|
||||
")
|
||||
)
|
||||
->unionAll(DB::table('regulacao_solicitacao_item as solicitacao_item')
|
||||
->join('cadastro_especialidade as especialidade', 'especialidade.id', 'solicitacao_item.especialidade_id')
|
||||
->join('sigtap.ocupacao as ocupacao', 'ocupacao.id', 'especialidade.ocupacao_id')
|
||||
->selectRaw("
|
||||
solicitacao_item.id,
|
||||
solicitacao_item.solicitacao_id,
|
||||
'0301010072' as codigo_procedimento, -- TODO: Alterar para o código de procedimento da especialidade
|
||||
ocupacao.codigo as cbo_prestador
|
||||
")
|
||||
)
|
||||
, 'solicitacao_item')
|
||||
->join('regulacao_solicitacao as solicitacao', 'solicitacao.id', 'solicitacao_item.solicitacao_id')
|
||||
->join('regulacao_status as status', 'status.id', 'solicitacao.status_id')
|
||||
->join('cadastro_paciente as paciente', 'paciente.id', 'solicitacao.paciente_id')
|
||||
->join('cadastro_cidadao as paciente_cidadao', 'paciente_cidadao.id', 'paciente.cidadao_id')
|
||||
->join('sigtap.cid as cid', 'cid.id', 'solicitacao.cid_id')
|
||||
->join(
|
||||
'cadastro_infraestrutura as infraestrutura_solicitante',
|
||||
'infraestrutura_solicitante.id',
|
||||
'solicitacao.infraestrutura_solicitante_id'
|
||||
)
|
||||
->join(
|
||||
'cadastro_unidade as unidade_solicitante',
|
||||
'unidade_solicitante.id',
|
||||
'infraestrutura_solicitante.unidade_id'
|
||||
)
|
||||
->leftJoin(
|
||||
'regulacao_parametrizacao_regulador as regulador',
|
||||
'regulador.id',
|
||||
'solicitacao.regulador_id'
|
||||
)
|
||||
->join(
|
||||
'cadastro_infraestrutura as infraestrutura_regulador',
|
||||
'infraestrutura_regulador.id',
|
||||
'regulador.infraestrutura_id'
|
||||
)
|
||||
->join(
|
||||
'cadastro_unidade as unidade_regulador',
|
||||
'unidade_regulador.id',
|
||||
'infraestrutura_regulador.unidade_id'
|
||||
)
|
||||
->leftJoin(
|
||||
'integracao_rira_documento as rira_documento',
|
||||
'rira_documento.regulacao_solicitacao_item_id',
|
||||
'solicitacao_item.id'
|
||||
)
|
||||
->leftJoin('integracao_rira_documento_envio as rira_documento_envio', fn ($j) => $j
|
||||
->on('rira_documento_envio.documento_id', 'rira_documento.id')
|
||||
->where('rira_documento_envio.id', '=', fn ($q) => $q
|
||||
->select('id')
|
||||
->from('integracao_rira_documento_envio')
|
||||
->whereColumn('documento_id', 'rira_documento.id')
|
||||
->whereNotNull('identificador_rnds')
|
||||
->orderByDesc('created_at')
|
||||
->limit(1)
|
||||
)
|
||||
)
|
||||
->leftJoin(
|
||||
'regulacao_parametrizacao_prestador_interno as prestador_interno',
|
||||
'prestador_interno.id',
|
||||
'solicitacao.prestador_interno_id'
|
||||
)
|
||||
->leftJoin(
|
||||
'cadastro_infraestrutura as prestador_interno_infraestrutura',
|
||||
'prestador_interno_infraestrutura.id',
|
||||
'prestador_interno.infraestrutura_id'
|
||||
)
|
||||
->leftJoin(
|
||||
'cadastro_unidade as prestador_interno_unidade',
|
||||
'prestador_interno_unidade.id',
|
||||
'prestador_interno_infraestrutura.unidade_id'
|
||||
)
|
||||
->leftJoin(
|
||||
'regulacao_parametrizacao_prestador_externo as prestador_externo',
|
||||
'prestador_externo.id',
|
||||
'solicitacao.prestador_externo_id'
|
||||
)
|
||||
->leftJoin(
|
||||
'transporte_paciente_destino as prestador_externo_destino',
|
||||
'prestador_externo_destino.id',
|
||||
'prestador_externo.destino_id'
|
||||
)
|
||||
->where('solicitacao.created_at', '>=', '2024-10-01 00:00:00')
|
||||
->where(fn ($q) => $q
|
||||
->whereNotExists(fn ($q) => $q
|
||||
->selectRaw(1)
|
||||
->from('integracao_rira_documento as rira_documento')
|
||||
->whereColumn('rira_documento.regulacao_solicitacao_item_id', 'solicitacao_item.id')
|
||||
)
|
||||
->orWhereExists(fn ($q) => $q
|
||||
->selectRaw(1)
|
||||
->from('integracao_rira_documento_envio as rira_documento_envio')
|
||||
->join(
|
||||
'integracao_rira_documento as rira_documento',
|
||||
'rira_documento.id',
|
||||
'rira_documento_envio.documento_id'
|
||||
)
|
||||
->whereColumn('rira_documento.regulacao_solicitacao_item_id', 'solicitacao_item.id')
|
||||
->whereNull('rira_documento_envio.identificador_rnds')
|
||||
)
|
||||
->orWhere('solicitacao.status_id', '<>', fn ($q) => $q
|
||||
->selectRaw("rira_documento_envio.regulacao_status_enviado_id")
|
||||
->from('integracao_rira_documento_envio as rira_documento_envio')
|
||||
->join(
|
||||
'integracao_rira_documento as rira_documento',
|
||||
'rira_documento.id',
|
||||
'rira_documento_envio.documento_id'
|
||||
)
|
||||
->whereColumn('rira_documento.regulacao_solicitacao_item_id', 'solicitacao_item.id')
|
||||
->orderByDesc('rira_documento_envio.created_at')
|
||||
->limit(1)
|
||||
)
|
||||
)
|
||||
->selectRaw("
|
||||
rira_documento.id as documento_id,
|
||||
rira_documento.identificador as identificador_documento,
|
||||
rira_documento_envio.identificador_rnds as ultimo_identificador_rnds,
|
||||
solicitacao_item.id as solicitacao_item_id,
|
||||
solicitacao_item.codigo_procedimento,
|
||||
solicitacao_item.cbo_prestador,
|
||||
solicitacao.data,
|
||||
solicitacao.data_agendada,
|
||||
solicitacao.hora_agendada,
|
||||
solicitacao.prioridade_id,
|
||||
solicitacao.hipotese_diagnostica_justificativa,
|
||||
status.id as status_id,
|
||||
status.tipo_id as status_tipo_id,
|
||||
paciente_cidadao.cns as paciente_cns,
|
||||
paciente_cidadao.cpf as paciente_cpf,
|
||||
cid.codigo as cid_codigo,
|
||||
unidade_solicitante.cnes as cnes_solicitante,
|
||||
unidade_regulador.cnes as cnes_regulador,
|
||||
COALESCE(prestador_interno_unidade.cnes, NULL /* prestador_externo_destino.cnes */) as cnes_prestador
|
||||
")
|
||||
->orderBy('solicitacao.updated_at')
|
||||
->get()
|
||||
->map(function ($solicitacao) {
|
||||
$solicitacao->has_agendamento = !is_null($solicitacao->data_agendada)
|
||||
&& !is_null($solicitacao->hora_agendada);
|
||||
|
||||
return (object) [
|
||||
'documento_id' => $solicitacao->documento_id,
|
||||
'identificador_documento' => $solicitacao->identificador_documento ?? uniqid(),
|
||||
'ultimo_identificador_rnds' => $solicitacao->ultimo_identificador_rnds,
|
||||
'solicitacao_item_id' => $solicitacao->solicitacao_item_id,
|
||||
'paciente_cns' => $solicitacao->paciente_cns,
|
||||
'paciente_cpf' => $solicitacao->paciente_cpf,
|
||||
'codigo_procedimento' => $solicitacao->codigo_procedimento,
|
||||
'cid_codigo' => $solicitacao->cid_codigo,
|
||||
'prioridade' => self::getPrioridade($solicitacao->prioridade_id),
|
||||
'data_solicitacao' => new Carbon($solicitacao->data),
|
||||
'data_hora_agendada' => $solicitacao->has_agendamento
|
||||
? new Carbon("{$solicitacao->data_agendada} {$solicitacao->hora_agendada}")
|
||||
: null,
|
||||
'data_execucao' => null,
|
||||
'status_id' => $solicitacao->status_id,
|
||||
'status_composicao' => self::getStatusComposicao($solicitacao->status_tipo_id),
|
||||
'status_consulta' => self::getStatusConsulta($solicitacao->status_tipo_id),
|
||||
'status_paciente_consulta' => self::getStatusPacienteConsulta(),
|
||||
'status_requisicao' => self::getStatusRequisicao(),
|
||||
'status_condicao' => self::getStatusCondicao(),
|
||||
'cnes_solicitante' => $solicitacao->cnes_solicitante,
|
||||
'cnes_prestador' => $solicitacao->cnes_prestador,
|
||||
'cnes_regulador' => $solicitacao->cnes_regulador,
|
||||
'cnes_responsavel_status_composicao' => self::getCnesResponsavelStatusComposicao($solicitacao),
|
||||
'cbo_prestador' => $solicitacao->cbo_prestador,
|
||||
'hipotese_diagnostica_justificativa' => $solicitacao->hipotese_diagnostica_justificativa,
|
||||
'intencao_requisicao' => self::getIntencaoRequisicao($solicitacao->status_tipo_id),
|
||||
'categoria_condicao' => self::getCategoriaCondicao(),
|
||||
];
|
||||
});
|
||||
}
|
||||
|
||||
private static function getPrioridade($prioridadeId)
|
||||
{
|
||||
switch ($prioridadeId) {
|
||||
case SolicitacaoPrioridade::ELETIVO: {
|
||||
return 'routine';
|
||||
}
|
||||
case SolicitacaoPrioridade::URGENCIA: {
|
||||
return 'urgent';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static function getStatusComposicao($statusTipoId)
|
||||
{
|
||||
switch ($statusTipoId) {
|
||||
case StatusTipo::SOLICITADO: {
|
||||
return 'pending';
|
||||
}
|
||||
case StatusTipo::DEVOLVIDO: {
|
||||
return 'returned-to-requester';
|
||||
}
|
||||
case StatusTipo::REENVIADA: {
|
||||
return 'pending';
|
||||
}
|
||||
case StatusTipo::CANCELADO: {
|
||||
return 'cancelled';
|
||||
}
|
||||
case StatusTipo::EM_ESPERA: {
|
||||
return 'pending';
|
||||
}
|
||||
case StatusTipo::AGENDADO: {
|
||||
return 'booked';
|
||||
}
|
||||
case StatusTipo::REAGENDADO: {
|
||||
return 'booked';
|
||||
}
|
||||
case StatusTipo::FALTA: {
|
||||
return 'absence';
|
||||
}
|
||||
case StatusTipo::REALIZADO: {
|
||||
return 'attended';
|
||||
}
|
||||
case StatusTipo::REMARCAR: {
|
||||
return 'pending';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static function getStatusConsulta($statusTipoId)
|
||||
{
|
||||
switch ($statusTipoId) {
|
||||
case StatusTipo::SOLICITADO: {
|
||||
return 'proposed';
|
||||
}
|
||||
case StatusTipo::DEVOLVIDO: {
|
||||
return 'proposed';
|
||||
}
|
||||
case StatusTipo::REENVIADA: {
|
||||
return 'proposed';
|
||||
}
|
||||
case StatusTipo::CANCELADO: {
|
||||
return 'cancelled';
|
||||
}
|
||||
case StatusTipo::EM_ESPERA: {
|
||||
return 'waitlist';
|
||||
}
|
||||
case StatusTipo::AGENDADO: {
|
||||
return 'booked';
|
||||
}
|
||||
case StatusTipo::REAGENDADO: {
|
||||
return 'booked';
|
||||
}
|
||||
case StatusTipo::FALTA: {
|
||||
return 'noshow';
|
||||
}
|
||||
case StatusTipo::REALIZADO: {
|
||||
return 'fulfilled';
|
||||
}
|
||||
case StatusTipo::REMARCAR: {
|
||||
return 'proposed';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static function getStatusPacienteConsulta()
|
||||
{
|
||||
return 'accepted';
|
||||
}
|
||||
|
||||
private static function getStatusRequisicao()
|
||||
{
|
||||
return 'active';
|
||||
}
|
||||
|
||||
private static function getStatusCondicao()
|
||||
{
|
||||
return 'active';
|
||||
}
|
||||
|
||||
private static function getCnesResponsavelStatusComposicao($solicitacao)
|
||||
{
|
||||
switch ($solicitacao->status_tipo_id) {
|
||||
case StatusTipo::SOLICITADO: {
|
||||
return $solicitacao->cnes_solicitante;
|
||||
}
|
||||
case StatusTipo::DEVOLVIDO: {
|
||||
return $solicitacao->cnes_regulador;
|
||||
}
|
||||
case StatusTipo::REENVIADA: {
|
||||
return $solicitacao->cnes_solicitante;
|
||||
}
|
||||
case StatusTipo::CANCELADO: {
|
||||
return $solicitacao->has_agendamento ? $solicitacao->cnes_prestador : $solicitacao->cnes_regulador;
|
||||
}
|
||||
case StatusTipo::EM_ESPERA: {
|
||||
return $solicitacao->cnes_solicitante;
|
||||
}
|
||||
case StatusTipo::AGENDADO: {
|
||||
return $solicitacao->cnes_prestador;
|
||||
}
|
||||
case StatusTipo::REAGENDADO: {
|
||||
return $solicitacao->cnes_prestador;
|
||||
}
|
||||
case StatusTipo::FALTA: {
|
||||
return $solicitacao->cnes_prestador;
|
||||
}
|
||||
case StatusTipo::REALIZADO: {
|
||||
return $solicitacao->cnes_prestador;
|
||||
}
|
||||
case StatusTipo::REMARCAR: {
|
||||
return $solicitacao->cnes_solicitante;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static function getCategoriaCondicao()
|
||||
{
|
||||
return (object) [
|
||||
'codigo' => '01',
|
||||
'exibicao' => 'Principal'
|
||||
];
|
||||
}
|
||||
|
||||
private static function getIntencaoRequisicao($statusTipoId)
|
||||
{
|
||||
switch ($statusTipoId) {
|
||||
case StatusTipo::SOLICITADO: {
|
||||
return 'proposal';
|
||||
}
|
||||
case StatusTipo::DEVOLVIDO: {
|
||||
return 'proposal';
|
||||
}
|
||||
case StatusTipo::REENVIADA: {
|
||||
return 'proposal';
|
||||
}
|
||||
case StatusTipo::CANCELADO: {
|
||||
return 'order';
|
||||
}
|
||||
case StatusTipo::EM_ESPERA: {
|
||||
return 'proposal';
|
||||
}
|
||||
case StatusTipo::AGENDADO: {
|
||||
return 'order';
|
||||
}
|
||||
case StatusTipo::REAGENDADO: {
|
||||
return 'order';
|
||||
}
|
||||
case StatusTipo::FALTA: {
|
||||
return 'order';
|
||||
}
|
||||
case StatusTipo::REALIZADO: {
|
||||
return 'order';
|
||||
}
|
||||
case StatusTipo::REMARCAR: {
|
||||
return 'proposal';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
180
api/app/Services/Integracao/Rira/ParametrizacaoService.php
Normal file
180
api/app/Services/Integracao/Rira/ParametrizacaoService.php
Normal file
@@ -0,0 +1,180 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Integracao\Rira;
|
||||
|
||||
use App\Exceptions\Integracao\Rira\CertificadoDigitalInvalidoException;
|
||||
use App\Exceptions\Integracao\Rira\CertificadoDigitalNaoEncontradoException;
|
||||
use App\Exceptions\Integracao\Rira\SenhaInvalidaException;
|
||||
use App\Models\Integracao\Rira\Parametrizacao;
|
||||
use App\Rules\Cns;
|
||||
use App\Services\Integracao\RiraService;
|
||||
use App\Services\Service;
|
||||
use Exception;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class ParametrizacaoService extends Service
|
||||
{
|
||||
public static function index()
|
||||
{
|
||||
return DB::table('integracao_rira_parametrizacao')
|
||||
->select([
|
||||
'id',
|
||||
DB::raw("'" . RiraService::getFile() . "' AS certificado_digital"),
|
||||
'identificador_solicitante',
|
||||
'cns_solicitante',
|
||||
])
|
||||
->get();
|
||||
}
|
||||
|
||||
public static function create()
|
||||
{
|
||||
return [
|
||||
'model' => [
|
||||
'certificado_digital' => null,
|
||||
'senha' => null,
|
||||
'identificador_solicitante' => null,
|
||||
'cns_solicitante' => null,
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
public static function store($request)
|
||||
{
|
||||
self::validateStore($request);
|
||||
|
||||
DB::transaction(function() use ($request) {
|
||||
Parametrizacao::create([
|
||||
'senha' => $request->senha,
|
||||
'identificador_solicitante' => $request->identificador_solicitante,
|
||||
'cns_solicitante' => $request->cns_solicitante,
|
||||
]);
|
||||
|
||||
$pkcs12 = openssl_pkcs12_read(file_get_contents($request->files->get('certificado_digital')), $certificates, $request->senha);
|
||||
|
||||
if ($pkcs12) {
|
||||
$path = RiraService::getPath() . DIRECTORY_SEPARATOR . RiraService::getFile();
|
||||
|
||||
if (isset($certificates['cert']) && isset($certificates['pkey'])) {
|
||||
$contents = $certificates['cert'].$certificates['pkey'];
|
||||
} else {
|
||||
throw new CertificadoDigitalInvalidoException();
|
||||
}
|
||||
|
||||
if (!Storage::disk('local')->put($path, $contents)) {
|
||||
throw new Exception('Erro ao fazer o upload do certificado.');
|
||||
} else {
|
||||
$token = RiraService::getToken($request->senha);
|
||||
|
||||
if (isset($token['access_token'])) {
|
||||
return true;
|
||||
} else {
|
||||
throw new CertificadoDigitalInvalidoException();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
throw new SenhaInvalidaException();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static function show()
|
||||
{
|
||||
return Parametrizacao::first();
|
||||
}
|
||||
|
||||
public static function edit()
|
||||
{
|
||||
$parametrizacao = self::show();
|
||||
|
||||
return [
|
||||
'model' => [
|
||||
'certificado_digital' => null,
|
||||
'senha' => str_repeat('*', strlen($parametrizacao->senha)),
|
||||
'identificador_solicitante' => $parametrizacao->identificador_solicitante,
|
||||
'cns_solicitante' => $parametrizacao->cns_solicitante,
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
public static function update($request)
|
||||
{
|
||||
self::validateUpdate($request);
|
||||
|
||||
DB::transaction(function() use ($request) {
|
||||
$parametrizacao = self::show();
|
||||
|
||||
$parametrizacao->update([
|
||||
'identificador_solicitante' => $request->identificador_solicitante,
|
||||
'cns_solicitante' => $request->cns_solicitante,
|
||||
]);
|
||||
});
|
||||
}
|
||||
|
||||
public static function destroy()
|
||||
{
|
||||
DB::transaction(function() {
|
||||
self::show()->delete();
|
||||
|
||||
$path = RiraService::getPath() . DIRECTORY_SEPARATOR . RiraService::getFile();
|
||||
|
||||
if (Storage::disk('local')->exists($path)) {
|
||||
Storage::disk('local')->delete($path);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static function download()
|
||||
{
|
||||
$path = 'documento/integracao/rira/evidencias.pdf';
|
||||
|
||||
if (Storage::disk('local')->exists($path)) {
|
||||
return [
|
||||
'arquivo' => Storage::path($path),
|
||||
'nome' => 'EVIDENCIAS.PDF',
|
||||
];
|
||||
} else {
|
||||
throw new CertificadoDigitalNaoEncontradoException();
|
||||
}
|
||||
}
|
||||
|
||||
private static function validateStore()
|
||||
{
|
||||
request()->validate([
|
||||
'certificado_digital' => [
|
||||
'required',
|
||||
],
|
||||
'senha' => [
|
||||
'required',
|
||||
'string',
|
||||
'max:180',
|
||||
],
|
||||
'identificador_solicitante' => [
|
||||
'required',
|
||||
'string',
|
||||
'max:100',
|
||||
],
|
||||
'cns_solicitante' => [
|
||||
'required',
|
||||
'digits:15',
|
||||
new Cns,
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
private static function validateUpdate()
|
||||
{
|
||||
request()->validate([
|
||||
'identificador_solicitante' => [
|
||||
'required',
|
||||
'string',
|
||||
'max:100',
|
||||
],
|
||||
'cns_solicitante' => [
|
||||
'required',
|
||||
'digits:15',
|
||||
new Cns,
|
||||
],
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user