Funcionalidades del sistema
Módulo de usuarios
- Crear usuarios con roles: TREEA_ADMIN, DISTRIBUIDOR, ADMIN_COMPANY, SUPERVISOR, OPERADOR, VISOR
- Listar usuarios
- Obtener usuario por ID
- Obtener usuario con restricciones de plan de suscripción
- Editar usuarios
- Eliminar usuarios
- Activar usuarios
- Inactivar usuarios
- Login de usuarios
- Crear usuario gratuito (ADMIN_COMPANY desde landing)
- Restablecer contraseña (enviar link por email)
- Cambiar contraseña mediante token
- Redirigir usuario al módulo de mantenimiento
Módulo de clientes
- Crear clientes
- Listar clientes
- Obtener cliente por ID
- Listar clientes de un distribuidor
- Activar/desactivar clientes
- Actualizar cliente
- Actualizar detalles del cliente
Módulo de usuarios de clientes
- Listar usuarios de un cliente
- Obtener usuario de cliente por ID
- Filtrar usuarios por cliente
- Crear usuario de cliente
- Activar/desactivar usuario de cliente
- Crear usuario SUPERVISOR/OPERADOR en base de datos del cliente
- Obtener usuario específico de un cliente
- Actualizar usuario de cliente
- Activar/desactivar usuario de cliente (toggle)
Módulo de usuarios admin company
- Listar usuarios SUPERVISOR y OPERADOR de un cliente
- Obtener usuario específico por ID
- Crear usuario SUPERVISOR u OPERADOR
- Actualizar usuario
- Activar/desactivar usuario
Módulo de empresas (companies)
- Crear empresa
- Crear empresa con plan
- Listar empresas
- Obtener empresa por ID
- Actualizar empresa
- Eliminar empresa
- Obtener usuarios de una empresa con rol ADMIN_COMPANY
- Obtener empresa con sus usuarios
- Obtener usuarios de una empresa con rol SUPERVISOR
Módulo de plantas de tratamiento
- Crear plantas de tratamiento (con fotos, placa, hoja de datos de bomba)
- Listar todas las plantas de tratamiento
- Obtener planta de tratamiento por ID
- Obtener planta de tratamiento completa
- Listar plantas de tratamiento creadas por un usuario
- Editar plantas de tratamiento
- Actualizar plantas de tratamiento
Módulo de histórico de plantas de tratamiento
- Crear histórico de planta de tratamiento
- Listar históricos de plantas de tratamiento
- Filtrar histórico por ID de planta de tratamiento
- Listar históricos de plantas existentes (solo ID y nombre - listado de mediciones)
- Obtener histórico de una planta por ID de planta e ID de histórico
- Actualizar parámetro PPM actual de cualquier parámetro
- Actualizar PPMs de manera masiva
- Marcar parámetro como ajustado (isAdjusted = true)
- Marcar parámetro como no ajustado (isAdjusted = false)
Módulo de productos químicos
- Crear productos químicos
- Listar productos químicos
- Obtener producto químico por ID
- Editar productos químicos
- Eliminar productos químicos
- Buscar productos químicos por categoría/función (productos registrados)
- Listar productos químicos filtrados por categoría (todos sin excepción)
Módulo de inventario de productos químicos
- Crear inventario de producto químico
- Listar inventarios de productos químicos
- Obtener inventario filtrado por ID de producto químico
Módulo de histórico de productos químicos
- Guardar histórico de producto químico
- Listar historial de productos químicos por ID de producto químico (incluye ingresos, dosificaciones y descuentos)
Módulo de categorías de productos químicos
- Crear categoría de producto químico
- Listar categorías de productos químicos
Módulo de preparaciones químicas
- Crear preparación química
- Listar preparaciones químicas
- Obtener preparación química por ID
- Obtener preparaciones químicas por ID de planta de tratamiento
Módulo de bajas de inventario
- Crear baja de inventario
- Listar bajas de inventario
- Obtener baja de inventario por ID
- Obtener lotes de un producto químico
Módulo de normatividad
- Crear normas
- Carga masiva de normas (desde Excel)
- Listar normas
- Obtener norma por ID
- Obtener norma manual
- Listar nombres de parámetros de norma manual
- Editar normas
- Actualizar parámetro de una norma por ID
- Activar normas
- Inactivar normas
- Eliminar normas
- Obtener actividades por industria
Módulo de parametrización
- Crear parametrización
- Listar parametrizaciones
- Obtener parametrización por ID
- Activar parametrización
- Inactivar parametrización
Módulo de ajustes de dosificación
- Crear ajuste de dosificación
- Listar ajustes de dosificación
- Obtener ajuste de dosificación por ID
- Filtrar ajustes de dosificación por histórico de planta de tratamiento
- Previsualizar cantidad de químico a aplicar en una planta
Módulo de ensayos de jarras (jar tests)
- Crear test de jarras
- Listar tests de jarras
- Obtener test de jarras por ID
- Listar nombres de parámetros disponibles
Módulo de equipos
- Crear equipos (con archivos adjuntos)
- Listar equipos
- Obtener equipo por ID
- Listar equipos por usuario
- Listar equipos por categoría
- Cambiar estado de equipo (activar/inactivar)
- Listar equipos por planta de tratamiento
- Filtrar equipos por planta y categoría
Módulo de planes de mantenimiento
- Crear plan de mantenimiento (con archivos adjuntos)
- Listar planes de mantenimiento
Módulo de asignaciones
- Crear asignación
- Listar asignaciones
Módulo de notificaciones
- Crear notificación
- Listar notificaciones
- Obtener notificación por ID
- Eliminar notificación
- Listar notificaciones paginadas (test)
Módulo de suscripciones
- Crear suscripción
- Listar suscripciones
- Obtener suscripción por ID
- Obtener mis suscripciones
- Obtener suscripción actual del usuario
- Cancelar suscripción
- Procesar token de pago
- Generar pago con Wompi
Módulo de planes
- Listar planes disponibles
- Obtener plan por ID
Módulo de pagos
- Listar pagos
- Obtener pago por ID
- Obtener pagos de una suscripción
- Actualizar pago
- Confirmar pago
Módulo de dashboard
- Obtener cumplimiento de parámetros (último valor de velocímetros y termómetros) - Gráficas 4.1 y 4.3
- Obtener tendencia de parámetros (últimos 30 días) - Gráfica 4.4
- Obtener análisis químico de una planta de tratamiento - Gráfica 4.5
Módulo de socket/websocket
- Enviar notificación a usuario específico
- Enviar notificación a empresa
- Enviar notificación por rol
- Enviar alerta de planta
- Enviar actualización de planta
- Enviar notificación de mantenimiento
- Enviar actualización de inventario
- Enviar notificación broadcast a todos los usuarios
- Obtener estadísticas de conexiones
- Desconectar usuario específico
Módulo de historial de saldoS
- Guardar historial de saldos por cantidad
- Listar historial de saldos (ingresos, ingresos de inventario,dosificaciones,descuento dosificaciones,bajas de inventario)
Roles del sistema
- TREEA_ADMIN: Super usuario con acceso completo
- DISTRIBUIDOR: Usuario distribuidor
- ADMIN_COMPANY: Administrador de empresa cliente
- SUPERVISOR: Supervisor de empresa cliente
- OPERADOR: Operador de empresa cliente
- VISOR: Visor de empresa cliente
Estados de usuarios
- active: Usuario activo
- inactive: Usuario inactivo