Merge pull request 'AL-4135' (!473) from AL-4135 into master
Reviewed-on: adm/VentaBoletosAdm#473 Reviewed-by: Valdir Cordeiro <valdir.cordeiro@totvs.com.br>master 1.63.5
commit
2afd0c205d
6
pom.xml
6
pom.xml
|
@ -4,12 +4,12 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>br.com.rjconsultores</groupId>
|
||||
<artifactId>ventaboletosadm</artifactId>
|
||||
<version>1.63.4</version>
|
||||
<version>1.63.5</version>
|
||||
<packaging>war</packaging>
|
||||
|
||||
<properties>
|
||||
<modelWeb.version>1.44.0</modelWeb.version>
|
||||
<flyway.version>1.36.0</flyway.version>
|
||||
<modelWeb.version>1.44.1</modelWeb.version>
|
||||
<flyway.version>1.37.0</flyway.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
</properties>
|
||||
|
|
|
@ -7,8 +7,10 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.catalogos;
|
|||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.StringWriter;
|
||||
import java.math.BigDecimal;
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.KeyFactory;
|
||||
import java.security.KeyStore;
|
||||
import java.security.KeyStoreException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
@ -20,6 +22,7 @@ import java.security.UnrecoverableEntryException;
|
|||
import java.security.cert.Certificate;
|
||||
import java.security.cert.CertificateException;
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.security.spec.PKCS8EncodedKeySpec;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
@ -33,6 +36,8 @@ import java.util.Map;
|
|||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang.BooleanUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
|
@ -79,6 +84,7 @@ import com.rjconsultores.ventaboletos.entidad.ComEmpFormapago;
|
|||
import com.rjconsultores.ventaboletos.entidad.ComEmpTipoEventoExtra;
|
||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||
import com.rjconsultores.ventaboletos.entidad.EmpresaAdyenConfig;
|
||||
import com.rjconsultores.ventaboletos.entidad.EmpresaCertificadoConfig;
|
||||
import com.rjconsultores.ventaboletos.entidad.EmpresaCieloLinkConfig;
|
||||
import com.rjconsultores.ventaboletos.entidad.EmpresaContaBancaria;
|
||||
import com.rjconsultores.ventaboletos.entidad.EmpresaEmail;
|
||||
|
@ -97,6 +103,7 @@ 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.EnumTipoCertificado;
|
||||
import com.rjconsultores.ventaboletos.enums.TipoCstGratuidade;
|
||||
import com.rjconsultores.ventaboletos.enums.TipoEmail;
|
||||
import com.rjconsultores.ventaboletos.enums.TipoOperacaoECommerce;
|
||||
|
@ -105,6 +112,7 @@ import com.rjconsultores.ventaboletos.rest.MercadoPagoService;
|
|||
import com.rjconsultores.ventaboletos.service.CategoriaService;
|
||||
import com.rjconsultores.ventaboletos.service.CiudadService;
|
||||
import com.rjconsultores.ventaboletos.service.EmpresaAdyenConfigService;
|
||||
import com.rjconsultores.ventaboletos.service.EmpresaCertificadoConfigService;
|
||||
import com.rjconsultores.ventaboletos.service.EmpresaCieloLinkService;
|
||||
import com.rjconsultores.ventaboletos.service.EmpresaEmailConfigService;
|
||||
import com.rjconsultores.ventaboletos.service.EmpresaEmailEComerceService;
|
||||
|
@ -187,6 +195,8 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
|
|||
private EmpresaAdyenConfigService empresaAdyenConfigService;
|
||||
@Autowired
|
||||
private EmpresaMercadoPagoConfigService empresaMercadoPagoConfigService;
|
||||
@Autowired
|
||||
private EmpresaCertificadoConfigService empresaCertificadoConfigService;
|
||||
|
||||
@Autowired
|
||||
private EmpresaPMArtespConfigService empresaPMArtespConfigService;
|
||||
|
@ -203,6 +213,7 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
|
|||
private EmpresaSaferConfig empresaSaferConfig;
|
||||
private EmpresaAdyenConfig empresaAdyenConfig;
|
||||
private EmpresaMercadoPagoConfig empresaMercadoPagoConfig;
|
||||
private EmpresaCertificadoConfig empresaCertificadoConfigSaftao;
|
||||
private MyListbox empresaList;
|
||||
private MyTextbox txtNome;
|
||||
private MyTextbox txtCNPJ;
|
||||
|
@ -499,6 +510,11 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
|
|||
private Textbox txtUrlIntegracaoARTESP;
|
||||
private Textbox txtTokenIntegracaoARTESP;
|
||||
|
||||
private Label lblCertificadoSaftao;
|
||||
private Checkbox chkIndSaftao;
|
||||
private byte[] certificadoSaftao;
|
||||
private Tab tabSaftao;
|
||||
|
||||
private MyComboboxEstandar cmbTipoDePassagem;
|
||||
private MyComboboxEstandar cmbOrgaoConcedente;
|
||||
|
||||
|
@ -532,6 +548,7 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
|
|||
empresaSaferConfig = empresaSaferConfigService.buscarPorEmpresa(empresa);
|
||||
empresaAdyenConfig = empresaAdyenConfigService.buscarPorEmpresa(empresa);
|
||||
empresaMercadoPagoConfig = empresaMercadoPagoConfigService.buscarPorEmpresa(empresa);
|
||||
empresaCertificadoConfigSaftao = empresaCertificadoConfigService.buscarPorEmpresa(empresa, EnumTipoCertificado.SAFTAO);
|
||||
empresaPMArtespConfig = empresaPMArtespConfigService.buscarPorEmpresa(empresa);
|
||||
}
|
||||
|
||||
|
@ -625,6 +642,16 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
|
|||
}
|
||||
}
|
||||
|
||||
if (empresaCertificadoConfigSaftao != null) {
|
||||
certificadoSaftao = empresaCertificadoConfigSaftao.getCertificado();
|
||||
if(certificadoSaftao != null){
|
||||
InputStream certStream = new ByteArrayInputStream(certificadoSaftao);
|
||||
if (certStream != null) {
|
||||
lblCertificadoSaftao.setValue(getCerticateInfoSaftao(certStream));
|
||||
}
|
||||
}
|
||||
}
|
||||
mostrarAbaSaftao();
|
||||
mostrarAbaSafer();
|
||||
|
||||
if (empresaAdyenConfig != null) {
|
||||
|
@ -771,6 +798,8 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
|
|||
chkIndAgrupamentoLocalidadeConexao.setChecked(BooleanUtils.toBoolean(empresa.getIndAgrupLocConexao()));
|
||||
chkIndSegundaViaSeguroOpcional.setChecked(BooleanUtils.toBoolean(empresa.getIndSegundaViaSegOpcional()));
|
||||
chkIndJurosCredito.setChecked(BooleanUtils.toBoolean(empresa.getIndJurosCredito()));
|
||||
chkIndSaftao.setChecked(BooleanUtils.toBoolean(empresa.getIndSaftao()));
|
||||
|
||||
chkIndHabilitaVendaDeBilheteSemelhante.setChecked(BooleanUtils.toBoolean(empresa.getIndVendeDeBilheteSemelhante()));
|
||||
chkIndHabilitaTaxaConvenienciaSomenteVenda.setChecked(BooleanUtils.toBoolean(empresa.getIndTaxaConvenienciaSoVenda()));
|
||||
chkIndHabilitaHoraEmbarque.setChecked(empresa.getHoraInicioEmbarque() != null && empresa.getHoraFimEmbarque() != null);
|
||||
|
@ -1053,6 +1082,7 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
|
|||
chkIndCheckinBloqueadoNoshow.getValue();
|
||||
chkIndSegundaViaSeguroOpcional.getValue();
|
||||
chkIndJurosCredito.getValue();
|
||||
chkIndSaftao.getValue();
|
||||
chkIndHabilitaVendaDeBilheteSemelhante.getValue();
|
||||
chkIndHabilitaTaxaConvenienciaSomenteVenda.getValue();
|
||||
chkIndHabilitaHoraEmbarque.getValue();
|
||||
|
@ -1198,6 +1228,7 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
|
|||
empresa.setIndAgrupLocConexao(chkIndAgrupamentoLocalidadeConexao.isChecked());
|
||||
empresa.setIndSegundaViaSegOpcional(chkIndSegundaViaSeguroOpcional.isChecked());
|
||||
empresa.setIndJurosCredito(chkIndJurosCredito.isChecked());
|
||||
empresa.setIndSaftao(chkIndSaftao.isChecked());
|
||||
empresa.setIndVendeDeBilheteSemelhante(chkIndHabilitaVendaDeBilheteSemelhante.isChecked());
|
||||
empresa.setIndTaxaConvenienciaSoVenda(chkIndHabilitaTaxaConvenienciaSomenteVenda.isChecked());
|
||||
empresa.setIndIntegracaoAGR(chkIndntegracaoAGR.isChecked());
|
||||
|
@ -2166,6 +2197,9 @@ public void onClick$btnTestEmailFlexBus(Event ev) throws InterruptedException {
|
|||
lsStoreMercadoPago = new ArrayList<StoreVO>();
|
||||
lsPosMercadoPago = new ArrayList<PosVO>();
|
||||
|
||||
if (StringUtils.isNotBlank(txtUserIdMercadoPago.getValue())
|
||||
&& StringUtils.isNotBlank(txtUrlApiMercadoPago.getValue())
|
||||
&& StringUtils.isNotBlank(txtTokenMercadoPago.getValue())) {
|
||||
RetornoStoreVO retornoStoreVO = MercadoPagoService.getInstance().retornarStoreMercadoPago(
|
||||
txtUserIdMercadoPago.getValue(), txtUrlApiMercadoPago.getValue(), txtTokenMercadoPago.getValue());
|
||||
|
||||
|
@ -2177,6 +2211,10 @@ public void onClick$btnTestEmailFlexBus(Event ev) throws InterruptedException {
|
|||
lsStoreMercadoPago.add(vo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(txtUrlApiMercadoPago.getValue())
|
||||
&& StringUtils.isNotBlank(txtTokenMercadoPago.getValue())) {
|
||||
|
||||
RetornoPosVO retornoPosVO = MercadoPagoService.getInstance()
|
||||
.retornarPosMercadoPago(txtUrlApiMercadoPago.getValue(), txtTokenMercadoPago.getValue());
|
||||
|
@ -2191,6 +2229,8 @@ public void onClick$btnTestEmailFlexBus(Event ev) throws InterruptedException {
|
|||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public Combobox getCmbEstadoInscEstadual() {
|
||||
return cmbEstadoInscEstadual;
|
||||
}
|
||||
|
@ -2800,6 +2840,12 @@ public void onClick$btnTestEmailFlexBus(Event ev) throws InterruptedException {
|
|||
}
|
||||
}
|
||||
|
||||
private void mostrarAbaSaftao() {
|
||||
if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.IS_VENDA_SAFTAO.getDescricao(), true)) {
|
||||
tabSaftao.setVisible(true);
|
||||
}
|
||||
}
|
||||
|
||||
private void popularCombobox() {
|
||||
for (AuthType tipoAutorizacao : AuthType.values()) {
|
||||
Comboitem comboItem = new Comboitem(tipoAutorizacao.toString());
|
||||
|
@ -2886,6 +2932,52 @@ public void onClick$btnTestEmailFlexBus(Event ev) throws InterruptedException {
|
|||
return true;
|
||||
}
|
||||
|
||||
public void uploadFileSaftao(UploadEvent event) {
|
||||
org.zkoss.util.media.Media media = event.getMedia();
|
||||
|
||||
try {
|
||||
String info = getCerticateInfoSaftao(media.getStreamData());
|
||||
|
||||
if (info != null) {
|
||||
certificadoSaftao = media.getByteData();
|
||||
lblCertificadoSaftao.setValue(info);
|
||||
} else {
|
||||
Messagebox.show(
|
||||
Labels.getLabel("editarMarcaController.MSG.errorIMG") + " " + media,
|
||||
Labels.getLabel("editarEmpresaController.window.title"),
|
||||
Messagebox.OK, Messagebox.ERROR);
|
||||
}
|
||||
|
||||
} catch (Exception ex) {
|
||||
log.error(ex);
|
||||
throw UiException.Aide.wrap(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private String getCerticateInfoSaftao(InputStream cerFileStream) throws IOException, Exception {
|
||||
|
||||
StringWriter writer = new StringWriter();
|
||||
IOUtils.copy(cerFileStream, writer, "UTF-8");
|
||||
|
||||
String privateKeyContent = writer != null ? writer.toString() : null;
|
||||
|
||||
if (privateKeyContent == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
privateKeyContent = privateKeyContent.replaceAll("-----END PRIVATE KEY-----", "")
|
||||
.replaceAll("-----BEGIN PRIVATE KEY-----", "").replaceAll("-----BEGIN RSA PRIVATE KEY-----", "")
|
||||
.replaceAll("-----END RSA PRIVATE KEY-----", "").replaceAll("\r\n", "").replaceAll("\n", "");
|
||||
|
||||
KeyFactory kf = KeyFactory.getInstance("RSA");
|
||||
|
||||
PKCS8EncodedKeySpec keySpecPKCS8 = new PKCS8EncodedKeySpec(Base64.decodeBase64(privateKeyContent));
|
||||
|
||||
PrivateKey privKey = kf.generatePrivate(keySpecPKCS8);
|
||||
|
||||
return privKey.toString();
|
||||
}
|
||||
|
||||
public EmpresaEmailFlexBusService getEmpresaEmailFlexBusService() {
|
||||
return empresaEmailFlexBusService;
|
||||
}
|
||||
|
|
|
@ -385,6 +385,7 @@
|
|||
<value>com.rjconsultores.ventaboletos.entidad.EmpresaEmailEComerce</value>
|
||||
<value>com.rjconsultores.ventaboletos.entidad.EmpresaEmailConfig</value>
|
||||
<value>com.rjconsultores.ventaboletos.entidad.EmpresaSaferConfig</value>
|
||||
<value>com.rjconsultores.ventaboletos.entidad.EmpresaCertificadoConfig</value>
|
||||
<value>com.rjconsultores.ventaboletos.entidad.CtrlFechamentoCaixa</value>
|
||||
<value>com.rjconsultores.ventaboletos.entidad.PtovtaAntifraude</value>
|
||||
<value>com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada</value>
|
||||
|
|
|
@ -9703,6 +9703,10 @@ editarEmpresaController.confMovFPTrocaVlrDeposito=Soma Forma de Pagamento 'TROCA
|
|||
editarEmpresaController.confMovFPTrocaVlrDeposito.help=Soma Forma de Pagamento 'TROCA PASSAGEM' no Valor de Depósito na Conferência de Movimento
|
||||
editarEmpresaController.indSegundaViaSeguroOpcional= Emite Segunda via do seguro opcional
|
||||
editarEmpresaController.indJurosCredito= Habilita juros no cartão de crédito
|
||||
editarEmpresaController.indSaftao= Enable SaftAO
|
||||
editarEmpresaController.saftao.titulo= SaftAO
|
||||
editarEmpresaController.lblCertificadoSaftao.value = Certificate Information
|
||||
editarEmpresaController.lblCarregarCertificadoSaftao.value = Upload Certificate
|
||||
|
||||
editarEmpresaController.encerraViagemFechorllegada.ajuda=Habilita o encerramento pela data de chegada. O padrão é a validação pela data de saída.
|
||||
editarEmpresaController.usaTabelaPrecoEmbarcada.ajuda=Utilizar tabela de preço da Embarcada
|
||||
|
|
|
@ -9394,6 +9394,10 @@ editarEmpresaController.comTransfGeraCaja.help=Transferencias de suma que mueven
|
|||
editarEmpresaController.indSegundaViaSeguroOpcional= Emite una segunda copia del seguro opcional
|
||||
editarEmpresaController.indSegundaViaSeguroOpcional.tooltip=Con este flag seleccionado, al emitir una 2da copia de boleto con seguro vinculado opcional, el sistema también emite la 2da copia del seguro y lo registra en caja en transacciones que no generan efectivo. Además, con esta bandera seleccionada, al cambiar/transferir un billete, el seguro anterior se cancela automáticamente en caja y el importe pagado se utiliza como “crédito” para pagar el nuevo seguro que se registrará en caja.
|
||||
editarEmpresaController.indJurosCredito= Habilita juros no cartão de crédito
|
||||
editarEmpresaController.indSaftao= Habilita SaftAO
|
||||
editarEmpresaController.saftao.titulo= SaftAO
|
||||
editarEmpresaController.lblCertificadoSaftao.value = Información certificada
|
||||
editarEmpresaController.lblCarregarCertificadoSaftao.value = Cargar certificado
|
||||
|
||||
editarEmpresaController.encerraViagemFechorllegada.ajuda=Controla o encerramento da viagem pela data de saída data de chegada da corrida.
|
||||
editarEmpresaController.usaTabelaPrecoEmbarcada.ajuda=Utilizar tabela de preço da Embarcada
|
||||
|
|
|
@ -9795,6 +9795,10 @@ editarEmpresaController.indSegundaViaSeguroOpcional.tooltip=Com esta flag marcad
|
|||
editarEmpresaController.indJurosCredito= Habilita juros no cartão de crédito
|
||||
editarEmpresaController.indHabilitaVendaDeBilheteSemelhante= Hailita a venda de bilhete semelhante na mesma cesta de compra.
|
||||
editarEmpresaController.indHabilitaVendaDeBilheteSemelhante.help = Habilita a venda de bilhetes semelhante na mesma cesta de compra, respeitando o preço do primeiro bilhete.
|
||||
editarEmpresaController.indSaftao= Habilita SaftAO
|
||||
editarEmpresaController.saftao.titulo= SaftAO
|
||||
editarEmpresaController.lblCertificadoSaftao.value = Informações Certificado
|
||||
editarEmpresaController.lblCarregarCertificadoSaftao.value = Carregar Certificado
|
||||
|
||||
editarEmpresaController.indHabilitaTaxaConvenienciaSomenteVenda=Habilita Taxa de Conveniência apenas nas operações de venda.
|
||||
editarEmpresaController.indHabilitaTaxaConvenienciaSomenteVenda.help=Com a Flag marcada, a taxa de conveniência configurada no ponto de venda será aplicada apenas nas operações de venda. NÃO se aplica às operações de troca, transferência, marcação de aberto, etc.
|
||||
|
|
|
@ -66,10 +66,10 @@
|
|||
label="${c:l('editarEmpresaController.lblAdyen.value')}" />
|
||||
<tab id="tabMercadoPago"
|
||||
label="${c:l('editarEmpresaController.lblMercadoPago.value')}" />
|
||||
|
||||
<tab
|
||||
label="${c:l('editarEmpresaController.lblIntegracoesTipoPassagem.value')}" />
|
||||
|
||||
<tab id="tabSaftao" visible="false"
|
||||
label="${c:l('editarEmpresaController.saftao.titulo')}" />
|
||||
</tabs>
|
||||
|
||||
<tabpanels style="overflow: auto">
|
||||
|
@ -2603,6 +2603,44 @@
|
|||
|
||||
</tabpanel>
|
||||
|
||||
<tabpanel >
|
||||
<grid fixedLayout="true">
|
||||
<columns>
|
||||
<column width="25%" />
|
||||
<column width="75%" />
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<label
|
||||
value="${c:l('editarEmpresaController.indSaftao')}" />
|
||||
<checkbox id="chkIndSaftao" value="@{winEditarEmpresa$composer.empresa.indSaftao}" />
|
||||
</row>
|
||||
|
||||
<row spans="2">
|
||||
<groupbox>
|
||||
<caption
|
||||
label="${c:l('editarEmpresaController.lblCertificadoSaftao.value')}" />
|
||||
|
||||
<hlayout>
|
||||
|
||||
<fileupload
|
||||
label="${c:l('editarEmpresaController.lblCarregarCertificadoSaftao.value')}"
|
||||
onUpload="winEditarEmpresa$composer.uploadFileSaftao(event)" />
|
||||
|
||||
</hlayout>
|
||||
</groupbox>
|
||||
</row>
|
||||
|
||||
<row spans="2">
|
||||
<label id="lblCertificadoSaftao"
|
||||
multiline="true" />
|
||||
</row>
|
||||
|
||||
</rows>
|
||||
</grid>
|
||||
</tabpanel>
|
||||
|
||||
|
||||
</tabpanels>
|
||||
</tabbox>
|
||||
</window>
|
||||
|
|
Loading…
Reference in New Issue