package br.com.centralit.citcorpore.negocio; import java.sql.Timestamp; import java.util.Collection; import java.util.List; import br.com.centralit.bpm.dto.FluxoDTO; import br.com.centralit.citcorpore.bean.BaseConhecimentoDTO; import br.com.centralit.citcorpore.bean.PesquisaRequisicaoLiberacaoDTO; import br.com.centralit.citcorpore.bean.RequisicaoLiberacaoDTO; import br.com.centralit.citcorpore.bean.RequisicaoLiberacaoItemConfiguracaoDTO; import br.com.centralit.citcorpore.bean.RequisicaoQuestionarioDTO; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.citframework.dto.IDto; import br.com.citframework.excecao.ServiceException; import br.com.citframework.integracao.TransactionControler; import br.com.citframework.service.CrudService; public interface RequisicaoLiberacaoService extends CrudService { Collection findByIdSolicitante(Integer parm) throws Exception; List<RequisicaoLiberacaoDTO> listLiberacoes() throws Exception; RequisicaoLiberacaoDTO restoreAll(Integer idRequisicaoLiberacao) throws Exception; void reativa(UsuarioDTO usuarioDto, RequisicaoLiberacaoDTO requisicaoLiberacaoDTO) throws Exception; void gravaInformacoesGED(RequisicaoLiberacaoDTO requisicaoLiberacaoDTO, TransactionControler tc) throws Exception; List<RequisicaoLiberacaoDTO> findByConhecimento(BaseConhecimentoDTO baseConhecimentoDto) throws Exception; void updateSimples(IDto model); /** * suspende a requisi��o mudan�a * * @param usuarioDto * @param solicitacaoServicoDto * @throws Exception * @author maycon.fernandes */ void suspende(UsuarioDTO usuarioDto, RequisicaoLiberacaoDTO requisicaoLiberacaoDTO) throws Exception; List<RequisicaoLiberacaoItemConfiguracaoDTO> listItensRelacionadosRequisicaoLiberacao( RequisicaoLiberacaoDTO requisicaoLiberacaoDTO) throws ServiceException, Exception; /** * @param problemaDto * @return Template Liberacao * @throws Exception */ String getUrlInformacoesComplementares(RequisicaoLiberacaoDTO requisicaoLiberacaoDTO) throws Exception; /** * @param problemaDto * @return Template Liberacao * @throws Exception */ String getUrlInformacoesQuestionario(RequisicaoLiberacaoDTO requisicaoLiberacaoDTO) throws Exception; /** * @param RequisicaoQuestionarioDTO * @throws Exception */ void atualizaInformacoesQuestionario(RequisicaoQuestionarioDTO requisicaoQuestionarioDTO) throws Exception; /** * O metodo atualiza somente os campos setados os campos anteriores continuar� intacto. * * @param RequisicaoLiberacaoDTO * @throws Exception */ void updateLiberacaoAprovada(IDto obj) throws Exception; Collection<RequisicaoLiberacaoDTO> listaRequisicaoLiberacaoPorCriterios( PesquisaRequisicaoLiberacaoDTO pesquisaRequisicaoLiberacaoDto) throws Exception; FluxoDTO recuperaFluxo(RequisicaoLiberacaoDTO requisicaoLiberacaoDto) throws Exception; void reabre(UsuarioDTO usuarioDto, RequisicaoLiberacaoDTO requisicaoLiberacaoDto) throws Exception; /** * Retorna uma lista de Libera�oes que estejam relacionada a um determinado item de cofigura��o. * * @param Integer * @return List<RequisicaoLiberacaoDTO> * @throws Exception */ List<RequisicaoLiberacaoDTO> listLiberacaoByItemConfiugracao(Integer idItemConfiguracao) throws Exception; Timestamp MontardataHoraAgendamentoInicial(RequisicaoLiberacaoDTO requisicaoLiberacaoDto); Timestamp MontardataHoraAgendamentoFinal(RequisicaoLiberacaoDTO requisicaoLiberacaoDto); void calculaTempoAtraso(RequisicaoLiberacaoDTO requisicaoLiberacaoDto) throws Exception; Boolean seHoraInicialMenorQAtual(RequisicaoLiberacaoDTO requisicaoLiberacaoDto); Boolean seHoraFinalMenorQAtual(RequisicaoLiberacaoDTO requisicaoLiberacaoDto); Boolean seHoraFinalMenorQHoraInicial(RequisicaoLiberacaoDTO requisicaoLiberacaoDto); Boolean verificaPermissaoGrupoCancelar(Integer idTipoLiberacao, Integer idGrupo) throws ServiceException, Exception; }