package br.com.centralit.citcorpore.metainfo.negocio; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; import br.com.centralit.citcorpore.integracao.MatrizVisaoDao; import br.com.centralit.citcorpore.metainfo.bean.BotaoAcaoVisaoDTO; import br.com.centralit.citcorpore.metainfo.bean.CamposObjetoNegocioDTO; import br.com.centralit.citcorpore.metainfo.bean.GrupoVisaoCamposNegocioDTO; import br.com.centralit.citcorpore.metainfo.bean.GrupoVisaoCamposNegocioLigacaoDTO; import br.com.centralit.citcorpore.metainfo.bean.GrupoVisaoDTO; import br.com.centralit.citcorpore.metainfo.bean.HtmlCodeVisaoDTO; import br.com.centralit.citcorpore.metainfo.bean.ObjetoNegocioDTO; import br.com.centralit.citcorpore.metainfo.bean.ScriptsVisaoDTO; import br.com.centralit.citcorpore.metainfo.bean.ValorVisaoCamposNegocioDTO; import br.com.centralit.citcorpore.metainfo.bean.VinculoVisaoDTO; import br.com.centralit.citcorpore.metainfo.bean.VisaoDTO; import br.com.centralit.citcorpore.metainfo.bean.VisaoRelacionadaDTO; import br.com.centralit.citcorpore.metainfo.integracao.BotaoAcaoVisaoDao; import br.com.centralit.citcorpore.metainfo.integracao.CamposObjetoNegocioDao; import br.com.centralit.citcorpore.metainfo.integracao.GrupoVisaoCamposNegocioDao; import br.com.centralit.citcorpore.metainfo.integracao.GrupoVisaoCamposNegocioLigacaoDao; import br.com.centralit.citcorpore.metainfo.integracao.GrupoVisaoDao; import br.com.centralit.citcorpore.metainfo.integracao.HtmlCodeVisaoDao; import br.com.centralit.citcorpore.metainfo.integracao.ObjetoNegocioDao; import br.com.centralit.citcorpore.metainfo.integracao.ScriptsVisaoDao; import br.com.centralit.citcorpore.metainfo.integracao.ValorVisaoCamposNegocioDao; import br.com.centralit.citcorpore.metainfo.integracao.VinculoVisaoDao; import br.com.centralit.citcorpore.metainfo.integracao.VisaoDao; import br.com.centralit.citcorpore.metainfo.integracao.VisaoRelacionadaDao; import br.com.centralit.citcorpore.metainfo.util.MetaUtil; import br.com.citframework.dto.IDto; import br.com.citframework.excecao.LogicException; import br.com.citframework.excecao.ServiceException; import br.com.citframework.integracao.TransactionControler; import br.com.citframework.integracao.TransactionControlerImpl; import br.com.citframework.service.CrudServiceImpl; @SuppressWarnings("rawtypes") public class VisaoServiceEjb extends CrudServiceImpl implements VisaoService { private VisaoDao dao; protected VisaoDao getDao() { if (dao == null) { dao = new VisaoDao(); } return dao; } public Collection listAtivos() throws Exception { return getDao().listAtivos(); } @Override public IDto create(IDto model) throws ServiceException, LogicException { // Instancia Objeto controlador de transacao VisaoDao crudDao = this.getDao(); GrupoVisaoDao grupoVisaoDao = getGrupoVisaoDao(); GrupoVisaoCamposNegocioDao grupoVisaoCamposNegocioDao = new GrupoVisaoCamposNegocioDao(); ValorVisaoCamposNegocioDao valorVisaoCamposNegocioDao = new ValorVisaoCamposNegocioDao(); GrupoVisaoCamposNegocioLigacaoDao grupoVisaoCamposNegocioLigacaoDao = new GrupoVisaoCamposNegocioLigacaoDao(); VisaoRelacionadaDao visaoRelacionadaDao = new VisaoRelacionadaDao(); VinculoVisaoDao vinculoVisaoDao = new VinculoVisaoDao(); ScriptsVisaoDao scriptsVisaoDao = new ScriptsVisaoDao(); BotaoAcaoVisaoDao botaoAcaoVisaoDao = new BotaoAcaoVisaoDao(); HtmlCodeVisaoDao htmlCodeVisaoDao = new HtmlCodeVisaoDao(); MatrizVisaoDao matrizVisaoDao = new MatrizVisaoDao(); TransactionControler tc = new TransactionControlerImpl(crudDao.getAliasDB()); try { // Faz validacao, caso exista. validaCreate(model); // Instancia ou obtem os DAOs necessarios. // Seta o TransactionController para os DAOs crudDao.setTransactionControler(tc); grupoVisaoDao.setTransactionControler(tc); grupoVisaoCamposNegocioDao.setTransactionControler(tc); valorVisaoCamposNegocioDao.setTransactionControler(tc); grupoVisaoCamposNegocioLigacaoDao.setTransactionControler(tc); visaoRelacionadaDao.setTransactionControler(tc); vinculoVisaoDao.setTransactionControler(tc); scriptsVisaoDao.setTransactionControler(tc); botaoAcaoVisaoDao.setTransactionControler(tc); htmlCodeVisaoDao.setTransactionControler(tc); matrizVisaoDao.setTransactionControler(tc); // Inicia transacao tc.start(); // Executa operacoes pertinentes ao negocio. VisaoDTO visaoDTO = (VisaoDTO) model; model = crudDao.create(model); if (visaoDTO != null) { if (visaoDTO.getTipoVisao().equalsIgnoreCase(VisaoDTO.MATRIZ)) { visaoDTO.getMatrizVisaoDTO().setIdVisao(visaoDTO.getIdVisao()); visaoDTO.getMatrizVisaoDTO().setIdMatriz(null); matrizVisaoDao.create(visaoDTO.getMatrizVisaoDTO()); } if (visaoDTO.getColGrupos() != null) { for (Iterator it = visaoDTO.getColGrupos().iterator(); it.hasNext();) { GrupoVisaoDTO grupoVisaoDTO = (GrupoVisaoDTO) it.next(); grupoVisaoDTO.setIdVisao(visaoDTO.getIdVisao()); grupoVisaoDTO = (GrupoVisaoDTO) grupoVisaoDao.create(grupoVisaoDTO); if (grupoVisaoDTO != null) { if (grupoVisaoDTO.getColCamposVisao() != null) { int ordem = 0; for (Iterator itCampos = grupoVisaoDTO.getColCamposVisao().iterator(); itCampos.hasNext();) { ordem++; GrupoVisaoCamposNegocioDTO grupoVisaoCamposNegocioDTO = (GrupoVisaoCamposNegocioDTO) itCampos.next(); grupoVisaoCamposNegocioDTO.setIdGrupoVisao(grupoVisaoDTO.getIdGrupoVisao()); grupoVisaoCamposNegocioDTO.setVisivel("S"); grupoVisaoCamposNegocioDTO.setOrdem(ordem); if (grupoVisaoCamposNegocioDTO.getTipoNegocio().equalsIgnoreCase(MetaUtil.HIDDEN)) { grupoVisaoCamposNegocioDTO.setVisivel("N"); } if (grupoVisaoCamposNegocioDTO.getTamanho() == null) { grupoVisaoCamposNegocioDTO.setTamanho(0); } if (grupoVisaoCamposNegocioDTO.getDecimais() == null) { grupoVisaoCamposNegocioDTO.setDecimais(0); } grupoVisaoCamposNegocioDTO = (GrupoVisaoCamposNegocioDTO) grupoVisaoCamposNegocioDao.create(grupoVisaoCamposNegocioDTO); if (grupoVisaoCamposNegocioDTO.getValoresOpcoes() != null) { for (int i = 0; i < grupoVisaoCamposNegocioDTO.getValoresOpcoes().length; i++) { String str = grupoVisaoCamposNegocioDTO.getValoresOpcoes()[i]; String str2[] = str.split("#"); if (str2 != null && str2.length > 0) { ValorVisaoCamposNegocioDTO valorVisaoCamposNegocioDTO = new ValorVisaoCamposNegocioDTO(); valorVisaoCamposNegocioDTO.setIdGrupoVisao(grupoVisaoDTO.getIdGrupoVisao()); valorVisaoCamposNegocioDTO.setIdCamposObjetoNegocio(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocio()); valorVisaoCamposNegocioDTO.setSituacao("A"); valorVisaoCamposNegocioDTO.setValor(str2[0]); if (str2.length > 1) { valorVisaoCamposNegocioDTO.setDescricao(str2[1]); } else { valorVisaoCamposNegocioDTO.setDescricao(" "); } valorVisaoCamposNegocioDao.create(valorVisaoCamposNegocioDTO); } } } if (grupoVisaoCamposNegocioDTO.getTipoNegocio().equalsIgnoreCase(MetaUtil.RELATION)) { GrupoVisaoCamposNegocioLigacaoDTO grupoVisaoCamposNegocioLigacaoDTOValue = new GrupoVisaoCamposNegocioLigacaoDTO(); grupoVisaoCamposNegocioLigacaoDTOValue.setIdGrupoVisao(grupoVisaoDTO.getIdGrupoVisao()); grupoVisaoCamposNegocioLigacaoDTOValue.setIdCamposObjetoNegocio(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocio()); grupoVisaoCamposNegocioLigacaoDTOValue.setIdCamposObjetoNegocioLigacao(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocioLigacaoVinc()); grupoVisaoCamposNegocioLigacaoDTOValue.setDescricao(grupoVisaoCamposNegocioDTO.getDescricaoRelacionamento()); grupoVisaoCamposNegocioLigacaoDTOValue.setTipoLigacao(GrupoVisaoCamposNegocioLigacaoDTO.VALUE); grupoVisaoCamposNegocioLigacaoDao.create(grupoVisaoCamposNegocioLigacaoDTOValue); GrupoVisaoCamposNegocioLigacaoDTO grupoVisaoCamposNegocioLigacaoDTOApres = new GrupoVisaoCamposNegocioLigacaoDTO(); grupoVisaoCamposNegocioLigacaoDTOApres.setIdGrupoVisao(grupoVisaoDTO.getIdGrupoVisao()); grupoVisaoCamposNegocioLigacaoDTOApres.setIdCamposObjetoNegocio(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocio()); grupoVisaoCamposNegocioLigacaoDTOApres.setIdCamposObjetoNegocioLigacao(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocioLigacao()); grupoVisaoCamposNegocioLigacaoDTOApres.setDescricao(grupoVisaoCamposNegocioDTO.getDescricaoRelacionamento()); grupoVisaoCamposNegocioLigacaoDTOApres.setTipoLigacao(GrupoVisaoCamposNegocioLigacaoDTO.PRESENTATION); grupoVisaoCamposNegocioLigacaoDao.create(grupoVisaoCamposNegocioLigacaoDTOApres); GrupoVisaoCamposNegocioLigacaoDTO grupoVisaoCamposNegocioLigacaoDTOFilter = new GrupoVisaoCamposNegocioLigacaoDTO(); grupoVisaoCamposNegocioLigacaoDTOFilter.setIdGrupoVisao(grupoVisaoDTO.getIdGrupoVisao()); grupoVisaoCamposNegocioLigacaoDTOFilter.setIdCamposObjetoNegocio(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocio()); grupoVisaoCamposNegocioLigacaoDTOFilter.setIdCamposObjetoNegocioLigacao(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocioLigacao()); grupoVisaoCamposNegocioLigacaoDTOFilter.setDescricao(grupoVisaoCamposNegocioDTO.getDescricaoRelacionamento()); grupoVisaoCamposNegocioLigacaoDTOFilter.setTipoLigacao(GrupoVisaoCamposNegocioLigacaoDTO.FILTER); if (grupoVisaoCamposNegocioDTO.getFiltro() == null || grupoVisaoCamposNegocioDTO.getFiltro().trim().equalsIgnoreCase("")) { grupoVisaoCamposNegocioLigacaoDTOFilter.setFiltro("${TERMO_PESQUISA}"); } else { grupoVisaoCamposNegocioLigacaoDTOFilter.setFiltro(grupoVisaoCamposNegocioDTO.getFiltro()); } grupoVisaoCamposNegocioLigacaoDao.create(grupoVisaoCamposNegocioLigacaoDTOFilter); if (grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocioLigacaoOrder() != null) { GrupoVisaoCamposNegocioLigacaoDTO grupoVisaoCamposNegocioLigacaoDTOOrder = new GrupoVisaoCamposNegocioLigacaoDTO(); grupoVisaoCamposNegocioLigacaoDTOOrder.setIdGrupoVisao(grupoVisaoDTO.getIdGrupoVisao()); grupoVisaoCamposNegocioLigacaoDTOOrder.setIdCamposObjetoNegocio(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocio()); grupoVisaoCamposNegocioLigacaoDTOOrder.setIdCamposObjetoNegocioLigacao(grupoVisaoCamposNegocioDTO .getIdCamposObjetoNegocioLigacaoOrder()); grupoVisaoCamposNegocioLigacaoDTOOrder.setDescricao(grupoVisaoCamposNegocioDTO.getDescricaoRelacionamento()); grupoVisaoCamposNegocioLigacaoDTOOrder.setTipoLigacao(GrupoVisaoCamposNegocioLigacaoDTO.ORDER); grupoVisaoCamposNegocioLigacaoDao.create(grupoVisaoCamposNegocioLigacaoDTOOrder); } } } } } } } if (visaoDTO.getColVisoesRelacionadas() != null) { for (Iterator itColVisRel = visaoDTO.getColVisoesRelacionadas().iterator(); itColVisRel.hasNext();) { VisaoRelacionadaDTO visaoRelacionadaDTO = (VisaoRelacionadaDTO) itColVisRel.next(); visaoRelacionadaDTO.setIdVisaoPai(visaoDTO.getIdVisao()); visaoRelacionadaDTO = (VisaoRelacionadaDTO) visaoRelacionadaDao.create(visaoRelacionadaDTO); if (visaoRelacionadaDTO.getColVinculosVisao() != null) { int x = 0; for (Iterator it = visaoRelacionadaDTO.getColVinculosVisao().iterator(); it.hasNext();) { VinculoVisaoDTO vinculoVisaoDTO = (VinculoVisaoDTO) it.next(); if (vinculoVisaoDTO.getControle() != null && vinculoVisaoDTO.getControle().equalsIgnoreCase("P")) { Collection col1 = grupoVisaoDao.findByIdVisaoAtivos(visaoDTO.getIdVisao()); if (col1 != null && col1.size() > 0) { GrupoVisaoDTO grupoVisaoDTO = (GrupoVisaoDTO) ((List) (col1)).get(0); vinculoVisaoDTO.setIdGrupoVisaoPai(grupoVisaoDTO.getIdGrupoVisao()); } } if (vinculoVisaoDTO.getControle() != null && vinculoVisaoDTO.getControle().equalsIgnoreCase("F")) { Collection col1 = grupoVisaoDao.findByIdVisaoAtivos(visaoRelacionadaDTO.getIdVisaoFilha()); if (col1 != null && col1.size() > 0) { GrupoVisaoDTO grupoVisaoDTO = (GrupoVisaoDTO) ((List) (col1)).get(0); vinculoVisaoDTO.setIdGrupoVisaoFilho(grupoVisaoDTO.getIdGrupoVisao()); } } vinculoVisaoDTO.setSeq(x); vinculoVisaoDTO.setIdVisaoRelacionada(visaoRelacionadaDTO.getIdVisaoRelacionada()); vinculoVisaoDao.create(vinculoVisaoDTO); x++; } } } } if (visaoDTO.getColScripts() != null) { for (Iterator it = visaoDTO.getColScripts().iterator(); it.hasNext();) { ScriptsVisaoDTO scriptsVisaoDTO = (ScriptsVisaoDTO) it.next(); scriptsVisaoDTO.setIdVisao(visaoDTO.getIdVisao()); scriptsVisaoDao.create(scriptsVisaoDTO); } } if (visaoDTO.getColHtmlCode() != null) { for (Iterator it = visaoDTO.getColHtmlCode().iterator(); it.hasNext();) { HtmlCodeVisaoDTO htmlCodeVisaoDTO = (HtmlCodeVisaoDTO) it.next(); htmlCodeVisaoDTO.setIdVisao(visaoDTO.getIdVisao()); htmlCodeVisaoDao.create(htmlCodeVisaoDTO); } } if (visaoDTO.getColBotoes() != null) { int i = 0; for (Iterator it = visaoDTO.getColBotoes().iterator(); it.hasNext();) { BotaoAcaoVisaoDTO botaoAcaoVisaoDto = (BotaoAcaoVisaoDTO) it.next(); botaoAcaoVisaoDto.setIdVisao(visaoDTO.getIdVisao()); botaoAcaoVisaoDto.setOrdem(i); botaoAcaoVisaoDao.create(botaoAcaoVisaoDto); i++; } } } // Faz commit e fecha a transacao. tc.commit(); tc.close(); return model; } catch (Exception e) { this.rollbackTransaction(tc, e); } return model; } @Override public void update(IDto model) throws ServiceException, LogicException { // Instancia Objeto controlador de transacao VisaoDao crudDao = getDao(); GrupoVisaoDao grupoVisaoDao = getGrupoVisaoDao(); GrupoVisaoCamposNegocioDao grupoVisaoCamposNegocioDao = getGrupoVisaoCamposNegocioDao(); ValorVisaoCamposNegocioDao valorVisaoCamposNegocioDao = getValorVisaoCamposNegocioDao(); GrupoVisaoCamposNegocioLigacaoDao grupoVisaoCamposNegocioLigacaoDao = getGrupoVisaoCamposNegocioLigacaoDao(); VisaoRelacionadaDao visaoRelacionadaDao = getVisaoRelacionadaDao(); VinculoVisaoDao vinculoVisaoDao = getVinculoVisaoDao(); ScriptsVisaoDao scriptsVisaoDao = getScriptsVisaoDao(); BotaoAcaoVisaoDao botaoAcaoVisaoDao = getBotaoAcaoVisaoDao(); MatrizVisaoDao matrizVisaoDao = getMatrizVisaoDao(); HtmlCodeVisaoDao htmlCodeVisaoDao = getHtmlCodeVisaoDao(); TransactionControler tc = new TransactionControlerImpl(crudDao.getAliasDB()); try { // Faz validacao, caso exista. validaUpdate(model); // Instancia ou obtem os DAOs necessarios. // Seta o TransactionController para os DAOs crudDao.setTransactionControler(tc); grupoVisaoDao.setTransactionControler(tc); grupoVisaoCamposNegocioDao.setTransactionControler(tc); valorVisaoCamposNegocioDao.setTransactionControler(tc); grupoVisaoCamposNegocioLigacaoDao.setTransactionControler(tc); visaoRelacionadaDao.setTransactionControler(tc); vinculoVisaoDao.setTransactionControler(tc); scriptsVisaoDao.setTransactionControler(tc); botaoAcaoVisaoDao.setTransactionControler(tc); htmlCodeVisaoDao.setTransactionControler(tc); matrizVisaoDao.setTransactionControler(tc); // Inicia transacao tc.start(); // Executa operacoes pertinentes ao negocio. VisaoDTO visaoDTO = (VisaoDTO) model; crudDao.update(model); if (visaoDTO != null) { if (visaoDTO.getTipoVisao().equalsIgnoreCase(VisaoDTO.MATRIZ)) { matrizVisaoDao.deleteByIdVisao(visaoDTO.getIdVisao()); visaoDTO.getMatrizVisaoDTO().setIdVisao(visaoDTO.getIdVisao()); matrizVisaoDao.create(visaoDTO.getMatrizVisaoDTO()); } vinculoVisaoDao.deleteByIdVisaoPai(visaoDTO.getIdVisao()); visaoRelacionadaDao.deleteByIdVisaoPai(visaoDTO.getIdVisao()); valorVisaoCamposNegocioDao.deleteByIdVisao(visaoDTO.getIdVisao()); grupoVisaoCamposNegocioLigacaoDao.deleteByIdVisao(visaoDTO.getIdVisao()); grupoVisaoCamposNegocioDao.deleteByIdVisao(visaoDTO.getIdVisao()); grupoVisaoDao.deleteByIdVisao(visaoDTO.getIdVisao()); scriptsVisaoDao.deleteByIdVisao(visaoDTO.getIdVisao()); botaoAcaoVisaoDao.deleteByIdVisao(visaoDTO.getIdVisao()); htmlCodeVisaoDao.deleteByIdVisao(visaoDTO.getIdVisao()); if (visaoDTO.getColGrupos() != null) { for (Iterator it = visaoDTO.getColGrupos().iterator(); it.hasNext();) { GrupoVisaoDTO grupoVisaoDTO = (GrupoVisaoDTO) it.next(); grupoVisaoDTO.setIdVisao(visaoDTO.getIdVisao()); grupoVisaoDTO = (GrupoVisaoDTO) grupoVisaoDao.create(grupoVisaoDTO); if (grupoVisaoDTO != null) { if (grupoVisaoDTO.getColCamposVisao() != null) { int ordem = 0; for (Iterator itCampos = grupoVisaoDTO.getColCamposVisao().iterator(); itCampos.hasNext();) { ordem++; GrupoVisaoCamposNegocioDTO grupoVisaoCamposNegocioDTO = (GrupoVisaoCamposNegocioDTO) itCampos.next(); grupoVisaoCamposNegocioDTO.setIdGrupoVisao(grupoVisaoDTO.getIdGrupoVisao()); grupoVisaoCamposNegocioDTO.setVisivel("S"); grupoVisaoCamposNegocioDTO.setOrdem(ordem); if (grupoVisaoCamposNegocioDTO.getTipoNegocio().equalsIgnoreCase(MetaUtil.HIDDEN)) { grupoVisaoCamposNegocioDTO.setVisivel("N"); } if (grupoVisaoCamposNegocioDTO.getTamanho() == null) { grupoVisaoCamposNegocioDTO.setTamanho(0); } if (grupoVisaoCamposNegocioDTO.getDecimais() == null) { grupoVisaoCamposNegocioDTO.setDecimais(0); } grupoVisaoCamposNegocioDTO = (GrupoVisaoCamposNegocioDTO) grupoVisaoCamposNegocioDao.create(grupoVisaoCamposNegocioDTO); if (grupoVisaoCamposNegocioDTO.getValoresOpcoes() != null) { for (int i = 0; i < grupoVisaoCamposNegocioDTO.getValoresOpcoes().length; i++) { String str = grupoVisaoCamposNegocioDTO.getValoresOpcoes()[i]; String str2[] = str.split("#"); if (str2 != null && str2.length > 0) { ValorVisaoCamposNegocioDTO valorVisaoCamposNegocioDTO = new ValorVisaoCamposNegocioDTO(); valorVisaoCamposNegocioDTO.setIdGrupoVisao(grupoVisaoDTO.getIdGrupoVisao()); valorVisaoCamposNegocioDTO.setIdCamposObjetoNegocio(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocio()); valorVisaoCamposNegocioDTO.setSituacao("A"); valorVisaoCamposNegocioDTO.setValor(str2[0]); if (str2.length > 1) { valorVisaoCamposNegocioDTO.setDescricao(str2[1]); } else { valorVisaoCamposNegocioDTO.setDescricao(" "); } valorVisaoCamposNegocioDao.create(valorVisaoCamposNegocioDTO); } } } if (grupoVisaoCamposNegocioDTO.getTipoNegocio().equalsIgnoreCase(MetaUtil.RELATION)) { GrupoVisaoCamposNegocioLigacaoDTO grupoVisaoCamposNegocioLigacaoDTOValue = new GrupoVisaoCamposNegocioLigacaoDTO(); grupoVisaoCamposNegocioLigacaoDTOValue.setIdGrupoVisao(grupoVisaoDTO.getIdGrupoVisao()); grupoVisaoCamposNegocioLigacaoDTOValue.setIdCamposObjetoNegocio(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocio()); grupoVisaoCamposNegocioLigacaoDTOValue.setIdCamposObjetoNegocioLigacao(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocioLigacaoVinc()); grupoVisaoCamposNegocioLigacaoDTOValue.setDescricao(grupoVisaoCamposNegocioDTO.getDescricaoRelacionamento()); grupoVisaoCamposNegocioLigacaoDTOValue.setTipoLigacao(GrupoVisaoCamposNegocioLigacaoDTO.VALUE); grupoVisaoCamposNegocioLigacaoDao.create(grupoVisaoCamposNegocioLigacaoDTOValue); GrupoVisaoCamposNegocioLigacaoDTO grupoVisaoCamposNegocioLigacaoDTOApres = new GrupoVisaoCamposNegocioLigacaoDTO(); grupoVisaoCamposNegocioLigacaoDTOApres.setIdGrupoVisao(grupoVisaoDTO.getIdGrupoVisao()); grupoVisaoCamposNegocioLigacaoDTOApres.setIdCamposObjetoNegocio(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocio()); grupoVisaoCamposNegocioLigacaoDTOApres.setIdCamposObjetoNegocioLigacao(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocioLigacao()); grupoVisaoCamposNegocioLigacaoDTOApres.setDescricao(grupoVisaoCamposNegocioDTO.getDescricaoRelacionamento()); grupoVisaoCamposNegocioLigacaoDTOApres.setTipoLigacao(GrupoVisaoCamposNegocioLigacaoDTO.PRESENTATION); grupoVisaoCamposNegocioLigacaoDao.create(grupoVisaoCamposNegocioLigacaoDTOApres); GrupoVisaoCamposNegocioLigacaoDTO grupoVisaoCamposNegocioLigacaoDTOFilter = new GrupoVisaoCamposNegocioLigacaoDTO(); grupoVisaoCamposNegocioLigacaoDTOFilter.setIdGrupoVisao(grupoVisaoDTO.getIdGrupoVisao()); grupoVisaoCamposNegocioLigacaoDTOFilter.setIdCamposObjetoNegocio(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocio()); grupoVisaoCamposNegocioLigacaoDTOFilter.setIdCamposObjetoNegocioLigacao(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocioLigacao()); grupoVisaoCamposNegocioLigacaoDTOFilter.setDescricao(grupoVisaoCamposNegocioDTO.getDescricaoRelacionamento()); grupoVisaoCamposNegocioLigacaoDTOFilter.setTipoLigacao(GrupoVisaoCamposNegocioLigacaoDTO.FILTER); if (grupoVisaoCamposNegocioDTO.getFiltro() == null || grupoVisaoCamposNegocioDTO.getFiltro().trim().equalsIgnoreCase("")) { grupoVisaoCamposNegocioLigacaoDTOFilter.setFiltro("${TERMO_PESQUISA}"); } else { grupoVisaoCamposNegocioLigacaoDTOFilter.setFiltro(grupoVisaoCamposNegocioDTO.getFiltro()); } grupoVisaoCamposNegocioLigacaoDao.create(grupoVisaoCamposNegocioLigacaoDTOFilter); if (grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocioLigacaoOrder() != null) { GrupoVisaoCamposNegocioLigacaoDTO grupoVisaoCamposNegocioLigacaoDTOOrder = new GrupoVisaoCamposNegocioLigacaoDTO(); grupoVisaoCamposNegocioLigacaoDTOOrder.setIdGrupoVisao(grupoVisaoDTO.getIdGrupoVisao()); grupoVisaoCamposNegocioLigacaoDTOOrder.setIdCamposObjetoNegocio(grupoVisaoCamposNegocioDTO.getIdCamposObjetoNegocio()); grupoVisaoCamposNegocioLigacaoDTOOrder.setIdCamposObjetoNegocioLigacao(grupoVisaoCamposNegocioDTO .getIdCamposObjetoNegocioLigacaoOrder()); grupoVisaoCamposNegocioLigacaoDTOOrder.setDescricao(grupoVisaoCamposNegocioDTO.getDescricaoRelacionamento()); grupoVisaoCamposNegocioLigacaoDTOOrder.setTipoLigacao(GrupoVisaoCamposNegocioLigacaoDTO.ORDER); grupoVisaoCamposNegocioLigacaoDao.create(grupoVisaoCamposNegocioLigacaoDTOOrder); } } } } } } } if (visaoDTO.getColVisoesRelacionadas() != null) { for (Iterator itColVisRel = visaoDTO.getColVisoesRelacionadas().iterator(); itColVisRel.hasNext();) { VisaoRelacionadaDTO visaoRelacionadaDTO = (VisaoRelacionadaDTO) itColVisRel.next(); visaoRelacionadaDTO.setIdVisaoPai(visaoDTO.getIdVisao()); visaoRelacionadaDTO = (VisaoRelacionadaDTO) visaoRelacionadaDao.create(visaoRelacionadaDTO); if (visaoRelacionadaDTO.getColVinculosVisao() != null) { int x = 0; for (Iterator it = visaoRelacionadaDTO.getColVinculosVisao().iterator(); it.hasNext();) { VinculoVisaoDTO vinculoVisaoDTO = (VinculoVisaoDTO) it.next(); if (vinculoVisaoDTO.getControle() != null && vinculoVisaoDTO.getControle().equalsIgnoreCase("P")) { Collection col1 = grupoVisaoDao.findByIdVisaoAtivos(visaoDTO.getIdVisao()); if (col1 != null && col1.size() > 0) { GrupoVisaoDTO grupoVisaoDTO = (GrupoVisaoDTO) ((List) (col1)).get(0); vinculoVisaoDTO.setIdGrupoVisaoPai(grupoVisaoDTO.getIdGrupoVisao()); } } if (vinculoVisaoDTO.getControle() != null && vinculoVisaoDTO.getControle().equalsIgnoreCase("F")) { Collection col1 = grupoVisaoDao.findByIdVisaoAtivos(visaoRelacionadaDTO.getIdVisaoFilha()); if (col1 != null && col1.size() > 0) { GrupoVisaoDTO grupoVisaoDTO = (GrupoVisaoDTO) ((List) (col1)).get(0); vinculoVisaoDTO.setIdGrupoVisaoFilho(grupoVisaoDTO.getIdGrupoVisao()); } } vinculoVisaoDTO.setSeq(x); vinculoVisaoDTO.setIdVisaoRelacionada(visaoRelacionadaDTO.getIdVisaoRelacionada()); vinculoVisaoDao.create(vinculoVisaoDTO); x++; } } } } if (visaoDTO.getColScripts() != null) { for (Iterator it = visaoDTO.getColScripts().iterator(); it.hasNext();) { ScriptsVisaoDTO scriptsVisaoDTO = (ScriptsVisaoDTO) it.next(); scriptsVisaoDTO.setIdVisao(visaoDTO.getIdVisao()); scriptsVisaoDao.create(scriptsVisaoDTO); } } if (visaoDTO.getColHtmlCode() != null) { for (Iterator it = visaoDTO.getColHtmlCode().iterator(); it.hasNext();) { HtmlCodeVisaoDTO htmlCodeVisaoDTO = (HtmlCodeVisaoDTO) it.next(); htmlCodeVisaoDTO.setIdVisao(visaoDTO.getIdVisao()); htmlCodeVisaoDao.create(htmlCodeVisaoDTO); } } if (visaoDTO.getColBotoes() != null) { int i = 0; for (Iterator it = visaoDTO.getColBotoes().iterator(); it.hasNext();) { BotaoAcaoVisaoDTO botaoAcaoVisaoDto = (BotaoAcaoVisaoDTO) it.next(); botaoAcaoVisaoDto.setIdVisao(visaoDTO.getIdVisao()); botaoAcaoVisaoDto.setOrdem(i); botaoAcaoVisaoDao.create(botaoAcaoVisaoDto); i++; } } } // Faz commit e fecha a transacao. tc.commit(); tc.close(); } catch (Exception e) { this.rollbackTransaction(tc, e); } } public VisaoDTO findByIdentificador(String identificador) throws Exception { return getDao().findByIdentificador(identificador); } @Override public void deleteVisao(IDto model) throws Exception { // Instancia Objeto controlador de transacao VisaoDao crudDao = getDao(); // Instancia ou obtem os DAOs necessarios. GrupoVisaoDao grupoVisaoDao = getGrupoVisaoDao(); GrupoVisaoCamposNegocioDao grupoVisaoCamposNegocioDao = getGrupoVisaoCamposNegocioDao(); ValorVisaoCamposNegocioDao valorVisaoCamposNegocioDao = getValorVisaoCamposNegocioDao(); GrupoVisaoCamposNegocioLigacaoDao grupoVisaoCamposNegocioLigacaoDao = getGrupoVisaoCamposNegocioLigacaoDao(); VisaoRelacionadaDao visaoRelacionadaDao = getVisaoRelacionadaDao(); VinculoVisaoDao vinculoVisaoDao = getVinculoVisaoDao(); ScriptsVisaoDao scriptsVisaoDao = getScriptsVisaoDao(); BotaoAcaoVisaoDao botaoAcaoVisaoDao = getBotaoAcaoVisaoDao(); HtmlCodeVisaoDao htmlCodeVisaoDao = getHtmlCodeVisaoDao(); MatrizVisaoDao matrizVisaoDao = getMatrizVisaoDao(); TransactionControler tc = new TransactionControlerImpl(crudDao.getAliasDB()); try { // Faz validacao, caso exista. validaDelete(model); // Seta o TransactionController para os DAOs crudDao.setTransactionControler(tc); grupoVisaoDao.setTransactionControler(tc); grupoVisaoCamposNegocioDao.setTransactionControler(tc); valorVisaoCamposNegocioDao.setTransactionControler(tc); grupoVisaoCamposNegocioLigacaoDao.setTransactionControler(tc); visaoRelacionadaDao.setTransactionControler(tc); vinculoVisaoDao.setTransactionControler(tc); scriptsVisaoDao.setTransactionControler(tc); botaoAcaoVisaoDao.setTransactionControler(tc); htmlCodeVisaoDao.setTransactionControler(tc); matrizVisaoDao.setTransactionControler(tc); // Inicia transacao tc.start(); // Executa operacoes pertinentes ao negocio. VisaoDTO visaoDTO = (VisaoDTO) model; crudDao.delete(model); if (visaoDTO != null) { if (visaoDTO.getTipoVisao() != null && visaoDTO.getTipoVisao().equalsIgnoreCase(VisaoDTO.MATRIZ)) { matrizVisaoDao.deleteByIdVisao(visaoDTO.getIdVisao()); } vinculoVisaoDao.deleteByIdVisaoPai(visaoDTO.getIdVisao()); visaoRelacionadaDao.deleteByIdVisaoPai(visaoDTO.getIdVisao()); valorVisaoCamposNegocioDao.deleteByIdVisao(visaoDTO.getIdVisao()); grupoVisaoCamposNegocioLigacaoDao.deleteByIdVisao(visaoDTO.getIdVisao()); grupoVisaoCamposNegocioDao.deleteByIdVisao(visaoDTO.getIdVisao()); grupoVisaoDao.deleteByIdVisao(visaoDTO.getIdVisao()); scriptsVisaoDao.deleteByIdVisao(visaoDTO.getIdVisao()); botaoAcaoVisaoDao.deleteByIdVisao(visaoDTO.getIdVisao()); htmlCodeVisaoDao.deleteByIdVisao(visaoDTO.getIdVisao()); } // Faz commit e fecha a transacao. tc.commit(); tc.close(); } catch (Exception e) { this.rollbackTransaction(tc, e); } } public void importar(VisaoDTO visaoXML) throws Exception { List<GrupoVisaoCamposNegocioDTO> colCampos = new ArrayList<GrupoVisaoCamposNegocioDTO>(); if (visaoXML.getColGrupos() != null && visaoXML.getColGrupos().size() > 0) { GrupoVisaoDTO grupoVisaoDTO = (GrupoVisaoDTO) ((List) (visaoXML.getColGrupos())).get(0); colCampos = (List<GrupoVisaoCamposNegocioDTO>) grupoVisaoDTO.getColCamposVisao(); if (colCampos != null) { for (GrupoVisaoCamposNegocioDTO grupoVisaoCamposNegocioDTO : colCampos) { if (grupoVisaoCamposNegocioDTO.getNomeTabelaDB() != null) {// Restaura id do Grupo Vis�o List<GrupoVisaoDTO> listGrupoVisaoTemp = (List<GrupoVisaoDTO>) getGrupoVisaoDao().findByIdVisao(visaoXML.getIdVisao()); if (listGrupoVisaoTemp != null) { for (GrupoVisaoDTO grupoVisaoDTO2 : listGrupoVisaoTemp) { grupoVisaoCamposNegocioDTO.setIdGrupoVisao(grupoVisaoDTO2.getIdGrupoVisao()); } } // Restaura id dos Campos Objeto Neg�cio Integer idObjetoNegocio = null; List<ObjetoNegocioDTO> colObjNegocio = (List<ObjetoNegocioDTO>) getObjetoNegocioDao().findByNomeTabelaDB(grupoVisaoCamposNegocioDTO.getNomeTabelaDB()); if (colObjNegocio != null) { for (ObjetoNegocioDTO objetoNegocioDTO : colObjNegocio) { idObjetoNegocio = objetoNegocioDTO.getIdObjetoNegocio(); } if (idObjetoNegocio != null) { grupoVisaoCamposNegocioDTO.setIdObjetoNegocio(idObjetoNegocio); } } if (idObjetoNegocio != null) { List<CamposObjetoNegocioDTO> colCamposObjNeg = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( idObjetoNegocio, grupoVisaoCamposNegocioDTO.getNomeDB()); if (colCamposObjNeg != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCamposObjNeg) { grupoVisaoCamposNegocioDTO.setIdCamposObjetoNegocio(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } } // Restaura vis�es de liga��o caso exista if (grupoVisaoCamposNegocioDTO.getTipoNegocio().equalsIgnoreCase(MetaUtil.RELATION)) { // Restaura id do objeto neg�cio liga��o List<ObjetoNegocioDTO> listObjNegTemp = (List<ObjetoNegocioDTO>) getObjetoNegocioDao().findByNomeTabelaDB( grupoVisaoCamposNegocioDTO.getNomeTabelaDBLigacao()); if (listObjNegTemp != null) { for (ObjetoNegocioDTO objetoNegocioDTO : listObjNegTemp) { grupoVisaoCamposNegocioDTO.setIdObjetoNegocioLigacao(objetoNegocioDTO.getIdObjetoNegocio()); } } // Restaura id do campo objeto neg�cio liga��o List<CamposObjetoNegocioDTO> listCamposObjNegTemp2 = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( grupoVisaoCamposNegocioDTO.getIdObjetoNegocioLigacao(), grupoVisaoCamposNegocioDTO.getNomeDBLigacao()); if (listCamposObjNegTemp2 != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : listCamposObjNegTemp2) { grupoVisaoCamposNegocioDTO.setIdCamposObjetoNegocioLigacao(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } // Restaura id do campo objeto neg�cio liga��o vinculado List<CamposObjetoNegocioDTO> listCamposObjNegTemp3 = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( grupoVisaoCamposNegocioDTO.getIdObjetoNegocioLigacao(), grupoVisaoCamposNegocioDTO.getNomeDBLigacaoVinc()); if (listCamposObjNegTemp3 != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : listCamposObjNegTemp3) { grupoVisaoCamposNegocioDTO.setIdCamposObjetoNegocioLigacaoVinc(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } // Restaura id do campo objeto neg�cio liga��o order List<CamposObjetoNegocioDTO> listCamposObjNegTemp4 = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( grupoVisaoCamposNegocioDTO.getIdObjetoNegocioLigacao(), grupoVisaoCamposNegocioDTO.getNomeDBLigacaoOrder()); if (listCamposObjNegTemp4 != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : listCamposObjNegTemp4) { grupoVisaoCamposNegocioDTO.setIdCamposObjetoNegocioLigacaoOrder(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } } } } } if (visaoXML.getTipoVisao().equalsIgnoreCase(VisaoDTO.MATRIZ)) { // Restaura ObjetoNegocio ObjetoNegocioDTO obNeg = new ObjetoNegocioDTO(); Integer idObjetoNegocio = null; List<ObjetoNegocioDTO> colObjNegocio = (List<ObjetoNegocioDTO>) getObjetoNegocioDao().findByNomeTabelaDB(visaoXML.getMatrizVisaoDTO().getNomeTabelaDB()); if (colObjNegocio != null) { for (ObjetoNegocioDTO objetoNegocioDTO : colObjNegocio) { idObjetoNegocio = objetoNegocioDTO.getIdObjetoNegocio(); } visaoXML.getMatrizVisaoDTO().setIdObjetoNegocio(idObjetoNegocio); } // Restaura CampoObjetoNegocio1 Integer idCampNeg1 = null; List<CamposObjetoNegocioDTO> colCampNeg1 = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( visaoXML.getMatrizVisaoDTO().getIdObjetoNegocio(), visaoXML.getMatrizVisaoDTO().getNomeDB1()); if (colCampNeg1 != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCampNeg1) { idCampNeg1 = camposObjetoNegocioDTO.getIdCamposObjetoNegocio(); } visaoXML.getMatrizVisaoDTO().setIdCamposObjetoNegocio1(idCampNeg1); } // Restaura CampoObjetoNegocio2 Integer idCampNeg2 = null; List<CamposObjetoNegocioDTO> colCampNeg2 = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( visaoXML.getMatrizVisaoDTO().getIdObjetoNegocio(), visaoXML.getMatrizVisaoDTO().getNomeDB2()); if (colCampNeg2 != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCampNeg2) { idCampNeg2 = camposObjetoNegocioDTO.getIdCamposObjetoNegocio(); } visaoXML.getMatrizVisaoDTO().setIdCamposObjetoNegocio2(idCampNeg2); } // Restaura CampoObjetoNegocio3 Integer idCampNeg3 = null; List<CamposObjetoNegocioDTO> colCampNeg3 = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( visaoXML.getMatrizVisaoDTO().getIdObjetoNegocio(), visaoXML.getMatrizVisaoDTO().getNomeDB3()); if (colCampNeg3 != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCampNeg3) { idCampNeg3 = camposObjetoNegocioDTO.getIdCamposObjetoNegocio(); } visaoXML.getMatrizVisaoDTO().setIdCamposObjetoNegocio3(idCampNeg3); } } } if (visaoXML.getColVisoesRelacionadas() != null && visaoXML.getColVisoesRelacionadas().size() > 0) { List<VisaoRelacionadaDTO> listVisaoRelacionada = (List<VisaoRelacionadaDTO>) visaoXML.getColVisoesRelacionadas(); for (VisaoRelacionadaDTO visaoRelacionadaDTO : listVisaoRelacionada) { // Restaura ID da Vis�o Relacionada Filha VisaoDTO visaoDTOFilha = findByIdentificador(visaoRelacionadaDTO.getIdentificacaoVisaoFilha()); if (visaoDTOFilha != null) { visaoRelacionadaDTO.setIdVisaoFilha(visaoDTOFilha.getIdVisao()); } // Preenche campos do v�nculo List<VinculoVisaoDTO> listVinculoVisao = (List<VinculoVisaoDTO>) visaoRelacionadaDTO.getColVinculosVisao(); if (listVinculoVisao != null) { GrupoVisaoDTO grupoVisaoDTO = (GrupoVisaoDTO) ((List) (visaoXML.getColGrupos())).get(0); for (VinculoVisaoDTO vinculoVisaoDTO : listVinculoVisao) { if (vinculoVisaoDTO != null) { vinculoVisaoDTO.setIdGrupoVisaoPai(grupoVisaoDTO.getIdGrupoVisao()); if (vinculoVisaoDTO.getIdCamposObjetoNegocioPaiNN() != null) { // Recuperando CampoObjetoNegocio do Pai Integer idObjetoNegocio = null; List<ObjetoNegocioDTO> colObjNegocio = (List<ObjetoNegocioDTO>) getObjetoNegocioDao().findByNomeTabelaDB(vinculoVisaoDTO.getNomeTabelaPai()); if (colObjNegocio != null) { for (ObjetoNegocioDTO objetoNegocioDTO : colObjNegocio) { idObjetoNegocio = objetoNegocioDTO.getIdObjetoNegocio(); } List<CamposObjetoNegocioDTO> colCamposObjNeg = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( idObjetoNegocio, vinculoVisaoDTO.getNomeDBPai()); if (colCamposObjNeg != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCamposObjNeg) { vinculoVisaoDTO.setIdCamposObjetoNegocioPai(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } } // Recuperando CampoObjetoNegocio do PaiNN colObjNegocio = (List<ObjetoNegocioDTO>) getObjetoNegocioDao().findByNomeTabelaDB(vinculoVisaoDTO.getNomeTabelaPaiNN()); if (colObjNegocio != null) { for (ObjetoNegocioDTO objetoNegocioDTO : colObjNegocio) { idObjetoNegocio = objetoNegocioDTO.getIdObjetoNegocio(); } List<CamposObjetoNegocioDTO> colCamposObjNeg = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( idObjetoNegocio, vinculoVisaoDTO.getNomeDBPaiNN()); if (colCamposObjNeg != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCamposObjNeg) { vinculoVisaoDTO.setIdCamposObjetoNegocioPaiNN(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } } } if (vinculoVisaoDTO.getIdCamposObjetoNegocioFilhoNN() != null) { // Recuperando CampoObjetoNegocio do Filho Integer idObjetoNegocio = null; List<ObjetoNegocioDTO> colObjNegocio = (List<ObjetoNegocioDTO>) getObjetoNegocioDao().findByNomeTabelaDB(vinculoVisaoDTO.getNomeTabelaFilho()); if (colObjNegocio != null) { for (ObjetoNegocioDTO objetoNegocioDTO : colObjNegocio) { idObjetoNegocio = objetoNegocioDTO.getIdObjetoNegocio(); } List<CamposObjetoNegocioDTO> colCamposObjNeg = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( idObjetoNegocio, vinculoVisaoDTO.getNomeDBPaiFilho()); if (colCamposObjNeg != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCamposObjNeg) { vinculoVisaoDTO.setIdCamposObjetoNegocioFilho(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } } // Recuperando CampoObjetoNegocio do FilhoNN colObjNegocio = (List<ObjetoNegocioDTO>) getObjetoNegocioDao().findByNomeTabelaDB(vinculoVisaoDTO.getNomeTabelaFilhoNN()); if (colObjNegocio != null) { for (ObjetoNegocioDTO objetoNegocioDTO : colObjNegocio) { idObjetoNegocio = objetoNegocioDTO.getIdObjetoNegocio(); } List<CamposObjetoNegocioDTO> colCamposObjNeg = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( idObjetoNegocio, vinculoVisaoDTO.getNomeDBPaiFilhoNN()); if (colCamposObjNeg != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCamposObjNeg) { vinculoVisaoDTO.setIdCamposObjetoNegocioFilhoNN(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } } } } } } } } if (visaoXML != null) { create(visaoXML); } } public void atualizarVisao(VisaoDTO visaoAtual, VisaoDTO visaoXML) throws Exception { // Primeiro obtem vis�o atual a ser atualizada if (visaoAtual != null && visaoAtual.getIdVisao() != null) { visaoXML.setIdVisao(visaoAtual.getIdVisao()); // Segundo obtem vis�o vinda do XML List<GrupoVisaoCamposNegocioDTO> colCamposVisaoXML = new ArrayList<GrupoVisaoCamposNegocioDTO>(); if (visaoXML.getColGrupos() != null && visaoXML.getColGrupos().size() > 0) { GrupoVisaoDTO grupoVisaoDTO = (GrupoVisaoDTO) ((List) (visaoXML.getColGrupos())).get(0); colCamposVisaoXML = (List<GrupoVisaoCamposNegocioDTO>) grupoVisaoDTO.getColCamposVisao(); if (colCamposVisaoXML != null) { for (GrupoVisaoCamposNegocioDTO grupoVisaoCamposNegocioDTO : colCamposVisaoXML) { if (grupoVisaoCamposNegocioDTO.getNomeTabelaDB() != null) { // Restaura id do Grupo Vis�o List<GrupoVisaoDTO> listGrupoVisaoTemp = (List<GrupoVisaoDTO>) getGrupoVisaoDao().findByIdVisao(visaoXML.getIdVisao()); if (listGrupoVisaoTemp != null) { for (GrupoVisaoDTO grupoVisaoDTO2 : listGrupoVisaoTemp) { grupoVisaoCamposNegocioDTO.setIdGrupoVisao(grupoVisaoDTO2.getIdGrupoVisao()); } } // Restaura id dos Campos Objeto Neg�cio Integer idObjetoNegocio = null; List<ObjetoNegocioDTO> colObjNegocio = (List<ObjetoNegocioDTO>) getObjetoNegocioDao().findByNomeTabelaDB(grupoVisaoCamposNegocioDTO.getNomeTabelaDB()); if (colObjNegocio != null) { for (ObjetoNegocioDTO objetoNegocioDTO : colObjNegocio) { idObjetoNegocio = objetoNegocioDTO.getIdObjetoNegocio(); } if (idObjetoNegocio != null) { grupoVisaoCamposNegocioDTO.setIdObjetoNegocio(idObjetoNegocio); } } if (idObjetoNegocio != null) { List<CamposObjetoNegocioDTO> colCamposObjNeg = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( idObjetoNegocio, grupoVisaoCamposNegocioDTO.getNomeDB()); if (colCamposObjNeg != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCamposObjNeg) { grupoVisaoCamposNegocioDTO.setIdCamposObjetoNegocio(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } } // Restaura vis�es de liga��o caso exista if (grupoVisaoCamposNegocioDTO.getTipoNegocio().equalsIgnoreCase(MetaUtil.RELATION)) { // Restaura id do objeto neg�cio liga��o List<ObjetoNegocioDTO> listObjNegTemp = (List<ObjetoNegocioDTO>) getObjetoNegocioDao().findByNomeTabelaDB( grupoVisaoCamposNegocioDTO.getNomeTabelaDBLigacao()); if (listObjNegTemp != null) { for (ObjetoNegocioDTO objetoNegocioDTO : listObjNegTemp) { grupoVisaoCamposNegocioDTO.setIdObjetoNegocioLigacao(objetoNegocioDTO.getIdObjetoNegocio()); } } // Restaura id do campo objeto neg�cio liga��o List<CamposObjetoNegocioDTO> listCamposObjNegTemp2 = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( grupoVisaoCamposNegocioDTO.getIdObjetoNegocioLigacao(), grupoVisaoCamposNegocioDTO.getNomeDBLigacao()); if (listCamposObjNegTemp2 != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : listCamposObjNegTemp2) { grupoVisaoCamposNegocioDTO.setIdCamposObjetoNegocioLigacao(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } // Restaura id do campo objeto neg�cio liga��o vinculado List<CamposObjetoNegocioDTO> listCamposObjNegTemp3 = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( grupoVisaoCamposNegocioDTO.getIdObjetoNegocioLigacao(), grupoVisaoCamposNegocioDTO.getNomeDBLigacaoVinc()); if (listCamposObjNegTemp3 != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : listCamposObjNegTemp3) { grupoVisaoCamposNegocioDTO.setIdCamposObjetoNegocioLigacaoVinc(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } // Restaura id do campo objeto neg�cio liga��o order List<CamposObjetoNegocioDTO> listCamposObjNegTemp4 = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( grupoVisaoCamposNegocioDTO.getIdObjetoNegocioLigacao(), grupoVisaoCamposNegocioDTO.getNomeDBLigacaoOrder()); if (listCamposObjNegTemp4 != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : listCamposObjNegTemp4) { grupoVisaoCamposNegocioDTO.setIdCamposObjetoNegocioLigacaoOrder(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } } } } } } if (visaoXML.getTipoVisao().equalsIgnoreCase(VisaoDTO.MATRIZ)) { // Restaura ObjetoNegocio ObjetoNegocioDTO obNeg = new ObjetoNegocioDTO(); Integer idObjetoNegocio = null; List<ObjetoNegocioDTO> colObjNegocio = (List<ObjetoNegocioDTO>) getObjetoNegocioDao().findByNomeTabelaDB(visaoXML.getMatrizVisaoDTO().getNomeTabelaDB()); if (colObjNegocio != null) { for (ObjetoNegocioDTO objetoNegocioDTO : colObjNegocio) { idObjetoNegocio = objetoNegocioDTO.getIdObjetoNegocio(); } visaoXML.getMatrizVisaoDTO().setIdObjetoNegocio(idObjetoNegocio); } // Restaura CampoObjetoNegocio1 Integer idCampNeg1 = null; List<CamposObjetoNegocioDTO> colCampNeg1 = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( visaoXML.getMatrizVisaoDTO().getIdObjetoNegocio(), visaoXML.getMatrizVisaoDTO().getNomeDB1()); if (colCampNeg1 != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCampNeg1) { idCampNeg1 = camposObjetoNegocioDTO.getIdCamposObjetoNegocio(); } visaoXML.getMatrizVisaoDTO().setIdCamposObjetoNegocio1(idCampNeg1); } // Restaura CampoObjetoNegocio2 Integer idCampNeg2 = null; List<CamposObjetoNegocioDTO> colCampNeg2 = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( visaoXML.getMatrizVisaoDTO().getIdObjetoNegocio(), visaoXML.getMatrizVisaoDTO().getNomeDB2()); if (colCampNeg2 != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCampNeg2) { idCampNeg2 = camposObjetoNegocioDTO.getIdCamposObjetoNegocio(); } visaoXML.getMatrizVisaoDTO().setIdCamposObjetoNegocio2(idCampNeg2); } // Restaura CampoObjetoNegocio3 Integer idCampNeg3 = null; List<CamposObjetoNegocioDTO> colCampNeg3 = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( visaoXML.getMatrizVisaoDTO().getIdObjetoNegocio(), visaoXML.getMatrizVisaoDTO().getNomeDB3()); if (colCampNeg3 != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCampNeg3) { idCampNeg3 = camposObjetoNegocioDTO.getIdCamposObjetoNegocio(); } visaoXML.getMatrizVisaoDTO().setIdCamposObjetoNegocio3(idCampNeg3); } } if (visaoXML.getColVisoesRelacionadas() != null && visaoXML.getColVisoesRelacionadas().size() > 0) { List<VisaoRelacionadaDTO> listVisaoRelacionada = (List<VisaoRelacionadaDTO>) visaoXML.getColVisoesRelacionadas(); for (VisaoRelacionadaDTO visaoRelacionadaDTO : listVisaoRelacionada) { // Restaura ID da Vis�o Relacionada Filha VisaoDTO visaoDTOFilha = findByIdentificador(visaoRelacionadaDTO.getIdentificacaoVisaoFilha()); if (visaoDTOFilha != null) { visaoRelacionadaDTO.setIdVisaoFilha(visaoDTOFilha.getIdVisao()); } // Preenche campos do v�nculo List<VinculoVisaoDTO> listVinculoVisao = (List<VinculoVisaoDTO>) visaoRelacionadaDTO.getColVinculosVisao(); if (listVinculoVisao != null) { GrupoVisaoDTO grupoVisaoDTO = (GrupoVisaoDTO) ((List) (visaoXML.getColGrupos())).get(0); for (VinculoVisaoDTO vinculoVisaoDTO : listVinculoVisao) { if (vinculoVisaoDTO != null) { vinculoVisaoDTO.setIdGrupoVisaoPai(grupoVisaoDTO.getIdGrupoVisao()); if (vinculoVisaoDTO.getIdCamposObjetoNegocioPaiNN() != null) { // Recuperando CampoObjetoNegocio do Pai Integer idObjetoNegocio = null; List<ObjetoNegocioDTO> colObjNegocio = (List<ObjetoNegocioDTO>) getObjetoNegocioDao().findByNomeTabelaDB(vinculoVisaoDTO.getNomeTabelaPai()); if (colObjNegocio != null) { for (ObjetoNegocioDTO objetoNegocioDTO : colObjNegocio) { idObjetoNegocio = objetoNegocioDTO.getIdObjetoNegocio(); } List<CamposObjetoNegocioDTO> colCamposObjNeg = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( idObjetoNegocio, vinculoVisaoDTO.getNomeDBPai()); if (colCamposObjNeg != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCamposObjNeg) { vinculoVisaoDTO.setIdCamposObjetoNegocioPai(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } } // Recuperando CampoObjetoNegocio do PaiNN colObjNegocio = (List<ObjetoNegocioDTO>) getObjetoNegocioDao().findByNomeTabelaDB(vinculoVisaoDTO.getNomeTabelaPaiNN()); if (colObjNegocio != null) { for (ObjetoNegocioDTO objetoNegocioDTO : colObjNegocio) { idObjetoNegocio = objetoNegocioDTO.getIdObjetoNegocio(); } List<CamposObjetoNegocioDTO> colCamposObjNeg = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( idObjetoNegocio, vinculoVisaoDTO.getNomeDBPaiNN()); if (colCamposObjNeg != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCamposObjNeg) { vinculoVisaoDTO.setIdCamposObjetoNegocioPaiNN(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } } } if (vinculoVisaoDTO.getIdCamposObjetoNegocioFilhoNN() != null) { // Recuperando CampoObjetoNegocio do Filho Integer idObjetoNegocio = null; List<ObjetoNegocioDTO> colObjNegocio = (List<ObjetoNegocioDTO>) getObjetoNegocioDao().findByNomeTabelaDB(vinculoVisaoDTO.getNomeTabelaFilho()); if (colObjNegocio != null) { for (ObjetoNegocioDTO objetoNegocioDTO : colObjNegocio) { idObjetoNegocio = objetoNegocioDTO.getIdObjetoNegocio(); } List<CamposObjetoNegocioDTO> colCamposObjNeg = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( idObjetoNegocio, vinculoVisaoDTO.getNomeDBPaiFilho()); if (colCamposObjNeg != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCamposObjNeg) { vinculoVisaoDTO.setIdCamposObjetoNegocioFilho(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } } // Recuperando CampoObjetoNegocio do FilhoNN colObjNegocio = (List<ObjetoNegocioDTO>) getObjetoNegocioDao().findByNomeTabelaDB(vinculoVisaoDTO.getNomeTabelaFilhoNN()); if (colObjNegocio != null) { for (ObjetoNegocioDTO objetoNegocioDTO : colObjNegocio) { idObjetoNegocio = objetoNegocioDTO.getIdObjetoNegocio(); } List<CamposObjetoNegocioDTO> colCamposObjNeg = (List<CamposObjetoNegocioDTO>) getCamposObjetoNegocioDao().findByIdObjetoNegocioAndNomeDB( idObjetoNegocio, vinculoVisaoDTO.getNomeDBPaiFilhoNN()); if (colCamposObjNeg != null) { for (CamposObjetoNegocioDTO camposObjetoNegocioDTO : colCamposObjNeg) { vinculoVisaoDTO.setIdCamposObjetoNegocioFilhoNN(camposObjetoNegocioDTO.getIdCamposObjetoNegocio()); } } } } } } } } } // Salva altera��es if (visaoXML != null) { update(visaoXML); } } else { throw new Exception(); } } public VisaoDTO visaoExistente(String identificadorVisao) throws ServiceException, Exception { VisaoDTO visaoDto = null; visaoDto = findByIdentificador(identificadorVisao); if (visaoDto != null) { return visaoDto; } else { return null; } } private BotaoAcaoVisaoDao botaoAcaoVisaoDAO; private BotaoAcaoVisaoDao getBotaoAcaoVisaoDao() { if (botaoAcaoVisaoDAO == null) { botaoAcaoVisaoDAO = new BotaoAcaoVisaoDao(); } return botaoAcaoVisaoDAO; } private CamposObjetoNegocioDao camposObjetoNegocioDAO; private CamposObjetoNegocioDao getCamposObjetoNegocioDao() { if (camposObjetoNegocioDAO == null) { camposObjetoNegocioDAO = new CamposObjetoNegocioDao(); } return camposObjetoNegocioDAO; } private GrupoVisaoDao grupoVisaoDAO; private GrupoVisaoDao getGrupoVisaoDao() { if (grupoVisaoDAO == null) { grupoVisaoDAO = new GrupoVisaoDao(); } return grupoVisaoDAO; } private GrupoVisaoCamposNegocioDao grupoVisaoCamposNegocioDAO; private GrupoVisaoCamposNegocioDao getGrupoVisaoCamposNegocioDao() { if (grupoVisaoCamposNegocioDAO == null) { grupoVisaoCamposNegocioDAO = new GrupoVisaoCamposNegocioDao(); } return grupoVisaoCamposNegocioDAO; } private GrupoVisaoCamposNegocioLigacaoDao grupoVisaoCamposNegocioLigacaoDAO; private GrupoVisaoCamposNegocioLigacaoDao getGrupoVisaoCamposNegocioLigacaoDao() { if (grupoVisaoCamposNegocioLigacaoDAO == null) { grupoVisaoCamposNegocioLigacaoDAO = new GrupoVisaoCamposNegocioLigacaoDao(); } return grupoVisaoCamposNegocioLigacaoDAO; } private HtmlCodeVisaoDao htmlCodeVisaoDAO; private HtmlCodeVisaoDao getHtmlCodeVisaoDao() { if (htmlCodeVisaoDAO == null) { htmlCodeVisaoDAO = new HtmlCodeVisaoDao(); } return htmlCodeVisaoDAO; } private MatrizVisaoDao matrizVisaoDAO; private MatrizVisaoDao getMatrizVisaoDao() { if (matrizVisaoDAO == null) { matrizVisaoDAO = new MatrizVisaoDao(); } return matrizVisaoDAO; } private ObjetoNegocioDao objetoNegocioDAO; private ObjetoNegocioDao getObjetoNegocioDao() { if (objetoNegocioDAO == null) { objetoNegocioDAO = new ObjetoNegocioDao(); } return objetoNegocioDAO; } private ScriptsVisaoDao scriptsVisaoDAO; private ScriptsVisaoDao getScriptsVisaoDao() { if (scriptsVisaoDAO == null) { scriptsVisaoDAO = new ScriptsVisaoDao(); } return scriptsVisaoDAO; } private ValorVisaoCamposNegocioDao valorVisaoCamposNegocioDAO; private ValorVisaoCamposNegocioDao getValorVisaoCamposNegocioDao() { if (valorVisaoCamposNegocioDAO == null) { valorVisaoCamposNegocioDAO = new ValorVisaoCamposNegocioDao(); } return valorVisaoCamposNegocioDAO; } private VinculoVisaoDao vinculoVisaoDAO; private VinculoVisaoDao getVinculoVisaoDao() { if (vinculoVisaoDAO == null) { vinculoVisaoDAO = new VinculoVisaoDao(); } return vinculoVisaoDAO; } private VisaoRelacionadaDao visaoRelacionadaDAO; private VisaoRelacionadaDao getVisaoRelacionadaDao() { if (visaoRelacionadaDAO == null) { visaoRelacionadaDAO = new VisaoRelacionadaDao(); } return visaoRelacionadaDAO; } }