package br.com.centralit.citcorpore.negocio; import java.sql.Date; import java.util.List; import br.com.centralit.citcorpore.bean.AtribuicaoSolicitacaoAtendenteDTO; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.citframework.excecao.ServiceException; import br.com.citframework.service.CrudService; /** * Servi�os para {@link AtribuicaoSolicitacaoAtendenteDTO} * * @author bruno.ribeiro - <a href="mailto:bruno.ribeiro@centrait.com.br">bruno.ribeiro@centrait.com.br</a> * @since 27/10/2014 * */ public interface AtribuicaoSolicitacaoAtendenteService extends CrudService { /** * Verifica a exist�ncia de uma atribui��o para o usu�rio para um determinando solicita��o * * @param taskId * @param user * @return * @throws Exception * @author bruno.ribeiro - <a href="mailto:bruno.ribeiro@centrait.com.br">bruno.ribeiro@centrait.com.br</a> * @date 20/11/2014 */ boolean existeAtribuicao(final Integer taskId, final UsuarioDTO user) throws Exception; /** * Consultra {@link AtribuicaoSolicitacaoAtendenteDTO} de acordo a atribui��o passada como argumento * * @param atribuicao * atribui��o a ser consultada * @return {@link List} lista contendo as solicita��es de acordo com a filtrada. Vazia, caso n�o encontre nenhuma * @throws ServiceException * @author bruno.ribeiro - <a href="mailto:bruno.ribeiro@centrait.com.br">bruno.ribeiro@centrait.com.br</a> * @date 20/11/2014 */ List<AtribuicaoSolicitacaoAtendenteDTO> findByIDUsuarioAndIDSolicitacao(final AtribuicaoSolicitacaoAtendenteDTO atribuicao) throws ServiceException; /** * Cria uma nova {@link AtribuicaoSolicitacaoAtendenteDTO} * * @param atribuicao * atribui��o a ser criada * @return {@link AtribuicaoSolicitacaoAtendenteDTO} criada * @throws ServiceException * @author bruno.ribeiro - <a href="mailto:bruno.ribeiro@centrait.com.br">bruno.ribeiro@centrait.com.br</a> * @since 12/12/2014 */ AtribuicaoSolicitacaoAtendenteDTO criarAtribuicao(final AtribuicaoSolicitacaoAtendenteDTO atribuicao) throws ServiceException; /** * Cria uma lista de atribui��o de solicita��o e envia mensage push para o usu�rio * * @param atribuicoes * atribui��o a ser criada * @param dataExecucao * data para execu��o da solicita��o * @param connection * "conex�o" no mobile, que � a URI acessada * @return atribui��es criadas * @throws Exception * @author bruno.ribeiro - <a href="mailto:bruno.ribeiro@centrait.com.br">bruno.ribeiro@centrait.com.br</a> * @since 15/11/2014 */ List<AtribuicaoSolicitacaoAtendenteDTO> criaAtribuicaoEmBatch(final List<AtribuicaoSolicitacaoAtendenteDTO> atribuicoes, final Date dataExecucao, final String connection) throws ServiceException; }