Parte Diario / Documentación Acceder

XIII. Reglas de Negocio

La integridad del sistema se basa en el cumplimiento estricto de las siguientes reglas de negocio:

RN-01: Restricción de Registro Anticipado

El sistema impedirá el registro de una sesión antes de la hora de finalización programada para dicha clase. La validación se realiza comparando Hora_Actual >= Hora_Fin_Clase del horario correspondiente. Si la condición no se cumple, se muestra un mensaje claro indicando la hora de fin de la clase.

RN-02: Determinación de Puntualidad

El estado del registro se calculará automáticamente comparando la hora de envío contra la hora de fin de la clase más el margen de tolerancia configurado:

  • Hora_Registro <= Hora_Fin + Tolerancia → Estado: A tiempo (en_tiempo)
  • Hora_Registro > Hora_Fin + Tolerancia → Estado: Fuera de plazo (fuera_de_plazo)
  • La tolerancia se obtiene del campo tolerancia_minutos en el horario específico; si no está definido, se usa la tolerancia global de horario_academico.

RN-03: Privacidad y Aislamiento de Datos

El personal docente tendrá acceso exclusivo a su propia carga académica, sin visibilidad sobre otros usuarios. Todas las consultas de clases del día, horario semanal e historial están filtradas por el docente_id del usuario autenticado. El coordinador, en cambio, tiene visibilidad completa de todos los docentes.

RN-04: Seguridad de Sesión

El sistema implementa:

  • Bloqueo de cuenta tras 5 intentos fallidos de inicio de sesión (15 minutos de espera).
  • Cierre de sesión automático por inactividad prolongada (configurable vía Shield).
  • Autenticación mediante CodeIgniter Shield con contraseñas cifradas.
  • Los usuarios admin y coordinador tienen acceso a todos los módulos; los docentes solo a su panel personal.

RN-05: Dependencia de Entidades Maestras

Solo los horarios marcados como esta_activo = 1 y los periodos marcados como es_activo = 1 serán considerados para la operación diaria en el panel docente. Las entidades inactivas se excluyen automáticamente de todas las consultas operativas.

RN-06: Integridad de Periodos Académicos

No se permite modificar las fechas de un periodo académico si este tiene horarios, registros de sesión o asignaciones asociadas. El sistema verifica la integridad referencial antes de permitir la actualización.

RN-07: Validación de Cruce Horario

No pueden existir dos horarios activos en el mismo día con rangos horarios que se superpongan. El sistema valida que no haya cruce al crear o actualizar un horario.

RN-08: Límite de Horas Semanales por Curso

La suma de horas de todos los horarios activos de un curso no puede exceder las horas_semanales definidas en el curso. El sistema calcula las horas actuales y valida antes de guardar un nuevo horario.

RN-09: Contenido Mínimo del Registro

El registro de sesión requiere obligatoriamente una descripción de la actividad realizada. No se permiten registros vacíos o con solo espacios en blanco.

RN-10: Origen del Registro

Todo registro de sesión debe identificar el origen desde el cual fue creado (web, api, etc.) para fines de auditoría y trazabilidad.