package br.com.centralit.citcorpore.ajaxForms; import java.util.Collection; import java.util.List; 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.HTMLElement; import br.com.centralit.citajax.html.HTMLForm; import br.com.centralit.citajax.html.HTMLTable; import br.com.centralit.citcorpore.bean.CatalogoServicoDTO; import br.com.centralit.citcorpore.bean.ClienteDTO; import br.com.centralit.citcorpore.bean.ContratoDTO; import br.com.centralit.citcorpore.bean.FornecedorDTO; import br.com.centralit.citcorpore.bean.InfoCatalogoServicoDTO; import br.com.centralit.citcorpore.bean.ServContratoCatalogoServDTO; import br.com.centralit.citcorpore.bean.ServicoDTO; import br.com.centralit.citcorpore.negocio.CatalogoServicoService; import br.com.centralit.citcorpore.negocio.ClienteService; import br.com.centralit.citcorpore.negocio.ContratoService; import br.com.centralit.citcorpore.negocio.FornecedorService; import br.com.centralit.citcorpore.negocio.InfoCatalogoServicoService; import br.com.centralit.citcorpore.negocio.ServicoService; import br.com.centralit.citcorpore.util.WebUtil; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.UtilDatas; import br.com.citframework.util.UtilI18N; import br.com.citframework.util.UtilStrings; /** * * @author pedro * */ @SuppressWarnings({ "unused", "unchecked" }) public class CatalogoServico extends AjaxFormAction { /** * Inicializa os dados ao carregar a tela. * * @param document * @param request * @param response * @throws Exception */ public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { } /** * Inclui registro. * * @param document * @param request * @param response * @throws Exception */ public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { CatalogoServicoDTO catalogoServicoDTO = (CatalogoServicoDTO) document.getBean(); CatalogoServicoService catalogoServicoService = (CatalogoServicoService) ServiceLocator.getInstance().getService(CatalogoServicoService.class, WebUtil.getUsuarioSistema(request)); /* Collection<ServContratoCatalogoServDTO> colSerializeServicos = br.com.citframework.util.WebUtil .deserializeCollectionFromRequest(ServContratoCatalogoServDTO.class, "servicoSerialize", request); if (colSerializeServicos != null) { if (colSerializeServicos != null) { catalogoServicoDTO.setColServicoContrato((List<ServContratoCatalogoServDTO>) colSerializeServicos); } } else { document.alert(String.format("%s: %s", UtilI18N.internacionaliza(request, "servico.servico"), UtilI18N.internacionaliza(request, "citcorpore.comum.campo_obrigatorio") ) ); // document.alert("Selecione pelo menos 1 servi�o!"); return; }*/ Collection<InfoCatalogoServicoDTO> colinfoCatServico = br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(InfoCatalogoServicoDTO.class, "infoCatalogoServicoSerialize", request); //aspas simples e "\n" da erro nos serializes, este la�o resolve o problema substituindo aspas simples e "\n"por //aspas duplas e espa�o em branco, acontecia este problema na p�gina: pages/portal2/portal2.load. if(colinfoCatServico != null){ for (InfoCatalogoServicoDTO infoCatServ : colinfoCatServico ) { infoCatServ.setDescInfoCatalogoServico(infoCatServ.getDescInfoCatalogoServico().replaceAll("[\']","\"")); infoCatServ.setDescInfoCatalogoServico(infoCatServ.getDescInfoCatalogoServico().replaceAll("[\\n]"," ")); } } if (colinfoCatServico != null) { catalogoServicoDTO.setColInfoCatalogoServico((List<InfoCatalogoServicoDTO>) colinfoCatServico); } if (catalogoServicoDTO.getIdCatalogoServico() == null || catalogoServicoDTO.getIdCatalogoServico().intValue() == 0) { catalogoServicoDTO.setDataInicio(UtilDatas.getDataAtual()); if (catalogoServicoService.verificaSeCatalogoExiste(catalogoServicoDTO)) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.registroJaCadastrado")); return; } catalogoServicoService.create(catalogoServicoDTO); document.alert(UtilI18N.internacionaliza(request, "MSG05")); } else { if (catalogoServicoService.verificaSeCatalogoExiste(catalogoServicoDTO)) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.registroJaCadastrado")); return; } catalogoServicoService.update(catalogoServicoDTO); document.alert(UtilI18N.internacionaliza(request, "MSG06")); } HTMLForm form = document.getForm("form"); // form.clear(); document.executeScript("limpar()"); document.executeScript("limpar_LOOKUP_CATALOGOSERVICO()"); } /** * Restaura os dados ao clicar em um registro. * * @author pedro * @param document * @param request * @param response * @throws Exception */ public void restore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { CatalogoServicoDTO catalogoServicoDTO = (CatalogoServicoDTO) document.getBean(); CatalogoServicoService catalogoServicoService = (CatalogoServicoService) ServiceLocator.getInstance().getService(CatalogoServicoService.class, WebUtil.getUsuarioSistema(request)); ServicoService servicoService = (ServicoService) ServiceLocator.getInstance().getService(ServicoService.class, WebUtil.getUsuarioSistema(request)); ContratoService contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, WebUtil.getUsuarioSistema(request)); FornecedorService fornService = (FornecedorService) ServiceLocator.getInstance().getService(FornecedorService.class, WebUtil.getUsuarioSistema(request)); ClienteService clienteService = (ClienteService) ServiceLocator.getInstance().getService(ClienteService.class, WebUtil.getUsuarioSistema(request)); catalogoServicoDTO = (CatalogoServicoDTO) catalogoServicoService.restore(catalogoServicoDTO); // Recupera nome do contrato if (catalogoServicoDTO != null && catalogoServicoDTO.getIdContrato() != null) { ContratoDTO contratosDTO = new ContratoDTO(); FornecedorDTO fornecedorDTO = new FornecedorDTO(); ClienteDTO clienteDTO = new ClienteDTO(); if (catalogoServicoDTO != null) { contratosDTO.setIdContrato(catalogoServicoDTO.getIdContrato()); contratosDTO = (ContratoDTO) contratoService.restore(contratosDTO); } if (contratosDTO != null) { clienteDTO.setIdCliente(contratosDTO.getIdCliente()); clienteDTO = (ClienteDTO) clienteService.restore(clienteDTO); fornecedorDTO.setIdFornecedor(contratosDTO.getIdFornecedor()); fornecedorDTO = (FornecedorDTO) fornService.restore(fornecedorDTO); document.executeScript("document.form.idContrato.value= " + contratosDTO.getIdContrato() + ""); //document.executeScript("document.formServicoContrato.pesqLockupLOOKUP_CATALOGOSERVICOCONTRATO_IDCONTRATO.value= " + contratosDTO.getIdContrato() + ""); catalogoServicoDTO.setNomeContrato(contratosDTO.getNumero() + " - " + clienteDTO.getNomeFantasia() + " - " + fornecedorDTO.getRazaoSocial()); } } document.executeScript("deleteAllRows();"); if (catalogoServicoDTO != null && catalogoServicoDTO.getColServicoContrato() != null) { for (ServContratoCatalogoServDTO servicos : catalogoServicoDTO.getColServicoContrato()) { if (servicos != null) { ServContratoCatalogoServDTO servContratoCatalogoServDTO = new ServContratoCatalogoServDTO(); ServicoDTO servicoDTO = new ServicoDTO(); servicoDTO.setIdServico(servicos.getIdServicoContrato()); servicoDTO = (ServicoDTO) servicoService.restore(servicoDTO); servicos.setNomeServico(servicoDTO.getNomeServico()); servicos.setIdServicoContrato(servicoDTO.getIdServico()); HTMLTable table; //table = document.getTableById("tblServicoContrato"); //table.deleteAllRows(); //table.addRowsByCollection(catalogoServicoDTO.getColServicoContrato(), new String[] { "", "idServicoContrato", "nomeServico", }, null, null, new String[] { "gerarButtonDelete" }, // null, null); } } } if (catalogoServicoDTO != null && catalogoServicoDTO.getColInfoCatalogoServico() != null) { HTMLTable table; table = document.getTableById("tblInfoCatalogoServico"); table.deleteAllRows(); table.addRowsByCollection(catalogoServicoDTO.getColInfoCatalogoServico(), new String[] { "", "idServicoCatalogo", "nomeServicoContrato", "nomeInfoCatalogoServico", "descInfoCatalogoServico" }, null, "", new String[] { "gerarButtonDelete2" }, "funcaoClickRow", null); } HTMLForm form = document.getForm("form"); form.clear(); if(catalogoServicoDTO != null){ form.setValues(catalogoServicoDTO); } } public void delete(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { CatalogoServicoDTO catalogoServicoDTO = (CatalogoServicoDTO) document.getBean(); CatalogoServicoService catalogoServicoService = (CatalogoServicoService) ServiceLocator.getInstance().getService(CatalogoServicoService.class, WebUtil.getUsuarioSistema(request)); if (catalogoServicoDTO.getIdCatalogoServico() != null) { catalogoServicoDTO.setDataFim(UtilDatas.getDataAtual()); catalogoServicoService.update(catalogoServicoDTO); document.alert(UtilI18N.internacionaliza(request, "MSG07")); } else { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.nome")); // document.alert("Selecione um catalogo!"); } document.executeScript("deleteAllRows();"); HTMLForm form = document.getForm("form"); form.clear(); document.executeScript("limpar_LOOKUP_CATALOGOSERVICO()"); } public Class<CatalogoServicoDTO> getBeanClass() { return CatalogoServicoDTO.class; } public void restoreInfo(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { CatalogoServicoDTO catalogoServicoDTO = (CatalogoServicoDTO) document.getBean(); InfoCatalogoServicoService infoService = (InfoCatalogoServicoService) ServiceLocator.getInstance().getService(InfoCatalogoServicoService.class, WebUtil.getUsuarioSistema(request)); InfoCatalogoServicoDTO infoCatalogoServicoDTO = new InfoCatalogoServicoDTO(); if (catalogoServicoDTO.getIdInfoCatalogoServico() != null) { infoCatalogoServicoDTO.setIdInfoCatalogoServico(catalogoServicoDTO.getIdInfoCatalogoServico()); infoCatalogoServicoDTO.setIdCatalogoServico(catalogoServicoDTO.getIdCatalogoServico()); infoCatalogoServicoDTO = (InfoCatalogoServicoDTO) infoService.restore(infoCatalogoServicoDTO); if (infoCatalogoServicoDTO != null) { Integer id = infoCatalogoServicoDTO.getIdInfoCatalogoServico(); String text = UtilStrings.nullToVazio(infoCatalogoServicoDTO.getDescInfoCatalogoServico()); String nome = infoCatalogoServicoDTO.getNomeInfoCatalogoServico(); Integer index = catalogoServicoDTO.getRowIndex(); document.executeScript("setaInfo('" + nome + "', '" + text + "', '" + index + "');"); } } } /** * Adiciona/atualiza grid servico. * * @author pedro * @param document * @param request * @param response * @throws Exception */ public void adicionaGridServico(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { CatalogoServicoDTO catalogoServicoDTO = (CatalogoServicoDTO) document.getBean(); ServicoService servicoContratoService = (ServicoService) ServiceLocator.getInstance().getService(ServicoService.class, null); ServicoDTO bean = new ServicoDTO(); ServContratoCatalogoServDTO servContratoCatalogoServDTO = new ServContratoCatalogoServDTO(); bean.setIdServico(catalogoServicoDTO.getIdServicoContrato()); bean = (ServicoDTO) servicoContratoService.restore(bean); servContratoCatalogoServDTO.setIdServicoContrato(bean.getIdServico()); servContratoCatalogoServDTO.setNomeServico(bean.getNomeServico()); //HTMLTable tblServico = document.getTableById("tblServicoContrato"); //tblServico.addRow(servContratoCatalogoServDTO, new String[] { "", "idServicoContrato", "nomeServico" }, new String[] { "idServicoContrato" }, "Servi�o j� selecionado!", // new String[] { "gerarButtonDelete" }, null, null); //document.executeScript("HTMLUtils.applyStyleClassInAllCells('tblServicoContrato', 'tblServicoContrato');"); } /** * Retorna o Conteudo de cat�logo de servi�o * * @author pedro * @param document * @param request * @param response * @throws Exception */ public void conteudoInfoCatalogoServico(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { CatalogoServicoDTO catalogoServicoDTO = (CatalogoServicoDTO) document.getBean(); InfoCatalogoServicoService infoService = (InfoCatalogoServicoService) ServiceLocator.getInstance().getService(InfoCatalogoServicoService.class, WebUtil.getUsuarioSistema(request)); InfoCatalogoServicoDTO infoCatalogoServicoDTO = new InfoCatalogoServicoDTO(); if (catalogoServicoDTO.getIdInfoCatalogoServico() != null) { infoCatalogoServicoDTO.setIdInfoCatalogoServico(catalogoServicoDTO.getIdInfoCatalogoServico()); infoCatalogoServicoDTO = (InfoCatalogoServicoDTO) infoService.restore(infoCatalogoServicoDTO); document.executeScript("$('#tituloCatalogo').text('" + infoCatalogoServicoDTO.getNomeInfoCatalogoServico() + "');" + "$('#POPUP_CONTEUDOCATALOGO').dialog('open');"); HTMLElement m = document.getElementById("conteudoCatalogo"); m.setInnerHTML(infoCatalogoServicoDTO.getDescInfoCatalogoServico()); } } public void verificarContratoServico(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { CatalogoServicoDTO catalogoServicoDTO = (CatalogoServicoDTO) document.getBean(); InfoCatalogoServicoService infoService = (InfoCatalogoServicoService) ServiceLocator.getInstance().getService(InfoCatalogoServicoService.class, WebUtil.getUsuarioSistema(request)); infoService.findByContratoServico(catalogoServicoDTO.getIdContrato()); if (infoService.findByContratoServico(catalogoServicoDTO.getIdContrato())) { document.executeScript("$('#POPUP_DETALHES').dialog('open');"); }else{ document.executeScript("validarContratoServico();"); } } }