- Filtros por casas: selección múltiple con opción 'Todas las casas' - Filtros por conceptos: selección múltiple con opción 'Todos los conceptos' - Estado inicial: todos los filtros marcados por defecto (muestra toda la info) - Exportación PDF: incluye solo datos filtrados según selección - JavaScript interactivo: lógica de checkboxes con estados intermedios - Modelo actualizado: método getConceptDebtorsFiltered para filtrado avanzado - Interfaz intuitiva: scrollable containers para listas largas - Preserva permisos: respeta restricciones de acceso por casas
9.7 KiB
Executable File
ANÁLISIS COMPLETO DEL SISTEMA IBIZA CEA
Resumen Ejecutivo
El sistema IBIZA CEA es una plataforma de gestión integral para condominios que maneja dos módulos principales: Pagos de Agua y Finanzas. El sistema está desarrollado en PHP con MySQL y está diseñado para administrar 101 casas del condominio IBIZA.
🏗️ ESTRUCTURA DEL SISTEMA
Base de Datos
- Nombre:
ibiza_db - Motor: MySQL/MariaDB
- Tablas principales: 15 tablas
Arquitectura
- Frontend: PHP puro con HTML5, CSS3, JavaScript
- Backend: PHP con MySQLi
- API REST: Endpoints para integración externa
- Autenticación: Basada en sesiones con roles de usuario
📊 MÓDULOS DEL SISTEMA
1. MÓDULO DE PAGOS DE AGUA (Sistema Principal)
Página Principal: index.php
Funcionalidad: Concentrado de pagos mensuales de agua por casa
Características:
- Vista tabular de 101 casas vs 12 meses
- Edición inline de pagos (clic en celda)
- Filtros por año y número de casa
- Exportación a PDF y CSV
- Estados visuales de pago (pagado/pendiente/parcial)
Proceso de Flujo:
- Usuario selecciona año (2024-2030)
- Sistema muestra matriz casas×meses
- Admin/capturista puede editar montos haciendo clic
- Estados se actualizan automáticamente (verde=pagado, rojo=pendiente)
Lógica de Negocio:
- Casas pueden estar "activa" o "deshabitada"
- Casas con
consumo_only=1reciben descuento de $100 (desde 2025) - Cálculo automático de saldos y estados
Tablas Involucradas:
houses- Información de casas (101 registros)payments- Pagos registrados por casa/año/mesmonthly_bills- Configuración de montos esperados
2. MÓDULO DE FINANZAS (Sistema Secundario)
2.1 Gestión de Casas (finance_houses.php)
Funcionalidad: Administración del registro de propietarios
Características:
- Lista de 101 casas con números y propietarios
- Edición de nombres de propietarios (solo admin)
- Vista tabular con información de registro
Proceso:
- Muestra todas las casas del 001-101
- Admin puede editar nombre del propietario
- Sistema registra cambios en log de actividad
2.2 Conceptos de Recaudación (finance_concepts.php)
Funcionalidad: Definición de eventos especiales de cobro
Características:
- Creación de conceptos globales (Protocolización, Poda de árboles, etc.)
- Montos variables por casa
- Relación con conceptos globales
- Gestión de pagos por concepto
Ejemplos del Sistema:
- Protocolización: $200 por casa
- Poda de árboles: $20 por casa
- Reparación de candado: $6 por casa
2.3 Reportes Financieros (finance_reports.php)
Funcionalidad: Generación de reportes financieros
Tipos de Reportes:
- Balance General: Resumen completo financiero
- Estado de Cuenta por Casa: Detalle de pagos individuales
- Detalle por Concepto: Pagos agrupados por concepto
- Detalle por Concepto Global: Reportes de eventos especiales
Características:
- Filtros por rango de fechas
- Exportación a PDF
- Cálculos automáticos de totales
2.4 Gestión de Gastos (finance_expenses.php)
Funcionalidad: Registro de egresos del sistema
Características:
- Registro de gastos con conceptos
- Soporte para comprobantes (receipt_path)
- Relación con conceptos de recaudación
- Montos y fechas configurables
🔐 SEGURIDAD Y ROLES
Sistema de Autenticación
Página: login.php
Flujo:
- Usuario ingresa credenciales
- Sistema verifica contra tabla
users - Creación de sesión con regeneración de ID
- Redirección a
select_system.php
Roles de Usuario
- admin: Acceso completo a todas las funciones
- capturista: Puede editar pagos y crear conceptos
- viewer: Solo puede visualizar información
- any: Rol mínimo para navegación básica
Página de Selección (select_system.php)
Funcionalidad: Portal de navegación entre sistemas
Características:
- Interfaz moderna con cards de selección
- Dos opciones: "Pagos de Agua" y "Finanzas"
- Diseño responsivo y visual atractivo
📋 TABLAS DE BASE DE DATOS
Tablas Principales
1. houses (101 registros)
- Propósito: Registro de casas del condominio
- Campos clave:
number,status,consumo_only - Estados: 'activa' o 'deshabitada'
2. payments (1,000+ registros)
- Propósito: Pagos mensuales registrados
- Relación: Muchos a uno con houses
- Periodo: 2024-2025 con datos históricos
3. monthly_bills (25+ registros)
- Propósito: Configuración de montos esperados
- Cálculo: Total dividido entre casas activas
- Evolución: Montos variables por mes ($250-$712)
4. finance_houses (101 registros)
- Propósito: Datos financieros de casas
- Campos:
house_number,owner_name - Uso: Módulo financiero separado
5. finance_collection_concepts (5 registros)
- Propósito: Conceptos especiales de cobro
- Ejemplos: Protocolización, Poda, Reparación
- Montos: Variables ($6-$200 por casa)
6. finance_expenses (17 registros)
- Propósito: Registro de egresos
- Conceptos: Herrero, Candados, Asesoría, etc.
- Montos: $11-$1,015
7. activity_logs (9,800+ registros)
- Propósito: Auditoría completa del sistema
- Acciones: login, navigation, editar_pago, etc.
- Usuarios: Principalmente usuario ID 1 y 2
🔄 FLUJOS DE TRABAJO
Flujo de Pagos de Agua (Mensual)
- Configuración: Admin define montos en
monthly_bills - Registro: Capturista ingresa pagos casa por casa
- Seguimiento: Sistema muestra estados de pago
- Reportes: Exportación a PDF para administración
Flujo de Conceptos Especiales
- Creación: Admin define concepto global y montos
- Recaudación: Capturista registra pagos por casa
- Control: Sistema vincula pagos con conceptos
- Reportes: Generación de estados de cuenta
Flujo de Gastos
- Registro: Admin ingresa egresos con conceptos
- Documentación: Opcional carga de comprobantes
- Vinculación: Relación con conceptos de recaudación
- Control: Reportes de balance general
🎯 FUNCIONALIDADES CLAVE
1. Gestión de Pagos
- Edición Inline: Clic en celda para editar monto
- Estados Visuales: Colores automáticos según estado
- Cálculos Automáticos: Saldos y totales en tiempo real
- Validaciones: Prevención de errores de entrada
2. Control de Acceso
- Autenticación Segura: Password hashing y regeneración de sesión
- Roles Granulares: Diferentes niveles de acceso
- Auditoría: Registro completo de actividades
3. Reportes
- Múltiples Formatos: PDF, CSV, vista en pantalla
- Filtros Avanzados: Por fecha, casa, concepto
- Cálculos Automáticos: Totales y subtotales
4. API REST
- Endpoints: houses, payments, stats, login
- Autenticación: Tokens de API
- Formato: JSON responses
📈 MÉTRICAS Y DATOS
Volumen de Datos
- Casas: 101 propiedades
- Pagos Registrados: 1,000+ transacciones
- Actividad: 9,800+ eventos en log
- Usuarios: Principalmente 2 usuarios activos
Datos Financieros
- Rango de Pagos: $150-$56,109 (error en registro)
- Pagos Típicos: $250-$712 mensuales
- Conceptos Especiales: $6-$200 por evento
- Gastos Registrados: $11-$1,015
Uso del Sistema
- Período Activo: Junio 2024 - Diciembre 2025
- Frecuencia: Uso diario multiple
- Usuarios Principales: ID 1 (admin), ID 2 (capturista)
🚀 OPORTUNIDADES DE MEJORA
1. Experiencia de Usuario
- Unificación: Integrar los dos sistemas en uno solo
- Navegación: Menú unificado en lugar de selección separada
- Interfaz: Diseño consistente entre módulos
2. Funcionalidades
- Dashboard Principal: Vista unificada de todos los módulos
- Notificaciones: Alertas de pagos pendientes
- Búsqueda: Búsqueda global de casas y propietarios
3. Técnico
- Framework: PHP puro con Mysql(Mariadb)
- Frontend: Implementar Vue.js/React para mejor UX
- Testing: Adicionar pruebas unitarias y de integración
4. Negocio
- Automatización: Cálculos automáticos de multas
- Integración: Sistema de pagos en línea
- Móvil: App para residentes
📋 REQUERIMIENTOS PARA UNIFICACIÓN
1. Estructura Sugerida
/dashboard.php - Dashboard unificado
/casas/ - Gestión de casas
/pagos/ - Pagos de agua
/finanzas/ - Módulo financiero
/reportes/ - Reportes unificados
/configuracion/ - Configuración del sistema
2. Funcionalidades Integradas
- Perfil de Casa: Vista unificada de pagos y finanzas
- Dashboard Principal: Métricas de ambos sistemas
- Reportes Combinados: Balance general completo
- Gestión Unificada: Menú único de navegación
3. Mejoras de UX
- Búsqueda Global: Encontrar casas por nombre/numero
- Estados Unificados: Vista combinada de pagos
- Notificaciones: Sistema de alertas integrado
- Móvil: Diseño responsivo mejorado
🎯 CONCLUSIÓN
El sistema IBIZA CEA es una plataforma funcional y completa que gestiona eficientemente las necesidades del condominio. Sin embargo, la división en dos sistemas separados crea una experiencia fragmentada para los usuarios.
Recomendación Principal: Unificar ambos sistemas en una plataforma integrada con un dashboard principal que proporcione una visión completa de cada casa, incluyendo pagos de agua, conceptos especiales, gastos y balances generales.
Esta unificación mejoraría significativamente la experiencia del usuario, simplificaría la navegación y proporcionaría una visión más completa del estado financiero del condominio.