Siguiente: Histórico de conexiones
Subir: Solución adoptada
Anterior: Conexiones
  Índice General
En hco_activacion3.2
se guarda un histórico de los valores que se insertan en la tabla
activacion. Esta tabla nos sirve tanto para facturar como para
llevar una estadística de los servicios que se contratan.
Los campos que incorpora y el tipo dentro de MySQL son:
----------------------- -----------cod INT(11) auto_increment
login VARCHAR(8)
tarifacion ENUM(''pdiaria'',''pmensual'',''pospago'',''bono'',''prepago'')
grupo VARCHAR(20)
alta DATETIME
baja DATETIME
bono TIME
tarifa FLOAT(4)
facturado ENUM(''si'',''no'')
ubicacion VARCHAR(17)
El modo de rellenar esta tabla no es lo normal a la hora de trabajar con
históricos. No se va a guardar en esta tabla cada vez que cambie la activación, ni cuando
se de de baja el usuario. En realidad esta tabla va a contener el tiempo
que realmente está activado el usuario. Es decir, registra los momentos en los que se
le permite a un usuario navegar. A la hora de facturar a los usuarios
de tarifa plana se utilizará esta tabla para ver los periodos
activos de cada usuario. Puede existir
usuarios que se den de alta para un fecha posterior a la actual,
y después se cambien o se den de baja, estas entradas en la tabla
activación no se registrarán en el histórico, ya que no se han hecho
efectivas.
El modo de actuar será el siguiente:
- Cuando se da de alta un usuario se crea una fila en activacion con los
datos de activación del usuario.
- En el caso de que se esté dentro del periodo de activación, se inserta
la misma fila en el histórico de activación pero permanece el campo
de baja igual a 'NULL'.
- Cuando una fila de activacion cambia, se busca en el histórico una fila con
el mismo login y el campo de baja en 'NULL'. En esta fila, se pone en el campo
de baja el instante actual del cambio.
Si después del cambio, el usuario sigue activo, se creará una nueva fila con los
valores nuevos en hco_activacion y otra vez el campo de baja en 'NULL'.
- Cuando se acaba un periodo de activación y el usuario se
expulsa del sistema, se busca en el histórico una
fila con el valor de ese login y el campo de baja igual a 'NULL'. En esa fila hay que poner el
campo de baja igual al momento actual.
De esta manera los usuarios van a permanecer en la tabla activacion, lo único
que se cambiará sera sus periodos de activación. En la tabla hco_activacion
se guardarán los periodos que ha estado activo con sus parámetros correspondientes.
Siguiente: Histórico de conexiones
Subir: Solución adoptada
Anterior: Conexiones
  Índice General
Jesús Martín
2003-09-16