package br.com.centralit.bpm.negocio; import br.com.centralit.bpm.dto.AtribuicaoFluxoDTO; import br.com.centralit.bpm.dto.GrupoBpmDTO; import br.com.centralit.bpm.dto.UsuarioBpmDTO; import br.com.centralit.bpm.integracao.AtribuicaoFluxoDao; import br.com.centralit.bpm.util.Enumerados; import br.com.centralit.bpm.util.Enumerados.TipoAtribuicao; import br.com.citframework.util.UtilDatas; public class AtribuicaoFluxo extends NegocioBpm { protected ItemTrabalho itemTrabalho; public AtribuicaoFluxo (ItemTrabalho itemTrabalho) { this.itemTrabalho = itemTrabalho; this.setTransacao(itemTrabalho.getInstanciaFluxo().getTransacao()); } public AtribuicaoFluxoDTO registraAtribuicao(UsuarioBpmDTO usuario, GrupoBpmDTO grupo, TipoAtribuicao tipoAtribuicao) throws Exception { AtribuicaoFluxoDao atribuicaoFluxoDao = new AtribuicaoFluxoDao(); setTransacaoDao(atribuicaoFluxoDao); AtribuicaoFluxoDTO atribuicaoFluxoDto = new AtribuicaoFluxoDTO(); atribuicaoFluxoDto.setIdItemTrabalho(itemTrabalho.getIdItemTrabalho()); atribuicaoFluxoDto.setTipo(tipoAtribuicao.name()); atribuicaoFluxoDto.setDataHora(UtilDatas.getDataHoraAtual()); if (grupo != null) atribuicaoFluxoDto.setIdGrupo(grupo.getIdGrupo()); if (usuario != null) atribuicaoFluxoDto.setIdUsuario(usuario.getIdUsuario()); return (AtribuicaoFluxoDTO) atribuicaoFluxoDao.create(atribuicaoFluxoDto); } public AtribuicaoFluxoDTO registraDelegacao(UsuarioBpmDTO responsavel, UsuarioBpmDTO usuario, GrupoBpmDTO grupo) throws Exception { AtribuicaoFluxoDao atribuicaoFluxoDao = new AtribuicaoFluxoDao(); setTransacaoDao(atribuicaoFluxoDao); atribuicaoFluxoDao.deleteDelegacao(itemTrabalho.getIdItemTrabalho()); new HistoricoItemTrabalho(itemTrabalho).registraDelegacao(responsavel, usuario, grupo); AtribuicaoFluxoDTO atribuicaoFluxoDto = new AtribuicaoFluxoDTO(); atribuicaoFluxoDto.setIdItemTrabalho(itemTrabalho.getIdItemTrabalho()); atribuicaoFluxoDto.setTipo(Enumerados.TipoAtribuicao.Delegacao.name()); atribuicaoFluxoDto.setDataHora(UtilDatas.getDataHoraAtual()); if (grupo != null) atribuicaoFluxoDto.setIdGrupo(grupo.getIdGrupo()); if (usuario != null) atribuicaoFluxoDto.setIdUsuario(usuario.getIdUsuario()); return (AtribuicaoFluxoDTO) atribuicaoFluxoDao.create(atribuicaoFluxoDto); } }