package br.com.centralit.citcorpore.ajaxForms; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import br.com.centralit.citajax.html.AjaxFormAction; import br.com.centralit.citajax.html.DocumentHTML; import br.com.centralit.citajax.html.HTMLForm; import br.com.centralit.citcorpore.bean.BICitsmartResultRotinaDTO; import br.com.centralit.citcorpore.bean.ConexaoBIDTO; import br.com.centralit.citcorpore.bean.ProcessamentoBatchDTO; import br.com.centralit.citcorpore.negocio.ConexaoBIService; import br.com.centralit.citcorpore.negocio.ProcessamentoBatchService; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.UtilI18N; @SuppressWarnings({ "rawtypes" }) public class AgendamentoExecucaoBI extends AjaxFormAction { public void delete(DocumentHTML document, HttpServletRequest request, HttpServletResponse arg2) throws Exception { ProcessamentoBatchDTO processamentoBatchBean = (ProcessamentoBatchDTO) document.getBean(); ProcessamentoBatchService processamentoBatchService = (ProcessamentoBatchService) ServiceLocator.getInstance().getService(ProcessamentoBatchService.class, null); if (processamentoBatchBean.getIdProcessamentoBatch() == null || processamentoBatchBean.getIdProcessamentoBatch().intValue() == 0) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.necessarioSelecionarRegistro")); return; } else { processamentoBatchBean.setSituacao("I"); processamentoBatchService.update(processamentoBatchBean); document.alert(UtilI18N.internacionaliza(request, "MSG07")); } HTMLForm form = document.getForm("form"); form.clear(); document.executeScript("document.location.reload()"); } public Class getBeanClass() { return ProcessamentoBatchDTO.class; } public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { ProcessamentoBatchDTO agendamentoProcessBatchDto = (ProcessamentoBatchDTO) document.getBean(); /** * setando atributos de agendamentoExecucaoBI.jsp, por que no load � enxergado o idConexaoBI e abriuAgendamentoExcecao do formGerenciamento, mas quando entrar no save o getBean enxerga o * agendamentoExecucaoBI.jsp e com isso � necessario setar conforme esta abaixo para que os valores que estavam no formGerenciamento sejam setados no agendamentoExecucaoBI. */ document.getElementById("idConexaoBI").setValue(agendamentoProcessBatchDto.getIdConexaoBI().toString()); document.getElementById("abriuAgendamentoExcecao").setValue(agendamentoProcessBatchDto.getAbriuAgendamentoExcecao().toString()); ProcessamentoBatchService processamentoBatchService = (ProcessamentoBatchService) ServiceLocator.getInstance().getService(ProcessamentoBatchService.class, null); processamentoBatchService.populaSelects(document, request, response); ConexaoBIDTO conexaoBIDTO = new ConexaoBIDTO(); ConexaoBIService conexaoBIService = (ConexaoBIService) ServiceLocator.getInstance().getService(ConexaoBIService.class, null); conexaoBIDTO.setIdConexaoBI(agendamentoProcessBatchDto.getIdConexaoBI()); conexaoBIDTO = (ConexaoBIDTO) conexaoBIService.restore(conexaoBIDTO); /** * condi��o para verificar se o agendamento chamado � Padr�o ou de Exce��o */ if (agendamentoProcessBatchDto.getAbriuAgendamentoExcecao().equals("false")){ if (conexaoBIDTO.getIdProcessamentoBatchEspecifico() != null){ agendamentoProcessBatchDto.setIdProcessamentoBatch(conexaoBIDTO.getIdProcessamentoBatchEspecifico()); restore(document, request, response); } } else { if (conexaoBIDTO.getIdProcessamentoBatchExcecao() != null){ agendamentoProcessBatchDto.setIdProcessamentoBatch(conexaoBIDTO.getIdProcessamentoBatchExcecao()); restore(document, request, response); } } if (agendamentoProcessBatchDto.getAbriuAgendamentoExcecao()!= null && agendamentoProcessBatchDto.getAbriuAgendamentoExcecao().equals("true")){ document.executeScript("parent.setTituloModalAgendamento('excecao')"); }else { document.executeScript("parent.setTituloModalAgendamento('especifico')"); } } public void restore(DocumentHTML document, HttpServletRequest arg1, HttpServletResponse arg2) throws Exception { Integer idConexaoBI = 0; ProcessamentoBatchDTO processamentoBatchDTO = (ProcessamentoBatchDTO) document.getBean(); idConexaoBI = processamentoBatchDTO.getIdConexaoBI(); String abriuAgendamentoExcecao = processamentoBatchDTO.getAbriuAgendamentoExcecao(); ProcessamentoBatchService processamentoBatchService = (ProcessamentoBatchService) ServiceLocator.getInstance().getService(ProcessamentoBatchService.class, null); processamentoBatchDTO = (ProcessamentoBatchDTO) processamentoBatchService.restore(processamentoBatchDTO); if (processamentoBatchDTO!=null){ processamentoBatchDTO.setIdConexaoBI(idConexaoBI); processamentoBatchDTO.setAbriuAgendamentoExcecao(abriuAgendamentoExcecao); processamentoBatchService.setaPropriedadesExpressaoCron(processamentoBatchDTO); HTMLForm form = document.getForm("formAgendamento"); form.clear(); form.setValues(processamentoBatchDTO); } } public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse arg2) throws Exception { ProcessamentoBatchDTO processamentoBatchDTO = (ProcessamentoBatchDTO) document.getBean(); ProcessamentoBatchService processamentoBatchService = (ProcessamentoBatchService) ServiceLocator.getInstance().getService(ProcessamentoBatchService.class, null); ConexaoBIDTO conexaoBIDTO = new ConexaoBIDTO(); ConexaoBIService conexaoBIService = (ConexaoBIService) ServiceLocator.getInstance().getService(ConexaoBIService.class, null); conexaoBIDTO.setIdConexaoBI(processamentoBatchDTO.getIdConexaoBI()); conexaoBIDTO = (ConexaoBIDTO) conexaoBIService.restore(conexaoBIDTO); //processamentoBatchDTO.setAbriuAgendamentoExcecao(document.getElementById("abriuAgendamentoExcecao").getValue()); processamentoBatchDTO.setTipo("C"); processamentoBatchDTO.setConteudo("br.com.centralit.citcorpore.quartz.job.ImportacaoAutoBiCitsmart"); if (!processamentoBatchDTO.getAbriuAgendamentoExcecao().equalsIgnoreCase("") && processamentoBatchDTO.getAbriuAgendamentoExcecao().equalsIgnoreCase("false")){ processamentoBatchDTO.setDescricao("Importa��o autom�tica BI Citsmart - Conex�o: "+conexaoBIDTO.getNome()+ " - Espec�fico"); } else if (!processamentoBatchDTO.getAbriuAgendamentoExcecao().equalsIgnoreCase("") && processamentoBatchDTO.getAbriuAgendamentoExcecao().equalsIgnoreCase("true")){ processamentoBatchDTO.setDescricao("Importa��o autom�tica BI Citsmart - Conex�o: "+conexaoBIDTO.getNome()+ " - Exce��o"); } processamentoBatchService.montaExpressaoCron(processamentoBatchDTO); if (processamentoBatchService.validaExpressaoCron(document,request,processamentoBatchDTO)){ /** * condi��o para verificar se est� sendo tratado o agendamentoEspecifico ou o agendamentoPadrao */ if (processamentoBatchDTO.getAbriuAgendamentoExcecao() != null && processamentoBatchDTO.getAbriuAgendamentoExcecao().equals("false")){ //setando o IdProcessamentoBatch caso j� exista para a conex�o tratada if (conexaoBIDTO.getIdProcessamentoBatchEspecifico() != null){ processamentoBatchDTO.setIdProcessamentoBatch(conexaoBIDTO.getIdProcessamentoBatchEspecifico()); } // se o idProcessamento existir apenas atualiza as informa��es caso contrario entra no else e chama o create if (processamentoBatchDTO.getIdProcessamentoBatch() != null && processamentoBatchDTO.getIdProcessamentoBatch().intValue() > 0) { processamentoBatchService.update(processamentoBatchDTO); if ((processamentoBatchDTO.getSituacao()!=null)&&(processamentoBatchDTO.getSituacao().equalsIgnoreCase("A"))){ processamentoBatchService.agendaJob(processamentoBatchDTO, document, request); } document.alert(UtilI18N.internacionaliza(request, "MSG06")); document.executeScript("parent.fecharModalAgendamento();"); } else { processamentoBatchDTO = (ProcessamentoBatchDTO) processamentoBatchService.create(processamentoBatchDTO); if ((processamentoBatchDTO.getSituacao()!=null)&&(processamentoBatchDTO.getSituacao().equalsIgnoreCase("A"))){ processamentoBatchService.agendaJob(processamentoBatchDTO, document, request); } conexaoBIDTO.setIdProcessamentoBatchEspecifico(processamentoBatchDTO.getIdProcessamentoBatch()); conexaoBIService.update(conexaoBIDTO); document.alert(UtilI18N.internacionaliza(request, "MSG05")); document.executeScript("parent.fecharModalAgendamento();"); } } else { //Valida��o se o agendamento de excecao a ser gravado � superior a data/hora atual e se � uma hora inferior a data/hora da proxima execucao Padrao/especifica BICitsmartResultRotinaDTO responseValidacaoAgendExcecao = conexaoBIService.validaAgendamentoExcecao(conexaoBIDTO, processamentoBatchDTO); if (responseValidacaoAgendExcecao.isResultado()){ if (conexaoBIDTO.getIdProcessamentoBatchExcecao() != null){ processamentoBatchDTO.setIdProcessamentoBatch(conexaoBIDTO.getIdProcessamentoBatchExcecao()); } if (processamentoBatchDTO.getIdProcessamentoBatch() != null && processamentoBatchDTO.getIdProcessamentoBatch().intValue() > 0){ processamentoBatchService.update(processamentoBatchDTO); if ((processamentoBatchDTO.getSituacao()!=null)&&(processamentoBatchDTO.getSituacao().equalsIgnoreCase("A"))){ processamentoBatchService.agendaJob(processamentoBatchDTO, document, request); } document.alert(UtilI18N.internacionaliza(request, "MSG06")); document.executeScript("parent.fecharModalAgendamento();"); }else { processamentoBatchDTO = (ProcessamentoBatchDTO) processamentoBatchService.create(processamentoBatchDTO); if ((processamentoBatchDTO.getSituacao()!=null)&&(processamentoBatchDTO.getSituacao().equalsIgnoreCase("A"))){ processamentoBatchService.agendaJob(processamentoBatchDTO, document, request); } conexaoBIDTO.setIdProcessamentoBatchExcecao(processamentoBatchDTO.getIdProcessamentoBatch()); conexaoBIService.update(conexaoBIDTO); document.alert(UtilI18N.internacionaliza(request, "MSG05")); document.executeScript("parent.fecharModalAgendamento();"); } } else { document.alert(responseValidacaoAgendExcecao.getMensagem()); } } HTMLForm form = document.getForm("formAgendamento"); form.clear(); } } }