<h2>Pruebas de Base de Datos - Módulo Flete</h2><h3>1. Verificar conexión a BD</h3>✅ Conexión exitosa<br><h3>2. Verificar tablas</h3>✅ Tabla 'vehiculos' existe<br><details><summary>Ver estructura de vehiculos</summary><table border='1'><tr><th>Campo</th><th>Tipo</th><th>Null</th><th>Key</th><th>Default</th></tr><tr><td>id</td><td>int(11)</td><td>NO</td><td>PRI</td><td></td></tr><tr><td>codigo</td><td>varchar(20)</td><td>YES</td><td>UNI</td><td></td></tr><tr><td>nombre</td><td>varchar(100)</td><td>NO</td><td>MUL</td><td></td></tr><tr><td>placa</td><td>varchar(20)</td><td>NO</td><td>UNI</td><td></td></tr><tr><td>vin</td><td>varchar(25)</td><td>YES</td><td></td><td></td></tr><tr><td>marca</td><td>varchar(60)</td><td>YES</td><td></td><td></td></tr><tr><td>modelo</td><td>varchar(60)</td><td>YES</td><td></td><td></td></tr><tr><td>anio</td><td>smallint(6)</td><td>YES</td><td></td><td></td></tr><tr><td>tipo_vehiculo</td><td>enum('camion','camioneta','automovil','motocicleta','montacargas','otro')</td><td>NO</td><td></td><td>camioneta</td></tr><tr><td>centro_costo</td><td>varchar(10)</td><td>YES</td><td>MUL</td><td></td></tr><tr><td>tipo_combustible</td><td>enum('diesel','gasolina','gas','electrico')</td><td>NO</td><td></td><td>gasolina</td></tr><tr><td>capacidad_tanque</td><td>decimal(8,2)</td><td>YES</td><td></td><td></td></tr><tr><td>rendimiento_estandar</td><td>decimal(6,2)</td><td>YES</td><td></td><td></td></tr><tr><td>usa_horometro</td><td>tinyint(1)</td><td>NO</td><td></td><td>0</td></tr><tr><td>km_actual</td><td>int(11)</td><td>NO</td><td></td><td>0</td></tr><tr><td>horometro_actual</td><td>decimal(10,1)</td><td>NO</td><td></td><td>0.0</td></tr><tr><td>costo_adquisicion</td><td>decimal(12,2)</td><td>YES</td><td></td><td></td></tr><tr><td>estado</td><td>enum('disponible','en_ruta','en_taller','baja')</td><td>NO</td><td>MUL</td><td>disponible</td></tr><tr><td>fecha_alta</td><td>date</td><td>YES</td><td></td><td></td></tr><tr><td>fecha_baja</td><td>date</td><td>YES</td><td></td><td></td></tr><tr><td>motivo_baja</td><td>varchar(255)</td><td>YES</td><td></td><td></td></tr><tr><td>observaciones</td><td>varchar(500)</td><td>YES</td><td></td><td></td></tr><tr><td>activo</td><td>tinyint(4)</td><td>YES</td><td>MUL</td><td>1</td></tr><tr><td>creado_por</td><td>int(11)</td><td>YES</td><td></td><td></td></tr><tr><td>modificado_por</td><td>int(11)</td><td>YES</td><td></td><td></td></tr><tr><td>fecha_creacion</td><td>timestamp</td><td>NO</td><td></td><td>current_timestamp()</td></tr><tr><td>fecha_actualizacion</td><td>timestamp</td><td>NO</td><td></td><td>current_timestamp()</td></tr><tr><td>updated_at</td><td>datetime(6)</td><td>YES</td><td>MUL</td><td>current_timestamp(6)</td></tr></table></details>✅ Tabla 'rangos_flete' existe<br><details><summary>Ver estructura de rangos_flete</summary><table border='1'><tr><th>Campo</th><th>Tipo</th><th>Null</th><th>Key</th><th>Default</th></tr><tr><td>id</td><td>int(11)</td><td>NO</td><td>PRI</td><td></td></tr><tr><td>distancia_desde</td><td>decimal(8,2)</td><td>NO</td><td>MUL</td><td>0.00</td></tr><tr><td>distancia_hasta</td><td>decimal(8,2)</td><td>NO</td><td></td><td></td></tr><tr><td>vehiculo_id</td><td>int(11)</td><td>YES</td><td>MUL</td><td></td></tr><tr><td>costo</td><td>decimal(10,2)</td><td>NO</td><td></td><td></td></tr><tr><td>activo</td><td>tinyint(4)</td><td>YES</td><td>MUL</td><td>1</td></tr><tr><td>fecha_creacion</td><td>timestamp</td><td>NO</td><td></td><td>current_timestamp()</td></tr><tr><td>fecha_actualizacion</td><td>timestamp</td><td>NO</td><td></td><td>current_timestamp()</td></tr><tr><td>updated_at</td><td>datetime(6)</td><td>YES</td><td>MUL</td><td>current_timestamp(6)</td></tr></table></details><h3>3. Verificar datos</h3>📊 Vehículos en BD: 0<br>📊 Rangos de flete en BD: 0<br><h3>4. Probar consulta principal</h3>✅ Consulta principal ejecutada correctamente<br>📊 Registros encontrados: 0<br><h3>5. Verificar permisos</h3>❌ Permiso 'vehiculos_ver' NO existe<br>❌ Permiso 'rangos_flete_ver' NO existe<br>❌ Permiso 'flete_ver' NO existe<br><h3>✅ Pruebas completadas</h3><p><strong>Si todas las pruebas pasaron, la API debería funcionar correctamente.</strong></p>