es.mcu.yingo.tareas.acciones
Class AccionLimpiarDatosViejos

java.lang.Object
  extended by es.mcu.yingo.tareas.acciones.AccionLimpiarDatosViejos
All Implemented Interfaces:
IdAplicacionAware, Accion

public class AccionLimpiarDatosViejos
extends java.lang.Object
implements Accion, IdAplicacionAware

Limpia todos los datos de todas las tareas especificadas en la lista de tareas listaTareasABorrar que tengan una antiguedad mayor que la que se especifique en sgAntiguedad, si es que se especifica alguna. Si no se especifica antiguiedad se borran todos.

Si el flag borrarExpedienteOtrosUsuarios es igual a true se eliminarán tambien los expedientes de otros usuarios Si no se pone nada, únicamente se borrarán los expedientes del usuario

Si el flag noBorrarActual es igual a true, no se eliminarán los datos del expediente que se está ejecutando en la actualidad Lista tareas realizadas que en el caso de no estar en realizadas, harán que se borre la listaTareasABorrar. Esto es, por si se queda en la mitad de un flujo y no termina, que borre los datos a medias BORRADO DE TABLAS:
Borra en TAREAS_REALIZADAS, aquellas que cumplan la condición Borrará de la tabla DATOS, los datos de las tareas realizadas especificadas.
Si encuentra alguna tarea realizada a borrar, borrará todas las entradas que existan para ese código de expediente en la tabla TAREAS_PENDIENTES si en el flag borrarPendientesExpediente se ajusta al valor true

Author:
carlos.garcia.h

Field Summary
private  BaseDatos baseDatos
          Base de datos de la aplicación
private  boolean borrarExpedienteOtrosUsuarios
          Indica si se deben borrar los expediente de otros usuarios
private  boolean borrarPendientesExpte
          Indica si se deben borrar las tareas pensientes de los expedientes encontrados
private  java.lang.String idAplicacion
          Id de la aplicación
private  java.util.List<java.lang.String> listaTareasABorrar
          Lista de tareas que se pueden borrar
protected  org.apache.commons.logging.Log logger
           
private  boolean noBorrarActual
          Indica si se deben borrar los datos del expediente actual Para que se borren los datos de la tarea actual, se debe configurar sgAntiguedad a null
private  java.lang.Long sgAntiguedad
          Antiguedad, superada la cual se borrarán los expedientes
private  java.util.List<java.lang.String> tareasSiEstanNoSeBorra
          Lista tareas realizadas que en el caso de no estar en realizadas, harán que se borre la listaTareasBorrar.
 
Constructor Summary
AccionLimpiarDatosViejos()
           
 
Method Summary
private  void borrarPendientes(Dao dao, java.util.Collection<TareasRealizadas> rzds)
          Borra las tareas pendientes que tengan el mismo codexpediente que los de las tareas realizadas proporcionadas
private  void borrarRealizadasYCampos(Dao dao, java.util.Collection<TareasRealizadas> rzds)
          Borra las tareas realizadas y los campos de esa tarea
private  java.lang.CharSequence contarParametros(java.util.List<java.lang.String> lista)
          Devuelve una cadena con tantas "?"
 void doAccion(Dao dao, java.lang.String idTarea, java.lang.String codexpediente, java.util.Map<java.lang.String,java.lang.String> datos, Usuario usuario)
          Lanza la ejecución de la acción que se le indique en la implementación de la clase
 BaseDatos getBaseDatos()
          Base de datos de la aplicación
 java.lang.String getIdAplicacion()
          Id de la aplicación
 java.util.List<java.lang.String> getListaTareasABorrar()
          Lista de tareas que se pueden borrar
 java.lang.Long getSgAntiguedad()
          Antiguedad, superada la cual se borrarán los expedientes
 java.util.List<java.lang.String> getTareasSiEstanNoSeBorra()
          Lista tareas realizadas que en el caso de no estar en realizadas, harán que se borre la listaTareasBorrar.
 boolean isBorrarExpedienteOtrosUsuarios()
          Indica si se deben borrar los expediente de otros usuarios
 boolean isBorrarPendientesExpte()
          Indica si se deben borrar las tareas pendientes de los expedientes encontrados
 boolean isNoBorrarActual()
          Indica si se deben borrar los datos del expediente actual Para que se borren los datos de la tarea actual, se debe configurar sgAntiguedad a null
private  java.util.Collection<TareasRealizadas> recuperarTareasABorrar(Dao dao, Usuario usuario, java.lang.String codexpediente)
          Recupera la lista de tareas que serán borradas
 void setBaseDatos(BaseDatos baseDatos)
          Base de datos de la aplicación
 void setBorrarExpedienteOtrosUsuarios(boolean borrarExpedienteOtrosUsuarios)
          Indica si se deben borrar los expediente de otros usuarios
 void setBorrarPendientesExpediente(boolean borrarPendientesExpte)
          Indica si se deben borrar las tareas pendientes de los expedientes encontrados
 void setIdAplicacion(java.lang.String idAplicacion)
          Id de la aplicación
 void setListaTareasABorrar(java.util.List<java.lang.String> listaTareasABorrar)
          Lista de tareas que se pueden borrar
 void setNoBorrarActual(boolean noBorrarActual)
          Indica si se deben borrar los datos del expediente actual Para que se borren los datos de la tarea actual, se debe configurar sgAntiguedad a null
 void setSgAntiguedad(java.lang.Long sgAntiguedad)
          Antiguedad, superada la cual se borrarán los expedientes
 void setTareasSiEstanNoSeBorra(java.util.List<java.lang.String> tareasSiEstanNoSeBorra)
          Lista tareas realizadas que en el caso de no estar en realizadas, harán que se borre la listaTareasBorrar.
 
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

baseDatos

private BaseDatos baseDatos
Base de datos de la aplicación


idAplicacion

private java.lang.String idAplicacion
Id de la aplicación


borrarExpedienteOtrosUsuarios

private boolean borrarExpedienteOtrosUsuarios
Indica si se deben borrar los expediente de otros usuarios


noBorrarActual

private boolean noBorrarActual
Indica si se deben borrar los datos del expediente actual Para que se borren los datos de la tarea actual, se debe configurar sgAntiguedad a null


borrarPendientesExpte

private boolean borrarPendientesExpte
Indica si se deben borrar las tareas pensientes de los expedientes encontrados


sgAntiguedad

private java.lang.Long sgAntiguedad
Antiguedad, superada la cual se borrarán los expedientes


listaTareasABorrar

private java.util.List<java.lang.String> listaTareasABorrar
Lista de tareas que se pueden borrar


tareasSiEstanNoSeBorra

private java.util.List<java.lang.String> tareasSiEstanNoSeBorra
Lista tareas realizadas que en el caso de no estar en realizadas, harán que se borre la listaTareasBorrar. Eato es, por si se queda en la mitad de un flujo de tareas y no termina, que borre los datos a medias

Constructor Detail

AccionLimpiarDatosViejos

public AccionLimpiarDatosViejos()
Method Detail

doAccion

public void doAccion(Dao dao,
                     java.lang.String idTarea,
                     java.lang.String codexpediente,
                     java.util.Map<java.lang.String,java.lang.String> datos,
                     Usuario usuario)
              throws YingoException
Description copied from interface: Accion
Lanza la ejecución de la acción que se le indique en la implementación de la clase

Specified by:
doAccion in interface Accion
Throws:
YingoException

borrarPendientes

private void borrarPendientes(Dao dao,
                              java.util.Collection<TareasRealizadas> rzds)
                       throws BaseDatosYingoException
Borra las tareas pendientes que tengan el mismo codexpediente que los de las tareas realizadas proporcionadas

Parameters:
dao -
rzds -
Throws:
BaseDatosYingoException

borrarRealizadasYCampos

private void borrarRealizadasYCampos(Dao dao,
                                     java.util.Collection<TareasRealizadas> rzds)
                              throws BaseDatosYingoException
Borra las tareas realizadas y los campos de esa tarea

Parameters:
dao -
rzds -
Throws:
BaseDatosYingoException

recuperarTareasABorrar

private java.util.Collection<TareasRealizadas> recuperarTareasABorrar(Dao dao,
                                                                      Usuario usuario,
                                                                      java.lang.String codexpediente)
Recupera la lista de tareas que serán borradas

Parameters:
dao -
usuario -
codexpediente -
Returns:

contarParametros

private java.lang.CharSequence contarParametros(java.util.List<java.lang.String> lista)
Devuelve una cadena con tantas "?" separadas por comas, como elementos contenga la lista

Parameters:
listaTareasABorrar2 -
Returns:

getBaseDatos

public BaseDatos getBaseDatos()
Base de datos de la aplicación

Returns:
the baseDatos

setBaseDatos

public void setBaseDatos(BaseDatos baseDatos)
Base de datos de la aplicación

Parameters:
baseDatos - the baseDatos to set

isBorrarExpedienteOtrosUsuarios

public boolean isBorrarExpedienteOtrosUsuarios()
Indica si se deben borrar los expediente de otros usuarios

Returns:
the borrarExpedienteOtrosUsuarios

setBorrarExpedienteOtrosUsuarios

public void setBorrarExpedienteOtrosUsuarios(boolean borrarExpedienteOtrosUsuarios)
Indica si se deben borrar los expediente de otros usuarios

Parameters:
borrarExpedienteOtrosUsuarios - the borrarExpedienteOtrosUsuarios to set

getIdAplicacion

public java.lang.String getIdAplicacion()
Id de la aplicación

Specified by:
getIdAplicacion in interface IdAplicacionAware
Returns:
the idAplicacion

setIdAplicacion

public void setIdAplicacion(java.lang.String idAplicacion)
Id de la aplicación

Specified by:
setIdAplicacion in interface IdAplicacionAware
Parameters:
idAplicacion - the idAplicacion to set

getListaTareasABorrar

public java.util.List<java.lang.String> getListaTareasABorrar()
Lista de tareas que se pueden borrar

Returns:
the listaTareasABorrar

setListaTareasABorrar

public void setListaTareasABorrar(java.util.List<java.lang.String> listaTareasABorrar)
Lista de tareas que se pueden borrar

Parameters:
listaTareasABorrar - the listaTareasABorrar to set

getTareasSiEstanNoSeBorra

public java.util.List<java.lang.String> getTareasSiEstanNoSeBorra()
Lista tareas realizadas que en el caso de no estar en realizadas, harán que se borre la listaTareasBorrar. Eato es, por si se queda en la mitad de un flujo de tareas y no termina, que borre los datos a medias

Returns:
the tareasSiEstanNoSeBorra

setTareasSiEstanNoSeBorra

public void setTareasSiEstanNoSeBorra(java.util.List<java.lang.String> tareasSiEstanNoSeBorra)
Lista tareas realizadas que en el caso de no estar en realizadas, harán que se borre la listaTareasBorrar. Eato es, por si se queda en la mitad de un flujo de tareas y no termina, que borre los datos a medias

Parameters:
tareasSiEstanNoSeBorra - the tareasSiEstanNoSeBorra to set

isNoBorrarActual

public boolean isNoBorrarActual()
Indica si se deben borrar los datos del expediente actual Para que se borren los datos de la tarea actual, se debe configurar sgAntiguedad a null

Returns:
the noBorrarActual

setNoBorrarActual

public void setNoBorrarActual(boolean noBorrarActual)
Indica si se deben borrar los datos del expediente actual Para que se borren los datos de la tarea actual, se debe configurar sgAntiguedad a null

Parameters:
noBorrarActual - the noBorrarActual to set

getSgAntiguedad

public java.lang.Long getSgAntiguedad()
Antiguedad, superada la cual se borrarán los expedientes

Returns:
the sgAntiguedad

setSgAntiguedad

public void setSgAntiguedad(java.lang.Long sgAntiguedad)
Antiguedad, superada la cual se borrarán los expedientes

Parameters:
sgAntiguedad - the sgAntiguedad to set

isBorrarPendientesExpte

public boolean isBorrarPendientesExpte()
Indica si se deben borrar las tareas pendientes de los expedientes encontrados

Returns:
the borrarPendientesExpediente

setBorrarPendientesExpediente

public void setBorrarPendientesExpediente(boolean borrarPendientesExpte)
Indica si se deben borrar las tareas pendientes de los expedientes encontrados

Parameters:
borrarPendientesExpediente - the borrarPendientesExpediente to set