/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package mx.edu.um.mateo.rh.service; import java.util.List; import java.util.Map; import mx.edu.um.mateo.general.model.Usuario; import mx.edu.um.mateo.general.utils.ObjectRetrievalFailureException; import mx.edu.um.mateo.rh.model.ClaveEmpleado; import mx.edu.um.mateo.rh.model.Empleado; import org.springframework.security.core.userdetails.User; /** * * @author osoto@um.edu.mxs */ public interface EmpleadoManager { /** * Regresa la lista de empleados dependiendo los parametros de filtro * * @param params * @return */ public Map<String, Object> lista(Map<String, Object> params); /** * Regresa al empleado correspondiente al id * * @param id * @return */ public Empleado obtiene(Long id) throws ObjectRetrievalFailureException; /** * Retrieves all of the empleados */ public List getEmpleados(Empleado empleado); /** * Gets empleado's information based on id. * * @param id the empleado's id * @return empleado populated empleado object */ public Empleado getEmpleado(final Empleado empleado); /** * Saves a empleado's information * * @param empleado the object to be saved * @param usuario the object to be saved */ public void saveEmpleado(Empleado empleado, Usuario usuario, ClaveEmpleado clave); /** * El empleado nunca se borra.... * * @param id the empleado's id */ public void removeEmpleado(final Empleado empleado); /** * El empleado nunca se borra... * * @param id * @return */ public String elimina(final Long id); /** * Gets empleado's information based on id. * * @param id the empleado's id * @return empleado populated empleado object */ public List searchEmpleado(Empleado empleado); /** * regresa una lista de empleado por fecha y clave * * @param id the empleado's id * @return empleado populated empleado object */ public Object getEmpleadosBday(Empleado empleado); public Empleado getEmpleadoByClave(final Empleado empleado); public List searchEmpleadoByClaveOrApPaterno(Empleado empleado); /** * @deprecated graba dias vacaciones disponibles de acuerdo a la antiguedad * de empleado * @param solicitudSalida * @return */ public void saveDiasVacacionesActuales(Empleado empleado, User user) throws Exception; /** * Regresa una lista de empleados activos filtrandolos por contabilidad */ //public List getEmpleadosActivosByContabilidad(EmpleadoPuesto puesto) throws Exception; /** * Regresa en un map los empleados activos en las contabilidades indicadas. * La llave del map es la clave del empleado El map acumula la lista de * empleados de las distintas contabilidades indicadas. * * @param ejercicio * @param contabilidades * @return * @throws java.lang.Exception */ //public Map getEmpleadosActivosInMap(Ejercicio ejercicio, String... contabilidades) throws Exception; /* * Regresa una lista de empleados activos, filtrandolos por contabilidad, modalidad y tipo de empleado. * @param puesto Puede contener la contabilidad deseada * @param emp Puede contener la modalidad y el tipo de empleado * @return */ //public List getEmpleadosActivosByContabilidadModalidadTipoEmpleado(EmpleadoPuesto puesto,Empleado empleado, String sChecked []) throws Exception ; /** * Regresa el path de a donde se redireccionara dado que el empleado en * cuestion no tiene asignado los estudios o un puesto * * @param empleado * @return List * */ //public List verificarPuestoEstudios(Empleado empleado); /** * Regresela los dias de vacaciones que le corresponden a un empleado nuevo, * tomado en cuenta su antiguedad denominacional , su experiencia fuera de * la UM y la parte proporcional del año que trabajara * * @param empleado * @return * @throws Exception */ //public Integer getDiasVacacionesNuevoEmpleado(Empleado empleado) throws Exception ; /** * Regresa la lista de percepciones y deducciones * * @param empleado * @return */ //public Set getEmpleadoPerDeds(Empleado empleado); public void actualizaEmpleado(Empleado empleado); }