package br.com.centralit.bpm.negocio; import java.util.HashMap; import java.util.List; import java.util.Map; import br.com.centralit.bpm.dto.ItemTrabalhoFluxoDTO; import br.com.centralit.bpm.integracao.ItemTrabalhoFluxoDao; import br.com.centralit.bpm.util.Enumerados; import br.com.centralit.bpm.util.UtilScript; import br.com.citframework.util.UtilDatas; public class Script extends ItemTrabalho { @Override public List<ItemTrabalho> resolve() throws Exception { registra(); executa(null,null); SequenciaFluxo sequenciaFluxo = new SequenciaFluxo(instanciaFluxo); return sequenciaFluxo.getDestinos(this); } @Override public void executa(String loginUsuario, Map<String, Object> objetos) throws Exception { if (resolvido()) return; ItemTrabalhoFluxoDao itemTrabalhoFluxoDao = new ItemTrabalhoFluxoDao(); setTransacaoDao(itemTrabalhoFluxoDao); if (objetos == null) objetos = new HashMap<>(); this.instanciaFluxo.getExecucaoFluxo().mapObjetoNegocio(objetos); this.instanciaFluxo.getObjetos(objetos); adicionaObjeto("itemTrabalho", this, objetos); UtilScript.executaScript(elementoFluxoDto.getNome(), elementoFluxoDto.getScript(), objetos); itemTrabalhoDto.setSituacao(Enumerados.SituacaoItemTrabalho.Executado.name()); itemTrabalhoFluxoDao.update(itemTrabalhoDto); } @Override public void registra() throws Exception { if (existe()) return; ItemTrabalhoFluxoDao itemTrabalhoDao = new ItemTrabalhoFluxoDao(); setTransacaoDao(itemTrabalhoDao); itemTrabalhoDto = new ItemTrabalhoFluxoDTO(); itemTrabalhoDto.setIdElemento(elementoFluxoDto.getIdElemento()); itemTrabalhoDto.setIdInstancia(instanciaFluxo.getIdInstancia()); itemTrabalhoDto.setDataHoraCriacao(UtilDatas.getDataHoraAtual()); itemTrabalhoDto.setSituacao(Enumerados.SituacaoItemTrabalho.Criado.name()); itemTrabalhoDto = (ItemTrabalhoFluxoDTO) itemTrabalhoDao.create(itemTrabalhoDto); } public String getScript() { return elementoFluxoDto.getScript(); } @Override public boolean executavel() { return true; } }