es.mcu.yingo.tareas
Class TareaImpl

java.lang.Object
  extended by es.mcu.yingo.utils.IdDescripcionImpl
      extended by es.mcu.yingo.tareas.SuperTareaImpl
          extended by es.mcu.yingo.tareas.TareaImpl
All Implemented Interfaces:
Tarea, IdDescripcion, org.springframework.context.ApplicationContextAware
Direct Known Subclasses:
TareaBusquedaAbstracto

public class TareaImpl
extends SuperTareaImpl


Field Summary
 
Fields inherited from class es.mcu.yingo.utils.IdDescripcionImpl
applicationContext, id
 
Fields inherited from interface es.mcu.yingo.utils.IdDescripcion
IDIOMA_DEFECTO
 
Constructor Summary
TareaImpl()
           
 
Method Summary
private  void activarTareaSiguiente(Dao dao, java.lang.String idAplicacion, Tarea tareasiguiente, java.lang.String codexpediente, Usuario usuario)
          Activa las tareas siguientes si es necesario
protected  void anotaTareaPendiente(Dao dao, java.lang.String idAplicacion, java.lang.String codexpediente, java.lang.String tareaSiguienteId, java.lang.String rol, java.lang.String usuarioAsignado)
          Anota la tarea pendiente.
private  java.lang.String asignarUsuario(Tarea tareasiguiente, Dao dao, java.lang.String idAplicacion, java.lang.String codExpediente, Usuario usuario)
          Asigna el usuario a la tarea si es necesario
Devuelve el id del usuario que debe de ser asignado
 void ejecuta(Dao dao, java.lang.String idAplicacion, java.util.Map adatos, Usuario usuario)
          Realiza las acciones de la tarea y activa las tereas siguientes, según corresponda se compone de los siguientes pasos los siguientes pasos: Introduce los datos de los campos, en la tabla "DATOS" Elimina la tarea de la tabla TAREAS_PENDIENTES si ésta no es inicial Invoca al enlazador y obtiene las siguientes tareas a ejecutar Recorre cada una de las tareas siguientes, y las apunta en la tabla de TAREAS_PENDIENTES o
en la tabla de TAREAS_PREVIAS en función del Activador que tenga configurado Anota la tarea actual como realizada Finalmente ejecuta cada una de las acciones
private  void enlazarYActivarTareasSiguientes(Dao dao, java.lang.String idAplicacion, java.util.Map<java.lang.String,java.lang.String> datos, Usuario usuario)
          Primero se enlazan las siguientes tareas y por cada una de estas tareas, se las activa y se mete en la bbdd de tareas pendientes a las tareas siguientes que lo necesiten
private  java.util.List obtenerLasTareasSiguientes(Dao dao, java.lang.String idAplicacion, java.lang.String codexpediente)
          Obtiene las tareas siguientes que enlazan con la tarea actual
 java.util.List<MensajeI18n> validaCampos(java.util.Map valoresSalida)
          Realiza una validación del contenido de los campoos a rellenar, llamando al validador de campos.
 java.util.List<MensajeI18n> validaFormulario(java.lang.String codExpediente, java.util.Map valoresSalida, Usuario usuario, java.util.Calendar fecha)
          Realiza una validación del formulario (campos obligatorios, relación entre campos, etc), llamando al la lista de operaciones previas del formulario.
 java.util.List<MensajeI18n> validaTodo(java.lang.String codExpediente, java.util.Map valoresSalida, Usuario usuario, java.util.Calendar fecha)
          Realiza una validación completa de la tarea, llamando al validador de campos y ejecutando la lista de operaciones previas.
 
Methods inherited from class es.mcu.yingo.tareas.SuperTareaImpl
getActivador, getAsignadorUsuario, getBaseDatos, getCancelador, getEnlazador, getEsInicial, getLanzable, getListaAcciones, getListaIniciadores, getListaOperacionesPrevias, getListasEntrada, getListasSalida, getMensajeConfirmacion, getPermisos, getPlazo, getRol, llamaAcciones, setActivador, setAsignadorUsuario, setBaseDatos, setCancelador, setEnlazador, setEsInicial, setLanzable, setListaAcciones, setListaIniciadores, setListaOperacionesPrevias, setListasEntrada, setListasSalida, setMensajeConfirmacion, setPermisos, setPlazo, setRol
 
Methods inherited from class es.mcu.yingo.utils.IdDescripcionImpl
getApplicationContext, getDescripcion, getDescripcion, getDescripcion, getId, setApplicationContext, setDescripcion, setDescripcionTraducida, setId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface es.mcu.yingo.tareas.Tarea
getDescripcion, getDescripcion
 
Methods inherited from interface es.mcu.yingo.utils.IdDescripcion
getDescripcion, getId
 

Constructor Detail

TareaImpl

public TareaImpl()
Method Detail

ejecuta

public void ejecuta(Dao dao,
                    java.lang.String idAplicacion,
                    java.util.Map adatos,
                    Usuario usuario)
             throws java.lang.Exception
Realiza las acciones de la tarea y activa las tereas siguientes, según corresponda se compone de los siguientes pasos los siguientes pasos:
  1. Introduce los datos de los campos, en la tabla "DATOS"
  2. Elimina la tarea de la tabla TAREAS_PENDIENTES si ésta no es inicial
  3. Invoca al enlazador y obtiene las siguientes tareas a ejecutar
  4. Recorre cada una de las tareas siguientes, y las apunta en la tabla de TAREAS_PENDIENTES o
    en la tabla de TAREAS_PREVIAS en función del Activador que tenga configurado
  5. Anota la tarea actual como realizada
  6. Finalmente ejecuta cada una de las acciones

Parameters:
dao -
idAplicacion -
datos -
usuario -
Throws:
java.lang.Exception

validaTodo

public java.util.List<MensajeI18n> validaTodo(java.lang.String codExpediente,
                                              java.util.Map valoresSalida,
                                              Usuario usuario,
                                              java.util.Calendar fecha)
Realiza una validación completa de la tarea, llamando al validador de campos y ejecutando la lista de operaciones previas.
Devuelve una lista de errores si los hubiera

Parameters:
codExpediente -
valoresSalida -
codUsuario -
calendar -
Returns:

validaCampos

public java.util.List<MensajeI18n> validaCampos(java.util.Map valoresSalida)
Realiza una validación del contenido de los campoos a rellenar, llamando al validador de campos. Devuelve una lista de errores si los hubiera

Parameters:
valoresSalida -
Returns:

validaFormulario

public java.util.List<MensajeI18n> validaFormulario(java.lang.String codExpediente,
                                                    java.util.Map valoresSalida,
                                                    Usuario usuario,
                                                    java.util.Calendar fecha)
Realiza una validación del formulario (campos obligatorios, relación entre campos, etc), llamando al la lista de operaciones previas del formulario.
Además de esto, en la lista de opereciones previas se pueden realizar ciertas operaciones previas a la ejecución de la tarea
Devuelve una lista de errores si los hubiera

Parameters:
codExpediente -
valoresSalida -
usuario -
fecha -
Returns:

enlazarYActivarTareasSiguientes

private void enlazarYActivarTareasSiguientes(Dao dao,
                                             java.lang.String idAplicacion,
                                             java.util.Map<java.lang.String,java.lang.String> datos,
                                             Usuario usuario)
                                      throws YingoException
Primero se enlazan las siguientes tareas y por cada una de estas tareas, se las activa y se mete en la bbdd de tareas pendientes a las tareas siguientes que lo necesiten

Parameters:
dao -
datos -
impl -
Throws:
YingoException

activarTareaSiguiente

private void activarTareaSiguiente(Dao dao,
                                   java.lang.String idAplicacion,
                                   Tarea tareasiguiente,
                                   java.lang.String codexpediente,
                                   Usuario usuario)
                            throws YingoException
Activa las tareas siguientes si es necesario

Parameters:
dao -
tarea -
codexpediente -
Throws:
YingoException

anotaTareaPendiente

protected void anotaTareaPendiente(Dao dao,
                                   java.lang.String idAplicacion,
                                   java.lang.String codexpediente,
                                   java.lang.String tareaSiguienteId,
                                   java.lang.String rol,
                                   java.lang.String usuarioAsignado)
                            throws BaseDatosYingoException
Anota la tarea pendiente. Se crea el método para sobreescribirlo en otras tareas

Parameters:
dao -
idAplicacion -
codexpediente -
tareaSiguienteId -
rol -
usuarioAsignado -
Throws:
BaseDatosYingoException

asignarUsuario

private java.lang.String asignarUsuario(Tarea tareasiguiente,
                                        Dao dao,
                                        java.lang.String idAplicacion,
                                        java.lang.String codExpediente,
                                        Usuario usuario)
                                 throws YingoException
Asigna el usuario a la tarea si es necesario
Devuelve el id del usuario que debe de ser asignado

Parameters:
tareasiguiente -
codexpediente -
Returns:
Throws:
YingoException

obtenerLasTareasSiguientes

private java.util.List obtenerLasTareasSiguientes(Dao dao,
                                                  java.lang.String idAplicacion,
                                                  java.lang.String codexpediente)
                                           throws BaseDatosYingoException
Obtiene las tareas siguientes que enlazan con la tarea actual

Parameters:
dao -
codexpediente -
Returns:
Throws:
BaseDatosYingoException