🧪 Diagnóstico automático del sistema
Revisión técnica de módulos, permisos, roles, tablas críticas y compatibilidad del código.
📦 Módulos sin permisos
| Módulo / carpeta | Estado | SQL sugerido |
|---|---|---|
| matricula | Revisar | INSERT INTO permisos (rol, modulo, ver, crear, editar, eliminar) VALUES ('admin','matricula',1,1,1,1); |
🧩 Permisos sin carpeta física
| Módulo en permisos | Estado | Observación |
|---|---|---|
| matriculas | Revisar | Existe en permisos, pero no hay carpeta modules/matriculas. Puede ser un nombre lógico o una inconsistencia. |
🔁 Permisos duplicados
| Rol | Módulo | Total | Estado |
|---|---|---|---|
| ✅ No existen permisos duplicados. | |||
👤 Roles y usuarios
| Revisión | Resultado |
|---|---|
| Roles en usuarios que no existen en permisos | ✅ OK |
| Roles en permisos sin usuarios actuales | admin, asistente, convivencia, direccion, docente, inspector, pie, utp |
| Usuarios con rol inválido | ✅ OK |
🧱 Matriz incompleta rol/módulo
Esta revisión muestra combinaciones de rol y módulo que no tienen fila en permisos. No siempre es error, pero conviene que exista la fila aunque todos los permisos estén en 0.
| Rol | Módulo faltante | SQL sugerido |
|---|---|---|
| asistente | dashboard_ejecutivo | INSERT INTO permisos (rol, modulo, ver, crear, editar, eliminar) VALUES ('asistente','dashboard_ejecutivo',0,0,0,0); |
| convivencia | dashboard_ejecutivo | INSERT INTO permisos (rol, modulo, ver, crear, editar, eliminar) VALUES ('convivencia','dashboard_ejecutivo',0,0,0,0); |
| docente | dashboard_ejecutivo | INSERT INTO permisos (rol, modulo, ver, crear, editar, eliminar) VALUES ('docente','dashboard_ejecutivo',0,0,0,0); |
| inspector | dashboard_ejecutivo | INSERT INTO permisos (rol, modulo, ver, crear, editar, eliminar) VALUES ('inspector','dashboard_ejecutivo',0,0,0,0); |
| pie | dashboard_ejecutivo | INSERT INTO permisos (rol, modulo, ver, crear, editar, eliminar) VALUES ('pie','dashboard_ejecutivo',0,0,0,0); |
🗃️ Tablas críticas
| Tabla | Estado |
|---|---|
| usuarios | OK |
| permisos | OK |
| alumnos | OK |
| matriculas | OK |
| biblioteca_libros | OK |
| biblioteca_prestamos | OK |
| libro_asignaturas | OK |
| libro_curso_asignaturas | OK |
| libro_evaluaciones | OK |
| libro_notas | OK |
| libro_leccionario | OK |
| pie_estudiantes | OK |
| junaeb_asistencia | OK |
| logs_sistema | OK |
⚙️ Compatibilidad hosting
| Revisión | Resultado |
|---|---|
Archivos que usan get_result() |
modules/reloj_control/procesar_marcacion2.php (línea 41), modules/reloj_control/procesar_marcacion2.php (línea 71), modules/reloj_control/procesar_marcacion.php (línea 41), modules/reloj_control/procesar_marcacion.php (línea 71) |
| Archivos con BOM UTF-8 | ✅ No se detectó BOM |
🛠️ SQL de limpieza recomendado
DELETE p1 FROM permisos p1 INNER JOIN permisos p2 WHERE p1.id > p2.id AND p1.rol = p2.rol AND p1.modulo = p2.modulo; ALTER TABLE permisos ADD UNIQUE KEY uk_rol_modulo (rol, modulo);