package br.com.centralit.citcorpore.ajaxForms; import java.util.Collection; 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.HTMLSelect; import br.com.centralit.citajax.html.HTMLTable; import br.com.centralit.citcorpore.bean.ConexaoBIDTO; import br.com.centralit.citcorpore.bean.DeParaCatalogoServicosBIDTO; import br.com.centralit.citcorpore.bean.ServicoBIDTO; import br.com.centralit.citcorpore.bean.ServicoCorporeBIDTO; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.centralit.citcorpore.negocio.ConexaoBIService; import br.com.centralit.citcorpore.negocio.DeParaCatalogoServicosBIService; import br.com.centralit.citcorpore.negocio.ServicoBIService; import br.com.centralit.citcorpore.negocio.ServicoCorporeBIService; 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 DeParaCatalogoServicosBI extends AjaxFormAction { @Override public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { DeParaCatalogoServicosBIDTO deParaCatalogoServicosBIDTO = new DeParaCatalogoServicosBIDTO(); UsuarioDTO usuario = WebUtil.getUsuario(request); if (usuario == null) { document.alert(UtilI18N.internacionaliza(request,"citcorpore.comum.sessaoExpirada")); document.executeScript("window.location = '"+ Constantes.getValue("SERVER_ADDRESS")+ request.getContextPath() + "'"); return; } HTMLSelect idConexaoBI = (HTMLSelect) document.getSelectById("idConexaoBI"); idConexaoBI.removeAllOptions(); ConexaoBIService conexaoBIService = (ConexaoBIService) ServiceLocator.getInstance().getService(ConexaoBIService.class, WebUtil.getUsuarioSistema(request)); Collection<ConexaoBIDTO> listaConexaoBI = null; try{ listaConexaoBI = conexaoBIService.list(); } catch (Exception e){ if(e.getMessage().contains("PersistenceException")){ document.alert(UtilI18N.internacionaliza(request, "conexaoBI.testeConexaoErroConexaoNaoEstabelecida")); } } if ((listaConexaoBI!=null)&&(listaConexaoBI.size()>0)){ Object[] conexoesBI = listaConexaoBI.toArray(); for (Object object : conexoesBI) { ConexaoBIDTO conexaoBIDTO = (ConexaoBIDTO) object; idConexaoBI.addOption(conexaoBIDTO.getIdConexaoBI().toString(), conexaoBIDTO.getNome()); } idConexaoBI.setSelectedIndex(0); deParaCatalogoServicosBIDTO.setIdConexaoBI(((ConexaoBIDTO)conexoesBI[0]).getIdConexaoBI()); document.setBean(deParaCatalogoServicosBIDTO); prepararTela(document, request, response); } } @Override public Class<DeParaCatalogoServicosBIDTO> getBeanClass() { return DeParaCatalogoServicosBIDTO.class; } public void relacionar(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { DeParaCatalogoServicosBIDTO deParaCatalogoServicosBIDTO = (DeParaCatalogoServicosBIDTO) document.getBean(); if (deParaCatalogoServicosBIDTO!=null){ if((deParaCatalogoServicosBIDTO.getIdConexaoBI()!=null) && (deParaCatalogoServicosBIDTO.getIdServicoDe()!=null) && (deParaCatalogoServicosBIDTO.getIdServicoPara()!=null)) { ServicoBIService servicoBIService = (ServicoBIService) ServiceLocator.getInstance().getService(ServicoBIService.class, WebUtil.getUsuarioSistema(request)); ServicoBIDTO servicoBIDTO = servicoBIService.findByIdEconexaoBI(deParaCatalogoServicosBIDTO.getIdServicoDe(),deParaCatalogoServicosBIDTO.getIdConexaoBI()); if ((servicoBIDTO!=null) && (servicoBIDTO.getIdServico()!=null) && (servicoBIDTO.getIdServico() > 0)){ ServicoCorporeBIService servicoCorporeBIService = (ServicoCorporeBIService) ServiceLocator.getInstance().getService(ServicoCorporeBIService.class, WebUtil.getUsuarioSistema(request)); ServicoCorporeBIDTO servicoCorporeBIDTO = servicoCorporeBIService.findById(deParaCatalogoServicosBIDTO.getIdServicoPara()); if ((servicoCorporeBIDTO!=null) && (servicoCorporeBIDTO.getIdServicoCorpore()!=null) && (servicoCorporeBIDTO.getIdServicoCorpore() > 0)){ DeParaCatalogoServicosBIService service = (DeParaCatalogoServicosBIService) ServiceLocator.getInstance().getService(DeParaCatalogoServicosBIService.class, WebUtil.getUsuarioSistema(request)); DeParaCatalogoServicosBIDTO deParaLocalizado = service.findByidServicoDe(deParaCatalogoServicosBIDTO.getIdServicoDe(), deParaCatalogoServicosBIDTO.getIdConexaoBI()); if ((deParaLocalizado != null) && (deParaLocalizado.getIdServicoDe() != null) && (deParaLocalizado.getIdServicoDe() > 0)) { if ((deParaLocalizado.getIdServicoDe().equals(deParaCatalogoServicosBIDTO.getIdServicoDe())) && (!deParaLocalizado.getIdServicoPara().equals(deParaCatalogoServicosBIDTO.getIdServicoPara()))){ service.delete(deParaLocalizado); service.create(deParaCatalogoServicosBIDTO); } else { document.alert(UtilI18N.internacionaliza(request,"deParaCatalogoServicos.relacionamentoJaExiste")); document.getElementById("idServicoDe").setValue(""); document.getElementById("idServicoPara").setValue(""); document.getElementById("servicoDe").setValue(""); document.getElementById("servicoPara").setValue(""); deParaCatalogoServicosBIDTO.setIdServicoDe(null); deParaCatalogoServicosBIDTO.setIdServicoPara(null); deParaCatalogoServicosBIDTO.setNomeServicoDe(null); deParaCatalogoServicosBIDTO.setNomeServicoPara(null); document.setBean(deParaCatalogoServicosBIDTO); document.getElementById("idServicoDe").setFocus(); document.executeScript("JANELA_AGUARDE_MENU.hide();"); return; } } else { service.create(deParaCatalogoServicosBIDTO); } prepararTela(document, request, response); } } } } document.executeScript("JANELA_AGUARDE_MENU.hide();"); } public void excluirDePara(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { DeParaCatalogoServicosBIDTO deParaCatalogoServicosBIDTO = (DeParaCatalogoServicosBIDTO) document.getBean(); if (deParaCatalogoServicosBIDTO!=null){ if((deParaCatalogoServicosBIDTO.getIdConexaoBI()!=null)&& (deParaCatalogoServicosBIDTO.getIdServicoDe()!=null)&& (deParaCatalogoServicosBIDTO.getIdServicoPara()!=null)){ DeParaCatalogoServicosBIService service = (DeParaCatalogoServicosBIService) ServiceLocator.getInstance().getService(DeParaCatalogoServicosBIService.class, WebUtil.getUsuarioSistema(request)); service.delete(deParaCatalogoServicosBIDTO); prepararTela(document, request, response); } } document.executeScript("JANELA_AGUARDE_MENU.hide();"); } public void carregarListaDePara(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { DeParaCatalogoServicosBIDTO deParaCatalogoServicosBIDTO = (DeParaCatalogoServicosBIDTO) document.getBean(); DeParaCatalogoServicosBIService service = (DeParaCatalogoServicosBIService) ServiceLocator.getInstance().getService(DeParaCatalogoServicosBIService.class, WebUtil.getUsuarioSistema(request)); Collection<DeParaCatalogoServicosBIDTO> listaDePara = service.findByidConexao(deParaCatalogoServicosBIDTO.getIdConexaoBI()); HTMLTable tblDePara = document.getTableById("tblDePara"); tblDePara.deleteAllRows(); StringBuilder tabela = new StringBuilder(); String btnExcluir = ""; String txtIdDe = ""; String txtNomeDe = ""; String txtIdPara = ""; String txtNomePara = ""; tabela.append("<table id='tblDePara' name='tblDePara' class='table table-bordered'>"); tabela.append("<tr>"); tabela.append("<th height='10px' width='2%'></th>"); tabela.append("<th height='10px' width='8%'>"+UtilI18N.internacionaliza(request,"lookup.idServico")+"</th>"); tabela.append("<th height='10px' width='41%'>"+UtilI18N.internacionaliza(request,"servico.nome")+"</th>"); tabela.append("<th height='10px' width='8%'>"+UtilI18N.internacionaliza(request,"lookup.idservicocorpore")+"</th>"); tabela.append("<th height='10px' width='41%'>"+UtilI18N.internacionaliza(request,"servicoCorporeBI.nomeServico")+"</th>"); tabela.append("</tr>"); if ((tblDePara != null)&&((listaDePara != null)&&(listaDePara.size()>0))) { for (DeParaCatalogoServicosBIDTO objeto : listaDePara) { if ((deParaCatalogoServicosBIDTO.getIdConexaoBI()!=null)&&(objeto.getIdServicoDe()!=null)&&(objeto.getIdServicoPara()!=null)){ btnExcluir = "<img style=\"cursor: pointer;\" src=\""+br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO")+"/imagens/delete.png\" onclick=\"excluirDePara("+deParaCatalogoServicosBIDTO.getIdConexaoBI()+","+objeto.getIdServicoDe()+","+objeto.getIdServicoPara()+ ")\" />"; } else { btnExcluir = ""; } txtIdDe = (String) ((objeto.getIdServicoDe()!=null)?objeto.getIdServicoDe().toString():""); txtNomeDe = (String) ((objeto.getNomeServicoDe()!=null)?objeto.getNomeServicoDe().toString():""); txtIdPara = (String) ((objeto.getIdServicoPara()!=null)?objeto.getIdServicoPara().toString():""); txtNomePara = (String) ((objeto.getNomeServicoPara()!=null)?objeto.getNomeServicoPara().toString():""); tabela.append("<tr>"); tabela.append("<th>"+btnExcluir+"</th>"); tabela.append("<th>"+txtIdDe+"</th>"); tabela.append("<th>"+txtNomeDe+"</th>"); tabela.append("<th>"+txtIdPara+"</th>"); tabela.append("<th>"+txtNomePara+"</th>"); tabela.append("</tr>"); } } tabela.append("</table>"); tblDePara.setInnerHTML(tabela.toString()); //document.getele document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblDePara', 'tblDePara');"); } public void prepararTela(DocumentHTML document, HttpServletRequest request, HttpServletResponse response){ DeParaCatalogoServicosBIDTO deParaCatalogoServicosBIDTO = (DeParaCatalogoServicosBIDTO) document.getBean(); try { carregarListaDePara(document, request, response); document.getElementById("idServicoDe").setValue(""); document.getElementById("idServicoPara").setValue(""); document.getElementById("servicoDe").setValue(""); document.getElementById("servicoPara").setValue(""); deParaCatalogoServicosBIDTO.setIdServicoDe(null); deParaCatalogoServicosBIDTO.setIdServicoPara(null); deParaCatalogoServicosBIDTO.setNomeServicoDe(null); deParaCatalogoServicosBIDTO.setNomeServicoPara(null); document.setBean(deParaCatalogoServicosBIDTO); document.getElementById("idServicoDe").setFocus(); } catch (Exception e) { e.printStackTrace(); } } public void onExitIdDe(DocumentHTML document, HttpServletRequest request, HttpServletResponse response){ DeParaCatalogoServicosBIDTO deParaCatalogoServicosBIDTO = (DeParaCatalogoServicosBIDTO) document.getBean(); if ((deParaCatalogoServicosBIDTO!=null)&&(deParaCatalogoServicosBIDTO.getIdServicoDe()!=null)&&(deParaCatalogoServicosBIDTO.getIdServicoDe()>0)&&(deParaCatalogoServicosBIDTO.getIdConexaoBI()!=null)){ try { ServicoBIService service = (ServicoBIService) ServiceLocator.getInstance().getService(ServicoBIService.class, WebUtil.getUsuarioSistema(request)); ServicoBIDTO servicoBIDTO = service.findByIdEconexaoBI(deParaCatalogoServicosBIDTO.getIdServicoDe(),deParaCatalogoServicosBIDTO.getIdConexaoBI()); if ((servicoBIDTO==null)||(servicoBIDTO.getIdServico()==null)||(servicoBIDTO.getIdServico()<=0)){ document.getElementById("idServicoDe").setValue(""); document.getElementById("servicoDe").setValue(""); document.getElementById("idServicoDe").setFocus(); } else { document.getElementById("servicoDe").setValue(servicoBIDTO.getNomeServico()); } } catch (Exception e) { e.printStackTrace(); } } } public void onExitIdPara(DocumentHTML document, HttpServletRequest request, HttpServletResponse response){ DeParaCatalogoServicosBIDTO deParaCatalogoServicosBIDTO = (DeParaCatalogoServicosBIDTO) document.getBean(); if ((deParaCatalogoServicosBIDTO!=null)&&(deParaCatalogoServicosBIDTO.getIdServicoPara()!=null)&&(deParaCatalogoServicosBIDTO.getIdServicoPara()>0)){ try { ServicoCorporeBIService service = (ServicoCorporeBIService) ServiceLocator.getInstance().getService(ServicoCorporeBIService.class, WebUtil.getUsuarioSistema(request)); ServicoCorporeBIDTO servicoCorporeBIDTO = service.findById(deParaCatalogoServicosBIDTO.getIdServicoPara()); if ((servicoCorporeBIDTO==null)||(servicoCorporeBIDTO.getIdServicoCorpore()==null)||(servicoCorporeBIDTO.getIdServicoCorpore()<=0)){ document.getElementById("idServicoPara").setValue(""); document.getElementById("servicoPara").setValue(""); document.getElementById("idServicoPara").setFocus(); } else { document.getElementById("servicoPara").setValue(servicoCorporeBIDTO.getNomeServico()); } } catch (Exception e) { e.printStackTrace(); } } } }