feat: agrega manejo de folio y identificador de constancia de inscripción en el proceso de inscripción de vehículos

This commit is contained in:
Juan Felipe Zapata Moreno 2026-03-14 11:02:17 -06:00
parent c3cad386aa
commit f5c4fce98a
2 changed files with 14 additions and 2 deletions

View File

@ -131,6 +131,11 @@ public function vehicleInscription(VehicleStoreRequest $request)
]); ]);
} }
// Determinar si es inscripción primera vez o sustitución
// Si el folio de la constancia viene vacío, es primera vez; si no, es sustitución
$folioRepuve = $repuveNacionalData['folio_CI'] ?? null;
$actionType = empty($folioRepuve) ? 'sustitucion_primera_vez' : 'sustitucion';
// Verificar robo // Verificar robo
$roboResult = $this->checkIfStolen($niv, $placa); $roboResult = $this->checkIfStolen($niv, $placa);
// Solo bloquear si está marcado como robado // Solo bloquear si está marcado como robado
@ -201,7 +206,7 @@ public function vehicleInscription(VehicleStoreRequest $request)
VehicleTagLog::create([ VehicleTagLog::create([
'vehicle_id' => $vehicle->id, 'vehicle_id' => $vehicle->id,
'tag_id' => $tag->id, 'tag_id' => $tag->id,
'action_type' => 'sustitucion_primera_vez', 'action_type' => $actionType,
'performed_by' => Auth::id(), 'performed_by' => Auth::id(),
]); ]);
@ -266,6 +271,10 @@ public function vehicleInscription(VehicleStoreRequest $request)
} }
} }
// Agregar datos de la constancia de inscripción
$datosCompletosRaw['folio_CI'] = $folio;
$datosCompletosRaw['identificador_CI'] = $tagNumber;
ProcessRepuveResponse::dispatch($record->id, $datosCompletosRaw); ProcessRepuveResponse::dispatch($record->id, $datosCompletosRaw);
DB::commit(); DB::commit();

View File

@ -294,7 +294,6 @@ public function verificarRobo(?string $niv = null, ?string $placa = null): array
'placa' => $placa, 'placa' => $placa,
'arg2' => $arg2, 'arg2' => $arg2,
'total_pipes' => substr_count($arg2, '|'), 'total_pipes' => substr_count($arg2, '|'),
'ejemplo' => str_replace('|', ' | ', $arg2),
]); ]);
@ -513,6 +512,8 @@ public function inscribirVehiculo(array $datos)
$datos['nrpv'] ?? '', // 35. NRPV $datos['nrpv'] ?? '', // 35. NRPV
$datos['fe_act'] ?? '', // 36. Fecha actualización $datos['fe_act'] ?? '', // 36. Fecha actualización
$datos['tipo_mov'] ?? '', // 37. Tipo movimiento $datos['tipo_mov'] ?? '', // 37. Tipo movimiento
$datos['folio_CI'] ?? '', // 38. Folio constancia de inscripción
$datos['identificador_CI'] ?? '', // 39. Identificador constancia de inscripción
]); ]);
// Construir el cuerpo SOAP // Construir el cuerpo SOAP
@ -836,6 +837,8 @@ public function parseConsultarVehiculoResponse(string $xmlResponse): array
'clase' => $campos[21] ?? null, 'clase' => $campos[21] ?? null,
'estatus' => $campos[22] ?? null, 'estatus' => $campos[22] ?? null,
'observaciones' => $campos[23] ?? null, 'observaciones' => $campos[23] ?? null,
'folio_CI' => $campos[37] ?? null,
'identificador_CI' => $campos[38] ?? null,
'raw_response' => $contenido, 'raw_response' => $contenido,
]; ];
} catch (Exception $e) { } catch (Exception $e) {