Compare commits
No commits in common. "2ca6950751783e30e2db558cc5ed02496fe52431" and "e9fd55aa3b6c9f35bad1940a6a3553a8137a3ee4" have entirely different histories.
2ca6950751
...
e9fd55aa3b
@ -403,38 +403,25 @@ public function searchRecord(Request $request)
|
|||||||
$paginatedRecords->getCollection()->transform(function ($record) {
|
$paginatedRecords->getCollection()->transform(function ($record) {
|
||||||
$latestLog = $record->vehicle->vehicleTagLogs->first();
|
$latestLog = $record->vehicle->vehicleTagLogs->first();
|
||||||
|
|
||||||
// Construir historial completo de tags
|
// Detectar si hubo sustitución y obtener datos del tag anterior
|
||||||
$tagsHistory = [];
|
$substitutionData = null;
|
||||||
$order = 1;
|
|
||||||
$vehicleLogs = $record->vehicle->vehicleTagLogs->sortBy('created_at');
|
|
||||||
$processedTags = [];
|
|
||||||
|
|
||||||
foreach ($vehicleLogs as $log) {
|
// Buscar si existe ALGÚN log de sustitución (no solo el último)
|
||||||
$tagId = $log->tag_id;
|
$substitutionLogs = $record->vehicle->vehicleTagLogs
|
||||||
if ($tagId && !in_array($tagId, $processedTags)) {
|
->where('action_type', 'sustitucion')
|
||||||
$processedTags[] = $tagId;
|
->sortBy('id')
|
||||||
$tag = $log->tag;
|
->take(2);
|
||||||
|
|
||||||
// Buscar fecha de cancelación si existe
|
if ($substitutionLogs->count() >= 2) {
|
||||||
$cancelLog = $vehicleLogs
|
$oldTagLog = $substitutionLogs->first(); // Tag cancelado
|
||||||
->where('tag_id', $tagId)
|
$newTagLog = $substitutionLogs->last(); // Tag nuevo
|
||||||
->whereIn('action_type', ['cancelacion', 'sustitucion'])
|
|
||||||
->whereNotNull('cancellation_at')
|
|
||||||
->first();
|
|
||||||
|
|
||||||
$tagsHistory[] = [
|
$substitutionData = [
|
||||||
'order' => $order++,
|
'old_folio' => $oldTagLog->tag?->folio ?? null,
|
||||||
'tag_id' => $tagId,
|
'old_tag_number' => $oldTagLog->tag?->tag_number ?? null,
|
||||||
'folio' => $tag?->folio,
|
'new_folio' => $newTagLog->tag?->folio ?? $record->folio,
|
||||||
'tag_number' => $tag?->tag_number,
|
'new_tag_number' => $newTagLog->tag?->tag_number ?? null,
|
||||||
'status' => $tag?->status?->code ?? 'unknown',
|
];
|
||||||
'assigned_at' => $vehicleLogs->where('tag_id', $tagId)
|
|
||||||
->whereIn('action_type', ['inscripcion', 'sustitucion'])
|
|
||||||
->first()?->created_at,
|
|
||||||
'cancelled_at' => $cancelLog?->cancellation_at,
|
|
||||||
'is_current' => $tag?->id === $record->vehicle->tag?->id,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return [
|
return [
|
||||||
@ -446,9 +433,8 @@ public function searchRecord(Request $request)
|
|||||||
'action_type' => $latestLog?->action_type ?? 'inscripcion',
|
'action_type' => $latestLog?->action_type ?? 'inscripcion',
|
||||||
'action_date' => $latestLog?->created_at ?? $record->created_at,
|
'action_date' => $latestLog?->created_at ?? $record->created_at,
|
||||||
|
|
||||||
// HISTORIAL DE TAGS
|
// SUSTITUCIÓN
|
||||||
'tags_history' => $tagsHistory,
|
'substitution' => $substitutionData,
|
||||||
'total_tags' => count($tagsHistory),
|
|
||||||
|
|
||||||
// MÓDULO
|
// MÓDULO
|
||||||
'module' => $record->module ? [
|
'module' => $record->module ? [
|
||||||
|
|||||||
@ -22,35 +22,24 @@ class CatalogNameImgSeeder extends Seeder
|
|||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
$names = [
|
$names = [
|
||||||
'INE ANVERSO',
|
'FRENTE',
|
||||||
'INE REVERSO',
|
'TRASERA',
|
||||||
'TARJETA DE CIRCULACIÓN ANVERSO',
|
'LATERAL',
|
||||||
'TARJETA DE CIRCULACIÓN REVERSO',
|
'RECEPCION',
|
||||||
'FACTURA ORIGEN ANVERSO',
|
'CONSTANCIA',
|
||||||
'FACTURA ORIGEN REVERSO',
|
'VERIFICA',
|
||||||
'FACTURA ACTUAL ANVERSO',
|
'FACTURA/CERTIFICADO FRONTAL',
|
||||||
'FACTURA ACTUAL REVERSO',
|
'FACTURA/CERTIFICADO TRASERA',
|
||||||
'FACTURA SIN VALOR ANVERSO',
|
'PEDIMENTO FRONTAL',
|
||||||
'FACTURA SIN VALOR REVERSO',
|
'PEDIMENTO TRASERO',
|
||||||
'CARTA FACTURA ANVERSO',
|
|
||||||
'CARTA FACTURA REVERSO',
|
|
||||||
'TITULO ANVERSO',
|
|
||||||
'TITULO REVERSO',
|
|
||||||
'PEDIMENTO ANVERSO',
|
|
||||||
'PEDIMENTO REVERSO',
|
|
||||||
'PODER NOTARIAL',
|
'PODER NOTARIAL',
|
||||||
'CEDULA DE IDENTIFICACION FISCAL',
|
'CEDULA DE IDENTIFICACION FISCAL',
|
||||||
'CARTA PODER',
|
'CARTA PODER',
|
||||||
'REPORTE DE LA CONSULTA CIUDADANA',
|
'ACTA CIRCUNSTANCIADA DE HECHOS',
|
||||||
'FORMATO SOLICITUD DE SUSTITUCIÓN DE CONSTANCIA DE INSCRIPCIÓN',
|
'IDENTIFICACIÓN OFICIAL FRENTE',
|
||||||
'HOJA DE RECEPCIÓN',
|
'IDENTIFICACIÓN OFICIAL TRASERA',
|
||||||
'HOJA DE VERIFICACIÓN',
|
'TARJETA DE CIRCULACIÓN',
|
||||||
'FOTO LADO FRONTAL DEL VEHÍCULO',
|
'FOTO VIN',
|
||||||
'FOTO LADO TRASERO DEL VEHÍCULO',
|
|
||||||
'FOTO LADO LATERAL DEL VEHÍCULO',
|
|
||||||
'FOTO UBICACIÓN DEL VIN',
|
|
||||||
'FOTO CONSTANCIA DE INSCRIPCIÓN PEGADA (CI MORADA O AZUL)',
|
|
||||||
'FORMATO DE CONSTANCIA DE SUSTITUCIÓN',
|
|
||||||
'EVIDENCIA ADICIONAL',
|
'EVIDENCIA ADICIONAL',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@ -17,7 +17,7 @@ public function run(): void
|
|||||||
[
|
[
|
||||||
'name' => 'MODULO PARQUE LA CHOCA',
|
'name' => 'MODULO PARQUE LA CHOCA',
|
||||||
'municipality_id' => 4,
|
'municipality_id' => 4,
|
||||||
'address' => 'ESTACIONAMIENTO DEL PARQUE LA CHOCA, CENTRO, TABASCO',
|
'address' => 'CIRCUITO CARLOS PELLICER S/N JUNTO A PLAZA MALLORCA ESTACIONAMIENTO DEL PARQUE LA CHOCA',
|
||||||
'colony' => 'CENTRO',
|
'colony' => 'CENTRO',
|
||||||
'cp' => null,
|
'cp' => null,
|
||||||
'longitude' => -92.954605,
|
'longitude' => -92.954605,
|
||||||
@ -27,7 +27,7 @@ public function run(): void
|
|||||||
[
|
[
|
||||||
'name' => 'MODULO FINANZAS BASE 4',
|
'name' => 'MODULO FINANZAS BASE 4',
|
||||||
'municipality_id' => 4,
|
'municipality_id' => 4,
|
||||||
'address' => 'ESTACIONAMIENTO DE FINANZAS BASE 4, CENTRO, TABASCO',
|
'address' => 'AV. RUIZ CORTINES S/N',
|
||||||
'colony' => 'CASA BLANCA',
|
'colony' => 'CASA BLANCA',
|
||||||
'cp' => null,
|
'cp' => null,
|
||||||
'longitude' => -92.923486,
|
'longitude' => -92.923486,
|
||||||
@ -37,7 +37,7 @@ public function run(): void
|
|||||||
[
|
[
|
||||||
'name' => 'MODULO CARDENAS',
|
'name' => 'MODULO CARDENAS',
|
||||||
'municipality_id' => 2,
|
'municipality_id' => 2,
|
||||||
'address' => 'ESTACIONAMIENTO DE LA POLICIA ESTATAL DE CAMINOS, CARDENAS, TABASCO',
|
'address' => 'ANILLO PERIFERICO CARLOS MOLINA S/N',
|
||||||
'colony' => 'SANTA MARIA DE GUADALUPE',
|
'colony' => 'SANTA MARIA DE GUADALUPE',
|
||||||
'cp' => null,
|
'cp' => null,
|
||||||
'longitude' => -93.362824,
|
'longitude' => -93.362824,
|
||||||
@ -47,7 +47,7 @@ public function run(): void
|
|||||||
[
|
[
|
||||||
'name' => 'MODULO PASEO DE LA SIERRA',
|
'name' => 'MODULO PASEO DE LA SIERRA',
|
||||||
'municipality_id' => 4,
|
'municipality_id' => 4,
|
||||||
'address' => 'ESTACIONAMIENTO PASEO DE LA SECRETARIA DE FINANZAS, CENTRO, TABASCO',
|
'address' => ' AV. PASEO DE LA SIERRA #435 COL. REFORMA, C.P. 86080 VILLAHERMOSA, TABASCO,',
|
||||||
'colony' => 'REFORMA',
|
'colony' => 'REFORMA',
|
||||||
'cp' => null,
|
'cp' => null,
|
||||||
'longitude' => -92.929378,
|
'longitude' => -92.929378,
|
||||||
@ -57,8 +57,8 @@ public function run(): void
|
|||||||
[
|
[
|
||||||
'name' => 'CENTRO DE ACTIVACION COMALCALCO',
|
'name' => 'CENTRO DE ACTIVACION COMALCALCO',
|
||||||
'municipality_id' => 5,
|
'municipality_id' => 5,
|
||||||
'address' => '',
|
'address' => 'MONSERRAT #5',
|
||||||
'colony' => 'ESTACIONAMIENTO DE LA POLICIA ESTATAL DE CAMINOS, COMALCALCO, TABASCO',
|
'colony' => 'SANTO DOMINGO',
|
||||||
'cp' => null,
|
'cp' => null,
|
||||||
'longitude' => -93.218679,
|
'longitude' => -93.218679,
|
||||||
'latitude' => 18.264577,
|
'latitude' => 18.264577,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user