Files
GRH/CAMBIOS_SESION.md
Exteban08 61dafa83ac Update all project documentation to reflect current state
Rewrite README.md, DOCUMENTATION.md, ESTADO_ACTUAL.md and CAMBIOS_SESION.md
to accurately document the full-stack architecture, all modules, API endpoints,
JWT auth, database schema, and features added in February 2026.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 07:48:54 +00:00

5.4 KiB

Historial de Cambios - Proyecto GRH

Registro cronologico de cambios significativos realizados al proyecto.


2026-02-09: Actualizacion de documentacion

Resumen

Actualizacion completa de los 4 archivos de documentacion para reflejar el estado real del proyecto.

Archivos Modificados

Archivo Cambio
README.md Reescrito completamente: arquitectura full-stack, backend Express, PostgreSQL, todos los modulos, endpoints API, variables de entorno, estructura de directorios actualizada
DOCUMENTATION.md Reescrito completamente: documentacion tecnica con JWT real, todos los endpoints del backend, esquema relacional, hooks, sistema de temas, conectores, guia de desarrollo actualizada
ESTADO_ACTUAL.md Actualizado con todas las funcionalidades implementadas en febrero 2026: Analytics, Conectores, Dark mode, Notificaciones, Auditoria, Upload Panel, historial de correcciones
CAMBIOS_SESION.md Convertido a historial cronologico completo de cambios

Motivo

La documentacion previa describia una version temprana del proyecto (solo frontend, API externa NocoDB, auth con token simple) y no reflejaba el backend Express propio, JWT con refresh tokens, ni los modulos agregados en febrero 2026.


2026-02-05: Sincronizacion de conectores

Cambio

Cambio de hora de sincronizacion de conectores de 2:00 AM a 9:00 AM.

Archivos Modificados (2)

  • src/pages/conectores/SHMetersPage.tsx
  • src/pages/conectores/XMetersPage.tsx

2026-02-04: Favicon y conectores

Cambios

  • Actualizacion de favicon del sistema
  • Mejoras en la visualizacion de tiempo de ultima conexion en paginas de conectores
  • Agregado plan de implementacion para rol ORGANISMOS_OPERADORES

Archivos Modificados (4+1)

  • Favicon actualizado
  • Paginas de conectores actualizadas
  • PLAN_ORGANISMOS_OPERADORES.md (plan de implementacion)

2026-02-03: Dark mode, Analytics, Conectores y CSV Upload

Resumen

Sesion mayor con multiples funcionalidades nuevas implementadas en una serie de 12 commits.

Nuevas Funcionalidades

Dark Mode Completo

  • Toggle dark/light/system en configuracion
  • Paleta Zinc de Tailwind aplicada a todas las paginas
  • Soporte en tablas, modales, formularios, sidebars
  • Cards de ConsumptionPage y tabla de AuditoriaPage

Seccion Analytics (3 paginas)

  • AnalyticsMapPage.tsx - Mapa Leaflet con ubicaciones de medidores
  • AnalyticsReportsPage.tsx - Dashboard de reportes y estadisticas
  • AnalyticsServerPage.tsx - Metricas del servidor (CPU, memoria, requests)
  • MapComponents.tsx - Componentes auxiliares del mapa

Seccion Conectores (3 paginas)

  • SHMetersPage.tsx - Conector para sistema SH-Meters
  • XMetersPage.tsx - Conector para sistema XMeters
  • TTSPage.tsx - Conector para The Things Stack (LoRaWAN)

Upload Panel (app separada)

  • Nueva aplicacion en upload-panel/ con React + Vite + Tailwind
  • MetersUpload.tsx - Carga de medidores via CSV (upsert)
  • ReadingsUpload.tsx - Carga de lecturas via CSV
  • FileDropzone.tsx - Componente de dropzone para archivos
  • ResultsDisplay.tsx - Visualizacion de resultados

Otros

  • Nuevos tipos de medidor: LORA, LORAWAN, GRANDES CONSUMIDORES
  • Documentacion completa del proyecto (6 archivos)

Archivos Modificados

Aproximadamente 50+ archivos en 12 commits.


2026-01-23: Fix pantalla blanca y carga masiva

Resumen

Correccion de errores criticos que causaban pantalla blanca y mejoras en el sistema de carga masiva.

Problema 1: Pantalla Blanca en Water Meters y Consumo

Sintoma: Al navegar a "Water Meters" o "Consumo", la pagina se quedaba en blanco.

Causa: PostgreSQL devuelve valores DECIMAL como strings (ej: "300.0000"). El codigo llamaba .toFixed() directamente sobre estos strings.

Solucion: Convertir a numero con Number() antes de .toFixed().

Archivos:

  • src/pages/meters/MetersTable.tsx:75
  • src/pages/consumption/ConsumptionPage.tsx:133, 213, 432

Problema 2: Modal de Carga Masiva se Cerraba sin Resultados

Sintoma: El modal se cerraba automaticamente despues de la carga sin mostrar resultados.

Causa: El callback onSuccess cerraba el modal automaticamente.

Solucion: Separar recarga de datos (onSuccess) del cierre del modal (onClose).

Archivo: src/pages/meters/MeterPage.tsx:332-340

Problema 3: Error de Fecha Invalida en Carga Masiva

Sintoma: Error invalid input syntax for type date: "Installed" al subir medidores.

Causa: Columnas con valores como "Installed" o "New_LoRa" se interpretaban como fechas.

Solucion:

  1. Validar formato de fecha con regex antes de usarla
  2. Agregar mapeos de columnas comunes (device_s/nserial_number, etc.)
  3. Normalizar status ("Installed" → ACTIVE, "New_LoRa" → ACTIVE, etc.)

Archivo: water-api/src/services/bulk-upload.service.ts

Archivos Modificados

Archivo Cambio
src/pages/meters/MetersTable.tsx Fix .toFixed() en lastReadingValue
src/pages/consumption/ConsumptionPage.tsx Fix .toFixed() en readingValue y avgReading
src/pages/meters/MeterPage.tsx Fix modal de carga masiva
water-api/src/services/bulk-upload.service.ts Validacion de fechas, mapeos, normalizacion

Verificacion

  • La pagina de Water Meters carga correctamente
  • La pagina de Consumo carga correctamente
  • El modal de carga masiva muestra resultados
  • Errores de carga masiva se muestran claramente
  • Valores como "Installed" no causan error de fecha