From 3924e300386a672b7111d352b0e4e067076ad3f5 Mon Sep 17 00:00:00 2001 From: "valdir.cordeiro" Date: Thu, 11 Jan 2024 15:29:18 -0300 Subject: [PATCH] bug#al-3609 Documentacao_integracao_PM_ARTESP dev: qua: --- pom.xml | 6 +- .../catalogos/EditarEmpresaController.java | 129 +++++++++++++++++- src/java/spring-config.xml | 3 +- web/WEB-INF/i3-label_pt_BR.label | 10 ++ web/gui/catalogos/editarEmpresa.zul | 77 ++++++++++- 5 files changed, 216 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index 9f2bd00be..e89e519d4 100644 --- a/pom.xml +++ b/pom.xml @@ -4,12 +4,12 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.41.0 + 1.42.0 war - 1.30.0 - 1.24.0 + 1.31.0 + 1.25.0 UTF-8 UTF-8 diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java index 5e0638fc1..8ddf29184 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java @@ -35,8 +35,7 @@ import java.util.regex.Pattern; import org.apache.commons.lang.BooleanUtils; import org.apache.commons.lang.StringUtils; -import org.apache.log4j.Logger; - +import org.apache.log4j.Logger; import org.brazilutils.br.cpfcnpj.Cnpj; import org.brazilutils.br.cpfcnpj.Cpf; import org.brazilutils.validation.ValidationException; @@ -87,11 +86,13 @@ import com.rjconsultores.ventaboletos.entidad.EmpresaEmailEComerce; import com.rjconsultores.ventaboletos.entidad.EmpresaEmailFlexBus; import com.rjconsultores.ventaboletos.entidad.EmpresaImposto; import com.rjconsultores.ventaboletos.entidad.EmpresaMercadoPagoConfig; +import com.rjconsultores.ventaboletos.entidad.EmpresaPMArtespConfig; import com.rjconsultores.ventaboletos.entidad.EmpresaSaferConfig; import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.entidad.FormaPago; import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual; import com.rjconsultores.ventaboletos.entidad.InstiFinanceira; +import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.TipoEventoExtra; import com.rjconsultores.ventaboletos.enums.TipoCstGratuidade; @@ -109,11 +110,13 @@ import com.rjconsultores.ventaboletos.service.EmpresaEmailFlexBusService; import com.rjconsultores.ventaboletos.service.EmpresaEmailService; import com.rjconsultores.ventaboletos.service.EmpresaImpostoService; import com.rjconsultores.ventaboletos.service.EmpresaMercadoPagoConfigService; +import com.rjconsultores.ventaboletos.service.EmpresaPMArtespConfigService; import com.rjconsultores.ventaboletos.service.EmpresaSaferConfigService; import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.EstadoService; import com.rjconsultores.ventaboletos.service.FormaPagoService; import com.rjconsultores.ventaboletos.service.InstiFinanceiraService; +import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService; import com.rjconsultores.ventaboletos.service.TipoEventoExtraService; import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; import com.rjconsultores.ventaboletos.utilerias.CustomEnum; @@ -135,7 +138,6 @@ import com.rjconsultores.ventaboletos.web.utilerias.render.RenderComEmpTipoEvent import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEmpresaContaBancaria; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEmpresaImposto; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEmpresaInscricaoEstadual; -import com.rjconsultores.ventaboletos.web.utilerias.security.SecurityEmpresaToken; /** * @@ -180,6 +182,11 @@ public class EditarEmpresaController extends MyGenericForwardComposer { private EmpresaAdyenConfigService empresaAdyenConfigService; @Autowired private EmpresaMercadoPagoConfigService empresaMercadoPagoConfigService; + + @Autowired + private EmpresaPMArtespConfigService empresaPMArtespConfigService; + @Autowired + private OrgaoConcedenteService orgaoConcedenteService; private Empresa empresa; private EmpresaEmail empresaEmail; @@ -475,6 +482,17 @@ public class EditarEmpresaController extends MyGenericForwardComposer { private boolean cadastroEmpresaNova = false; private Checkbox chkIndntegracaoAGR; + + //Integracao PM ARTESP + private Checkbox chkAtivarIntegracaoPMARTESP; + private Textbox txtUrlIntegracaoARTESP; + private Textbox txtTokenIntegracaoARTESP; + + private MyComboboxEstandar cmbTipoDePassagem; + private MyComboboxEstandar cmbOrgaoConcedente; + + private EmpresaPMArtespConfig empresaPMArtespConfig; + private List lsOrgaoConcedente; private static final String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"; @@ -486,6 +504,7 @@ public class EditarEmpresaController extends MyGenericForwardComposer { lsCategorias = categoriaService.obtenerTodasCategoriasVisibles(); lsFormaPagos = formaPagoService.obtenerTodos(); lsTipoEventoExtras = tipoEventoExtraService.obtenerTodos(); + lsOrgaoConcedente = orgaoConcedenteService.obtenerTodos(); empresa = (Empresa) Executions.getCurrent().getArg().get("empresa"); empresaList = (MyListbox) Executions.getCurrent().getArg().get("empresaList"); @@ -502,6 +521,7 @@ public class EditarEmpresaController extends MyGenericForwardComposer { empresaSaferConfig = empresaSaferConfigService.buscarPorEmpresa(empresa); empresaAdyenConfig = empresaAdyenConfigService.buscarPorEmpresa(empresa); empresaMercadoPagoConfig = empresaMercadoPagoConfigService.buscarPorEmpresa(empresa); + empresaPMArtespConfig = empresaPMArtespConfigService.buscarPorEmpresa(empresa); } if (empresa != null && empresa.getEmpresaId() != null) { @@ -609,6 +629,21 @@ public class EditarEmpresaController extends MyGenericForwardComposer { carregarConfiguracaoMercadoPago(); } + if(empresaPMArtespConfig != null) { + chkAtivarIntegracaoPMARTESP.setChecked(empresaPMArtespConfig.getValidacaoAtiva()); + + txtUrlIntegracaoARTESP.setText(empresaPMArtespConfig.getUrlApi()); + txtTokenIntegracaoARTESP.setText(empresaPMArtespConfig.getApiKey()); + + if(empresaPMArtespConfig.getOrgaoConcedente() != null) { + cmbOrgaoConcedente.setText(empresaPMArtespConfig.getOrgaoConcedente().getDescOrgao()); + } + + if(empresaPMArtespConfig.getCategoria() != null) { + cmbTipoDePassagem.setText(empresaPMArtespConfig.getCategoria().getDesccategoria()); + } + } + if (empresa.getIndfechatarifa() == null) { rdgFechaSalida.setChecked(Boolean.TRUE); } else if (empresa.getIndfechatarifa()) { @@ -1054,6 +1089,11 @@ public class EditarEmpresaController extends MyGenericForwardComposer { Ciudad cidade = (Ciudad) cbiCidade.getValue(); empresa.setCidade(cidade); } + + if(!isValidosCamposIntegracaoPMArtesp()) { + return; + } + try { if (empresa.getIndExterna() == null) { @@ -1302,7 +1342,9 @@ public class EditarEmpresaController extends MyGenericForwardComposer { empresaMercadoPagoConfigService.actualizacion(empresaMercadoPagoConfig); } - + + //INTEGRACAO TIPO DE PASSAGEM PM ARTESP + salvarEmpresaPMArtespConfig(); Messagebox.show(Labels.getLabel("editarEmpresaController.MSG.suscribirOK"), Labels.getLabel("editarEmpresaController.window.title"), @@ -1337,6 +1379,53 @@ public class EditarEmpresaController extends MyGenericForwardComposer { } } + private boolean isValidosCamposIntegracaoPMArtesp() throws InterruptedException { + if(chkAtivarIntegracaoPMARTESP.isChecked()) { + + if(cmbOrgaoConcedente.getSelectedItem() == null || cmbTipoDePassagem.getSelectedItem() == null || + txtTokenIntegracaoARTESP.getValue() == null || txtUrlIntegracaoARTESP.getValue() == null) { + + Messagebox.show(Labels.getLabel("editarEmpresaController.MSG.InfoCamposIntegracaoPMArtespInvalido"), + Labels.getLabel("editarEmpresaController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + } + + return true; + } + + private void salvarEmpresaPMArtespConfig() { + boolean atualizar = true; + + if(empresaPMArtespConfig == null) { + empresaPMArtespConfig = new EmpresaPMArtespConfig(); + atualizar = false; + } + + empresaPMArtespConfig.setEmpresa(empresa); + + if(cmbOrgaoConcedente.getSelectedItem() != null) { + OrgaoConcedente orgao = (OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue(); + empresaPMArtespConfig.setOrgaoConcedente(orgao); + } + + if(cmbTipoDePassagem.getSelectedItem() != null) { + Categoria categoria = (Categoria) cmbTipoDePassagem.getSelectedItem().getValue(); + empresaPMArtespConfig.setCategoria(categoria); + } + + empresaPMArtespConfig.setApiKey(txtTokenIntegracaoARTESP.getValue()); + empresaPMArtespConfig.setUrlApi(txtUrlIntegracaoARTESP.getValue()); + + empresaPMArtespConfig.setValidacaoAtiva(chkAtivarIntegracaoPMARTESP.isChecked()); + + if(atualizar) { + empresaPMArtespConfig = empresaPMArtespConfigService.actualizacion(empresaPMArtespConfig); + } else { + empresaPMArtespConfig = empresaPMArtespConfigService.suscribir(empresaPMArtespConfig); + } + } + private Date buscarHora(Date horaEmbarque) { if (horaEmbarque != null) { GregorianCalendar gHoraSalida = new GregorianCalendar(); @@ -2918,5 +3007,37 @@ public void onClick$btnTestEmailFlexBus(Event ev) throws InterruptedException { public boolean isExibeDadosTokenLicenca() { return !cadastroEmpresaNova; } + + public MyComboboxEstandar getCmbTipoDePassagem() { + return cmbTipoDePassagem; + } + + public void setCmbTipoDePassagem(MyComboboxEstandar cmbTipoDePassagem) { + this.cmbTipoDePassagem = cmbTipoDePassagem; + } + + public EmpresaPMArtespConfig getEmpresaPMArtespConfig() { + return empresaPMArtespConfig; + } + + public void setEmpresaPMArtespConfig(EmpresaPMArtespConfig empresaPMArtespConfig) { + this.empresaPMArtespConfig = empresaPMArtespConfig; + } + + public MyComboboxEstandar getCmbOrgaoConcedente() { + return cmbOrgaoConcedente; + } + + public void setCmbOrgaoConcedente(MyComboboxEstandar cmbOrgaoConcedente) { + this.cmbOrgaoConcedente = cmbOrgaoConcedente; + } + + public List getLsOrgaoConcedente() { + return lsOrgaoConcedente; + } + + public void setLsOrgaoConcedente(List lsOrgaoConcedente) { + this.lsOrgaoConcedente = lsOrgaoConcedente; + } } diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index 2e9b7099c..7af89c6b7 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -454,7 +454,8 @@ com.rjconsultores.ventaboletos.entidad.PricingConexao com.rjconsultores.ventaboletos.entidad.OrgaoComprovanteCustomizado com.rjconsultores.ventaboletos.entidad.HeaderTabelaEsquemaCorrida - com.rjconsultores.ventaboletos.entidad.Disponibilidad + com.rjconsultores.ventaboletos.entidad.Disponibilidad + com.rjconsultores.ventaboletos.entidad.EmpresaPMArtespConfig diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 940a00ee5..efdce1154 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -2057,6 +2057,16 @@ editarEmpresaController.lblBtnCadastrarPOSMercadoPago.value = Cadastrar POS editarEmpresaController.lblMsgCadastrarStoreMercadoPago.value = Store cadastrada com sucesso editarEmpresaController.lblMsgCadastrarPOSMercadoPago.value = POS cadastrada com sucesso +editarEmpresaController.lblIntegracoesTipoPassagem.value=Integrações Tipo de Passagem +editarEmpresaController.lblTabPMArtesp.value=Integração PM Artesp +editarEmpresaController.lblOrgaoConcedenteIntegracao.value=Orgão Concedente +editarEmpresaController.lblTipoDePassagemIntegracao.value=Tipo de Passagem +editarEmpresaController.lblAtivarArtesp.value=Ativar Validação +editarEmpresaController.lblUrlApiPMArtesp.value=URL API +editarEmpresaController.lblApiKeyPMArtesp.value=API KEY +editarEmpresaController.MSG.InfoCamposIntegracaoPMArtespInvalido= Ao habilitar a integração PM Artesp, os campos passam ser obrigatorios. +editarEmpresaController.lblUrlApiPMArtesp.value.ajuda=URL API deve conter os dados {RE}, {EMBARQUE} e {DESEMBARQUE}, que serão subtituidos no momento da validação de gratuidade pelo totalbus. + # Muestra o ponto de Pesquisa de Venda busquedaPuntoVentaController.window.title = Ponto de Venda ( Agência ) busquedaPuntoVentaController.btnRefresh.tooltiptext = Atualizar diff --git a/web/gui/catalogos/editarEmpresa.zul b/web/gui/catalogos/editarEmpresa.zul index 40d517d66..ce3292997 100644 --- a/web/gui/catalogos/editarEmpresa.zul +++ b/web/gui/catalogos/editarEmpresa.zul @@ -64,6 +64,9 @@ label="${c:l('editarEmpresaController.lblAdyen.value')}" /> + + @@ -2487,10 +2490,82 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +