Skip to content

Modulo global de normas

  • De los parametros de una norma, solo se pueden editar los valores, No el nombre ni la especificación
  • Cuando typeValidation es igual a norma la propiedad parameters se establece en null y ahora los parameters se encuentran disponibles en normativityId.

Listado parametros norma masiva

Este endpoint lista los parametros que se usan en el excel que se usa para cargar normas de forma masiva

  • [ GET ] /v1/parameters-names-lists

Este endpoint lista las mediciones - requiere que se le suministre el _id de una planta de tratamiento

  • [ GET ] /v1/history-treatment-plants-summary/679ce9887de17f6f4f3d06a8

  • Si se escoge en el campo tipo de agua la opción Agua potable no se debe habilitar el campo industria

    • Como agua potable no tiene listado de actividades la estructura de los datos debe ser totalmente distinta a las demás por ejemplo industria o agroindustria...
    • FRONTEND, NO DEBE HABILITAR EL CAMPO INDUSTRIA SI EL USUARIO Escoge en tipo de agua: Agua Potable, tampoco debe habilitar el campo actividad

Actualizacion modulo crear normas

  • MODULO CREACIÓN DE NORMAS:
    • Si el tipo de agua es Agua residual se habilita el campo industria con las opciones: Agroindustria, ganaderia, mineria, hidrocarburos, alimentos y bebidas, fabricación y manufactura de bienes, servicios, vivienda residencial y otros casos. Si el usuario selecciono tipo de norma automatica, se deben guardar los parametros automaticamente, no sin antes haber seleccionado la actividad relacionada a esa industria en el campo actividad.
    • Si el tipo de agua es Agua potable no se habilita el campo industria, pero si se manejan parametros automaticos. El campo actividad no se debe habilitar.
    • El tipo de industria: Otros casos se habilita exclusivamente cuando el tipo de agua es: Agua residual y se debe habilitar un campo llamado actividad con la opcion otros casos
    • Cuando el tipo de agua es: Aguas lluvias no va ni industria, ni actividad ni parametros automaticos
    • La norma Norma Manual no debe estar visible para asignarsela a ninguna planta. Esta norma se usa para configurar los parametros solo los nombres no se configura ni su especificación ni sus respectivos valores. Se usa para configurar parametros personalizados y en el modulo crear test de jarras.
    • Cuando se selecciona isMassUploadMode en si a pesar de que el usuario seleccione industria y actividad se debe ingresar los parametros mediante un excel y los demás datos de la norma...
  • De los parametros de una norma solo se pueden editar los valores, no el nombre ni la especificación

Creación de normas campo punto de vertimiento

Cambios en creación de normas

Fecha de implementación: Martes 17 de diciembre 2025

Se agregó un nuevo campo dischargePoint (punto de vertimiento) al módulo de creación de normas. Este campo permite especificar el destino del vertimiento del agua residual tratada, lo cual afecta los valores máximos permitidos de ciertos parámetros cuando se crea una norma automática.

Descripción del Campo

El campo dischargePoint indica el punto de vertimiento del agua residual tratada y puede tener dos valores:

  • aguaSuperficial: Vertimiento a cuerpos de agua superficiales (ríos, lagos, mar, etc.)
  • alcantarillado: Vertimiento al sistema de alcantarillado

Cambios Realizados en el Código

1. Enum y Validación (src/enums/enumStandard.ts)

Se agregó el enum validDischargePointStandard para validar los valores permitidos:

typescript
export const validDischargePointStandard = {
  // aguaSuperficial: Agua superficial (Rios, lagos, mar, etc)
  values: ['aguaSuperficial', 'alcantarillado'],
  message: '{VALUE} no es una entrada de agua valida'
}
2. Tipo TypeScript (src/types/typesStandard.ts)

Se definió el tipo DischargePointType:

typescript
export type DischargePointType = 'aguaSuperficial' | 'alcantarillado';
3. Interfaz del Modelo (src/interfaces/IStandard/IStandard.ts)

Se agregó la propiedad dischargePoint a la interfaz IStandard:

typescript
dischargePoint: DischargePointType; //Punto de vertimiento (agua superficial o alcantarillado)
4. Modelo de Base de Datos (src/models/normativity.ts)

Se agregó el campo al esquema de Mongoose:

typescript
dischargePoint: {type: String, enum: validDischargePointStandard}, 
//ADD MIERCOLES 17 DIC 2025 /Punto de vertimiento (agua superficial o alcantarillado)

También se importó el enum necesario:

typescript
import { 
  validDischargePointStandard 
} from "../enums/enumStandard";
5. Lógica de Negocio (src/controllers/normativityController.ts)

Se implementó la lógica especial para normas automáticas con vertimiento a alcantarillado. Cuando se cumple la condición:

  • Tipo de agua: aguaResidual
  • Tipo de norma: automatica
  • Punto de vertimiento: alcantarillado

Se aplica un multiplicador de 1.50 a los valores máximos permitidos de los siguientes parámetros:

  • DQO (Demanda Química de Oxígeno)
  • DBO5 (Demanda Bioquímica de Oxígeno a 5 días)
  • SST (Sólidos Suspendidos Totales)
  • SSED (Sólidos Sedimentables)
  • Grasas y Aceites
  • Ortofosfatos
  • Fósforo Total
  • Nitratos
  • Nitritos
  • Nitrógeno Amoniacal
  • Nitrógeno Total

Comportamiento del Sistema

Caso 1: Norma Automática con Vertimiento a Alcantarillado

Cuando se crea una norma con:

  • typeOfWater: 'aguaResidual'
  • standardType: 'automatica'
  • dischargePoint: 'alcantarillado'

Acción: Los valores máximos permitidos (maxValueSpecification) de los 11 parámetros mencionados se multiplican por 1.50 antes de guardar la norma.

Ejemplo:

  • Si un parámetro tiene maxValueSpecification: 100
  • Y está en la lista de parámetros afectados
  • Y su specification es 'valorMaximo'
  • Entonces se guardará con maxValueSpecification: 150 (100 x 1.50)
Caso 2: Norma Automática con Vertimiento a Agua Superficial

Cuando se crea una norma con:

  • typeOfWater: 'aguaResidual'
  • standardType: 'automatica'
  • dischargePoint: 'aguaSuperficial'

Acción: Se utiliza el flujo normal de creación de normas automáticas, sin modificación de valores.

Caso 3: Norma Personalizada

Cuando standardType: 'personalizada', el campo dischargePoint se guarda pero no se aplica ninguna modificación a los parámetros, ya que estos son ingresados manualmente por el usuario.

Notas Importantes

  1. Aplicación del multiplicador: Solo se aplica a parámetros que:

    • Están en la lista de parámetros afectados
    • Tienen specification: 'valorMaximo'
    • Son parte de una norma automática con vertimiento a alcantarillado
  2. Parámetros no afectados: Los parámetros que no están en la lista o que tienen otras especificaciones (rango o analisisYReporte) no se modifican.

  3. Normas personalizadas: El campo dischargePoint se guarda en normas personalizadas pero no afecta los valores, ya que estos son definidos manualmente.

  4. Validación: El campo está validado mediante enum de Mongoose, por lo que solo acepta los valores 'aguaSuperficial' o 'alcantarillado'.

Archivos Modificados

  1. src/enums/enumStandard.ts - Agregado enum validDischargePointStandard
  2. src/types/typesStandard.ts - Agregado tipo DischargePointType
  3. src/interfaces/IStandard/IStandard.ts - Agregada propiedad dischargePoint
  4. src/models/normativity.ts - Agregado campo al esquema de Mongoose
  5. src/controllers/normativityController.ts - Implementada lógica de multiplicación