feat: mejora la construcción de cadenas para las solicitudes de verificación y consulta de vehículos

This commit is contained in:
Juan Felipe Zapata Moreno 2026-03-12 15:33:25 -06:00
parent c0d0e8dd86
commit 7510123626

View File

@ -118,7 +118,11 @@ public function consultarPadron(string $niv)
$this->asegurarCargaCredenciales(); $this->asegurarCargaCredenciales();
$url = $this->baseUrl . $this->roboEndpoint; $url = $this->baseUrl . $this->roboEndpoint;
$arg2 = $niv . '|||||||';
// 8 posiciones: [0]=NIV, [1]=vacío, [2]=placa, [3-7]=vacíos
$campos = array_fill(0, 8, '');
$campos[0] = $niv;
$arg2 = implode('|', $campos);
$soapBody = <<<XML $soapBody = <<<XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://consultaRpv.org/wsdl"> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://consultaRpv.org/wsdl">
@ -278,14 +282,12 @@ public function verificarRobo(?string $niv = null, ?string $placa = null): array
$url = $this->baseUrl . $this->roboEndpoint; $url = $this->baseUrl . $this->roboEndpoint;
// Construir arg2 según los parámetros enviados // 8 posiciones: [0]=NIV, [1]=vacío, [2]=placa, [3-7]=vacíos
if (!empty($niv) && !empty($placa)) { // Ejemplo: LSGHD52H0ND032457||WNU700B|||||
$arg2 = $niv . '|' . $placa . str_repeat('|', 5); $campos = array_fill(0, 8, '');
} elseif (!empty($niv)) { $campos[0] = $niv ?? '';
$arg2 = $niv . str_repeat('|', 7); $campos[2] = $placa ?? '';
} else { $arg2 = implode('|', $campos);
$arg2 = '||' . $placa . str_repeat('|', 5);
}
Log::channel('repuve_nacional')->info('REPUVE verificarRobo: Cadena construida', [ Log::channel('repuve_nacional')->info('REPUVE verificarRobo: Cadena construida', [
'niv' => $niv, 'niv' => $niv,
@ -384,12 +386,12 @@ public function consultarVehiculo(?string $niv = null, ?string $placa = null)
$url = $this->baseUrl . '/jaxws-consultarpv/ConsultaRpv'; $url = $this->baseUrl . '/jaxws-consultarpv/ConsultaRpv';
// Construir arg2: NIV|||||||| // 8 posiciones: [0]=NIV, [1]=vacío, [2]=placa, [3-7]=vacíos
if ($placa) { // Ejemplo: LSGHD52H0ND032457||WNU700B|||||
$arg2 = ($niv ?? '') . '|' . $placa . str_repeat('|', 5); $campos = array_fill(0, 8, '');
} else { $campos[0] = $niv ?? '';
$arg2 = ($niv ?? '') . str_repeat('|', 7); $campos[2] = $placa ?? '';
} $arg2 = implode('|', $campos);
$soapBody = <<<XML $soapBody = <<<XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://consultaRpv.org/wsdl"> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://consultaRpv.org/wsdl">