/** * CentralIT - CITSmart. */ package br.com.centralit.citcorpore.ajaxForms; import java.util.List; import java.util.Map; 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.citcorpore.bean.BaseItemConfiguracaoDTO; import br.com.centralit.citcorpore.negocio.BaseItemConfiguracaoService; import br.com.centralit.citcorpore.util.Enumerados.TipoDate; import br.com.centralit.citcorpore.util.WebUtil; import br.com.citframework.dto.IDto; import br.com.citframework.dto.Usuario; import br.com.citframework.excecao.ServiceException; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.Constantes; import br.com.citframework.util.UtilDatas; import br.com.citframework.util.UtilI18N; /** * Action de BaseItemConfiguracao. * * @author valdoilo.damasceno * */ public class BaseItemConfiguracao extends AjaxFormAction { /** Bean de Base Item Configura��o. */ private BaseItemConfiguracaoDTO baseItemConfiguracaoBean; @Override public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { } /** * Inclui Novo Base Item de Configura��o. * * @param document * @param request * @param response * @throws Exception * @author valdoilo.damasceno * @author diego.rezende */ public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { Usuario usuario = (Usuario) request.getSession().getAttribute(Constantes.getValue("USUARIO_SESSAO")); BaseItemConfiguracaoDTO[] vetorBaseItemConfiguracao = new BaseItemConfiguracaoDTO[3]; vetorBaseItemConfiguracao[0] = (BaseItemConfiguracaoDTO) document.getBean(); if (usuario == null) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoexpirada")); if (vetorBaseItemConfiguracao[0].getId() == null) { document.executeScript("desabilitarChecks()"); } return; } vetorBaseItemConfiguracao[1] = new BaseItemConfiguracaoDTO(); Map<?,?> map = document.getValuesForm(); BaseItemConfiguracaoService baseItemConfiguracaoService = (BaseItemConfiguracaoService) ServiceLocator.getInstance().getService(BaseItemConfiguracaoService.class, null); if (map.get("TIPOEXECUCAOINSTALACAO") != null && map.get("TIPOEXECUCAOINSTALACAO").equals("on")) { vetorBaseItemConfiguracao[1].setTipoexecucao("I"); vetorBaseItemConfiguracao[1].setExecutavel(String.valueOf(map.get("EXECUTAVELINSTALACAO"))); vetorBaseItemConfiguracao[1].setComando(String.valueOf(map.get("COMANDOINSTALACAO"))); } else { setarBaseItemConfiguracaoDesinstalacao(vetorBaseItemConfiguracao[1], map); } vetorBaseItemConfiguracao[2] = null; if (map.get("TIPOEXECUCAOINSTALACAO") != null && map.get("TIPOEXECUCAOINSTALACAO").equals("on") && map.get("TIPOEXECUCAODESINSTALACAO") != null && map.get("TIPOEXECUCAODESINSTALACAO").equals("on")) { vetorBaseItemConfiguracao[2] = new BaseItemConfiguracaoDTO(); setarBaseItemConfiguracaoDesinstalacao(vetorBaseItemConfiguracao[2], map); if (map.get("COMANDOSIGUAIS") == null || map.get("COMANDOSIGUAIS").equals("off")) { vetorBaseItemConfiguracao[2].setComando(String.valueOf(map.get("COMANDOINSTALACAO"))); } } if (vetorBaseItemConfiguracao[0].getId() == null) { if (baseItemConfiguracaoService.existBaseItemConfiguracao(vetorBaseItemConfiguracao[0])) { document.alert(UtilI18N.internacionaliza(request, "MSE01")); return; } baseItemConfiguracaoService.create(vetorBaseItemConfiguracao); document.alert(UtilI18N.internacionaliza(request, "MSG05")); } else { baseItemConfiguracaoService.update(vetorBaseItemConfiguracao); document.alert(UtilI18N.internacionaliza(request, "MSG06")); } document.executeScript("limpar()"); } private void setarBaseItemConfiguracaoDesinstalacao(BaseItemConfiguracaoDTO baseItemConfiguracaoDto, Map<?,?> map) { baseItemConfiguracaoDto.setTipoexecucao("D"); baseItemConfiguracaoDto.setExecutavel(String.valueOf(map.get("EXECUTAVELDESINSTALACAO"))); baseItemConfiguracaoDto.setComando(String.valueOf(map.get("COMANDODESINSTALACAO"))); } /** * Restaura Item de Configuracao da Base. * * @param document * @param request * @param response * @throws Exception * @author valdoilo.damasceno */ public void restore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { this.setBaseItemConfiguracaoBean((IDto) document.getBean()); List<IDto> filhos = this.getBaseItemConfiguracaoService().restoreChildren(getBaseItemConfiguracaoBean()); document.executeScript("limpar()"); document.executeScript("restorePai("+this.getBaseItemConfiguracaoBean().getId()+", '"+UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, ((BaseItemConfiguracaoDTO)filhos.get(0)).getDataInicio(), WebUtil.getLanguage(request))+"', '"+((BaseItemConfiguracaoDTO)filhos.get(0)).getNome()+"')"); boolean comandosDiferentes = true; if (filhos.size() == 2) { document.executeScript("exibirTodasDivsExecucao()"); if (((BaseItemConfiguracaoDTO)filhos.get(0)).getComando().equals(((BaseItemConfiguracaoDTO)filhos.get(1)).getComando())) { comandosDiferentes = false; } } for (IDto iDto : filhos) { BaseItemConfiguracaoDTO baseFilho = (BaseItemConfiguracaoDTO) iDto; if (baseFilho.getTipoexecucao().equals("I")) { document.executeScript("restoreInstalacao('"+baseFilho.getExecutavel().replace("\\", "\\\\")+"', '"+baseFilho.getComando()+"')"); } else { if (filhos.size() == 1) { document.executeScript("exibirSomenteDivDesinstalacao()"); document.executeScript("esconderInstalacao()"); } if (!comandosDiferentes) { baseFilho.setComando(""); } document.executeScript("restoreDesinstalacao('"+baseFilho.getExecutavel().replace("\\", "\\\\")+"', '"+baseFilho.getComando()+"', "+comandosDiferentes+")"); } } } /** * Seta a data atual na data final ao excluir um registro. * * @param document * @param request * @param response * @throws Exception */ public void atualizaData(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseItemConfiguracaoDTO baseItemConfiguracaoDto = (BaseItemConfiguracaoDTO) document.getBean(); BaseItemConfiguracaoService baseItemConfiguracaoService = (BaseItemConfiguracaoService) ServiceLocator.getInstance().getService(BaseItemConfiguracaoService.class, null); if (baseItemConfiguracaoDto.getId().intValue() > 0) { baseItemConfiguracaoDto.setDataFim(UtilDatas.getDataAtual()); baseItemConfiguracaoService.update(new BaseItemConfiguracaoDTO[] {baseItemConfiguracaoDto}); } document.executeScript("limpar()"); document.alert(UtilI18N.internacionaliza(request, "MSG07")); } /** * Retorna Service de BaseItemConfiguracao. * * @return BaseItemConfiguracaoService * @throws ServiceException * @throws Exception * @author valdoilo.damsceno */ public BaseItemConfiguracaoService getBaseItemConfiguracaoService() throws ServiceException, Exception { return (BaseItemConfiguracaoService) ServiceLocator.getInstance().getService(BaseItemConfiguracaoService.class, null); } @SuppressWarnings("rawtypes") @Override public Class getBeanClass() { return BaseItemConfiguracaoDTO.class; } /** * Configura bean de BaseItemConfiguracao. * * @param baseItemConfiguracaoBean * @author valdoilo.damasceno */ public void setBaseItemConfiguracaoBean(IDto baseItemConfiguracaoBean) { this.baseItemConfiguracaoBean = (BaseItemConfiguracaoDTO) baseItemConfiguracaoBean; } /** * Retorna bean de BaseItemConfiguracao. * * @return BaseItemConfiguracaoDTO * @author valdoilo.damasceno */ public BaseItemConfiguracaoDTO getBaseItemConfiguracaoBean() { return baseItemConfiguracaoBean; } }