package br.com.centralit.citcorpore.negocio; import java.util.List; import br.com.centralit.citcorpore.bean.CheckinDTO; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.citframework.excecao.ServiceException; import br.com.citframework.service.CrudService; public interface CheckinService extends CrudService { /** * Realiza o checkin de um usu�rio, relacionando � uma solicita��o * * @param checkin * informa��es do checkin * @param usuario * usu�rio que est� solicitando o checkin * @return numero da solicita��o para a qual foi realizado o checkin * @throws Exception */ Integer realizarCheckin(final CheckinDTO checkin, final UsuarioDTO usuario) throws Exception; /** * Verifica se existe algum checkin do usu�rio sem respectivo checkout, de forma a n�o permitir dois checkins simult�neos para o usu�rio * * @param usuario * usu�rio que est� solicitando o checkin * @return {@code List<CheckinDTO>} dos checkins sem checkout * @throws ServiceException * @author bruno.ribeiro - <a href="mailto:bruno.ribeiro@centrait.com.br">bruno.ribeiro@centrait.com.br</a> * @since 12/11/2014 */ List<CheckinDTO> listCheckinsDoUsuarioSemCheckout(final UsuarioDTO usuario) throws ServiceException; /** * Verifica se existe algum checkin para a solicita��o, independente de quem fez o checkin, sem respectivo checkout, de forma a n�o permitir dois checkins simult�neos para a * mesma solicita��o * * @param checkin * informa��es do checkin * @return * @throws ServiceException * @author bruno.ribeiro - <a href="mailto:bruno.ribeiro@centrait.com.br">bruno.ribeiro@centrait.com.br</a> * @since 12/11/2014 */ List<CheckinDTO> listCheckinSolicitacaoSemCheckout(final CheckinDTO checkin) throws ServiceException; /** * Verifica se existe algum checkin para a solicita��o, tarefa e usu�rio * * @param checkin * informa��es do checkin * @return * @throws ServiceException * @author maycon.silva * @since 17/11/2014 */ public boolean isCheckinAtivo(final Integer idTarefa, final Integer idSolicitacao, final Integer idUsuario) throws Exception; }