es.mcu.yingo.bbdd
Class TablaTareasPendientesImpl

java.lang.Object
  extended by es.mcu.yingo.bbdd.TablaTareasPendientesImpl
All Implemented Interfaces:
TablaTareasPendientes

public class TablaTareasPendientesImpl
extends java.lang.Object
implements TablaTareasPendientes

Implementación del interfaz TablaTareasPendientes con las consultas más comunes en la tabla tareas pendientes

Author:
miguel.esteban

Field Summary
(package private) static java.lang.String CONSULTA_COMPLETA_ROL
          Consulta HQL para obtener las tareas pendientes de una tarea que está asignadas a un rol para un código de expediente e id de aplicación.
(package private) static java.lang.String CONSULTA_OBTENER_PENDIENTE_ASIGNADO_USUARIO
          Consulta HQL para devuelve la tarea pendiente (párametro id de tarea) que está asignada al usuario para la aplicación y código de expediente.
(package private) static java.lang.String CONSULTA_OBTENER_PENDIENTE_POR_COD_EXPTE_Y_USUARIO
          Consulta HQL para devuelve las tareas pendientes de una aplicación y asignadas al usuario para un código de expediente.
(package private) static java.lang.String CONSULTA_OBTENER_PENDIENTES_POR_COD_EXPTE
          Consulta HQL para obtener las tareas pendientes de un id de aplicación y un código de expediente.El resultado está ordenado por fecha descendentemente.
(package private) static java.lang.String CONSULTA_OBTENER_PENDIENTES_POR_ROL
          Consulta HQL para obtener las tareas pendientes a un tol para una aplicación.
(package private) static java.lang.String CONSULTA_OBTENER_PENDIENTES_POR_ROLES
          Consulta HQL para obtener las tareas pendientes que no está asignadas a un usuario y sean de la lista de roles.
(package private) static java.lang.String CONSULTA_OBTENER_PENDIENTES_POR_ROLES_O_USUARIO
          Consulta HQL para obtener las tareas pendientes que, o no está asignadas a un usuario o sean del usuario (parámetro), y sean de la lista de roles.
(package private) static java.lang.String CONSULTA_OBTENER_PENDIENTES_POR_USUARIO
          Consulta HQL para devuelve las tareas pendientes que tiene un usuario para una aplicación, ordenadas por fecha descendentemente.
(package private) static java.lang.String CONSULTA_OBTENER_PENDIENTESAPLICACION_USUARIO_NONULO
          Consulta HQL para devuelve las tareas pendientes de una aplicación que no tienen usuario asignado ordenas por fecha ascendentemente una aplicación.
protected  org.apache.commons.logging.Log logger
          Atributo para el log de errores
 
Constructor Summary
TablaTareasPendientesImpl()
           
 
Method Summary
 void anotaTareaPendiente(Dao dao, java.lang.String aplicacion, java.lang.String codexpediente, java.lang.String tareasiguiente, java.lang.String rol, java.lang.String usuarioAsignado)
          Anota una tarea en la tabla de tareas pendientes pendiente
 void anotaTareaPendienteConRetraso(Dao dao, java.lang.String aplicacion, java.lang.String codexpediente, java.lang.String tareasiguiente, java.lang.String rol, java.lang.String usuarioAsignado, int segRetraso)
          Anota una tarea en la tabla de tareas pendientes.
 void asigna(Dao dao, TareasPendientesId id, java.lang.String usuario, java.util.Calendar fecha)
          Asigna la tarea al usuario y la fecha que se pasan como argumentos
 void borraTareaPendiente(Dao dao, java.lang.String aplicacion, java.lang.String codExpediente, java.lang.String idTarea)
          Borra una tarea de la tabla tareas pendientes
 void borraTodasPendientesPorCodigo(Dao dao, java.lang.String aplicacion, java.lang.String codExpediente)
          Borra todas las tareas pendientes que correspondan al aplicacion y código de expediente
private  TareasPendientes cargarTareaPendiente(java.lang.String aplicacion, java.lang.String codexpediente, java.lang.String tareasiguiente, java.lang.String rol, java.lang.String usuarioAsignado)
          Crea un objeto tarea pendiente con los datos que se pasan por argumento
 boolean estaAsignadaAlUsuario(Dao dao, java.lang.String idAplicacion, java.lang.String idTarea, java.lang.String codExpediente, java.lang.String usuarioId)
          Comprueba que el usuario tiene asignado la tarea para el código de expediente
 boolean estaAsociadaAlRol(Dao dao, java.lang.String aplicacion, java.lang.String idTarea, java.lang.String codExpediente, java.lang.String codRol)
          Indica si la tarea pendiente está asociadas a un rol, teniendo en cuenta la aplicacion, la tarea y código de expediente
 java.util.Collection<TareasPendientes> obtenerPendientesAplicacionUsuarioNoNulo(Dao dao, java.lang.String aplicacion)
          Obtiene todas las tareas pendientes de la aplicación que tengan usuario asignado
 java.util.Collection obtenerPendientesCodExpeYUsuario(Dao dao, java.lang.String idAplicacion, java.lang.String codExpediente, java.lang.String usuarioId)
          Obtiene todas las tareas pendientes que tenga asignado el usuario para el código de expediente.
 TareasPendientes obtenerTareaPendiente(Dao dao, TareasPendientesId id)
          Obtiene el objeto tareaPendiente que representa el id
 java.util.Collection<TareasPendientes> obtenerTareasPendientes(Dao dao, java.lang.String aplicacion, java.lang.String codExpediente)
          Obtiene las tareas pendientes que están asociadas a un código de expediente
 java.util.Collection<TareasPendientes> obtenerTareasPendientesRol(Dao dao, java.lang.String aplicacion, java.lang.String codRol)
          Obtiene las tareas pendientes que está asociadas a un rol y no tienen asignado usuario
 java.util.Collection<TareasPendientes> obtenerTareasPendientesRoles(Dao dao, java.lang.String aplicacion, java.util.List roles)
          Obtiene las tareas pendientes de la aplicación con los roles de la lista y que no tengan usuario asignado, ordenados por rol ascendentemente y por fecha descendentemente.
 java.util.Collection<TareasPendientes> obtenerTareasPendientesRolesOUsuario(Dao dao, java.lang.String aplicacion, java.util.List roles, java.lang.String usuarioId)
          Obtiene las tareas pendientes de la aplicación con los roles de la lista y que no tengan usuario asignado o bien que sean del usuario que se pasa por argumento
 java.util.Collection<TareasPendientes> obtenerTareasPendientesUsuario(Dao dao, java.lang.String aplicacion, java.lang.String usuarioId)
          Obtiene las tareas pendientes que están asociadas a un usuario
private  java.lang.String rolesSeparadosPorComa(java.util.List roles)
          Obtiene el strin a partir de los roles separados.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final org.apache.commons.logging.Log logger
Atributo para el log de errores


CONSULTA_OBTENER_PENDIENTES_POR_COD_EXPTE

static final java.lang.String CONSULTA_OBTENER_PENDIENTES_POR_COD_EXPTE
Consulta HQL para obtener las tareas pendientes de un id de aplicación y un código de expediente.El resultado está ordenado por fecha descendentemente.
Parámetros:
  1. Id de aplicación
  2. Código de expediente

See Also:
Constant Field Values

CONSULTA_OBTENER_PENDIENTES_POR_ROL

static final java.lang.String CONSULTA_OBTENER_PENDIENTES_POR_ROL
Consulta HQL para obtener las tareas pendientes a un tol para una aplicación.
Parámetros:
  1. Id de aplicación
  2. Rol

See Also:
Constant Field Values

CONSULTA_OBTENER_PENDIENTES_POR_ROLES

static final java.lang.String CONSULTA_OBTENER_PENDIENTES_POR_ROLES
Consulta HQL para obtener las tareas pendientes que no está asignadas a un usuario y sean de la lista de roles. El resultado está ordenado por fecha descendentemente.
En la cosulta se parseará la cadena
con la cadena de roles entrecomilladas entre comillas simples y separadas por comas.
Parámetros:
  1. Id de aplicación

See Also:
Constant Field Values

CONSULTA_OBTENER_PENDIENTES_POR_ROLES_O_USUARIO

static final java.lang.String CONSULTA_OBTENER_PENDIENTES_POR_ROLES_O_USUARIO
Consulta HQL para obtener las tareas pendientes que, o no está asignadas a un usuario o sean del usuario (parámetro), y sean de la lista de roles. El resultado está ordenado por rol y por fecha descendentemente.
En la cosulta se cambiará la cadena
con la cadena de roles entrecomilladas entre comillas simples y separadas por comas.
Parámetros:
  1. Id de aplicación
  2. Id de usuario

See Also:
Constant Field Values

CONSULTA_COMPLETA_ROL

static final java.lang.String CONSULTA_COMPLETA_ROL
Consulta HQL para obtener las tareas pendientes de una tarea que está asignadas a un rol para un código de expediente e id de aplicación.
Parámetros:
  1. Id de aplicación
  2. Id de tarea
  3. Código de expediente
  4. Rol

See Also:
Constant Field Values

CONSULTA_OBTENER_PENDIENTES_POR_USUARIO

static final java.lang.String CONSULTA_OBTENER_PENDIENTES_POR_USUARIO
Consulta HQL para devuelve las tareas pendientes que tiene un usuario para una aplicación, ordenadas por fecha descendentemente.
Parámetros:
  1. Id de aplicación
  2. Id de usuario

See Also:
Constant Field Values

CONSULTA_OBTENER_PENDIENTE_ASIGNADO_USUARIO

static final java.lang.String CONSULTA_OBTENER_PENDIENTE_ASIGNADO_USUARIO
Consulta HQL para devuelve la tarea pendiente (párametro id de tarea) que está asignada al usuario para la aplicación y código de expediente.
Parámetros:
  1. Id de aplicación
  2. Id de tarea
  3. Código de expediente
  4. Id de usuario

See Also:
Constant Field Values

CONSULTA_OBTENER_PENDIENTESAPLICACION_USUARIO_NONULO

static final java.lang.String CONSULTA_OBTENER_PENDIENTESAPLICACION_USUARIO_NONULO
Consulta HQL para devuelve las tareas pendientes de una aplicación que no tienen usuario asignado ordenas por fecha ascendentemente una aplicación.
Parámetros:
  1. Id de aplicación

See Also:
Constant Field Values

CONSULTA_OBTENER_PENDIENTE_POR_COD_EXPTE_Y_USUARIO

static final java.lang.String CONSULTA_OBTENER_PENDIENTE_POR_COD_EXPTE_Y_USUARIO
Consulta HQL para devuelve las tareas pendientes de una aplicación y asignadas al usuario para un código de expediente.
Parámetros:
  1. Id de aplicación
  2. Código de expediente/li>
  3. Id de usuario

See Also:
Constant Field Values
Constructor Detail

TablaTareasPendientesImpl

public TablaTareasPendientesImpl()
Method Detail

cargarTareaPendiente

private TareasPendientes cargarTareaPendiente(java.lang.String aplicacion,
                                              java.lang.String codexpediente,
                                              java.lang.String tareasiguiente,
                                              java.lang.String rol,
                                              java.lang.String usuarioAsignado)
Crea un objeto tarea pendiente con los datos que se pasan por argumento

Parameters:
aplicacion -
codexpediente -
tareasiguiente -
rol -
usuarioAsignado -
Returns:

anotaTareaPendiente

public void anotaTareaPendiente(Dao dao,
                                java.lang.String aplicacion,
                                java.lang.String codexpediente,
                                java.lang.String tareasiguiente,
                                java.lang.String rol,
                                java.lang.String usuarioAsignado)
                         throws BaseDatosYingoException
Anota una tarea en la tabla de tareas pendientes pendiente

Specified by:
anotaTareaPendiente in interface TablaTareasPendientes
Parameters:
dao - Objeto conexión a BBDD
aplicacion - Identificador de la aplicación
codExpediente - Código de expediente
tareasiguiente - Id de tarea que se anotará como pendiente
rol - Rol al que se asignará la tarea pendiente
usuarioAsignado - Usuario asignado a la tarea pendiente
Throws:
BaseDatosYingoException

anotaTareaPendienteConRetraso

public void anotaTareaPendienteConRetraso(Dao dao,
                                          java.lang.String aplicacion,
                                          java.lang.String codexpediente,
                                          java.lang.String tareasiguiente,
                                          java.lang.String rol,
                                          java.lang.String usuarioAsignado,
                                          int segRetraso)
                                   throws BaseDatosYingoException
Anota una tarea en la tabla de tareas pendientes. Si el usuario es diferente de nulo la fecha de asignación de usuario será la actual sumandole los segundos de retraso

Specified by:
anotaTareaPendienteConRetraso in interface TablaTareasPendientes
Parameters:
dao - Objeto conexión a BBDD
aplicacion - Identificador de la aplicación
codexpediente - Código de expediente
tareasiguiente -
rol - Rol al que se asignará la tarea pendiente
usuarioAsignado - Usuario asignado a la tarea pendiente
segRetraso -
Throws:
BaseDatosYingoException

borraTodasPendientesPorCodigo

public void borraTodasPendientesPorCodigo(Dao dao,
                                          java.lang.String aplicacion,
                                          java.lang.String codExpediente)
                                   throws BaseDatosYingoException
Borra todas las tareas pendientes que correspondan al aplicacion y código de expediente

Specified by:
borraTodasPendientesPorCodigo in interface TablaTareasPendientes
Parameters:
dao - Objeto conexión a BBDD
aplicacion - Identificador de la aplicación
codExpediente - Código de expediente
Throws:
BaseDatosYingoException

borraTareaPendiente

public void borraTareaPendiente(Dao dao,
                                java.lang.String aplicacion,
                                java.lang.String codExpediente,
                                java.lang.String idTarea)
                         throws BaseDatosYingoException
Borra una tarea de la tabla tareas pendientes

Specified by:
borraTareaPendiente in interface TablaTareasPendientes
Parameters:
dao - Objeto conexión a BBDD
aplicacion - Identificador de la aplicación
codExpediente - Código de expediente
idTarea -
Throws:
BaseDatosYingoException

estaAsociadaAlRol

public boolean estaAsociadaAlRol(Dao dao,
                                 java.lang.String aplicacion,
                                 java.lang.String idTarea,
                                 java.lang.String codExpediente,
                                 java.lang.String codRol)
Indica si la tarea pendiente está asociadas a un rol, teniendo en cuenta la aplicacion, la tarea y código de expediente

Specified by:
estaAsociadaAlRol in interface TablaTareasPendientes
Parameters:
dao - Objeto conexión a BBDD
aplicacion - Identificador de la aplicación
codExpediente -
codRol -
Returns:

obtenerTareasPendientesRol

public java.util.Collection<TareasPendientes> obtenerTareasPendientesRol(Dao dao,
                                                                         java.lang.String aplicacion,
                                                                         java.lang.String codRol)
Obtiene las tareas pendientes que está asociadas a un rol y no tienen asignado usuario

Specified by:
obtenerTareasPendientesRol in interface TablaTareasPendientes
Parameters:
dao - Objeto conexión a BBDD
aplicacion - Identificador de la aplicación
codRol - Código de rol
Returns:

rolesSeparadosPorComa

private java.lang.String rolesSeparadosPorComa(java.util.List roles)
Obtiene el strin a partir de los roles separados. En la cadena cada valor está enntrecomillado por la comilla simple y separados por comas para poder realizar la consulta a BBDD.

Parameters:
roles -
Returns:

obtenerTareasPendientesRoles

public java.util.Collection<TareasPendientes> obtenerTareasPendientesRoles(Dao dao,
                                                                           java.lang.String aplicacion,
                                                                           java.util.List roles)
Obtiene las tareas pendientes de la aplicación con los roles de la lista y que no tengan usuario asignado, ordenados por rol ascendentemente y por fecha descendentemente.

Specified by:
obtenerTareasPendientesRoles in interface TablaTareasPendientes
Parameters:
dao - Objeto conexión a BBDD
aplicacion - Identificador de la aplicación
roles - Lista de roles
Returns:

obtenerTareasPendientesRolesOUsuario

public java.util.Collection<TareasPendientes> obtenerTareasPendientesRolesOUsuario(Dao dao,
                                                                                   java.lang.String aplicacion,
                                                                                   java.util.List roles,
                                                                                   java.lang.String usuarioId)
Obtiene las tareas pendientes de la aplicación con los roles de la lista y que no tengan usuario asignado o bien que sean del usuario que se pasa por argumento

Specified by:
obtenerTareasPendientesRolesOUsuario in interface TablaTareasPendientes
Parameters:
dao - Objeto conexión a BBDD
aplicacion - Identificador de la aplicación
roles - Lista de roles
usuarioId - Identificador de usuario
Returns:

obtenerTareasPendientes

public java.util.Collection<TareasPendientes> obtenerTareasPendientes(Dao dao,
                                                                      java.lang.String aplicacion,
                                                                      java.lang.String codExpediente)
Obtiene las tareas pendientes que están asociadas a un código de expediente

Specified by:
obtenerTareasPendientes in interface TablaTareasPendientes
Parameters:
dao - Objeto conexión a BBDD
aplicacion - Identificador de la aplicación
codExpediente - Código de expediente
Returns:

obtenerTareasPendientesUsuario

public java.util.Collection<TareasPendientes> obtenerTareasPendientesUsuario(Dao dao,
                                                                             java.lang.String aplicacion,
                                                                             java.lang.String usuarioId)
Obtiene las tareas pendientes que están asociadas a un usuario

Specified by:
obtenerTareasPendientesUsuario in interface TablaTareasPendientes
Parameters:
dao - Objeto conexión a BBDD
aplicacion - Id de aplicación
usuarioId - Identificador de usuario
Returns:
Throws:
BaseDatosYingoException

obtenerPendientesAplicacionUsuarioNoNulo

public java.util.Collection<TareasPendientes> obtenerPendientesAplicacionUsuarioNoNulo(Dao dao,
                                                                                       java.lang.String aplicacion)
Obtiene todas las tareas pendientes de la aplicación que tengan usuario asignado

Specified by:
obtenerPendientesAplicacionUsuarioNoNulo in interface TablaTareasPendientes
Parameters:
dao - Objeto conexión a BBDD
aplicacion - Identificador de la aplicación
Returns:

obtenerPendientesCodExpeYUsuario

public java.util.Collection obtenerPendientesCodExpeYUsuario(Dao dao,
                                                             java.lang.String idAplicacion,
                                                             java.lang.String codExpediente,
                                                             java.lang.String usuarioId)
Obtiene todas las tareas pendientes que tenga asignado el usuario para el código de expediente.

Specified by:
obtenerPendientesCodExpeYUsuario in interface TablaTareasPendientes
Parameters:
dao - Objeto conexión a BBDD
idAplicacion -
codExpediente - Código de expediente
usuarioId - Identificador del usuario
Returns:

estaAsignadaAlUsuario

public boolean estaAsignadaAlUsuario(Dao dao,
                                     java.lang.String idAplicacion,
                                     java.lang.String idTarea,
                                     java.lang.String codExpediente,
                                     java.lang.String usuarioId)
Comprueba que el usuario tiene asignado la tarea para el código de expediente

Specified by:
estaAsignadaAlUsuario in interface TablaTareasPendientes
Parameters:
dao - Objeto conexión a BBDD
idAplicacion - Identificador de la aplicación
idTarea - Id de tarea
codExpediente - Código de expediente
usuarioId - Identificador del usuario
Returns:

asigna

public void asigna(Dao dao,
                   TareasPendientesId id,
                   java.lang.String usuario,
                   java.util.Calendar fecha)
            throws BaseDatosYingoException
Asigna la tarea al usuario y la fecha que se pasan como argumentos

Specified by:
asigna in interface TablaTareasPendientes
Parameters:
dao - Objeto conexión a BBDD
id -
usuario -
fecha -
Throws:
BaseDatosYingoException

obtenerTareaPendiente

public TareasPendientes obtenerTareaPendiente(Dao dao,
                                              TareasPendientesId id)
Obtiene el objeto tareaPendiente que representa el id

Specified by:
obtenerTareaPendiente in interface TablaTareasPendientes
Parameters:
dao - Objeto conexión a BBDD
id -
Returns: