package br.com.centralit.citcorpore.ajaxForms; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.StringEscapeUtils; import br.com.centralit.citajax.html.AjaxFormAction; import br.com.centralit.citajax.html.DocumentHTML; 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.CalendarioDTO; import br.com.centralit.citcorpore.bean.ClienteDTO; import br.com.centralit.citcorpore.bean.ContratoDTO; import br.com.centralit.citcorpore.bean.EmpregadoDTO; import br.com.centralit.citcorpore.bean.EventoMonitoramentoDTO; import br.com.centralit.citcorpore.bean.FaixaValoresRecursoDTO; import br.com.centralit.citcorpore.bean.FornecedorDTO; import br.com.centralit.citcorpore.bean.GrupoRecursosDTO; import br.com.centralit.citcorpore.bean.ItemConfiguracaoDTO; import br.com.centralit.citcorpore.bean.NagiosConexaoDTO; import br.com.centralit.citcorpore.bean.RecursoDTO; import br.com.centralit.citcorpore.bean.ServicoContratoDTO; import br.com.centralit.citcorpore.bean.ServicoDTO; import br.com.centralit.citcorpore.negocio.CalendarioService; import br.com.centralit.citcorpore.negocio.ClienteService; import br.com.centralit.citcorpore.negocio.ContratoService; import br.com.centralit.citcorpore.negocio.EmpregadoService; import br.com.centralit.citcorpore.negocio.EventoMonitoramentoService; import br.com.centralit.citcorpore.negocio.FornecedorService; import br.com.centralit.citcorpore.negocio.GrupoRecursosService; import br.com.centralit.citcorpore.negocio.GrupoService; import br.com.centralit.citcorpore.negocio.ItemConfiguracaoService; import br.com.centralit.citcorpore.negocio.NagiosConexaoService; import br.com.centralit.citcorpore.negocio.OrigemAtendimentoService; import br.com.centralit.citcorpore.negocio.RecursoService; import br.com.centralit.citcorpore.negocio.ServicoContratoService; import br.com.centralit.citcorpore.negocio.ServicoService; import br.com.centralit.citcorpore.util.Enumerados.TipoDate; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.UtilDatas; import br.com.citframework.util.UtilI18N; import br.com.citframework.util.WebUtil; @SuppressWarnings({ "rawtypes", "unused" }) public class Recurso extends AjaxFormAction { @Override public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { Boolean acao = false; GrupoRecursosService grupoRecursosService = (GrupoRecursosService) ServiceLocator.getInstance().getService(GrupoRecursosService.class, null); Collection colGrupos = grupoRecursosService.list(); HTMLSelect idGrupoRecurso = document.getSelectById("idGrupoRecurso"); idGrupoRecurso.removeAllOptions(); idGrupoRecurso.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); if (colGrupos != null) { for (Iterator it = colGrupos.iterator(); it.hasNext();) { GrupoRecursosDTO grupoRecursosDTO = (GrupoRecursosDTO) it.next(); if (grupoRecursosDTO.getDeleted() == null || grupoRecursosDTO.getDeleted().equalsIgnoreCase("n")) { idGrupoRecurso.addOption("" + grupoRecursosDTO.getIdGrupoRecurso(),StringEscapeUtils.escapeJavaScript(grupoRecursosDTO.getNomeGrupoRecurso())); } } } RecursoService recursoService = (RecursoService) ServiceLocator.getInstance().getService(RecursoService.class, null); Collection colRecursos = recursoService.list(); HTMLSelect idRecursoPai = document.getSelectById("idRecursoPai"); idRecursoPai.removeAllOptions(); idRecursoPai.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); if (colRecursos != null) { for (Iterator it = colRecursos.iterator(); it.hasNext();) { RecursoDTO recursoDTO = (RecursoDTO) it.next(); if (recursoDTO.getDeleted() == null || recursoDTO.getDeleted().equalsIgnoreCase("n")) { idRecursoPai.addOption("" + recursoDTO.getIdRecurso(),StringEscapeUtils.escapeJavaScript(recursoDTO.getNomeRecurso())); } } } NagiosConexaoService nagiosConexaoService = (NagiosConexaoService) ServiceLocator.getInstance().getService(NagiosConexaoService.class, null); Collection colNagiosConexao = nagiosConexaoService.list(); HTMLSelect idNagiosConexao = document.getSelectById("idNagiosConexao"); idNagiosConexao.removeAllOptions(); idNagiosConexao.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); if (colNagiosConexao != null) { for (Iterator it = colNagiosConexao.iterator(); it.hasNext();) { NagiosConexaoDTO nagiosConexaoDTO = (NagiosConexaoDTO) it.next(); idNagiosConexao.addOption("" + nagiosConexaoDTO.getIdNagiosConexao(), StringEscapeUtils.escapeJavaScript(nagiosConexaoDTO.getNome())); } } CalendarioService calendarioService = (CalendarioService) ServiceLocator.getInstance().getService(CalendarioService.class, null); Collection colCalendarios = calendarioService.list(); HTMLSelect idCalendario = document.getSelectById("idCalendario"); idCalendario.removeAllOptions(); idCalendario.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); if (colCalendarios != null) { for (Iterator it = colCalendarios.iterator(); it.hasNext();) { CalendarioDTO calendarioDTO = (CalendarioDTO) it.next(); idCalendario.addOption("" + calendarioDTO.getIdCalendario(), StringEscapeUtils.escapeJavaScript(calendarioDTO.getDescricao())); } } EventoMonitoramentoService eventoMonitoramentoService = (EventoMonitoramentoService) ServiceLocator.getInstance().getService(EventoMonitoramentoService.class, null); Collection colEventosMon = eventoMonitoramentoService.list(); HTMLSelect idEventoMonitoramento = document.getSelectById("idEventoMonitoramento"); idEventoMonitoramento.removeAllOptions(); idEventoMonitoramento.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); if (colEventosMon != null) { for (Iterator it = colEventosMon.iterator(); it.hasNext();) { EventoMonitoramentoDTO eventoMonitoramentoDTO = (EventoMonitoramentoDTO) it.next(); idEventoMonitoramento.addOption("" + eventoMonitoramentoDTO.getIdEventoMonitoramento(), StringEscapeUtils.escapeJavaScript(eventoMonitoramentoDTO.getNomeEvento())); } } HTMLSelect urgencia = (HTMLSelect) document.getSelectById("urgencia"); urgencia.removeAllOptions(); urgencia.addOption("B", UtilI18N.internacionaliza(request, "citcorpore.comum.baixa")); urgencia.addOption("M", UtilI18N.internacionaliza(request, "citcorpore.comum.media")); urgencia.addOption("A", UtilI18N.internacionaliza(request, "citcorpore.comum.alta")); HTMLSelect impacto = (HTMLSelect) document.getSelectById("impacto"); impacto.removeAllOptions(); impacto.addOption("B", UtilI18N.internacionaliza(request, "citcorpore.comum.baixa")); impacto.addOption("M", UtilI18N.internacionaliza(request, "citcorpore.comum.media")); impacto.addOption("A", UtilI18N.internacionaliza(request, "citcorpore.comum.alta")); OrigemAtendimentoService origemService = (OrigemAtendimentoService) ServiceLocator.getInstance().getService(OrigemAtendimentoService.class, null); HTMLSelect idOrigem = (HTMLSelect) document.getSelectById("idOrigem"); idOrigem.removeAllOptions(); idOrigem.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); Collection col = origemService.list(); if (col != null) { idOrigem.addOptions(col, "idOrigem", "descricao", null); } ContratoService contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null); ClienteService clienteService = (ClienteService) ServiceLocator.getInstance().getService(ClienteService.class, null); FornecedorService fornecedorService = (FornecedorService) ServiceLocator.getInstance().getService(FornecedorService.class, null); Collection colContratos = contratoService.list(); Collection<ContratoDTO> listaContratos = new ArrayList<ContratoDTO>(); ((HTMLSelect) document.getSelectById("idContrato")).addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); if (colContratos != null) { for (Iterator it = colContratos.iterator(); it.hasNext();) { ContratoDTO contratoDto = (ContratoDTO) it.next(); if (contratoDto.getDeleted() == null || !contratoDto.getDeleted().equalsIgnoreCase("y")) { String nomeCliente = ""; String nomeForn = ""; ClienteDTO clienteDto = new ClienteDTO(); clienteDto.setIdCliente(contratoDto.getIdCliente()); clienteDto = (ClienteDTO) clienteService.restore(clienteDto); if (clienteDto != null) { nomeCliente = clienteDto.getNomeRazaoSocial(); } FornecedorDTO fornecedorDto = new FornecedorDTO(); fornecedorDto.setIdFornecedor(contratoDto.getIdFornecedor()); fornecedorDto = (FornecedorDTO) fornecedorService.restore(fornecedorDto); if (fornecedorDto != null) { nomeForn = fornecedorDto.getRazaoSocial(); } if (contratoDto.getSituacao().equalsIgnoreCase("A")) { String nomeContrato = "" + contratoDto.getNumero() + " de " + UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, contratoDto.getDataContrato(), WebUtil.getLanguage(request)) + " (" + nomeCliente + " - " + nomeForn + ")"; //((HTMLSelect) document.getSelectById("idContrato")).addOption("" + contratoDto.getIdContrato(), nomeContrato); contratoDto.setNome(nomeContrato); listaContratos.add(contratoDto); } } } } if(listaContratos != null){ ((HTMLSelect) document.getSelectById("idContrato")).addOptions(listaContratos, "idContrato", "nome", null); } HTMLSelect idGrupo = (HTMLSelect) document.getSelectById("idGrupo"); idGrupo.removeAllOptions(); idGrupo.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); GrupoService grupoSegurancaService = (GrupoService) ServiceLocator.getInstance().getService(GrupoService.class, null); Collection colGruposPess = grupoSegurancaService.findGruposAtivos(); if (colGruposPess != null) idGrupo.addOptions(colGruposPess, "idGrupo", "nome", null); } @Override public Class getBeanClass() { return RecursoDTO.class; } public void listaServicos(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { ServicoService servicoService = (ServicoService) ServiceLocator.getInstance().getService(ServicoService.class, null); RecursoDTO recursoDTO = (RecursoDTO) document.getBean(); HTMLSelect idServico = (HTMLSelect) document.getSelectById("idServico"); idServico.removeAllOptions(); Collection col = servicoService.findByIdTipoDemandaAndIdContrato(3, recursoDTO.getIdContrato(), null); if (col != null) { idServico.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); for (Iterator it = col.iterator(); it.hasNext();) { ServicoDTO servicoDTO = (ServicoDTO) it.next(); if (servicoDTO.getDeleted() == null || servicoDTO.getDeleted().equalsIgnoreCase("N")) { if (servicoDTO.getIdSituacaoServico().intValue() == 1) { // ATIVO idServico.addOptionIfNotExists("" + servicoDTO.getIdServico(), StringEscapeUtils.escapeJavaScript(servicoDTO.getNomeServico())); } } } } } public void listaICSVinc(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { ItemConfiguracaoService itemConfiguracaoService = (ItemConfiguracaoService) ServiceLocator.getInstance().getService(ItemConfiguracaoService.class, null); RecursoDTO recursoDTO = (RecursoDTO) document.getBean(); HTMLSelect idItemConfiguracao = (HTMLSelect) document.getSelectById("idItemConfiguracao"); idItemConfiguracao.removeAllOptions(); if (recursoDTO.getIdItemConfiguracaoPai() != null){ Collection col = itemConfiguracaoService.findByIdItemConfiguracaoPai(recursoDTO.getIdItemConfiguracaoPai()); if (col != null) { idItemConfiguracao.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); for (Iterator it = col.iterator(); it.hasNext();) { ItemConfiguracaoDTO itemConfiguracaoDTO = (ItemConfiguracaoDTO) it.next(); idItemConfiguracao.addOptionIfNotExists("" + itemConfiguracaoDTO.getIdItemConfiguracao(), StringEscapeUtils.escapeJavaScript(itemConfiguracaoDTO.getIdentificacao())); } } } } public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { RecursoDTO objDto = (RecursoDTO) document.getBean(); Collection colFaixasValores = WebUtil.deserializeCollectionFromRequest( FaixaValoresRecursoDTO.class, "colFaixasSerialize", request); RecursoService objService = (RecursoService) ServiceLocator .getInstance().getService(RecursoService.class, null); ServicoContratoService servicoContratoService = (ServicoContratoService) ServiceLocator .getInstance().getService(ServicoContratoService.class, null); objDto.setColFaixasValores(colFaixasValores); if (objDto.getIdItemConfiguracao() == null){ objDto.setIdItemConfiguracao(objDto.getIdItemConfiguracaoPai()); } if (objDto.getIdServico() != null && objDto.getIdContrato() != null){ ServicoContratoDTO servicoContratoDTO = (ServicoContratoDTO) servicoContratoService.findByIdContratoAndIdServico(objDto.getIdContrato(), objDto.getIdServico()); if (servicoContratoDTO != null){ objDto.setIdServicoContrato(servicoContratoDTO.getIdServicoContrato()); } } if (objDto.getIdRecurso() == null || objDto.getIdRecurso().intValue() == 0) { objService.create(objDto); } else { objService.update(objDto); } HTMLForm form = document.getForm("form"); form.clear(); HTMLTable tbl = document.getTableById("tblFaixaControle"); tbl.deleteAllRows(); document.alert("Registro gravado com sucesso!"); } public void restore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { RecursoDTO objDto = (RecursoDTO) document.getBean(); RecursoService recursoService = (RecursoService) ServiceLocator.getInstance().getService(RecursoService.class, null); EmpregadoService empregadoService = (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, null); ServicoContratoService servicoContratoService = (ServicoContratoService) ServiceLocator.getInstance().getService(ServicoContratoService.class, null); ItemConfiguracaoService itemConfiguracaoService = (ItemConfiguracaoService) ServiceLocator.getInstance().getService(ItemConfiguracaoService.class, null); objDto = (RecursoDTO) recursoService.restore(objDto); HTMLTable tbl = document.getTableById("tblFaixaControle"); tbl.deleteAllRows(); if (objDto != null && objDto.getColFaixasValores() != null) { tbl.addRowsByCollection(objDto.getColFaixasValores(), new String[] { "valorInicio", "valorFim", "corInner", "" }, null, "Registro Duplicado", new String[] { "geraBtnExcluir" }, null, null); } HTMLSelect idServico = (HTMLSelect) document.getSelectById("idServico"); idServico.removeAllOptions(); HTMLSelect idItemConfiguracao = (HTMLSelect) document.getSelectById("idItemConfiguracao"); idItemConfiguracao.removeAllOptions(); HTMLForm form = document.getForm("form"); form.clear(); form.setValues(objDto); if (objDto != null){ if (objDto.getIdSolicitante() != null){ EmpregadoDTO empregadoDto = new EmpregadoDTO(); empregadoDto.setIdEmpregado(objDto.getIdSolicitante()); try{ empregadoDto = (EmpregadoDTO) empregadoService.restore(empregadoDto); }catch(Exception e){ empregadoDto = null; } if (empregadoDto != null){ String str = empregadoDto.getNome(); str = str.replaceAll("'", ""); document.executeScript("LOOKUP_SOLICITANTE.setvalue('" + empregadoDto.getIdEmpregado() + "')"); document.executeScript("document.form.nomeSolicitante.value = '" + str + "'"); document.executeScript("LOOKUP_SOLICITANTE.settext('" + str + "')"); } } if (objDto.getIdServicoContrato() != null){ ServicoContratoDTO servicoContratoDTO = new ServicoContratoDTO(); servicoContratoDTO.setIdServicoContrato(objDto.getIdServicoContrato()); try{ servicoContratoDTO = (ServicoContratoDTO) servicoContratoService.restore(servicoContratoDTO); }catch(Exception e){ e.printStackTrace(); servicoContratoDTO = null; } if (servicoContratoDTO != null){ document.getElementById("idContrato").setValue("" + servicoContratoDTO.getIdContrato()); ServicoService servicoService = (ServicoService) ServiceLocator.getInstance().getService(ServicoService.class, null); Collection col = servicoService.findByIdTipoDemandaAndIdContrato(3, servicoContratoDTO.getIdContrato(), null); if (col != null) { idServico.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); for (Iterator it = col.iterator(); it.hasNext();) { ServicoDTO servicoDTO = (ServicoDTO) it.next(); if (servicoDTO.getDeleted() == null || servicoDTO.getDeleted().equalsIgnoreCase("N")) { if (servicoDTO.getIdSituacaoServico().intValue() == 1) { // ATIVO idServico.addOptionIfNotExists("" + servicoDTO.getIdServico(), servicoDTO.getNomeServico()); } } } } document.getElementById("idServico").setValue("" + servicoContratoDTO.getIdServico()); } } if (objDto.getIdItemConfiguracao() != null){ ItemConfiguracaoDTO itemConfiguracaoDTO = new ItemConfiguracaoDTO(); itemConfiguracaoDTO.setIdItemConfiguracao(objDto.getIdItemConfiguracao()); try{ itemConfiguracaoDTO = (ItemConfiguracaoDTO) itemConfiguracaoService.restore(itemConfiguracaoDTO); }catch(Exception e){ itemConfiguracaoDTO = null; } if (itemConfiguracaoDTO != null){ if (itemConfiguracaoDTO.getIdItemConfiguracaoPai() != null){ ItemConfiguracaoDTO itemConfiguracaoAux = new ItemConfiguracaoDTO(); itemConfiguracaoAux.setIdItemConfiguracao(itemConfiguracaoDTO.getIdItemConfiguracaoPai()); try{ itemConfiguracaoAux = (ItemConfiguracaoDTO) itemConfiguracaoService.restore(itemConfiguracaoAux); }catch(Exception e){ itemConfiguracaoAux = null; } if (itemConfiguracaoAux != null){ String str = itemConfiguracaoAux.getIdentificacao(); str = str.replaceAll("'", ""); document.executeScript("LOOKUP_PESQUISAITEMCONFIGURACAO.setvalue('" + itemConfiguracaoAux.getIdItemConfiguracao() + "')"); document.executeScript("document.form.idItemConfiguracaoPai.value = '" + itemConfiguracaoAux.getIdItemConfiguracao() + "'"); document.executeScript("document.form.nomeItemConfiguracaoPai.value = '" + str + "'"); document.executeScript("LOOKUP_PESQUISAITEMCONFIGURACAO.settext('" + str + "')"); Collection col = itemConfiguracaoService.findByIdItemConfiguracaoPai(itemConfiguracaoDTO.getIdItemConfiguracaoPai()); if (col != null) { idItemConfiguracao.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); for (Iterator it = col.iterator(); it.hasNext();) { ItemConfiguracaoDTO itemConfiguracaoAuxDTO = (ItemConfiguracaoDTO) it.next(); idItemConfiguracao.addOptionIfNotExists("" + itemConfiguracaoAuxDTO.getIdItemConfiguracao(), StringEscapeUtils.escapeJavaScript(itemConfiguracaoAuxDTO.getIdentificacao())); } idItemConfiguracao.setValue("" + itemConfiguracaoDTO.getIdItemConfiguracao()); } } }else{ String str = itemConfiguracaoDTO.getIdentificacao(); str = str.replaceAll("'", ""); document.executeScript("LOOKUP_PESQUISAITEMCONFIGURACAO.setvalue('" + itemConfiguracaoDTO.getIdItemConfiguracao() + "')"); document.executeScript("document.form.idItemConfiguracaoPai.value = '" + itemConfiguracaoDTO.getIdItemConfiguracao() + "'"); document.executeScript("document.form.nomeItemConfiguracaoPai.value = '" + str + "'"); document.executeScript("LOOKUP_PESQUISAITEMCONFIGURACAO.settext('" + str + "')"); Collection col = itemConfiguracaoService.findByIdItemConfiguracaoPai(itemConfiguracaoDTO.getIdItemConfiguracao()); if (col != null) { idItemConfiguracao.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); for (Iterator it = col.iterator(); it.hasNext();) { ItemConfiguracaoDTO itemConfiguracaoAuxDTO = (ItemConfiguracaoDTO) it.next(); idItemConfiguracao.addOptionIfNotExists("" + itemConfiguracaoAuxDTO.getIdItemConfiguracao(), itemConfiguracaoAuxDTO.getIdentificacao()); } } } } } } document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); } }