diff --git a/app/Http/Controllers/Repuve/InscriptionController.php b/app/Http/Controllers/Repuve/InscriptionController.php index 2f980d5..743e465 100644 --- a/app/Http/Controllers/Repuve/InscriptionController.php +++ b/app/Http/Controllers/Repuve/InscriptionController.php @@ -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 $roboResult = $this->checkIfStolen($niv, $placa); // Solo bloquear si está marcado como robado @@ -201,7 +206,7 @@ public function vehicleInscription(VehicleStoreRequest $request) VehicleTagLog::create([ 'vehicle_id' => $vehicle->id, 'tag_id' => $tag->id, - 'action_type' => 'sustitucion_primera_vez', + 'action_type' => $actionType, '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); DB::commit(); diff --git a/app/Services/RepuveService.php b/app/Services/RepuveService.php index a3c44f9..36eac06 100644 --- a/app/Services/RepuveService.php +++ b/app/Services/RepuveService.php @@ -294,7 +294,6 @@ public function verificarRobo(?string $niv = null, ?string $placa = null): array 'placa' => $placa, 'arg2' => $arg2, 'total_pipes' => substr_count($arg2, '|'), - 'ejemplo' => str_replace('|', ' | ', $arg2), ]); @@ -513,6 +512,8 @@ public function inscribirVehiculo(array $datos) $datos['nrpv'] ?? '', // 35. NRPV $datos['fe_act'] ?? '', // 36. Fecha actualización $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 @@ -836,6 +837,8 @@ public function parseConsultarVehiculoResponse(string $xmlResponse): array 'clase' => $campos[21] ?? null, 'estatus' => $campos[22] ?? null, 'observaciones' => $campos[23] ?? null, + 'folio_CI' => $campos[37] ?? null, + 'identificador_CI' => $campos[38] ?? null, 'raw_response' => $contenido, ]; } catch (Exception $e) {