package br.com.centralit.citcorpore.negocio; import java.util.ArrayList; import java.util.Collection; import java.util.List; import br.com.centralit.citcorpore.bean.EmpregadoDTO; import br.com.centralit.citcorpore.bean.UnidadeDTO; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.citframework.dto.IDto; import br.com.citframework.excecao.LogicException; import br.com.citframework.excecao.ServiceException; import br.com.citframework.service.CrudService; /** * @author thays.araujo e daniel * */ @SuppressWarnings("rawtypes") public interface EmpregadoService extends CrudService { void updateNotNull(final IDto dto); EmpregadoDTO restoreEmpregadosAtivosById(final Integer idEmpregado); EmpregadoDTO restoreEmpregadoSeAtivo(final EmpregadoDTO empregadoDto); EmpregadoDTO restoreByNomeEmpregado(final EmpregadoDTO empregadoDTO) throws Exception; void delete(final EmpregadoDTO empregado) throws ServiceException, Exception; /** * Restaura o idEmpregado * * @param idEmpregado * @return Restaura idEmpregado * @throws Exception */ EmpregadoDTO restoreByIdEmpregado(final Integer idEmpregado) throws Exception; /** * Calcula Custo da Hora e o Custo do M�s do empregado. * * @param empregado * @return EmpregadoDTO * @throws ServiceException * @throws LogicException * @author thays.araujo */ EmpregadoDTO calcularCustos(final EmpregadoDTO empregado) throws ServiceException, LogicException; /** * Lista empregados. * * @param idGrupo * Identificador �nicio do grupo. * @return Collection<EmpregadoDTO> * @throws ServiceException * @author daniel */ Collection<EmpregadoDTO> listEmpregadosByIdGrupo(final Integer idGrupo) throws ServiceException; /** * @param idUnidade * @return Collection<EmpregadoDTO> * @throws ServiceException * @author daniel */ Collection<EmpregadoDTO> listEmpregadosByIdUnidade(final Integer idUnidade) throws ServiceException; Collection<EmpregadoDTO> listEmpregadosGrupo(final Integer idEmpregado, final Integer idGrupo) throws Exception; Collection<EmpregadoDTO> listEmailContrato(final Integer idContrato) throws Exception; Collection<EmpregadoDTO> listEmailContrato() throws Exception; Collection listEmpregadoContrato(final Integer idContrato) throws Exception; EmpregadoDTO listEmpregadoContrato(final Integer idContrato, final String email) throws Exception; EmpregadoDTO listEmpregadoContrato(final String email) throws Exception; Collection<EmpregadoDTO> listEmpregadoByContratoAndUnidadeAndEmpregados(Integer idContrato, Integer idUnidade, Integer[] idEmpregados, UsuarioDTO usuario, ArrayList<UnidadeDTO> listaUnidadeContrato) throws Exception; /** * Faz a exclus�o logica de empregado. * * @param model * @throws ServiceException * @throws Exception * @author thays.araujo */ void deleteEmpregado(final IDto model) throws ServiceException, Exception; /** * * @param idEmpregado * @return Integer - idUnidade * @throws Exception * @author rodrigo.oliveira */ Integer consultaUnidadeDoEmpregado(final Integer idEmpregado) throws Exception; /** * Retorna uma lista de email de empregados que receber�o notifica��es de base de conhecimento * * @param idConhecimento * @return * @throws Exception * @author cleon.junior */ Collection listarEmailsNotificacoesConhecimento(final Integer idConhecimento) throws Exception; /** * Retorna verdadeiro para ativo ou falso para inativo de acordo com nome do empregado passado. * * @param obj * @return * @throws Exception * @author thays.araujo */ boolean verificarEmpregadosAtivos(final EmpregadoDTO obj) throws Exception; Collection findByNomeEmpregado(final EmpregadoDTO empregadoDTO) throws Exception; /** * Busca empregados pelo nome e id do grupo * * @param nomeEmpregado * nome do empregado a ser buscado * @param idGrupo * id do grupo em que o empregado deve estar * @return {@link Collection} * @throws Exception * @author bruno.ribeiro - <a href="mailto:bruno.ribeiro@centrait.com.br">bruno.ribeiro@centrait.com.br</a> * @since 31/10/2014 */ List<EmpregadoDTO> findByNomeEmpregadoAndGrupo(final String nomeEmpregado, final Integer idGrupo) throws Exception; EmpregadoDTO restoreByEmail(final String email) throws Exception; Collection listarIdEmpregados(final Integer limit, final Integer offset) throws Exception; EmpregadoDTO restauraTodos(final EmpregadoDTO param) throws Exception; /** * Retorna EmpregadoDTO (idEmpregado e Nome). Esta consulta � a mesma da LOOKUP_SOLICITANTE_CONTRATO. * * @param nome * - Nome do Empregado (Campo Nome da tabela Empregados) * @param idContrato * - Identificador do Contrato. * @return Collection<EmpregadoDTO> - Lista de Empregados com Id e Nome. * @throws Exception * @author valdoilo.damasceno 29.10.2013 */ Collection<EmpregadoDTO> findSolicitanteByNomeAndIdContratoAndIdUnidade(String nome, Integer contrato, Integer unidade) throws Exception; /** * Pesquisa Empregado por Telefone ou Ramal. Retorna o primeiro Empregado encontrado para o Ramal ou Telefone * informado. <<< ATEN��O >> o par�metro Telefone antes de ser enviado para o m�todo, deve ser tratado com o M�todo * mascaraProcuraSql() da Classe Utilit�ria br.com.centralit.citcorpore.util.Telefone.java; * * @param telefone * @return EmpregadoDTO * @author valdoilo.damasceno */ EmpregadoDTO findByTelefoneOrRamal(final String telefone) throws Exception; /** * Restaura o EmpregadoDTO com o ID do Contrato Padr�o (Primeiro contrato encontrado para o Empregado) a partir do * ID Empregado informado. * * @param idEmpregado * @return EmpregadoDTO com IDContrato * @author valdoilo.damasceno */ EmpregadoDTO restoreEmpregadoWithIdContratoPadraoByIdEmpregado(final Integer idEmpregado) throws Exception; /** * Restaura o EmpregadoDTO com o Nome cargo a partir do ID Empregado informado. * * @param idEmpregado * @return EmpregadoDTO com NomeCargo * @author maycon.fernandes */ EmpregadoDTO restoreEmpregadoAndNomeCargoByIdEmpegado(final Integer idEmpregado) throws Exception; /** * Consulta o nome dos empregados com nome diferente de Administrador e data fim diferente de zero * * @param nomeEmpregado * @return Collection<EmpregadoDTO> Com empregados com nome diferente de Administrador e data fim diferente de zero * @throws Exception */ Collection<EmpregadoDTO> consultarNomeEmpregadoSemAdministrador(final String nomeEmpregado) throws Exception; EmpregadoDTO restoreByCPF(final String cpf) throws Exception; Collection<EmpregadoDTO> consultarNomeNaoEmpregado(final String nome) throws Exception; /** * Restaura Empregado pelo ID do Usu�rio. * * @param idUsuario * - Identificador do Usu�rio. * @return EmpregadoDTO - Empregado do Usu�rio. * @author valdoilo.damasceno * @since 16.06.2014 */ EmpregadoDTO restoreByIdUsuario(Integer idUsuario); }