- Correccion en la habilidad de reordenamiento - Se agregaron los activos, penalizacin y potencial al reordenamiento
4.0 KiB
Plan de Implementación: Contabilización de Activos (Producidos, Recuperados y Perdidos)
Este documento detalla la lógica matemática y los pasos técnicos necesarios para implementar la visualización y el cálculo de estadísticas de activos en la pantalla de resumen de la aplicación Colaborando.
📋 Resumen del Enfoque
Para evitar desincronizaciones de datos y la necesidad de alterar la base de datos o los esquemas JSON de persistencia de sesión, utilizaremos un cálculo dinámico en el cliente (JavaScript). Toda la información necesaria ya existe dentro del arreglo global proyectos y el objeto arregloGeneral, que se guardan y cargan automáticamente con la sesión.
🧮 Lógica de Cálculo de Métricas
Para cada tipo de activo (p. ej., Personal Calificado, Analistas, Flujo de Efectivo, etc.), los valores se calculan recorriendo el arreglo global proyectos buscando proyectos con estatus === 'Completado':
1. Activos Producidos (Total)
- Definición: Activos que fueron creados/asignados para completar los proyectos finalizados.
- Lógica: Suma de los requerimientos originales de todos los proyectos completados.
- Fórmula:
\text{Producidos}(c) = \sum_{p \in \text{Completados}} p[c](Dondeces el campo de requerimiento del activo, comoamarillo,naranjas, etc.)
2. Activos Recuperados
- Definición: Activos que se arrastraron exitosamente desde los proyectos terminados hacia los departamentos (lo cual resta del proyecto y suma al departamento).
- Lógica: La diferencia entre el requerimiento original del proyecto completado y su valor de asignación actual (que disminuye al ser arrastrado).
- Fórmula:
\text{Recuperados}(c) = \sum_{p \in \text{Completados}} (p[c] - p['activoAsignado' + (i+1)])(Dondeies el índice del slot correspondiente al tipo de activo en el proyecto)
3. Activos Perdidos
- Definición: Activos que no se pudieron recuperar de proyectos finalizados por falta de recursos o de espacio antes de cambiar de periodo.
- Lógica: Suma de los activos remanentes (
activoAsignadoX) en proyectos completados que pertenecen a trimestres anteriores (ya que en el trimestre actual todavía es posible recuperarlos). - Fórmula:
\text{Perdidos}(c) = \sum_{p \in \text{Completados}, p.\text{trimestreCompletado} < \text{trimestreActual}} p['activoAsignado' + (i+1)]
🛠️ Archivos y Cambios Requeridos
Todo el cambio se centraliza en el archivo resumen.php.
Paso 1: Interfaz de Usuario (HTML)
Modificar la estructura de la tabla #tablaActivos (líneas ~308-348) para cambiar sus encabezados a:
- Activo
- Producidos
- Recuperados
- Perdidos
Asignar identificadores de celda descriptivos para inyectar los datos, por ejemplo:
- Para Personal Calificado:
producidosPersonalCalificado,recuperadosPersonalCalificado,perdidosPersonalCalificado. - Para Analistas:
producidosAnalistas,recuperadosAnalistas,perdidosAnalistas. - (Repetir para los 6 tipos de activos).
Paso 2: Motor de Cálculo (JavaScript)
Dentro de la función actualizarResumenUI() (línea ~720):
- Inicializar: Crear un objeto local para llevar las cuentas por tipo de activo e indicador (ej.
const stats = { PersonalCalificado: { producidos: 0, recuperados: 0, perdidos: 0 }, ... }). - Procesar: Iterar sobre el arreglo
proyectosy clasificar según las fórmulas explicadas. - Renderizar: Actualizar el contenido de las celdas del HTML utilizando jQuery (ej.
$('#producidosPersonalCalificado').text(stats.PersonalCalificado.producidos)).
🎯 Beneficios de esta Solución
- Integridad de datos: No requiere modificar la estructura JSON del archivo de datos (
datos.json/cheve.json). - Sincronización total: Si el usuario recarga la página o arrastra activos, la tabla se vuelve a calcular en tiempo real reflejando el estado real del juego.
- Mantenibilidad: El código queda autocontenido en la vista de resumen.