/** * CentralIT - CITSmart */ package br.com.centralit.citcorpore.ajaxForms; import java.util.ArrayList; import java.util.Collection; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.StringUtils; 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.citajax.html.HTMLSelect; import br.com.centralit.citajax.html.HTMLTable; import br.com.centralit.citcorpore.bean.BaseConhecimentoDTO; import br.com.centralit.citcorpore.bean.BaseConhecimentoRelacionadoDTO; import br.com.centralit.citcorpore.bean.ComentariosDTO; import br.com.centralit.citcorpore.bean.EmpregadoDTO; import br.com.centralit.citcorpore.bean.EventoMonitConhecimentoDTO; import br.com.centralit.citcorpore.bean.EventoMonitoramentoDTO; import br.com.centralit.citcorpore.bean.GrupoDTO; import br.com.centralit.citcorpore.bean.ImportanciaConhecimentoGrupoDTO; import br.com.centralit.citcorpore.bean.ImportanciaConhecimentoUsuarioDTO; import br.com.centralit.citcorpore.bean.ItemConfiguracaoDTO; import br.com.centralit.citcorpore.bean.NotificacaoDTO; import br.com.centralit.citcorpore.bean.NotificacaoGrupoDTO; import br.com.centralit.citcorpore.bean.NotificacaoUsuarioDTO; import br.com.centralit.citcorpore.bean.PastaDTO; import br.com.centralit.citcorpore.bean.ProblemaDTO; import br.com.centralit.citcorpore.bean.RequisicaoLiberacaoDTO; import br.com.centralit.citcorpore.bean.RequisicaoMudancaDTO; import br.com.centralit.citcorpore.bean.ServicoContratoDTO; import br.com.centralit.citcorpore.bean.ServicoDTO; import br.com.centralit.citcorpore.bean.SolicitacaoServicoDTO; import br.com.centralit.citcorpore.bean.UploadDTO; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.centralit.citcorpore.negocio.BaseConhecimentoRelacionadoService; import br.com.centralit.citcorpore.negocio.BaseConhecimentoService; import br.com.centralit.citcorpore.negocio.ComentariosService; import br.com.centralit.citcorpore.negocio.EmpregadoService; import br.com.centralit.citcorpore.negocio.EventoMonitConhecimentoService; import br.com.centralit.citcorpore.negocio.EventoMonitoramentoService; import br.com.centralit.citcorpore.negocio.GrupoEmpregadoService; import br.com.centralit.citcorpore.negocio.GrupoService; import br.com.centralit.citcorpore.negocio.ImportanciaConhecimentoGrupoService; import br.com.centralit.citcorpore.negocio.ImportanciaConhecimentoUsuarioService; import br.com.centralit.citcorpore.negocio.ItemConfiguracaoService; import br.com.centralit.citcorpore.negocio.NotificacaoGrupoService; import br.com.centralit.citcorpore.negocio.NotificacaoService; import br.com.centralit.citcorpore.negocio.NotificacaoUsuarioService; import br.com.centralit.citcorpore.negocio.PastaService; import br.com.centralit.citcorpore.negocio.PerfilAcessoGrupoService; import br.com.centralit.citcorpore.negocio.PerfilAcessoPastaService; import br.com.centralit.citcorpore.negocio.ProblemaService; import br.com.centralit.citcorpore.negocio.RequisicaoLiberacaoService; import br.com.centralit.citcorpore.negocio.RequisicaoMudancaService; import br.com.centralit.citcorpore.negocio.ServicoContratoService; import br.com.centralit.citcorpore.negocio.ServicoService; import br.com.centralit.citcorpore.negocio.SolicitacaoServicoService; import br.com.centralit.citcorpore.negocio.UsuarioService; import br.com.centralit.citcorpore.util.CITCorporeUtil; import br.com.centralit.citcorpore.util.Enumerados; import br.com.centralit.citcorpore.util.Enumerados.PermissaoAcessoPasta; import br.com.centralit.citcorpore.util.WebUtil; import br.com.centralit.citged.bean.ControleGEDDTO; import br.com.centralit.citged.negocio.ControleGEDService; import br.com.citframework.excecao.ServiceException; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.UtilDatas; import br.com.citframework.util.UtilI18N; /** * Action de BaseConhecimento. * * @author valdoilo.damasceno */ @SuppressWarnings({ "rawtypes", "unchecked", "unused" }) public class BaseConhecimento extends AjaxFormAction { private BaseConhecimentoDTO baseConhecimentoBean; private Integer idPrimeiraPasta; private boolean aprovaBaseConhecimento; ProblemaDTO problemaDto ; @Override public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoDTO baseConhecimentoDto = new BaseConhecimentoDTO(); baseConhecimentoDto.setErroConhecido(request.getParameter("erroConhecido")); if(request.getParameter("iframe") !=null && !request.getParameter("iframe").equalsIgnoreCase("")){ baseConhecimentoDto.setIframe(request.getParameter("iframe")); } if(request.getParameter("idProblema") !=null&& !request.getParameter("idProblema").equalsIgnoreCase("")){ baseConhecimentoDto.setIdProblema(Integer.parseInt(request.getParameter("idProblema"))); } if (request.getParameter("idBaseConhecimento") != null && !request.getParameter("idBaseConhecimento").equalsIgnoreCase("") && !"sim".equals(request.getAttribute("limpar"))) { baseConhecimentoDto.setIdBaseConhecimento(Integer.parseInt(request.getParameter("idBaseConhecimento"))); } request.removeAttribute("limpar"); BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, null); PerfilAcessoPastaService perfilAcessoPastaService = (PerfilAcessoPastaService) ServiceLocator.getInstance().getService(PerfilAcessoPastaService.class, null); EmpregadoService empregadoService = (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, null); UsuarioDTO usuarioDto = WebUtil.getUsuario(request); this.alimentaComboPastasBaseConhecimento(document, request); this.preencherComboOrigem(document, request); this.preencherComboPrivacidade(document, request); this.preencherComboSituacao(document, request); EmpregadoDTO empregadoDto = new EmpregadoDTO(); empregadoDto.setIdEmpregado(usuarioDto.getIdEmpregado()); empregadoDto = (EmpregadoDTO) empregadoService.restore(empregadoDto); String autor = empregadoDto.getNome(); baseConhecimentoDto.setAutor(autor); baseConhecimentoDto.setDataInicio(UtilDatas.getDataAtual()); if (perfilAcessoPastaService.verificarSeUsuarioAprovaBaseConhecimentoParaPastaSelecionada(usuarioDto, this.getIdPrimeiraPasta())) { document.executeScript("$('#publicacao').show()"); } else { document.executeScript("$('#publicacao').hide()"); } request.getSession(true).setAttribute("colUploadsGED", null); document.executeScript("uploadAnexos.clear()"); if(baseConhecimentoDto.getIdProblema()!=null){ problemaDto = this.getProblemaDto(baseConhecimentoDto.getIdProblema()); } if(problemaDto !=null){ baseConhecimentoDto.setConteudo("<strong>Causa raiz:</strong><br type='_moz' />"+problemaDto.getCausaRaiz()+"<br/><br/><strong> Solução contorno:</strong><br />"+problemaDto.getSolucaoContorno()); } HTMLForm form = CITCorporeUtil.limparFormulario(document); form.setValues(baseConhecimentoDto); this.preencherComboNotificacao(document, request, response); HTMLElement notificacaoTitulo = document.getElementById("notificacaoTitulo"); notificacaoTitulo.setValue(""); document.executeScript("limpaTabelaEventoMonitoramento();"); document.executeScript("$('#tabelaGrupoNotificacao').hide()"); document.executeScript("$('#tabelaUsuarioNotificacao').hide()"); document.executeScript("$('#btnGravarNotificacao').hide()"); document.executeScript("$('#divSolicitacaoServico').hide()"); document.executeScript("$('#divMudanca').hide()"); document.executeScript("$('#btnGravarEventoMonitConhecimento').hide()"); String iframe = ""; if(baseConhecimentoDto.getIframe()!=null){ iframe = baseConhecimentoDto.getIframe(); } if(iframe!=null && !iframe.equals("")){ if(baseConhecimentoDto.getErroConhecido()!=null && baseConhecimentoDto.getErroConhecido().equalsIgnoreCase("S")){ document.executeScript("$('#erroConhecido').attr('checked',true)"); document.executeScript("document.getElementById('comboOrigem').options[5].selected = 'selected'"); document.executeScript("$('#tabs-2').hide()"); } if(baseConhecimentoDto.getIdBaseConhecimento()!=null){ this.restore(document, request, response); } }else{ document.executeScript("validaDocumento()"); } //fechando janela aguarde document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); } /** * Inclui nova Base de Conhecimento. * * @param document * @param request * @param response * @throws Exception * @author valdoilo.damasceno */ public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { document.executeScript("aguarde();"); BaseConhecimentoDTO baseConhecimentoDto = new BaseConhecimentoDTO(); baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); UsuarioDTO usuarioDto = WebUtil.getUsuario(request); BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, WebUtil.getUsuarioSistema(request)); Collection<UploadDTO> arquivosUpados = (Collection<UploadDTO>) request.getSession(true).getAttribute("colUploadsGED"); System.out.println("BaseConhecimento - A arquivosUpados esta vazia!" + arquivosUpados); baseConhecimentoDto.setListImportanciaConhecimentoUsuario((Collection<ImportanciaConhecimentoUsuarioDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest( ImportanciaConhecimentoUsuarioDTO.class, "listImportanciaConhecimentoUsuarioSerializado", request)); baseConhecimentoDto.setListImportanciaConhecimentoGrupo((Collection<ImportanciaConhecimentoGrupoDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest( ImportanciaConhecimentoGrupoDTO.class, "listImportanciaConhecimentoGrupoSerializado", request)); baseConhecimentoDto.setListBaseConhecimentoRelacionado((Collection<BaseConhecimentoRelacionadoDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest( BaseConhecimentoRelacionadoDTO.class, "listConhecimentoRelacionadoSerializado", request)); baseConhecimentoDto.setListaDeUsuarioNotificacao((ArrayList<NotificacaoUsuarioDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(NotificacaoUsuarioDTO.class, "listUsuariosNotificacaoSerializados", request)); baseConhecimentoDto.setListaDeGrupoNotificacao((ArrayList<NotificacaoGrupoDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(NotificacaoGrupoDTO.class, "listGruposNotificacaoSerializados", request)); baseConhecimentoDto.setListEventoMonitoramento((ArrayList<EventoMonitConhecimentoDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(EventoMonitConhecimentoDTO.class, "listEventoMonitoramentoSerializado", request)); if (baseConhecimentoDto.getIdBaseConhecimento() == null) { if (baseConhecimentoDto.getStatus() == null) { baseConhecimentoDto.setStatus("N"); } if (baseConhecimentoService.verificaBaseConhecimentoExistente(baseConhecimentoDto)) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.registroJaCadastrado")); document.executeScript("fechar_aguarde();"); return; } baseConhecimentoService.create(baseConhecimentoDto, arquivosUpados, WebUtil.getIdEmpresa(request), usuarioDto); document.alert(UtilI18N.internacionaliza(request, "dinamicview.gravadocomsucesso")); } else { if (baseConhecimentoService.verificarSeBaseConhecimentoJaPossuiNovaVersao(baseConhecimentoDto)) { document.executeScript("fechar_aguarde();"); document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.versaorecente")); } else { if (baseConhecimentoDto.getIdBaseConhecimentoPai() == null && baseConhecimentoService.verificaBaseConhecimentoExistente(baseConhecimentoDto)) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.registroJaCadastrado")); document.executeScript("fechar_aguarde();"); return; } baseConhecimentoService.update(baseConhecimentoDto, arquivosUpados, WebUtil.getIdEmpresa(request), usuarioDto); document.alert(UtilI18N.internacionaliza(request, "MSG06")); document.executeScript("fechar_aguarde();"); document.executeScript("limpar()"); } } document.executeScript("limpar();"); document.executeScript("limpar_LOOKUP_BASECONHECIMENTO()"); document.executeScript("fechar_aguarde();"); document.executeScript("fechar();"); } /** * Restaura Base de Conhecimento. * * @param document * @param request * @param response * @throws Exception * @author valdoilo.damasceno */ public void restore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { UsuarioDTO usuarioDto = WebUtil.getUsuario(request); String iframe = ""; BaseConhecimentoDTO baseConhecimentoDto = new BaseConhecimentoDTO(); NotificacaoDTO notificacaoDto = new NotificacaoDTO(); baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); if(baseConhecimentoDto.getIframe()!=null){ iframe = baseConhecimentoDto.getIframe(); } if (baseConhecimentoDto.getIdBaseConhecimento() != null) { request.getSession(true).setAttribute("colUploadsGED", null); NotificacaoService notificacaoService = (NotificacaoService) ServiceLocator.getInstance().getService(NotificacaoService.class, null); NotificacaoGrupoService notificacaoGrupoService = (NotificacaoGrupoService) ServiceLocator.getInstance().getService(NotificacaoGrupoService.class, null); NotificacaoUsuarioService notificacaoUsuarioService = (NotificacaoUsuarioService) ServiceLocator.getInstance().getService(NotificacaoUsuarioService.class, null); PerfilAcessoPastaService perfilAcessoPastaService = (PerfilAcessoPastaService) ServiceLocator.getInstance().getService(PerfilAcessoPastaService.class, null); BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, null); ComentariosService comentariosService = (ComentariosService) ServiceLocator.getInstance().getService(ComentariosService.class, null); EmpregadoService empregadoService = (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, null); UsuarioService usuarioService = (UsuarioService) ServiceLocator.getInstance().getService(UsuarioService.class, null); GrupoService grupoService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null); ImportanciaConhecimentoUsuarioService importanciaConhecimentoUsuarioService = (ImportanciaConhecimentoUsuarioService) ServiceLocator.getInstance().getService( ImportanciaConhecimentoUsuarioService.class, null); ImportanciaConhecimentoGrupoService importanciaConhecimentoGrupoService = (ImportanciaConhecimentoGrupoService) ServiceLocator.getInstance().getService( ImportanciaConhecimentoGrupoService.class, null); BaseConhecimentoRelacionadoService baseConhecimentoRelacionadoService = (BaseConhecimentoRelacionadoService) ServiceLocator.getInstance().getService( BaseConhecimentoRelacionadoService.class, null); EventoMonitConhecimentoService eventoMonitConhecimentoService = (EventoMonitConhecimentoService) ServiceLocator.getInstance().getService(EventoMonitConhecimentoService.class, null); EventoMonitoramentoService eventoMonitoramentoService = (EventoMonitoramentoService) ServiceLocator.getInstance().getService(EventoMonitoramentoService.class, null); baseConhecimentoDto = (BaseConhecimentoDTO) baseConhecimentoService.restore(baseConhecimentoDto); if(baseConhecimentoDto!=null){ boolean isPossuiPermissao = this.aplicarPermissaoDeAcesso(document, request, baseConhecimentoDto, usuarioDto, true); if (isPossuiPermissao) { if(iframe==null || iframe.equals("")){ document.executeScript("document.form.restore()"); } } else { document.executeScript("limpar()"); return; } if (baseConhecimentoDto.getOrigem() == null) { baseConhecimentoDto.setOrigem("1"); } else if (baseConhecimentoDto.getOrigem().equals("")) { baseConhecimentoDto.setOrigem("1"); } EmpregadoDTO empregadoAutor = new EmpregadoDTO(); EmpregadoDTO empregadoAprovador = new EmpregadoDTO(); UsuarioDTO usuarioAutor = new UsuarioDTO(); UsuarioDTO usuarioAprovador = new UsuarioDTO(); if (baseConhecimentoDto.getIdUsuarioAutor() != null) { usuarioAutor.setIdUsuario(baseConhecimentoDto.getIdUsuarioAutor()); usuarioAutor = (UsuarioDTO) usuarioService.restore(usuarioAutor); if(usuarioAutor != null) { empregadoAutor = empregadoService.restoreByIdEmpregado(usuarioAutor.getIdEmpregado()); baseConhecimentoDto.setAutor(empregadoAutor.getNome()); } } if (baseConhecimentoDto.getIdUsuarioAprovador() != null) { usuarioAprovador.setIdUsuario(baseConhecimentoDto.getIdUsuarioAprovador()); usuarioAprovador = (UsuarioDTO) usuarioService.restore(usuarioAprovador); if (usuarioAprovador != null) { empregadoAprovador = empregadoService.restoreByIdEmpregado(usuarioAprovador.getIdEmpregado()); baseConhecimentoDto.setAprovador(empregadoAprovador.getNome()); } } request.getSession().removeAttribute("idBaseConhecimento"); request.getSession().setAttribute("idBaseConhecimento", baseConhecimentoDto.getIdBaseConhecimento()); Double media = baseConhecimentoService.calcularNota(baseConhecimentoDto.getIdBaseConhecimento()); if (media != null) { baseConhecimentoDto.setMedia(media.toString()); } Long quantidadeVotos = baseConhecimentoService.contarVotos(baseConhecimentoDto.getIdBaseConhecimento()); if (quantidadeVotos != null) { baseConhecimentoDto.setVotos(quantidadeVotos.toString()); } document.executeScript("deleteAllRowsUsuarioNotificacao()"); document.executeScript("deleteAllRowsGrupoNotificacao()"); if (baseConhecimentoDto.getIdNotificacao() != null) { notificacaoDto.setIdNotificacao(baseConhecimentoDto.getIdNotificacao()); notificacaoDto = (NotificacaoDTO) notificacaoService.restore(notificacaoDto); Collection<NotificacaoGrupoDTO> listaIdGrupo = notificacaoGrupoService.listaIdGrupo(notificacaoDto.getIdNotificacao()); Collection<NotificacaoUsuarioDTO> listaIdUsuario = notificacaoUsuarioService.listaIdUsuario(notificacaoDto.getIdNotificacao()); if (listaIdUsuario != null && !listaIdUsuario.isEmpty()) { for (NotificacaoUsuarioDTO notificacaoUsuarioDto : listaIdUsuario) { if (notificacaoUsuarioDto.getIdUsuario() != null) { UsuarioDTO usuarioDtoNotificacao = new UsuarioDTO(); usuarioDtoNotificacao.setIdUsuario(notificacaoUsuarioDto.getIdUsuario()); usuarioDtoNotificacao = (UsuarioDTO) usuarioService.restore(usuarioDtoNotificacao); document.executeScript("addLinhaTabelaUsuarioNotificacao(" + usuarioDtoNotificacao.getIdUsuario() + ", '" + usuarioDtoNotificacao.getNomeUsuario() + "', " + false + ");"); document.executeScript("$('#tabelaUsuarioNotificacao').show()"); document.executeScript("$('#gridUsuarioNotificacao').show()"); } } } if (listaIdGrupo != null && !listaIdGrupo.isEmpty()) { for (NotificacaoGrupoDTO notificacaoGrupoDto : listaIdGrupo) { if (notificacaoGrupoDto.getIdGrupo() != null) { GrupoDTO grupoDtoNotificacao = new GrupoDTO(); grupoDtoNotificacao.setIdGrupo(notificacaoGrupoDto.getIdGrupo()); grupoDtoNotificacao = (GrupoDTO) grupoService.restore(grupoDtoNotificacao); document.executeScript("addLinhaTabelaGrupoNotificacao(" + grupoDtoNotificacao.getIdGrupo() + ", '" + grupoDtoNotificacao.getNome() + "', " + false + ");"); document.executeScript("$('#tabelaGrupoNotificacao').show()"); document.executeScript("$('#gridGrupoNotificacao').show()"); } } } baseConhecimentoDto.setTituloNotificacao(notificacaoDto.getTitulo()); baseConhecimentoDto.setTipoNotificacao(notificacaoDto.getTipoNotificacao()); } HTMLForm form = CITCorporeUtil.limparFormulario(document); if (baseConhecimentoDto.getFaq() != null && StringUtils.equalsIgnoreCase(baseConhecimentoDto.getFaq().trim(), "S")) { document.executeScript("ckeckarFaq()"); document.executeScript("habilitarPergunta()"); document.executeScript("$('#documento').attr('checked',false);"); document.executeScript("ocultarAnexos()"); } else { if(baseConhecimentoDto.getErroConhecido()!=null && baseConhecimentoDto.getErroConhecido().equalsIgnoreCase("S")){ document.executeScript("$('#erroConhecido').attr('checked',true);"); }else{ document.executeScript("$('#documento').attr('checked',true);"); } document.executeScript("exibirAnexos()"); } document.executeScript("uploadAnexos.clear()"); document.executeScript("deleteAllRows()"); this.restaurarAnexos(request, baseConhecimentoDto); //baseConhecimentoDto.setTitulo(StringEscapeUtils.unescapeJavaScript(baseConhecimentoDto.getTitulo())); if(request.getParameter("idProblema") !=null&& !request.getParameter("idProblema").equalsIgnoreCase("")){ baseConhecimentoDto.setIdProblema(Integer.parseInt(request.getParameter("idProblema"))); } form.setValues(baseConhecimentoDto); document.executeScript("setarValoresPopupNotificacao()"); document.executeScript("deleteAllRowsUsuario()"); document.executeScript("deleteAllRowsGrupo()"); document.executeScript("deleteAllRowsConhecimento()"); document.executeScript("deleteAllRowsEventoMonitoramento()"); document.executeScript("$('#btnGravarNotificacao').show()"); Collection<ImportanciaConhecimentoUsuarioDTO> listImportanciaConhecimentoUsuarioDto = importanciaConhecimentoUsuarioService.listByIdBaseConhecimento(baseConhecimentoDto .getIdBaseConhecimento()); if (listImportanciaConhecimentoUsuarioDto != null && !listImportanciaConhecimentoUsuarioDto.isEmpty()) { for (ImportanciaConhecimentoUsuarioDTO importanciaConhecimentoUsuarioDTO : listImportanciaConhecimentoUsuarioDto) { if (importanciaConhecimentoUsuarioDTO.getIdUsuario() != null) { UsuarioDTO usuarioImportanciaConhecimento = new UsuarioDTO(); usuarioImportanciaConhecimento.setIdUsuario(importanciaConhecimentoUsuarioDTO.getIdUsuario()); usuarioImportanciaConhecimento = (UsuarioDTO) usuarioService.restore(usuarioImportanciaConhecimento); document.executeScript("addLinhaTabelaUsuario(" + usuarioImportanciaConhecimento.getIdUsuario() + ", '" + usuarioImportanciaConhecimento.getNomeUsuario() + "', " + false + ");"); document.executeScript("atribuirCheckedUsuario('" + importanciaConhecimentoUsuarioDTO.getGrauImportanciaUsuario() + "')"); document.executeScript("exibirTabelaUsuario()"); } } } Collection<ImportanciaConhecimentoGrupoDTO> listImportanciaConhecimentoGrupoDto = importanciaConhecimentoGrupoService.listByIdBaseConhecimento(baseConhecimentoDto.getIdBaseConhecimento()); if (listImportanciaConhecimentoGrupoDto != null && !listImportanciaConhecimentoGrupoDto.isEmpty()) { for (ImportanciaConhecimentoGrupoDTO importanciaConhecimentoGrupoDTO : listImportanciaConhecimentoGrupoDto) { if (importanciaConhecimentoGrupoDTO.getIdGrupo() != null) { GrupoDTO grupoImportanciaConhecimento = new GrupoDTO(); grupoImportanciaConhecimento.setIdGrupo(importanciaConhecimentoGrupoDTO.getIdGrupo()); grupoImportanciaConhecimento = (GrupoDTO) grupoService.restore(grupoImportanciaConhecimento); document.executeScript("addLinhaTabelaGrupo(" + grupoImportanciaConhecimento.getIdGrupo() + ", '" + grupoImportanciaConhecimento.getNome() + "', " + false + ");"); document.executeScript("atribuirCheckedGrupo('" + importanciaConhecimentoGrupoDTO.getGrauImportanciaGrupo() + "')"); } } } Collection<BaseConhecimentoRelacionadoDTO> listBaseConhecimentoRelacionadoDto = baseConhecimentoRelacionadoService.listByIdBaseConhecimento(baseConhecimentoDto.getIdBaseConhecimento()); if (listBaseConhecimentoRelacionadoDto == null) { listBaseConhecimentoRelacionadoDto = new ArrayList<BaseConhecimentoRelacionadoDTO>(); } if (listBaseConhecimentoRelacionadoDto != null && !listBaseConhecimentoRelacionadoDto.isEmpty()) { for (BaseConhecimentoRelacionadoDTO baseConhecimentoRelacionadoDto : listBaseConhecimentoRelacionadoDto) { if (baseConhecimentoRelacionadoDto.getIdBaseConhecimentoRelacionado() != null) { BaseConhecimentoDTO conhecimentoRelacionadoDto = new BaseConhecimentoDTO(); conhecimentoRelacionadoDto.setIdBaseConhecimento(baseConhecimentoRelacionadoDto.getIdBaseConhecimentoRelacionado()); conhecimentoRelacionadoDto = (BaseConhecimentoDTO) baseConhecimentoService.restore(conhecimentoRelacionadoDto); document.executeScript("addLinhaTabelaConhecimentoRelacionado(" + conhecimentoRelacionadoDto.getIdBaseConhecimento() + ",'" + conhecimentoRelacionadoDto.getTitulo() + "'," + true + ");"); } } } Collection<BaseConhecimentoRelacionadoDTO> listBaseConhecimentoRelacionadoAux = baseConhecimentoRelacionadoService.listByIdBaseConhecimentoRelacionado(baseConhecimentoDto .getIdBaseConhecimento()); if (listBaseConhecimentoRelacionadoAux != null && !listBaseConhecimentoRelacionadoAux.isEmpty()) { for (BaseConhecimentoRelacionadoDTO baseConhecimentoRelacionadoDto : listBaseConhecimentoRelacionadoAux) { if (baseConhecimentoRelacionadoDto.getIdBaseConhecimentoRelacionado() != null) { BaseConhecimentoDTO conhecimentoRelacionadoDto = new BaseConhecimentoDTO(); conhecimentoRelacionadoDto.setIdBaseConhecimento(baseConhecimentoRelacionadoDto.getIdBaseConhecimento()); conhecimentoRelacionadoDto = (BaseConhecimentoDTO) baseConhecimentoService.restore(conhecimentoRelacionadoDto); if (conhecimentoRelacionadoDto != null) { document.executeScript("addLinhaTabelaConhecimentoRelacionado(" + conhecimentoRelacionadoDto.getIdBaseConhecimento() + ",'" + conhecimentoRelacionadoDto.getTitulo() + "'," + true + ");"); } } } } Collection<EventoMonitConhecimentoDTO> listEventoMonitConhecimento = eventoMonitConhecimentoService.listByIdBaseConhecimento(baseConhecimentoDto.getIdBaseConhecimento()); if (listEventoMonitConhecimento != null && !listEventoMonitConhecimento.isEmpty()) { for (EventoMonitConhecimentoDTO eventoMonitConhecimento : listEventoMonitConhecimento) { if (eventoMonitConhecimento.getIdEventoMonitoramento() != null) { EventoMonitoramentoDTO eventoMonitoramentoDto = new EventoMonitoramentoDTO(); eventoMonitoramentoDto.setIdEventoMonitoramento(eventoMonitConhecimento.getIdEventoMonitoramento()); eventoMonitoramentoDto = (EventoMonitoramentoDTO) eventoMonitoramentoService.restore(eventoMonitoramentoDto); String descricao = ""; descricao = eventoMonitoramentoDto.getDetalhamento() + "-" + eventoMonitoramentoDto.getCriadoPor() + "-" + eventoMonitoramentoDto.getDataCriacao(); document.executeScript("addLinhaTabelaEvento(" + eventoMonitoramentoDto.getIdEventoMonitoramento() + ",'" + descricao + "'," + true + ");"); } } } document.executeScript("exibirBtnGravarImportancia()"); document.executeScript("exibirBtnGravarConhecimentoRelacionado()"); document.executeScript("uploadAnexos.refresh()"); Collection<ComentariosDTO> comentarios = comentariosService.consultarComentarios(baseConhecimentoDto); if (comentarios != null && !comentarios.isEmpty()) { comentariosService.restaurarGridComentarios(document, comentarios); } if (baseConhecimentoDto.getStatus() != null && StringUtils.contains(baseConhecimentoDto.getStatus(), "S")) { document.executeScript("bloquearTitulo()"); } else { if (baseConhecimentoDto.getStatus() != null && StringUtils.contains(baseConhecimentoDto.getStatus(), "N") && baseConhecimentoService.verificarSeBaseConhecimentoPossuiVersaoAnterior(baseConhecimentoDto)) { document.executeScript("bloquearTitulo()"); } else { document.executeScript("liberarTitulo()"); } } if (baseConhecimentoDto.getArquivado() != null && StringUtils.equalsIgnoreCase(baseConhecimentoDto.getArquivado().trim(), "S")) { document.executeScript("exibirArquivado()"); document.executeScript("exibirBotaoRestaurar()"); } if(iframe==null || iframe.equals("")){ document.executeScript("setDataEditor()"); } document.executeScript("$('#divSolicitacaoServico').show()"); document.executeScript("$('#divMudanca').show()"); document.executeScript("$('#btnGravarEventoMonitConhecimento').show()"); } } } /** * Exclui Base conhecimento e todos os seus conte�dos. * * @param document * @param request * @param response * @throws Exception * @author valdoilo.damasceno */ public void excluir(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoDTO baseConhecimentoDto = new BaseConhecimentoDTO(); baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); UsuarioDTO usuarioDto = WebUtil.getUsuario(request); BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, null); boolean isAprovaBaseConhecimento = this.usuarioAprovaBaseConhecimento(usuarioDto, baseConhecimentoDto.getIdPasta()); if (baseConhecimentoService.verificarSeBaseConhecimentoJaPossuiNovaVersao(baseConhecimentoDto)) { document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.versaorecente")); document.executeScript("fechar_aguarde();"); } else { if (isAprovaBaseConhecimento) { baseConhecimentoService.excluir(baseConhecimentoDto, isAprovaBaseConhecimento); document.alert(UtilI18N.internacionaliza(request, "MSG07")); document.executeScript("fechar_aguarde();"); } else { document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.usuarioSemPermissao")); document.executeScript("fechar_aguarde();"); } } document.executeScript("fechar();"); document.executeScript("limpar()"); document.executeScript("fechar_aguarde();"); } /** * Grava Import�ncia Conhecimento. * * @param document * @param request * @param response * @throws Exception * @author Vadoilo Damasceno */ public void gravarImportanciaConhecimento(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoDTO baseConhecimentoDto = new BaseConhecimentoDTO(); baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); UsuarioDTO usuarioDto = WebUtil.getUsuario(request); PermissaoAcessoPasta permissao = this.obterPermissaoDeAcessoPasta(baseConhecimentoDto, usuarioDto); if (permissao != null) { if (PermissaoAcessoPasta.LEITURAGRAVACAO.equals(permissao)) { baseConhecimentoDto.setListImportanciaConhecimentoUsuario((Collection<ImportanciaConhecimentoUsuarioDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest( ImportanciaConhecimentoUsuarioDTO.class, "listImportanciaConhecimentoUsuarioSerializado", request)); baseConhecimentoDto.setListImportanciaConhecimentoGrupo((Collection<ImportanciaConhecimentoGrupoDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest( ImportanciaConhecimentoGrupoDTO.class, "listImportanciaConhecimentoGrupoSerializado", request)); BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, null); baseConhecimentoService.criarImportanciaConhecimentoUsuario(baseConhecimentoDto, null); baseConhecimentoService.criarImportanciaConhecimentoGrupo(baseConhecimentoDto, null); document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.importanciaDefinida")); } else { document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.usuarioSemPermissao")); } } else { document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.usuarioSemPermissao")); } document.executeScript("fecharPopupGrauDeImportancia()"); } /** * Grava Conhecimento Relacionado. * * @param document * @param request * @param response * @throws Exception * @author Vadoilo Damasceno */ public void gravarConhecimentoRelacionado(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoDTO baseConhecimentoDto = new BaseConhecimentoDTO(); baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); UsuarioDTO usuarioDto = WebUtil.getUsuario(request); PermissaoAcessoPasta permissao = this.obterPermissaoDeAcessoPasta(baseConhecimentoDto, usuarioDto); if (permissao != null) { if (PermissaoAcessoPasta.LEITURAGRAVACAO.equals(permissao)) { baseConhecimentoDto.setListBaseConhecimentoRelacionado((Collection<BaseConhecimentoRelacionadoDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest( BaseConhecimentoRelacionadoDTO.class, "listConhecimentoRelacionadoSerializado", request)); BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, null); baseConhecimentoService.criarRelacionamentoEntreConhecimentos(baseConhecimentoDto, null); document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.conhecimentoRelacionadoSucesso")); } else { document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.usuarioSemPermissao")); } } else { document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.usuarioSemPermissao")); } document.executeScript("fecharPopupConhecimentoRelacionado()"); } /** * FireEvent para Gravar Eventos Monitoramento relacionado a Base de Conhecimento. * * @param document * @param request * @param response * @throws Exception * @author valdoilo.damasceno */ public void gravarEventoMonitConhecimento(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoDTO baseConhecimentoDto = new BaseConhecimentoDTO(); baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); baseConhecimentoDto.setListEventoMonitoramento(((ArrayList<EventoMonitConhecimentoDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(EventoMonitConhecimentoDTO.class, "listEventoMonitoramentoSerializado", request))); BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, null); baseConhecimentoService.criarRelacionamentoEntreEventoMonitConhecimento(baseConhecimentoDto, null); document.alert(UtilI18N.internacionaliza(request, "MSG05")); } /** * Restaura arquivos Anexos da Base de Conhecimento. * * @param request * @throws ServiceException * @throws Exception * @author valdoilo.damasceno */ protected void restaurarAnexos(HttpServletRequest request, BaseConhecimentoDTO baseConhecimentoDto) throws ServiceException, Exception { ControleGEDService controleGedService = (ControleGEDService) ServiceLocator.getInstance().getService(ControleGEDService.class, null); Collection colAnexos = controleGedService.listByIdTabelaAndID(ControleGEDDTO.TABELA_BASECONHECIMENTO, baseConhecimentoDto.getIdBaseConhecimento()); Collection<UploadDTO> colAnexosUploadDTO = controleGedService.convertListControleGEDToUploadDTO(colAnexos); if (colAnexosUploadDTO != null) { for (UploadDTO uploadDTO : colAnexosUploadDTO) { if (uploadDTO.getDescricao() == null) { uploadDTO.setDescricao(""); } } } request.getSession(true).setAttribute("colUploadsGED", colAnexosUploadDTO); } /** * Limpa Fomul�rio e arquivos anexos. * * @param document * @param request * @param response * @throws Exception * @author valdoilo.damasceno */ public void limpar(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { request.getSession(true).setAttribute("colUploadsGED", null); document.executeScript("uploadAnexos.clear()"); request.setAttribute("limpar", "sim"); this.load(document, request, response); } /** * Verifica se Usu�rio Pode Aprovar Base de Conhecimento da pasta Selecionada. * * @param document * @param request * @param response * @throws Exception * @throws ServiceException * @author valdoilo.damasceno */ public void verificarPermissoesDeAcesso(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws ServiceException, Exception { BaseConhecimentoDTO baseConhecimentoDto = new BaseConhecimentoDTO(); baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); UsuarioDTO usuarioDto = WebUtil.getUsuario(request); PerfilAcessoPastaService perfilAcessoPastaService = (PerfilAcessoPastaService) ServiceLocator.getInstance().getService(PerfilAcessoPastaService.class, null); boolean usuarioAprovaBaseConhecimento = perfilAcessoPastaService.verificarSeUsuarioAprovaBaseConhecimentoParaPastaSelecionada(usuarioDto, baseConhecimentoDto.getIdPasta()); if (usuarioAprovaBaseConhecimento) { document.executeScript("$('#publicacao').show()"); document.executeScript("marcaRadioButton()"); } else { document.executeScript("$('#publicacao').hide()"); } this.aplicarPermissaoDeAcesso(document, request, baseConhecimentoDto, usuarioDto, false); } /** * Verifica se Usu�rio Pode Aprovar Base de Conhecimento da pasta Selecionada. * * @param document * @param request * @param response * @throws Exception * @throws ServiceException * @author valdoilo.damasceno */ public void verificarPermissoesDeAcessoRestore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws ServiceException, Exception { PerfilAcessoPastaService perfilAcessoPastaService = (PerfilAcessoPastaService) ServiceLocator.getInstance().getService(PerfilAcessoPastaService.class, null); BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, null); BaseConhecimentoDTO baseConhecimentoDto = new BaseConhecimentoDTO(); baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); baseConhecimentoDto = (BaseConhecimentoDTO) baseConhecimentoService.restore(baseConhecimentoDto); UsuarioDTO usuarioDto = WebUtil.getUsuario(request); boolean usuarioAprovaBaseConhecimento = perfilAcessoPastaService.verificarSeUsuarioAprovaBaseConhecimentoParaPastaSelecionada(usuarioDto, baseConhecimentoDto.getIdPasta()); if (usuarioAprovaBaseConhecimento) { document.executeScript("$('#publicacao').show()"); document.executeScript("marcaRadioButton()"); } else { document.executeScript("$('#publicacao').hide()"); } boolean isRestore = this.aplicarPermissaoDeAcesso(document, request, baseConhecimentoDto, usuarioDto, true); if (isRestore) { HTMLForm form = CITCorporeUtil.limparFormulario(document); form.setValues(baseConhecimentoDto); document.executeScript("document.form.restore()"); } } /** * Oculta ou Exibe Bot�es Gravar, Limpar ou Excluir de Acordo com a permiss�o de Acesso do Usu�rio Logado. * * @param document * @param baseConhecimentoDto * @throws Exception * @author Vadoilo Damasceno */ private boolean aplicarPermissaoDeAcesso(DocumentHTML document, HttpServletRequest request, BaseConhecimentoDTO baseConhecimentoDto, UsuarioDTO usuarioDto, boolean isRestore) throws Exception { PerfilAcessoPastaService perfilAcessoPastaService = (PerfilAcessoPastaService) ServiceLocator.getInstance().getService(PerfilAcessoPastaService.class, null); PermissaoAcessoPasta permissao = obterPermissaoDeAcessoPasta(baseConhecimentoDto, usuarioDto); boolean usuarioAprovaBaseConhecimento = perfilAcessoPastaService.verificarSeUsuarioAprovaBaseConhecimentoParaPastaSelecionada(usuarioDto, baseConhecimentoDto.getIdPasta()); if (permissao != null) { if (PermissaoAcessoPasta.SEMPERMISSAO.equals(permissao)) { document.executeScript("ocultarBotoes()"); document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.usuarioSemPermissao")); document.executeScript("ocultarBtnGravarImportancia()"); document.executeScript("ocultarBtnGravarConhecimentoRelacionado()"); if(request.getParameter("iframe").equalsIgnoreCase("true")){ document.executeScript("desabilitaCamposFrame()"); } return false; } else { if (PermissaoAcessoPasta.LEITURA.equals(permissao)) { document.executeScript("ocultarBotoes()"); document.executeScript("ocultarDivPublicacao()"); if (isRestore) { document.executeScript("desabilitarComboPasta()"); } document.executeScript("ocultarBtnGravarImportancia()"); document.executeScript("ocultarBtnGravarConhecimentoRelacionado()"); document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.somenteLeitura")); if(request.getParameter("iframe") != null && request.getParameter("iframe").equalsIgnoreCase("true")){ document.executeScript("desabilitaCamposFrame()"); } } else { if (PermissaoAcessoPasta.LEITURAGRAVACAO.equals(permissao)) { document.executeScript("exibirBotoes()"); document.executeScript("habilitarComboPasta()"); if (usuarioAprovaBaseConhecimento) { document.executeScript("$('#publicacao').show()"); } else { document.executeScript("$('#publicacao').hide()"); } if (baseConhecimentoDto.getArquivado() != null && StringUtils.equalsIgnoreCase(baseConhecimentoDto.getArquivado().trim(), "S")) { document.executeScript("ocultarBotaoArquivar()"); document.executeScript("exibirBotaoRestaurar()"); } else { document.executeScript("ocultarArquivado()"); document.executeScript("exibirBotaoArquivar()"); document.executeScript("ocultarBotaoRestaurar()"); } } } return true; } } else { document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.usuarioSemPermissao")); return false; } } /** * Retorna PermissaoAcessoPasta do Usu�rio � Pasta que est� o conhecimento informado. * * @param baseConhecimentoDto * @param usuarioDto * @return PermissaoAcessoPasta * @throws Exception * @author Vadoilo Damasceno */ public PermissaoAcessoPasta obterPermissaoDeAcessoPasta(BaseConhecimentoDTO baseConhecimentoDto, UsuarioDTO usuarioDto) throws Exception { PastaService pastaService = (PastaService) ServiceLocator.getInstance().getService(PastaService.class, null); PerfilAcessoPastaService perfilAcessoPastaService = (PerfilAcessoPastaService) ServiceLocator.getInstance().getService(PerfilAcessoPastaService.class, null); PastaDTO pastaDto = new PastaDTO(); if (baseConhecimentoDto.getIdPasta() != null) { pastaDto.setId(baseConhecimentoDto.getIdPasta()); pastaDto = (PastaDTO) pastaService.restore(pastaDto); return perfilAcessoPastaService.verificarPermissaoDeAcessoPasta(usuarioDto, pastaDto); } return null; } /** * Gera tree de subPastas. * * @param sb * @param listaDeSubPastas * @param pasta * @param request * @throws ServiceException * @throws Exception * @author Thays */ public void gerarSubpastas(StringBuilder sb, Collection<PastaDTO> listaDeSubPastas, PastaDTO pasta, HttpServletRequest request) throws ServiceException, Exception { BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, null); GrupoEmpregadoService grupoEmpregadoService = (GrupoEmpregadoService) ServiceLocator.getInstance().getService(GrupoEmpregadoService.class, null); PerfilAcessoGrupoService perfilAcessoGrupoService = (PerfilAcessoGrupoService) ServiceLocator.getInstance().getService(PerfilAcessoGrupoService.class, null); PastaService pastaService = (PastaService) ServiceLocator.getInstance().getService(PastaService.class, null); UsuarioDTO usuarioDto = WebUtil.getUsuario(request); for (PastaDTO subPasta : listaDeSubPastas) { BaseConhecimentoDTO baseConhecimento = new BaseConhecimentoDTO(); Collection<PastaDTO> listSubSubPasta = pastaService.listSubPastas(subPasta); String nomeSubPasta = subPasta.getNome(); sb.append("<li class='collapsable'>"); sb.append("<div class=\"hitarea closed-hitarea collapsable-hitarea\">"); sb.append("</div>"); if (listSubSubPasta != null && !listSubSubPasta.isEmpty()) { sb.append("<span class=\"folder\">"); sb.append(this.obterStatusPermissao(request, subPasta, subPasta.getNome(), usuarioDto)); sb.append("</span >"); Collection<BaseConhecimentoDTO> listBaseconhecimentoDaSubpasta = baseConhecimentoService.listarBaseConhecimentoByPasta(subPasta); if (listBaseconhecimentoDaSubpasta != null && !listBaseconhecimentoDaSubpasta.isEmpty()) { sb.append("<ul>"); for (BaseConhecimentoDTO base : listBaseconhecimentoDaSubpasta) { sb.append("<li>"); sb.append("<span class=\"file\">"); /* * sb.append("<a href='#' onclick='tituloBaseConhecimentoView(" + base.getIdBaseConhecimento() + "); corTitulo(" + base.getIdBaseConhecimento() + * ");incidentesAbertosPorBaseConhecimnto(" + base.getIdBaseConhecimento() + ")'id='idTitulo" + base.getIdBaseConhecimento() + "' >"); */ sb.append("<a href='#' onclick='corTitulo(" + base.getIdBaseConhecimento() + ");itensConfiguracoesAbertosPorBaseConhecimnto(" + base.getIdBaseConhecimento() + ");incidentesAbertosPorBaseConhecimnto(" + base.getIdBaseConhecimento() + ");problemasAbertosPorBaseConhecimnto(" + base.getIdBaseConhecimento() + ");mudancasAbertasPorBaseConhecimnto(" + base.getIdBaseConhecimento() + ");comentariosAbertosPorBaseConhecimnto(" + base.getIdBaseConhecimento() + ");verificarPermissaoDeAcesso(" + base.getIdPasta() + "," + base.getIdBaseConhecimento() + ");desabilitaDivPesquisa()' id='idTitulo" + base.getIdBaseConhecimento() + "' >"); // sb.append(this.obterStatusConfidencial(pasta, base.getTitulo(), usuarioDto)); if (base.getPrivacidade() != null && !StringUtils.isEmpty(base.getPrivacidade())) { sb.append(" " + base.getTitulo() + " - " + this.getPrivacidade(request, base.getPrivacidade()) + " "); } else { sb.append(" " + base.getTitulo() + " "); } sb.append("</a>"); sb.append("</span>"); sb.append("</li>"); } sb.append("</ul>"); } } else { sb.append("<span class=\"folder\">"); sb.append(this.obterStatusPermissao(request, subPasta, subPasta.getNome(), usuarioDto)); sb.append("</span>"); Collection<BaseConhecimentoDTO> listaBaseconhecimento = baseConhecimentoService.listarBaseConhecimentoByPasta(subPasta); if (listaBaseconhecimento != null && !listaBaseconhecimento.isEmpty()) { sb.append("<ul>"); for (BaseConhecimentoDTO base : listaBaseconhecimento) { sb.append("<li>"); sb.append("<span class=\"file\">"); sb.append("<a href='#' onclick='corTitulo(" + base.getIdBaseConhecimento() + ");incidentesAbertosPorBaseConhecimnto(" + base.getIdBaseConhecimento() + ");problemasAbertosPorBaseConhecimnto(" + base.getIdBaseConhecimento() + ");itensConfiguracoesAbertosPorBaseConhecimnto(" + base.getIdBaseConhecimento() + ");mudancasAbertasPorBaseConhecimnto(" + base.getIdBaseConhecimento() + ");comentariosAbertosPorBaseConhecimnto(" + base.getIdBaseConhecimento() + ");verificarPermissaoDeAcesso(" + base.getIdPasta() + "," + base.getIdBaseConhecimento() + ");desabilitaDivPesquisa()' id='idTitulo" + base.getIdBaseConhecimento() + "' >"); /* * sb.append("<a href='#' onclick='tituloBaseConhecimentoView(" + base.getIdBaseConhecimento() + "); corTitulo(" + base.getIdBaseConhecimento() + * ");incidentesAbertosPorBaseConhecimnto(" + base.getIdBaseConhecimento() + ")'id='idTitulo" + base.getIdBaseConhecimento() + "' >"); */ // sb.append(this.obterStatusConfidencial(pasta, base.getTitulo(), usuarioDto)); if (base.getPrivacidade() != null && !StringUtils.isEmpty(base.getPrivacidade())) { sb.append(" " + base.getTitulo() + " - " + this.getPrivacidade(request, base.getPrivacidade()) + " "); } else { sb.append(" " + base.getTitulo() + " "); } sb.append("</a>"); sb.append("</span>"); sb.append("</li>"); } sb.append("</ul>"); } } if (listSubSubPasta != null && !listSubSubPasta.isEmpty()) { sb.append("<ul id=\"subBios\"> "); this.gerarSubpastas(sb, listSubSubPasta, pasta, request); sb.append("</ul> "); sb.append("</li>"); } } } /** * Carrega combo de Pastas de Acordo com Perfil de Acesso do Usu�rio Logado. * * @param document * @param request * @throws Exception * @author Vadoilo Damasceno */ public void alimentaComboPastasBaseConhecimento(DocumentHTML document, HttpServletRequest request) throws Exception { PastaService pastaService = (PastaService) ServiceLocator.getInstance().getService(PastaService.class, null); UsuarioDTO usuarioDto = WebUtil.getUsuario(request); HTMLSelect combo = (HTMLSelect) document.getSelectById("comboPasta"); inicializaCombo(combo, request); ArrayList<PastaDTO> listaPastaAux = (ArrayList<PastaDTO>) pastaService.listPastasESubpastas(usuarioDto); for (PastaDTO pasta : listaPastaAux) { if (pasta.getDataFim() == null) { combo.addOption(pasta.getId().toString(), pasta.getNomeNivel()); } } } /** * Carrega combo de Origem do conhecimento * * @param document * @param request * @throws Exception * @author rodrigo.oliveira */ public void preencherComboOrigem(DocumentHTML document, HttpServletRequest request) throws Exception { HTMLSelect combo = (HTMLSelect) document.getSelectById("comboOrigem"); combo.removeAllOptions(); combo.addOption(BaseConhecimentoDTO.CONHECIMENTO.toString(), UtilI18N.internacionaliza(request, "baseConhecimento.conhecimento")); combo.addOption(BaseConhecimentoDTO.EVENTO.toString(), UtilI18N.internacionaliza(request, "justificacaoFalhas.evento")); combo.addOption(BaseConhecimentoDTO.MUDANCA.toString(), UtilI18N.internacionaliza(request, "requisicaMudanca.mudanca")); combo.addOption(BaseConhecimentoDTO.INCIDENTE.toString(), UtilI18N.internacionaliza(request, "solicitacaoServico.incidente")); combo.addOption(BaseConhecimentoDTO.SERVICO.toString(), UtilI18N.internacionaliza(request, "servico.servico")); combo.addOption(BaseConhecimentoDTO.PROBLEMA.toString(), UtilI18N.internacionaliza(request, "problema.problema")); } /** * Preenche Combo Privacidade. * * @param document * @param request * @throws Exception * @author Vadoilo Damasceno */ public void preencherComboPrivacidade(DocumentHTML document, HttpServletRequest request) throws Exception { HTMLSelect comboPrivacidade = (HTMLSelect) document.getSelectById("comboPrivacidade"); comboPrivacidade.removeAllOptions(); comboPrivacidade.addOption(BaseConhecimentoDTO.CONFIDENCIAL.toString(), UtilI18N.internacionaliza(request, "baseconhecimento.privacidade.confidencial")); comboPrivacidade.addOption(BaseConhecimentoDTO.PUBLICO.toString(), UtilI18N.internacionaliza(request, "baseconhecimento.privacidade.publico")); comboPrivacidade.addOption(BaseConhecimentoDTO.INTERNO.toString(), UtilI18N.internacionaliza(request, "baseconhecimento.privacidade.interno")); } /** * Preenche combo situa��o. * * @param document * @param request * @throws Exception * @author Vadoilo Damasceno */ public void preencherComboSituacao(DocumentHTML document, HttpServletRequest request) throws Exception { HTMLSelect comboPrivacidade = (HTMLSelect) document.getSelectById("comboSituacao"); comboPrivacidade.removeAllOptions(); comboPrivacidade.addOption(BaseConhecimentoDTO.EMDESENHO.toString(), UtilI18N.internacionaliza(request, "baseconhecimento.emdesenho")); comboPrivacidade.addOption(BaseConhecimentoDTO.EMREVISAO.toString(), UtilI18N.internacionaliza(request, "baseconhecimento.emrevisao")); comboPrivacidade.addOption(BaseConhecimentoDTO.REVISADO.toString(), UtilI18N.internacionaliza(request, "baseconhecimento.revisado")); comboPrivacidade.addOption(BaseConhecimentoDTO.EMAVALIACAO.toString(), UtilI18N.internacionaliza(request, "baseconhecimento.emavaliacao")); comboPrivacidade.addOption(BaseConhecimentoDTO.AVALIADO.toString(), UtilI18N.internacionaliza(request, "baseconhecimento.avaliado")); } /** * Verifica se usu�rio aprova Base Conhecimento na pasta selecionada. * * @param usuarioDto * @param idPasta * @return true = aprova; false = n�o aprova. * @throws ServiceException * @throws Exception * @author Vadoilo Damasceno */ private boolean usuarioAprovaBaseConhecimento(UsuarioDTO usuarioDto, Integer idPasta) throws ServiceException, Exception { boolean aprovaBaseConhecimento = false; PerfilAcessoPastaService perfilAcessoPastaService = (PerfilAcessoPastaService) ServiceLocator.getInstance().getService(PerfilAcessoPastaService.class, null); aprovaBaseConhecimento = perfilAcessoPastaService.verificarSeUsuarioAprovaBaseConhecimentoParaPastaSelecionada(usuarioDto, idPasta); return aprovaBaseConhecimento; } public void verificarNotificacoes(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws ServiceException, Exception { BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, null); if (baseConhecimentoDto.getIdBaseConhecimento() != null) { baseConhecimentoDto = (BaseConhecimentoDTO) baseConhecimentoService.restore(baseConhecimentoDto); if (baseConhecimentoDto.getIdNotificacao() != null) { Notificacao notificacao = new Notificacao(); NotificacaoDTO notificacaoDto = new NotificacaoDTO(); notificacaoDto.setIdBaseConhecimento(baseConhecimentoDto.getIdBaseConhecimento()); notificacaoDto.setIdNotificacao(baseConhecimentoDto.getIdNotificacao()); DocumentHTML documentNotificacao = document; documentNotificacao.setBean(notificacaoDto); notificacao.restore(documentNotificacao, request, response); } } } /** * Verifica se usu�rio possui acesso ao Conhecimento que est� tentanto relacionar. * * @param document * @param request * @param response * @throws ServiceException * @throws Exception * @author Vadoilo Damasceno */ public void validarRelacionamentoConhecimento(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws ServiceException, Exception { BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); UsuarioDTO usuarioDto = WebUtil.getUsuario(request); BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, null); if (baseConhecimentoDto.getIdConhecimentoRelacionado() != null) { baseConhecimentoDto.setIdBaseConhecimento(baseConhecimentoDto.getIdConhecimentoRelacionado()); baseConhecimentoDto = (BaseConhecimentoDTO) baseConhecimentoService.restore(baseConhecimentoDto); PermissaoAcessoPasta permissao = this.obterPermissaoDeAcessoPasta(baseConhecimentoDto, usuarioDto); if (permissao != null && (permissao.equals(PermissaoAcessoPasta.LEITURA) || permissao.equals(PermissaoAcessoPasta.LEITURAGRAVACAO))) { document.executeScript("addLinhaTabelaConhecimentoRelacionado(" + baseConhecimentoDto.getIdBaseConhecimento() + ",'" + baseConhecimentoDto.getTitulo() + "'," + true + ");"); } else { document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.usuarioSemPermissao")); } } } @Override public Class getBeanClass() { return BaseConhecimentoDTO.class; } /** * @return valor do atributo idPrimeiraPasta. */ public Integer getIdPrimeiraPasta() { return idPrimeiraPasta; } /** * Define valor do atributo idPrimeiraPasta. * * @param idPrimeiraPasta */ public void setIdPrimeiraPasta(Integer idPrimeiraPasta) { this.idPrimeiraPasta = idPrimeiraPasta; } /** * Preenche combo de Notifica��es. * * @param document * @param request * @param response * @throws Exception * @author Thays */ public void preencherComboNotificacao(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { HTMLSelect comboTipoNotificacao = (HTMLSelect) document.getSelectById("tipo"); inicializaCombo(comboTipoNotificacao, request); for (Enumerados.TipoNotificacao tipoNotificacao : Enumerados.TipoNotificacao.values()) { comboTipoNotificacao.addOption(tipoNotificacao.getTipoNotificacao(), UtilI18N.internacionaliza(request, tipoNotificacao.getDescricao())); } /* * comboTipoNotificacao.addOption("T", "Tudo for alterado"); comboTipoNotificacao.addOption("C", "Novas nofitica��es for adicionadas"); comboTipoNotificacao.addOption("A", * "Notifica��es forem alteradas"); comboTipoNotificacao.addOption("E", "Notifica��es forem excluidas"); */ } /** * Inicializa combo. * * @param componenteCombo * @param request * @author Vadoilo Damasceno */ private void inicializaCombo(HTMLSelect componenteCombo, HttpServletRequest request) { componenteCombo.removeAllOptions(); componenteCombo.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); } /** * Restorna String com a Label Confidencial caso o usu�rio n�o possua Permiss�o de Acesso a Pasta ou a Base de Conhecimento. * * @param idPasta * @param pastaBaseConhecimento * @param usuarioDto * @return String * @throws ServiceException * @throws Exception * @author Vadoilo Damasceno */ public String obterStatusPermissao(HttpServletRequest request, PastaDTO pastaDto, String pastaBaseConhecimento, UsuarioDTO usuarioDto) throws ServiceException, Exception { PerfilAcessoPastaService perfilAcessoPastaService = (PerfilAcessoPastaService) ServiceLocator.getInstance().getService(PerfilAcessoPastaService.class, null); PermissaoAcessoPasta permissao = null; permissao = perfilAcessoPastaService.verificarPermissaoDeAcessoPasta(usuarioDto, pastaDto); if (permissao != null) { if (PermissaoAcessoPasta.SEMPERMISSAO.equals(permissao)) { return "" + pastaBaseConhecimento + " - " + UtilI18N.internacionaliza(request, "baseconhecimento.permissao.sempermissao"); } else { return "" + pastaBaseConhecimento + " "; } } else { return "" + pastaBaseConhecimento + " - " + UtilI18N.internacionaliza(request, "baseconhecimento.permissao.sempermissao"); } } /** * Cria Notifica��o. * * @param document * @param request * @param response * @throws Exception * @author Thays */ public void gravarNotificacao(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); UsuarioDTO usuarioDto = WebUtil.getUsuario(request); NotificacaoDTO notificacaoDto = new NotificacaoDTO(); baseConhecimentoDto.setListaDeUsuarioNotificacao((ArrayList<NotificacaoUsuarioDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(NotificacaoUsuarioDTO.class, "listUsuariosNotificacaoSerializados", request)); baseConhecimentoDto.setListaDeGrupoNotificacao((ArrayList<NotificacaoGrupoDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(NotificacaoGrupoDTO.class, "listGruposNotificacaoSerializados", request)); BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, null); NotificacaoService notificacaoService = (NotificacaoService) ServiceLocator.getInstance().getService(NotificacaoService.class, null); PermissaoAcessoPasta permissao = this.obterPermissaoDeAcessoPasta(baseConhecimentoDto, usuarioDto); if (baseConhecimentoDto.getIdBaseConhecimento() != null) { if (permissao != null) { if (PermissaoAcessoPasta.LEITURAGRAVACAO.equals(permissao)) { if (baseConhecimentoDto.getIdNotificacao() != null) { if (baseConhecimentoDto.getTituloNotificacao() != null && !baseConhecimentoDto.getTituloNotificacao().equalsIgnoreCase("")) { notificacaoDto.setTitulo(baseConhecimentoDto.getTitulo()); } else { document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.tituloObrigatorio")); return; } if (baseConhecimentoDto.getTipoNotificacao() != null && !baseConhecimentoDto.getTipoNotificacao().equalsIgnoreCase("")) { notificacaoDto.setTipoNotificacao(baseConhecimentoDto.getTipoNotificacao()); } else { document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.tipoNotificacaoObrigatorio")); return; } baseConhecimentoService.criarNotificacao(baseConhecimentoDto, null); document.alert(UtilI18N.internacionaliza(request, "MSG06")); document.executeScript("limpar_LOOKUP_BASECONHECIMENTO()"); } else { if (baseConhecimentoDto.getTituloNotificacao() != null && !baseConhecimentoDto.getTituloNotificacao().equalsIgnoreCase("")) { notificacaoDto.setTitulo(baseConhecimentoDto.getTitulo()); } else { document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.tituloObrigatorio")); return; } if (baseConhecimentoDto.getTipoNotificacao() != null && !baseConhecimentoDto.getTipoNotificacao().equalsIgnoreCase("")) { notificacaoDto.setTipoNotificacao(baseConhecimentoDto.getTipoNotificacao()); } else { document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.tipoNotificacaoObrigatorio")); return; } notificacaoDto = baseConhecimentoService.criarNotificacao(baseConhecimentoDto, null); baseConhecimentoDto.setIdNotificacao(notificacaoDto.getIdNotificacao()); baseConhecimentoService.update(baseConhecimentoDto); document.alert(UtilI18N.internacionaliza(request, "MSG05")); document.executeScript("limpar_LOOKUP_BASECONHECIMENTO()"); } } else { document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.usuarioSemPermissao")); } } else { document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.usuarioSemPermissao")); } } } /** * Arquiva Documento da Base de Conhecimento. * * @param document * @param request * @param response * @throws Exception * @author Vadoilo Damasceno */ public void arquivarConhecimento(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, null); if (baseConhecimentoDto.getIdBaseConhecimento() != null) { baseConhecimentoService.arquivarConhecimento(baseConhecimentoDto); document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.documentoArquivado")); document.executeScript("limpar()"); document.executeScript("ocultarBotaoArquivar()"); } } /** * Restaura Conhecimento Arquivado da Base de Conhecimento. * * @param document * @param request * @param response * @throws Exception * @author Vadoilo Damasceno */ public void restaurarConhecimento(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, null); if (baseConhecimentoDto.getIdBaseConhecimento() != null) { baseConhecimentoService.restaurarConhecimento(baseConhecimentoDto); document.alert(UtilI18N.internacionaliza(request, "baseConhecimento.documentoRestaurado")); document.executeScript("limpar()"); document.executeScript("ocultarBotaoRestaurar()"); document.executeScript("exibirBotaoArquivar()"); } } /** * Retorna privacidade de Acordo com a sua abrevia��o. * * @param abreviacaoPrivacidade * @return Privacidade * @author Vadoilo Damasceno */ public String getPrivacidade(HttpServletRequest request, String abreviacaoPrivacidade) { if (abreviacaoPrivacidade != null && !StringUtils.isEmpty(abreviacaoPrivacidade)) { if (StringUtils.equalsIgnoreCase(BaseConhecimentoDTO.CONFIDENCIAL, abreviacaoPrivacidade)) { return UtilI18N.internacionaliza(request, "baseconhecimento.privacidade.confidencial"); } else { if (StringUtils.equalsIgnoreCase(BaseConhecimentoDTO.PUBLICO, abreviacaoPrivacidade)) { return UtilI18N.internacionaliza(request, "baseconhecimento.privacidade.publico"); } else { if (StringUtils.equalsIgnoreCase(BaseConhecimentoDTO.INTERNO, abreviacaoPrivacidade)) { return UtilI18N.internacionaliza(request, "baseconhecimento.privacidade.interno"); } } } } return ""; } /** * Retorna Grau de Import�ncia. * * @param request * @param importancia * @return String * @author Vadoilo Damasceno */ public String getGrauImportancia(HttpServletRequest request, Integer importancia) { if (importancia != null) { if (importancia == 1) { return " - " + UtilI18N.internacionaliza(request, "baseconhecimento.importancia") + ": " + UtilI18N.internacionaliza(request, "baseconhecimento.grauimportancia.baixo"); } else { if (importancia == 2) { return " - " + UtilI18N.internacionaliza(request, "baseconhecimento.importancia") + ": " + UtilI18N.internacionaliza(request, "baseconhecimento.grauimportancia.medio"); } else { if (importancia == 3) { return " - " + UtilI18N.internacionaliza(request, "baseconhecimento.importancia") + ": " + UtilI18N.internacionaliza(request, "baseconhecimento.grauimportancia.alto"); } } } } return ""; } /** * Restaura item configura��o na Grid. * * @param document * @param request * @param response * @throws Exception * @author Vadoilo Damasceno */ public void restoreItemConfiguracao(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); ItemConfiguracaoDTO itemConfiguracaoDTO = new ItemConfiguracaoDTO(); ItemConfiguracaoService itemConfiguracaoService = (ItemConfiguracaoService) ServiceLocator.getInstance().getService(ItemConfiguracaoService.class, null); itemConfiguracaoDTO.setIdItemConfiguracao(baseConhecimentoDto.getIdItemConfiguracao()); itemConfiguracaoDTO = (ItemConfiguracaoDTO) itemConfiguracaoService.restore(itemConfiguracaoDTO); HTMLTable tabelaItemConfiguracao = document.getTableById("tblIC"); if (itemConfiguracaoDTO.getSequenciaIC() == null) { tabelaItemConfiguracao.addRow(itemConfiguracaoDTO, new String[] { "", "idItemConfiguracao", "identificacao", "" }, new String[] { "idItemConfiguracao" }, UtilI18N.internacionaliza(request, "baseConhecimento.itemExiste"), new String[] { "exibeIconesIC" }, null, null); } else { tabelaItemConfiguracao.updateRow(itemConfiguracaoDTO, new String[] { "", "idItemConfiguracao", "identificacao", "" }, new String[] { "idItemConfiguracao" }, UtilI18N.internacionaliza(request, "baseConhecimento.itemExiste"), new String[] { "exibeIconesIC" }, null, null, itemConfiguracaoDTO.getSequenciaIC()); } document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblIC', 'tblIC');"); document.executeScript("fecharPopupPesquisaItemCfg()"); } /** * Restura solicita��o servi�o na Grid. * * @param document * @param request * @param response * @throws Exception * @author Vadoilo Damasceno */ public void atualizaGridSolicitacao(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); SolicitacaoServicoService solicitacaoServicoService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService(SolicitacaoServicoService.class, null); ServicoContratoService servicoContratoService = (ServicoContratoService) ServiceLocator.getInstance().getService(ServicoContratoService.class, null); ServicoService servicoService = (ServicoService) ServiceLocator.getInstance().getService(ServicoService.class, null); SolicitacaoServicoDTO solicitacaoServicoDto = new SolicitacaoServicoDTO(); ServicoContratoDTO servicoContratoDto = new ServicoContratoDTO(); ServicoDTO servicoDto = new ServicoDTO(); solicitacaoServicoDto.setIdSolicitacaoServico(baseConhecimentoDto.getIdSolicitacaoServico()); solicitacaoServicoDto = (SolicitacaoServicoDTO) solicitacaoServicoService.restore(solicitacaoServicoDto); servicoContratoDto.setIdServicoContrato(solicitacaoServicoDto.getIdServicoContrato()); servicoContratoDto = (ServicoContratoDTO) servicoContratoService.restore(servicoContratoDto); servicoDto.setIdServico(servicoContratoDto.getIdServico()); servicoDto = (ServicoDTO) servicoService.restore(servicoDto); solicitacaoServicoDto.setNomeServico(servicoDto.getNomeServico()); HTMLTable tblSolicitacao = document.getTableById("tblSolicitacao"); if (solicitacaoServicoDto.getSequenciaSolicitacao() == null) { tblSolicitacao.addRow(solicitacaoServicoDto, new String[] { "", "", "idSolicitacaoServico", "nomeServico" }, new String[] { "idSolicitacaoServico" }, UtilI18N.internacionaliza(request, "baseConhecimento.solicitacaoExiste"), new String[] { "exibeIconesSolicitacao" }, null, null); } else { tblSolicitacao.updateRow(solicitacaoServicoDto, new String[] { "", "", "idSolicitacaoServico", "nomeServico" }, new String[] { "idSolicitacaoServico" }, UtilI18N.internacionaliza(request, "baseConhecimento.solicitacaoExiste"), new String[] { "exibeIconesSolicitacao" }, null, null, solicitacaoServicoDto.getSequenciaSolicitacao()); } document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblSolicitacao', 'tblSolicitacao');"); document.executeScript("fecharSolicitacaoServico();"); } /** * Restaura Problemas na Grid. * * @param document * @param request * @param response * @throws Exception * @author Vadoilo Damasceno */ public void atualizaGridProblema(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); ProblemaService problemaService = (ProblemaService) ServiceLocator.getInstance().getService(ProblemaService.class, null); ProblemaDTO problemaDTO = new ProblemaDTO(); problemaDTO.setIdProblema(baseConhecimentoDto.getIdProblema()); problemaDTO = (ProblemaDTO) problemaService.restore(problemaDTO); HTMLTable tblProblema = document.getTableById("tblProblema"); if (problemaDTO != null) { if (problemaDTO.getSequenciaProblema() == null) { tblProblema.addRow(problemaDTO, new String[] { "", "", "titulo", "status" }, new String[] { "idProblema" }, UtilI18N.internacionaliza(request, "baseConhecimento.problemaExiste"), new String[] { "exibeIconesProblema" }, null, null); } else { tblProblema.updateRow(problemaDTO, new String[] { "", "", "titulo", "status" }, new String[] { "idProblema" }, UtilI18N.internacionaliza(request, "baseConhecimento.problemaExiste"), new String[] { "exibeIconesProblema" }, null, null, problemaDTO.getSequenciaProblema()); } } document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblProblema', 'tblProblema');"); document.executeScript("fecharProblema();"); } /** * Restaura Mudan�as na Grid. * * @param document * @param request * @param response * @throws Exception * @author Vadoilo Damasceno */ public void atualizaGridMudanca(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); RequisicaoMudancaService requisicaoMudancaService = (RequisicaoMudancaService) ServiceLocator.getInstance().getService(RequisicaoMudancaService.class, null); RequisicaoMudancaDTO requisicaoMudancaDTO = new RequisicaoMudancaDTO(); requisicaoMudancaDTO.setIdRequisicaoMudanca(baseConhecimentoDto.getIdRequisicaoMudanca()); requisicaoMudancaDTO = (RequisicaoMudancaDTO) requisicaoMudancaService.restore(requisicaoMudancaDTO); HTMLTable tblMudanca = document.getTableById("tblMudanca"); if (requisicaoMudancaDTO.getSequenciaMudanca() == null) { tblMudanca.addRow(requisicaoMudancaDTO, new String[] { "", "", "titulo", "status" }, new String[] { "idRequisicaoMudanca" }, UtilI18N.internacionaliza(request, "baseConhecimento.mudancaExiste"), new String[] { "exibeIconesMudanca" }, null, null); } else { tblMudanca.updateRow(requisicaoMudancaDTO, new String[] { "", "", "titulo", "status" }, new String[] { "idRequisicaoMudanca" }, UtilI18N.internacionaliza(request, "baseConhecimento.mudancaExiste"), new String[] { "exibeIconesMudanca" }, null, null, requisicaoMudancaDTO.getSequenciaMudanca()); } document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblMudanca', 'tblMudanca');"); document.executeScript("fecharMudancaAtualizaGrid();"); } /** * Restaura Libera��es na Grid. * * @param document * @param request * @param response * @throws Exception * @author murilo.pacheco */ public void atualizaGridLiberacao(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); RequisicaoLiberacaoService requisicaoLiberacaoService = (RequisicaoLiberacaoService) ServiceLocator.getInstance().getService(RequisicaoLiberacaoService.class, null); RequisicaoLiberacaoDTO requisicaoLiberacaoDTO = new RequisicaoLiberacaoDTO(); requisicaoLiberacaoDTO.setIdRequisicaoLiberacao(baseConhecimentoDto.getIdRequisicaoLiberacao()); requisicaoLiberacaoDTO = (RequisicaoLiberacaoDTO) requisicaoLiberacaoService.restore(requisicaoLiberacaoDTO); HTMLTable tblMudanca = document.getTableById("tblLiberacao"); if (requisicaoLiberacaoDTO.getSeqReabertura() == null) { tblMudanca.addRow(requisicaoLiberacaoDTO, new String[] { "", "", "titulo", "status" }, new String[] { "idRequisicaoLiberacao" }, UtilI18N.internacionaliza(request, "baseConhecimento.liberacaoExiste"), new String[] { "exibeIconesLiberacao" }, null, null); } else { tblMudanca.updateRow(requisicaoLiberacaoDTO, new String[] { "", "", "titulo", "status" }, new String[] { "idRequisicaoLiberacao" }, UtilI18N.internacionaliza(request, "baseConhecimento.liberacaoExiste"), new String[] { "exibeIconesLiberacao" }, null, null, requisicaoLiberacaoDTO.getIdRequisicaoLiberacao()); } document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblLiberacao', 'tblLiberacao');"); document.executeScript("fecharLiberacao();"); } /** * Associa solicita��es ao documento. * * @param document * @param request * @param response * @throws Exception * @author Vadoilo Damasceno */ public void gravarSolicitacoesConhecimento(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, WebUtil.getUsuarioSistema(request)); BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); List<SolicitacaoServicoDTO> colItensINC_Serialize = (List<SolicitacaoServicoDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(SolicitacaoServicoDTO.class, "colItensINC_Serialize", request); baseConhecimentoDto.setColItensIncidentes(colItensINC_Serialize); baseConhecimentoService.gravarSolicitacoesConhecimento(baseConhecimentoDto); document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); document.alert(UtilI18N.internacionaliza(request, "MSG05")); } /** * Associa problemas ao documento. * * @param document * @param request * @param response * @throws Exception * @author Vadoilo Damasceno */ public void gravarProblemasConhecimento(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, WebUtil.getUsuarioSistema(request)); BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); List<ProblemaDTO> colItensProblema_Serialize = (List<ProblemaDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(ProblemaDTO.class, "colItensProblema_Serialize", request); baseConhecimentoDto.setColItensProblema(colItensProblema_Serialize); baseConhecimentoService.gravarProblemasConhecimento(baseConhecimentoDto); document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); document.alert(UtilI18N.internacionaliza(request, "MSG05")); } /** * Associa mudan�as ao documento. * * @param document * @param request * @param response * @throws Exception * @author Vadoilo Damasceno */ public void gravarMudancaConhecimento(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, WebUtil.getUsuarioSistema(request)); BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); List<RequisicaoMudancaDTO> colItensMudanca_Serialize = (List<RequisicaoMudancaDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(RequisicaoMudancaDTO.class, "colItensMudanca_Serialize", request); baseConhecimentoDto.setColItensMudanca(colItensMudanca_Serialize); baseConhecimentoService.gravarMudancaConhecimento(baseConhecimentoDto); document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); document.alert(UtilI18N.internacionaliza(request, "MSG05")); } /** * Associa Libera�oes ao documento. * * @param document * @param request * @param response * @throws Exception * @author murilo.pacheco */ public void gravarLiberacaoConhecimento(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, WebUtil.getUsuarioSistema(request)); BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); List<RequisicaoLiberacaoDTO> colItensLiberacao_Serialize = (List<RequisicaoLiberacaoDTO>) br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(RequisicaoLiberacaoDTO.class, "colItensLiberacao_Serialize", request); baseConhecimentoDto.setColItensLiberacao(colItensLiberacao_Serialize); baseConhecimentoService.gravarLiberacaoConhecimento(baseConhecimentoDto); document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); document.alert(UtilI18N.internacionaliza(request, "MSG05")); } /** * Associa itens configura��o ao documento. * * @param document * @param request * @param response * @throws Exception * @author Vadoilo Damasceno */ public void gravarICConhecimento(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, WebUtil.getUsuarioSistema(request)); BaseConhecimentoDTO baseConhecimentoDto = (BaseConhecimentoDTO) document.getBean(); List<ItemConfiguracaoDTO> colItensIC = (List<ItemConfiguracaoDTO>) br.com.citframework.util.WebUtil .deserializeCollectionFromRequest(ItemConfiguracaoDTO.class, "colItensIC_Serialize", request); baseConhecimentoDto.setColItensICSerialize(colItensIC); baseConhecimentoService.gravarICConhecimento(baseConhecimentoDto); document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); document.alert(UtilI18N.internacionaliza(request, "MSG05")); } private ProblemaDTO getProblemaDto(Integer idProblema) throws Exception { ProblemaService problemaService = (ProblemaService)ServiceLocator.getInstance().getService(ProblemaService.class,null); ProblemaDTO problemaDto = new ProblemaDTO(); if(idProblema!=null){ problemaDto.setIdProblema(idProblema); problemaDto = (ProblemaDTO) problemaService.restore(problemaDto); } return problemaDto; } }