package br.com.centralit.citcorpore.ajaxForms; import java.util.Collection; import java.util.Date; import java.util.HashSet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import br.com.centralit.citajax.html.AjaxFormAction; import br.com.centralit.citajax.html.DocumentHTML; import br.com.centralit.citajax.html.HTMLElement; import br.com.centralit.citajax.html.HTMLForm; import br.com.centralit.citcorpore.bean.BICitsmartResultRotinaDTO; import br.com.centralit.citcorpore.bean.ConexaoBIDTO; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.centralit.citcorpore.bi.operation.BICitsmartOperation; import br.com.centralit.citcorpore.negocio.ConexaoBIService; import br.com.centralit.citcorpore.util.Enumerados.ParametroSistema; import br.com.centralit.citcorpore.util.ParametroUtil; import br.com.centralit.citcorpore.util.Util; import br.com.centralit.citcorpore.util.WebUtil; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.Constantes; import br.com.citframework.util.UtilI18N; public class ConexaoBI extends AjaxFormAction { ConexaoBIDTO conexaoBIDTO = new ConexaoBIDTO(); @Override public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { UsuarioDTO usuario = WebUtil.getUsuario(request); if (usuario == null) { document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'"); return; } // O Load dessa p�gina � renderizado no m�todo iniciar da classe ConexaoBI_Impl. } public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { } public void restore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) { } @SuppressWarnings("rawtypes") public Class getBeanClass() { return ConexaoBIDTO.class; } public void atualizarLista(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { UsuarioDTO usuario = WebUtil.getUsuario(request); if (usuario == null) { document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'"); return; } this.setConexaoBIDTO((ConexaoBIDTO) document.getBean()); String paginaselecionada = document.getElementById("paginaselecionada").getValue(); if (paginaselecionada != null) { this.getConexaoBIDTO().setPaginaSelecionada(Integer.parseInt(paginaselecionada)); } this.recarregarLista(document, request, response); /** * A linha foi adicionada porque estava fechando o modal e o load antes de recarregar a grid de conex�esbi. assim ele so vai fechar o modal depois que carregar a grid. * * @author maycon.fernandes * @since 25/10/2013 14:35 */ document.executeScript("fecharModal()"); } public ConexaoBIDTO getConexaoBIDTO() { return conexaoBIDTO; } public void setConexaoBIDTO(ConexaoBIDTO conexaoBIDTO) { this.conexaoBIDTO = conexaoBIDTO; } public void recarregarLista(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { UsuarioDTO usuario = WebUtil.getUsuario(request); if (usuario == null) { document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'"); return; } ConexaoBIDTO conexaoBIDTO = (ConexaoBIDTO) document.getBean(); StringBuilder sb = new StringBuilder(); Integer itensPorPagina = (conexaoBIDTO.getItensPorPagina() == null ? Integer.parseInt(ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.QUANT_RETORNO_PESQUISA, "5")) : conexaoBIDTO.getItensPorPagina()); Integer paginaSelecionada = conexaoBIDTO.getPaginaSelecionada(); if (paginaSelecionada == null) paginaSelecionada = 1; Integer tipoLista = (conexaoBIDTO.getTipoLista() == null ? 1 : conexaoBIDTO.getTipoLista()); if (request.getParameter("statusFiltro").equals(" ") || request.getParameter("statusFiltro").equals("T")){ renderizarLista(sb, request, itensPorPagina, paginaSelecionada, false, tipoLista); }else { renderizarListaFiltro(sb, request, itensPorPagina, paginaSelecionada, false, tipoLista); } Integer totalPaginasFinal = totalPaginas(request, itensPorPagina, conexaoBIDTO); /**Alterado: M�rio * Motivo: Invertendo as posi��es para quantificar o total de p�ginas e definir no objeto de conexaoBIDto * Autor: flavio.santana * Data/Hora: 13/11/2013 */ paginaSelecionada = (totalPaginasFinal == 1 ? 1 : paginaSelecionada); HTMLElement divPrincipal = document.getElementById("esquerda"); divPrincipal.setInnerHTML(sb.toString()); carregarItensPaginacao(document, request, totalPaginasFinal); HTMLForm form = document.getForm("formGerenciamento"); form.setValues(conexaoBIDTO); document.executeScript("fechaJanelaAguarde()"); } /** * Carrega e atualiza os itens da pagina��o numerada e informa a quantidade de resultados Ex.: Primeiro � 1 2 3 4 5 � �ltimo 1 De 7 Resultados * * @param document * @param request * @param totalPaginasFinal */ public void carregarItensPaginacao(DocumentHTML document, HttpServletRequest request, Integer totalPaginasFinal) throws Exception { StringBuilder sb = new StringBuilder(); ConexaoBIDTO conexaoBIDTO = (ConexaoBIDTO) document.getBean(); Integer paginaSelecionada = conexaoBIDTO.getPaginaSelecionada(); if (paginaSelecionada == null) paginaSelecionada = 1; paginacaoGerenciamento(totalPaginasFinal, sb, paginaSelecionada, request); document.executeScript("carregarValorClasse(\"" + sb.toString() + "\", \"paginacaoGerenciamento\")"); StringBuilder valores = new StringBuilder(); carregarValoresPaginacao(totalPaginasFinal, valores, paginaSelecionada, request); document.executeScript("carregarValorClasse(\"" + valores.toString() + "\",\"paginacaoGerenciamentoQuantidade\")"); } public void carregarValoresPaginacao(Integer totalPaginas, StringBuilder sb, Integer paginaSelecionada, HttpServletRequest request) { if (totalPaginas == 0) paginaSelecionada = 0; sb.append(paginaSelecionada + " " + UtilI18N.internacionaliza(request, "citcorpore.comum.de") + " " + totalPaginas + " " + UtilI18N.internacionaliza(request, "citcorpore.comum.paginas")); } /** * Realiza a regra de pagina��o das conexoes Explica��o: Se o n�mero de p�ginas for maior do que cinco, j� � poss�vel criar os intervalos. Se a p�gina atual for menor do que cinco (o adjacente * esta configurado com 2) � feito um la�o. No for, enquanto a vari�vel 'i' for menor do que seis os n�meros s�o mostrados fazendo uma verifica��o para saber qual � a p�gina atual que exige uma * estiliza��o diferente. Mas se a p�gina atual for maior do que quatro e menor do que a �ltima menos tr�s, � uma p�gina intermedi�ria. Primeiro s�o anexadas a primeira e �ltima p�ginas. Depois � * feito um la�o para definir as adjacentes. A vari�vel 'adjacentes' recebeu neste c�digo o valor dois. Para entender melhor este la�o vamos supor que estamos na p�gina seis. A vari�vel 'i' vai * receber quatro (atual - adjacentes), enquanto ela for menor do que oito (atual + adjacentes) os n�meros links gerados com uma verifica��o para saber qual � a p�gina atual. Por fim s�o anexadas * a �ltima e pen�ltima p�ginas. O �ltimo else � para quando a p�gina atual esta perto do final da numera��o. S�o anexadas a primeira e �ltima p�ginas al�m dos tr�s pontos. A vari�vel 'i' recebe o * resultado da �ltima p�gina menos oito (4+2*2) enquanto n�o for menor ou igual a este n�mero, os links s�o gerados. * * @param totalPaginas * @param sb * @param paginaSelecionada * @param request */ public void paginacaoGerenciamento(Integer totalPaginas, StringBuilder sb, Integer paginaSelecionada, HttpServletRequest request) throws Exception { final Integer adjacentes = 2; if (paginaSelecionada == null) paginaSelecionada = 1; sb.append(" <div id='itenPaginacaoGerenciamento' class='pagination pagination-right margin-none'>"); sb.append(" <ul>"); sb.append(" <li " + (totalPaginas == 0 || paginaSelecionada == 1 ? "class='disabled'" : "value='1' onclick='paginarItens(this.value);'") + " ><a>" + UtilI18N.internacionaliza(request, "citcorpore.comum.primeiro") + "</a></li>"); sb.append(" <li " + ((totalPaginas == 0 || totalPaginas == 1 || paginaSelecionada == 1) ? "class='disabled'" : "value='" + (paginaSelecionada - 1) + "' onclick='paginarItens(this.value);'") + "><a>«</a></li>"); if (totalPaginas <= 5) { for (int i = 1; i <= totalPaginas; i++) { if (i == paginaSelecionada) { sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);' class='active'><a >" + i + "</a></li> "); } else { sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);'><a >" + i + "</a></li> "); } } } else { if (totalPaginas > 5) { if (paginaSelecionada < 1 + (2 * adjacentes)) { for (int i = 1; i < 2 + (2 * adjacentes); i++) { if (i == paginaSelecionada) { sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);' class='active'><a >" + i + "</a></li> "); } else { sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);'><a >" + i + "</a></li> "); } } } else if (paginaSelecionada > (2 * adjacentes) && paginaSelecionada < totalPaginas - 3) { for (int i = paginaSelecionada - adjacentes; i <= paginaSelecionada + adjacentes; i++) { if (i == paginaSelecionada) { sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);' class='active'><a >" + i + "</a></li> "); } else { sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);'><a >" + i + "</a></li> "); } } } else { for (int i = totalPaginas - (/* 4 + */(2 * adjacentes)); i <= totalPaginas; i++) { if (i == paginaSelecionada) { sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);' class='active'><a >" + i + "</a></li> "); } else { sb.append("<li id='" + i + "' value='" + i + "' onclick='paginarItens(this.value);'><a >" + i + "</a></li> "); } } } } } sb.append(" <li " + ((totalPaginas == 0 || totalPaginas == 1 || paginaSelecionada.equals(totalPaginas)) ? "class='disabled'" : "value='" + (paginaSelecionada + 1) + "' onclick='paginarItens(this.value);'") + " ><a >»</a></li>"); sb.append(" <li " + (totalPaginas == 0 || paginaSelecionada.equals(totalPaginas) ? "class='disabled'" : "value='" + totalPaginas + "' onclick='paginarItens(this.value);'") + " ><a >" + UtilI18N.internacionaliza(request, "citcorpore.comum.ultimo") + "</a></li> "); sb.append(" </ul>"); sb.append(" </div>"); } /** * Retorna o total de p�ginas de acordo com o parametro da quantidade de itens a serem listados * * @param request * @param itensPorPagina */ public Integer totalPaginas(HttpServletRequest request, Integer itensPorPagina, ConexaoBIDTO conexaoBIDTO) throws Exception { UsuarioDTO usuario = WebUtil.getUsuario(request); Integer totalPaginas = 0; if (usuario != null) { ConexaoBIService conexaoBIService = (ConexaoBIService) ServiceLocator.getInstance().getService(ConexaoBIService.class, null); if (this.getConexaoBIDTO().getTotalPaginas() != null) { /** * Motivo: Altera��o para corre��o dos itens da pagina��o com responsavel Autor: flavio.santana Data/Hora: 13/11/2013 */ if (this.getConexaoBIDTO().getTotalPaginas() > 0 && this.getConexaoBIDTO().getTotalPaginas() < itensPorPagina) totalPaginas = 1; else totalPaginas = (int) Math.ceil(new Double(this.getConexaoBIDTO().getTotalPaginas() / new Double(itensPorPagina))); } else { totalPaginas = conexaoBIService.obterTotalDePaginas(itensPorPagina, usuario.getLogin(), conexaoBIDTO); } } return totalPaginas; } /** * Respons�vel por renderizar a listagem de Conex�es na tela Painel de Controle. * * @param sb * @param request * @param itensPorPagina * @param paginaSelecionada * @param flag * @param tipoLista * @throws Exception */ public void renderizarLista(StringBuilder sb, HttpServletRequest request, Integer itensPorPagina, Integer paginaSelecionada, boolean flag, Integer tipoLista) throws Exception { /** * buscando a collection das conex�es */ Collection<ConexaoBIDTO> ColConexao = new HashSet<ConexaoBIDTO>(); Collection<ConexaoBIDTO> listConexao = this.listarConexoesPaginadas(ColConexao, paginaSelecionada , itensPorPagina); if (listConexao!= null){ int i = 0; int count = 0; if (flag) sb.append("<div id='esquerda' class='innerTB'>"); sb.append("<!-- Inicio do loop de conex�es -->"); for (ConexaoBIDTO conexaoBIDto : listConexao) { String HTMLStatus = setarStatusUltimaIntegracao(conexaoBIDto, request); sb.append("<div class='box-generic content-area " + (i % 2 == 0 ? "alternado" : "") + " listaDetalhada " + (tipoLista.equals(1) ? "ativo" : "") + "'> "); sb.append(HTMLStatus); sb.append(" <div class='row-fluid'>"); sb.append(" <div class='span4'>"); sb.append(" <label class='content-row labelOverflowTresPontinhos'>"); sb.append(" <div>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.idClienteBI") + "</div>"); sb.append(" <span class='verde-negrito' title=''>[" + conexaoBIDto.getIdConexaoBI() + "]</span>"); sb.append(" </label>"); sb.append(" </div>"); sb.append(" <div class='span4'>"); sb.append(" <label class='content-row labelOverflowTresPontinhos'>"); sb.append(" <div>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.nomeCliente") + "</div>"); sb.append(" <span class='servico escuro-negrito' title=''>" + conexaoBIDto.getNome() + "</span>"); sb.append(" </label>"); sb.append(" </div>"); sb.append(" <div class='span4'>"); sb.append(" <label class='content-row labelOverflowTresPontinhos'>"); sb.append(" <div>" + UtilI18N.internacionaliza(request, "bi.painelControle.link") + "</div>"); sb.append(" <span class='escuro-negrito' >" + conexaoBIDto.getLink() + "</span>"); sb.append(" </label>"); sb.append(" </div>"); sb.append(" </div>"); sb.append(" <div class='row-fluid'>"); sb.append(" <div class='span4'>"); sb.append(" <label class='content-row labelOverflowTresPontinhos'>"); sb.append(" <div>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.dataHoraUltimaIntegracao") + "</div>"); sb.append(" <span class='escuro-negrito'>"+ conexaoBIDto.getDataHoraUltimaImportacaoString() +"</span>"); sb.append(" </label>"); sb.append(" </div>"); sb.append(" <div class='tab-pane span4'>"); sb.append(" <label class='content-row labelOverflowTresPontinhos'>"); sb.append(" <div>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.tipoIntegracao") + "</div>"); sb.append(" </label>"); sb.append(" <div class='content-row'>"); if (conexaoBIDto.getTipoImportacao() == null || conexaoBIDto.getTipoImportacao().equalsIgnoreCase("A")){ sb.append(" <span class='escuro-negrito'> " + UtilI18N.internacionaliza(request, "citcorpore.comum.automatica")+"</span>"); } else if (conexaoBIDto.getTipoImportacao().equalsIgnoreCase("M")) { sb.append(" <span class='escuro-negrito'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.manual")+"</span>"); } sb.append(" </div>"); sb.append(" </div>"); if (conexaoBIDto != null && conexaoBIDto.getStatus() != null && !conexaoBIDto.getStatus().equalsIgnoreCase("I")) { ConexaoBIService conexaoBIService = (ConexaoBIService) ServiceLocator.getInstance().getService(ConexaoBIService.class, null); Date dtProxExecucao = conexaoBIService.getProxDtExecucao(conexaoBIDto); if (dtProxExecucao != null){ sb.append(" <div class='span4'>"); sb.append(" <label class='content-row labelOverflowTresPontinhos'>"); sb.append(" <div>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.dataHoraProximaExecucao") + "</div>"); String dtProxExecucaoFormatada = Util.formatDateDDMMYYYYHHMMSS(dtProxExecucao); sb.append(" <span class='escuro-negrito'>"+ dtProxExecucaoFormatada +"</span>"); sb.append(" </label>"); sb.append(" </div>"); } } sb.append(" </div>"); sb.append(" <div class='row-fluid'>"); sb.append(" <div class='content-row right'>"); sb.append(" <button type='button' class='btn btn-default maisInfo' onclick='AbrirModalEditarConexaoBI("+ conexaoBIDto.getIdConexaoBI() +")'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.editarClienteBI")+"</button>"); if (conexaoBIDto.getTipoImportacao() == null || conexaoBIDto.getTipoImportacao().equalsIgnoreCase("A") && !conexaoBIDto.getStatus().equalsIgnoreCase("I")){ sb.append(" <button type='button' class='btn btn-default maisInfo' id='' onclick='executarAgora("+ conexaoBIDto.getIdConexaoBI() +")' >" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.executarAgora") + "</button>"); } sb.append(" <div id='acoes' class='btn-group btn-block w15 aLeft dropup'>"); sb.append(" <div class='leadcontainer' data-toggle='dropdown'>"); sb.append(" <button type='button' class='btn dropdown-lead btn-default'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.maisOpcoes") + "</button>"); sb.append(" </div>"); sb.append(" <a class='btn btn-default dropdown-toggle' data-toggle='dropdown' ><span class='caret'></span> </a>"); sb.append(" <ul class='dropdown-menu pull-right'>"); if (!conexaoBIDto.getStatus().equalsIgnoreCase("I")){ sb.append(" <li><a class='importacaoManual' href='#' onclick='return importacaoManual(" + conexaoBIDto.getIdConexaoBI() + ");'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.importacaoManual") + "</a></li>"); } if (!conexaoBIDto.getStatus().equalsIgnoreCase("I") && conexaoBIDto.getLink() != null && !conexaoBIDto.getLink().equals("")){ sb.append(" <li><a class='testarConexao' href='#' onclick='return testarConexao(" + conexaoBIDto.getIdConexaoBI() + ");'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.testarConexao") + "</a></li>"); } sb.append(" <li><a class='logExecucao' href='#' onclick='return logExecucao(" + conexaoBIDto.getIdConexaoBI() + ");'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.logExecucao") + "</a></li>"); if ( (conexaoBIDto.getStatus() != null && !conexaoBIDto.getStatus().equalsIgnoreCase("I")) && (conexaoBIDto.getTipoImportacao() != null && conexaoBIDto.getTipoImportacao().equalsIgnoreCase("A")) ){ sb.append(" <li><a class='agenda' href='#' onclick='return agenda(" + conexaoBIDto.getIdConexaoBI() + ", \"false\");'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.agendamentoEspecifico") + "</a></li>"); if (conexaoBIDto.getStatus().equalsIgnoreCase("F")){ sb.append(" <li><a class='agenda' href='#' onclick='return agenda(" + conexaoBIDto.getIdConexaoBI() + ", \"true\");'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.agendamentoExcecao") + "</a></li>"); } } if (conexaoBIDto.getStatus() == null || conexaoBIDto.getStatus().equalsIgnoreCase(" ") || !conexaoBIDto.getStatus().equalsIgnoreCase("I")){ sb.append(" <li><a class='desativarCliente' href='#' onclick='return desativarCliente(" + conexaoBIDto.getIdConexaoBI() + ", \"I\");'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.desativar") + "</a></li>"); }else { sb.append(" <li><a class='desativarCliente' href='#' onclick='return desativarCliente(" + conexaoBIDto.getIdConexaoBI() + ", \" \");'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.ativar") + "</a></li>"); } sb.append(" </ul>"); sb.append(" </div>"); sb.append(" </div>"); sb.append(" </div>"); sb.append(" </div>"); count += 1; } sb.append("<!-- Fim do loop de conex�es abertas -->"); if (flag) sb.append("</div>"); } else { sb.append("<div class='content-area'>"); sb.append(" <div class='row-fluid'>"); sb.append(" <div class='innerTB'>"); sb.append(" <h4>" + UtilI18N.internacionaliza(request, "citcorpore.comum.resultado") + "</h4>"); sb.append(" </div>"); sb.append("</div>"); } } /** * Respons�vel por renderizar a listagem de Conex�es na tela Painel de Controle com Filtro. * * @param sb * @param request * @param itensPorPagina * @param paginaSelecionada * @param flag * @param tipoLista * @throws Exception */ public void renderizarListaFiltro(StringBuilder sb, HttpServletRequest request, Integer itensPorPagina, Integer paginaSelecionada, boolean flag, Integer tipoLista) throws Exception { /** * buscando a collection das conex�es */ ConexaoBIDTO conexaoBIDTO = this.getConexaoBIDTO(); Collection<ConexaoBIDTO> listConexao = this.listarConexoesPaginadasFiltradas(conexaoBIDTO, paginaSelecionada , itensPorPagina); if (listConexao!= null){ int i = 0; int count = 0; if (flag) sb.append("<div id='esquerda' class='innerTB'>"); sb.append("<!-- Inicio do loop de conex�es -->"); for (ConexaoBIDTO conexaoBIDto : listConexao) { String HTMLStatus = setarStatusUltimaIntegracao(conexaoBIDto, request); sb.append("<div class='box-generic content-area " + (i % 2 == 0 ? "alternado" : "") + " listaDetalhada " + (tipoLista.equals(1) ? "ativo" : "") + "'> "); sb.append(HTMLStatus); sb.append(" <div class='row-fluid'>"); sb.append(" <div class='span4'>"); sb.append(" <label class='content-row labelOverflowTresPontinhos'>"); sb.append(" <div>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.idClienteBI") + "</div>"); sb.append(" <span class='verde-negrito' title=''>[" + conexaoBIDto.getIdConexaoBI() + "]</span>"); sb.append(" </label>"); sb.append(" </div>"); sb.append(" <div class='span4'>"); sb.append(" <label class='content-row labelOverflowTresPontinhos'>"); sb.append(" <div>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.nomeCliente") + "</div>"); sb.append(" <span class='servico escuro-negrito' title=''>" + conexaoBIDto.getNome() + "</span>"); sb.append(" </label>"); sb.append(" </div>"); sb.append(" <div class='span4'>"); sb.append(" <label class='content-row labelOverflowTresPontinhos'>"); sb.append(" <div>" + UtilI18N.internacionaliza(request, "bi.painelControle.link") + "</div>"); sb.append(" <span class='escuro-negrito' >" + conexaoBIDto.getLink() + "</span>"); sb.append(" </label>"); sb.append(" </div>"); sb.append(" </div>"); sb.append(" <div class='row-fluid'>"); sb.append(" <div class='span4'>"); sb.append(" <label class='content-row labelOverflowTresPontinhos'>"); sb.append(" <div>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.dataHoraUltimaIntegracao") + "</div>"); sb.append(" <span class='escuro-negrito'>"+ conexaoBIDto.getDataHoraUltimaImportacaoString() +"</span>"); sb.append(" </label>"); sb.append(" </div>"); sb.append(" <div class='tab-pane span4'>"); sb.append(" <label class='content-row labelOverflowTresPontinhos'>"); sb.append(" <div>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.tipoIntegracao") + "</div>"); sb.append(" </label>"); sb.append(" <div class='content-row'>"); if (conexaoBIDto.getTipoImportacao() == null || conexaoBIDto.getTipoImportacao().equalsIgnoreCase("A")){ sb.append(" <span class='escuro-negrito'> " + UtilI18N.internacionaliza(request, "citcorpore.comum.automatica")+"</span>"); } else if (conexaoBIDto.getTipoImportacao().equalsIgnoreCase("M")) { sb.append(" <span class='escuro-negrito'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.manual")+"</span>"); } sb.append(" </div>"); sb.append(" </div>"); if (conexaoBIDto != null && conexaoBIDto.getStatus() != null && !conexaoBIDto.getStatus().equalsIgnoreCase("I")) { ConexaoBIService conexaoBIService = (ConexaoBIService) ServiceLocator.getInstance().getService(ConexaoBIService.class, null); Date dtProxExecucao = conexaoBIService.getProxDtExecucao(conexaoBIDto); if (dtProxExecucao != null){ sb.append(" <div class='span4'>"); sb.append(" <label class='content-row labelOverflowTresPontinhos'>"); sb.append(" <div>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.dataHoraProximaExecucao") + "</div>"); String dtProxExecucaoFormatada = Util.formatDateDDMMYYYYHHMMSS(dtProxExecucao); sb.append(" <span class='escuro-negrito'>"+ dtProxExecucaoFormatada +"</span>"); sb.append(" </label>"); sb.append(" </div>"); } } sb.append(" </div>"); sb.append(" <div class='row-fluid'>"); sb.append(" <div class='content-row right'>"); sb.append(" <button type='button' class='btn btn-default maisInfo' onclick='AbrirModalEditarConexaoBI("+ conexaoBIDto.getIdConexaoBI() +")'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.editarClienteBI")+"</button>"); if (conexaoBIDto.getTipoImportacao() == null || conexaoBIDto.getTipoImportacao().equalsIgnoreCase("A") && !conexaoBIDto.getStatus().equalsIgnoreCase("I")){ sb.append(" <button type='button' class='btn btn-default maisInfo' id='' onclick='executarAgora("+ conexaoBIDto.getIdConexaoBI() +")' >" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.executarAgora") + "</button>"); } sb.append(" <div id='acoes' class='btn-group btn-block w15 aLeft dropup'>"); sb.append(" <div class='leadcontainer' data-toggle='dropdown'>"); sb.append(" <button type='button' class='btn dropdown-lead btn-default'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.maisOpcoes") + "</button>"); sb.append(" </div>"); sb.append(" <a class='btn btn-default dropdown-toggle' data-toggle='dropdown' ><span class='caret'></span> </a>"); sb.append(" <ul class='dropdown-menu pull-right'>"); if (!conexaoBIDto.getStatus().equalsIgnoreCase("I")){ sb.append(" <li><a class='importacaoManual' href='#' onclick='return importacaoManual(" + conexaoBIDto.getIdConexaoBI() + ");'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.importacaoManual") + "</a></li>"); } if (!conexaoBIDto.getStatus().equalsIgnoreCase("I") && conexaoBIDto.getLink() != null && !conexaoBIDto.getLink().equals("")){ sb.append(" <li><a class='testarConexao' href='#' onclick='return testarConexao(" + conexaoBIDto.getIdConexaoBI() + ");'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.testarConexao") + "</a></li>"); } sb.append(" <li><a class='logExecucao' href='#' onclick='return logExecucao(" + conexaoBIDto.getIdConexaoBI() + ");'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.logExecucao") + "</a></li>"); if ( (conexaoBIDto.getStatus() != null && !conexaoBIDto.getStatus().equalsIgnoreCase("I")) && (conexaoBIDto.getTipoImportacao() != null && conexaoBIDto.getTipoImportacao().equalsIgnoreCase("A")) ){ sb.append(" <li><a class='agenda' href='#' onclick='return agenda(" + conexaoBIDto.getIdConexaoBI() + ", \"false\");'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.agendamentoEspecifico") + "</a></li>"); if (conexaoBIDto.getStatus().equalsIgnoreCase("F")){ sb.append(" <li><a class='agenda' href='#' onclick='return agenda(" + conexaoBIDto.getIdConexaoBI() + ", \"true\");'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.agendamentoExcecao") + "</a></li>"); } } if (conexaoBIDto.getStatus() == null || conexaoBIDto.getStatus().equalsIgnoreCase(" ") || !conexaoBIDto.getStatus().equalsIgnoreCase("I")){ sb.append(" <li><a class='desativarCliente' href='#' onclick='return desativarCliente(" + conexaoBIDto.getIdConexaoBI() + ", \"I\");'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.desativar") + "</a></li>"); }else { sb.append(" <li><a class='desativarCliente' href='#' onclick='return desativarCliente(" + conexaoBIDto.getIdConexaoBI() + ", \" \");'>" + UtilI18N.internacionaliza(request, "bi.painelControle.conexao.ativar") + "</a></li>"); } sb.append(" </ul>"); sb.append(" </div>"); sb.append(" </div>"); sb.append(" </div>"); sb.append(" </div>"); count += 1; } sb.append("<!-- Fim do loop de conex�es abertas -->"); if (flag) sb.append("</div>"); } else { sb.append("<div class='content-area'>"); sb.append(" <div class='row-fluid'>"); sb.append(" <div class='innerTB'>"); sb.append(" <h4>" + UtilI18N.internacionaliza(request, "citcorpore.comum.resultado") + "</h4>"); sb.append(" </div>"); sb.append("</div>"); } } /*** * Realiza o filtro de pesquisa da p�gina de gerenciamento - Seta os itens do filtro no ConexaoBIDTO - Recarrega a lista de conex�es de acordo com os filtros informados * * @param document * @param request * @param response * @throws Exception */ public void pesquisarItensFiltro(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { UsuarioDTO usuario = WebUtil.getUsuario(request); if (usuario == null) { document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'"); return; } this.setConexaoBIDTO((ConexaoBIDTO) document.getBean()); this.recarregarLista(document, request, response); document.executeScript("fecharModal()"); } private String setarStatusUltimaIntegracao(ConexaoBIDTO conexaoBIDto, HttpServletRequest request) throws Exception { String htmlStatus = ""; if (conexaoBIDto.getStatus() == null || conexaoBIDto.getStatus().equalsIgnoreCase(" ")){ htmlStatus = "<div class='ribbon-wrapper small'><div class='ribbon default'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.ativo") + "</div></div>"; }else if (conexaoBIDto.getStatus().equalsIgnoreCase("S")){ // Sucesso htmlStatus = "<div class='ribbon-wrapper small'><div class='ribbon success'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.sucesso") + "</div></div>"; } else if (conexaoBIDto.getStatus().equalsIgnoreCase("F")){ // Falha htmlStatus = "<div class='ribbon-wrapper small'><div class='ribbon danger'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.falha") + "</div></div>"; } else { htmlStatus = "<div class='ribbon-wrapper small'><div class='ribbon'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.inativo") + "</div></div>"; } return htmlStatus; } /** * Retorna a lista de conex�es paginada. * * @param conexaoBIDTO * - tipo da cole��o a ser buscado. * @param pgAtual * - P�gina selecionada. * @param qtdPaginacao * - quantidade de itens a ser exibido na tela. * @return Collection<ConexaoBIDTO> * @throws Exception * @author thiago.barbosa * @since 16.12.2013 - �s 11:00 */ @SuppressWarnings("unchecked") public Collection<ConexaoBIDTO> listarConexoesPaginadas(Collection<ConexaoBIDTO> conexaoBIDTO, Integer pgAtual, Integer qtdPaginacao) throws Exception { ConexaoBIService conexaoBIService = (ConexaoBIService) ServiceLocator.getInstance().getService(ConexaoBIService.class, null); return conexaoBIService.listarConexoesPaginadas(conexaoBIDTO, pgAtual, qtdPaginacao); } /** * Retorna a lista de conex�es paginada Filtradas. * * @param conexaoBIDTO * - tipo da cole��o a ser buscado. * @param pgAtual * - P�gina selecionada. * @param qtdPaginacao * - quantidade de itens a ser exibido na tela. * @return Collection<ConexaoBIDTO> * @throws Exception * @author thiago.barbosa * @since 16.12.2013 - �s 11:00 */ @SuppressWarnings("unchecked") public Collection<ConexaoBIDTO> listarConexoesPaginadasFiltradas(ConexaoBIDTO conexaoBIDTO, Integer pgAtual, Integer qtdPaginacao) throws Exception { ConexaoBIService conexaoBIService = (ConexaoBIService) ServiceLocator.getInstance().getService(ConexaoBIService.class, null); return conexaoBIService.listarConexoesPaginadasFiltradas(conexaoBIDTO, pgAtual, qtdPaginacao); } /** * Metodo da funcao executar agora, responsavel por chamar a importacao automatica imediata * @param document * @param request * @param response * @throws Exception */ public void executarAgora (DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { ConexaoBIDTO conexaoBIDTO = (ConexaoBIDTO) document.getBean(); ConexaoBIService conexaoBIService = (ConexaoBIService) ServiceLocator.getInstance().getService(ConexaoBIService.class, null); conexaoBIDTO = (ConexaoBIDTO)conexaoBIService.restore(conexaoBIDTO); BICitsmartOperation biCitsmartOperation = new BICitsmartOperation(); BICitsmartResultRotinaDTO resultExecucao = biCitsmartOperation.execucaoRotinaAutomatica(conexaoBIDTO, null); //document.executeScript("parent.fechaJanelaAguarde();"); document.executeScript("fechaJanelaAguarde();"); if (resultExecucao.isResultado()) { document.alert(UtilI18N.internacionaliza(request, "bi.painelControle.conexao.importacaoSucesso")); } else { document.alert(UtilI18N.internacionaliza(request, "bi.painelControle.conexao.importacaoFalha")); } document.executeScript("document.location.reload()"); } /*** * Testa a conex�o com o cliente * * @param document * @param request * @param response * @throws Exception * @author rodrigo.acorse */ public void testarConexao(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { UsuarioDTO usuario = WebUtil.getUsuario(request); if (usuario == null) { document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'"); return; } ConexaoBIDTO conexaoBIDTO = (ConexaoBIDTO) document.getBean(); ConexaoBIService conexaoBIService = (ConexaoBIService) ServiceLocator.getInstance().getService(ConexaoBIService.class, null); conexaoBIDTO = (ConexaoBIDTO)conexaoBIService.restore(conexaoBIDTO); BICitsmartOperation biCitsmartOperation = new BICitsmartOperation(); BICitsmartResultRotinaDTO responseTesteConexao = biCitsmartOperation.testeConexaoClienteBICitsmart(request, conexaoBIDTO.getIdConexaoBI(), conexaoBIDTO.getLink(), conexaoBIDTO.getLogin(), conexaoBIDTO.getSenha()); document.executeScript("parent.fechaJanelaAguarde();"); document.alert(responseTesteConexao.getMensagem()); } /** * Metodo da funcao alterar status, responsavel por setar o status da conex�o como (Ativo) ou (Inativo) * @param document * @param request * @param response * @throws Exception */ public void alterarStatus(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { ConexaoBIDTO conexaoBIDTO = (ConexaoBIDTO) document.getBean(); String status = ""; status = conexaoBIDTO.getStatus(); ConexaoBIService conexaoBIService = (ConexaoBIService) ServiceLocator.getInstance().getService(ConexaoBIService.class, null); if (conexaoBIDTO.getIdConexaoBI() != null){ conexaoBIDTO = (ConexaoBIDTO)conexaoBIService.restore(conexaoBIDTO); conexaoBIDTO.setStatus(status); conexaoBIService.update(conexaoBIDTO); document.executeScript("parent.StatusMsg();"); } } }