- Criado por Jose Leocadio de Barros Junior, última alteração por Tiago Barquilha Serrano em 15 jan, 2025
01. COMO RESOLVER O PROBLEMA DE DADOS QUE NÃO ESTÃO APARECENDO NO APP MINHA BORRACHARIA
1. Verificar se os Serviços Estão Funcionando Normalmente
Antes de iniciar o processo, é essencial garantir que todos os serviços envolvidos estão operando sem problemas.
- O banco de dados (Minha Borracharia).
- Os serviços (Minha Borracharia, Manfro SK, RabbitMQ e TCClient).
- O acesso do APP com a API Minha Borracharia.
2. Efetuar a Consulta na Base de Dados de Origem (BIOENERGIA)
Realize uma consulta na base de dados de origem para obter a quantidade de registros presentes na tabela relevante.
Exemplo de comando para consulta:
SELECT COUNT(*) FROM EQUIP_PNEU WHERE CD_EQUIPTO = '12345';
Guarde a quantidade de registros retornada para referência.
3. Efetuar a Consulta na Base de Dados de Destino (Minha Borracharia)
Em seguida, faça a mesma consulta na base de dados de destino, para comparar os dados.
Exemplo de comando para consulta:
SELECT COUNT(*) FROM PNEU WHERE EQUIPAMENTO_ID IN ( SELECT ID FROM EQUIPAMENTO WHERE CODIGO = '12345' );
Guarde a quantidade de registros da base de destino para comparação.
4. Verificar se no RabbitMQ (gerenciador de mensagens) existe itens a serem processados.
método 1: pelo Painel de Administração (Management UI):
- Acesse o painel de administração do RabbitMQ: geralmente está disponível no endereço
http://localhost:15672(ou no IP e porta configurados no seu ambiente). - Faça login (usuário e senha configurados no RabbitMQ).
- Vá até a aba Queues.
- Veja o número de mensagens em cada fila na coluna Ready:
- Ready: mensagens aguardando processamento.
- Unacked: mensagens que foram entregues ao consumidor, mas ainda não confirmadas.
método 2: Usando a CLI do RabbitMQ (rabbitmqctl):
Execute o comando no terminal para listar as filas e verificar as mensagens:
rabbitmqctl list_queues name messages_ready messages_unacknowledged
- messages_ready: quantidade de mensagens aguardando na fila.
- messages_unacknowledged: mensagens que foram entregues a um consumidor, mas ainda não processadas ou confirmadas.
5. Verificar Diferença de Registros Entre as Tabelas
Compare o número de registros entre as tabelas de origem (BIOENERGIA) e destino(Minha Borracharia). Caso a tabela de destino tenha menos registros que a tabela de origem, siga as etapas abaixo:
- Verifique na base de dados de origem (BIOENERGIA) se há erros de dependência ou a falta de envio do registro na tabela TCC_EVENT, especialmente na coluna MESSAGE.
Exemplo de consulta para verificar dependência:
SELECT * FROM TCC_EVENT WHERE TABLE_NAME = 'PNEU' AND ( STATUS IS NOT NULL OR STATUS LIKE ('ERRO%') );
Aqui está o que cada status significa:
- PROCESSED: Indica que o dado foi enviado e processado com sucesso.
- UNPROCESSED: Indica que o dado ainda está na fila de processamento e será enviado em breve.
- ERROR: Este status significa que ocorreram falhas no envio, mas serão realizadas até 3 novas tentativas para processar o dado.
- ERROR_EXCEEDED: Indica que todas as tentativas de envio foram excedidas e o dado não será mais processado devido a um problema. Os erros mais comuns incluem:
- TC_ORIGIN_ID inválido: Tabela não registrada para envio de dados.
- Entidade sem originId: Exemplo: "Tabela: TABELA_EXEMPLO - ID: ID_EXEMPLO". Esse erro ocorre quando um registro de chave estrangeira ainda não foi enviado.
- Product Connection Schema não encontrado: Exemplo: "Produto: PRODUTO - Schema: EsquemaExemplo". Esse erro ocorre quando a definição do esquema não está relacionada ao produto.
6. Simular um Update Dependendo da Falta de Registros ou Dependências
Caso 1: Falta de Dependência (Chave Estrangeira - FK)
Se houver dependências ausentes (valores de chave estrangeira não correspondem), simule um UPDATE para corrigir a chave estrangeira.
Exemplo de comando para simular o update da chave estrangeira modelo de pneu:
UPDATE MODELO_PNEU SET TC_ORIGIN_ID = TC_ORIGIN_ID;
Essa simulação força o envio dos registros de modelos de pneu da tabela de origem (BIOENERGIA) para a tabela de destino (Minha Borracharia), corrigindo assim a dependência da chave estrangeira para os registros de pneu.
Caso 2: Falta de Registro
Se for detectada a falta de um registro específico, simule um UPDATE no próprio registro da tabela de origem (BIOENERGIA) para refletir a correção.
Exemplo de comando para simular o update do registro:
UPDATE PNEUS SET TC_ORIGIN_ID = TC_ORIGIN_ID WHERE CD_PNEU = '12345';
Esse UPDATE simula a inserção ou alteração dos dados que estão ausentes na tabela de destino(Minha Borracharia).
7. Enviar os Registros Novamente e Atualizar o Aplicativo
Após corrigir as dependências ou registros ausentes e garantir que todos os dados necessários estão na base de dados de destino (Minha Borracharia), execute novamente o processo de sincronização de dados no aplicativo para refletir as alterações realizadas.
02. COMO CRIAR E INSTALAR UM CERTIFICADO HTTPS AUTOASSINADO NO DISPOSITIVO
1.Instalar o OpenSSL (caso não tenha)
Se o OpenSSL ainda não estiver instalado, execute o seguinte comando:
choco install openssl
2.Para Android
2.1 Gerar um Certificado Autoassinado com Suas Credenciais
Para gerar um certificado autoassinado, você pode personalizar as credenciais (como o nome da empresa, o país, etc.). Execute o seguinte comando:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes
Aqui está o que cada parâmetro significa:
-x509: Especifica que você quer gerar um certificado X.509 (formato de certificado padrão).-newkey rsa:2048: Cria uma nova chave privada com o algoritmo RSA e 2048 bits.-keyout key.pem: Define o nome do arquivo de saída da chave privada (neste caso,key.pem).-out cert.pem: Define o nome do arquivo de saída do certificado (neste caso,cert.pem).-days 365: Define o período de validade do certificado em dias (neste caso, 365 dias).-nodes: Impede a criptografia da chave privada, facilitando o uso em ambientes automatizados.
Após executar o comando, o OpenSSL irá solicitar as seguintes informações para personalizar seu certificado:
- País (Country Name): Insira o código do país (exemplo: BR para Brasil).
- Estado ou Província (State or Province Name): O nome do estado ou província onde sua organização está localizada.
- Localidade (Locality Name): O nome da cidade onde sua organização está localizada.
- Organização (Organization Name): O nome da sua organização.
- Unidade Organizacional (Organizational Unit Name): O nome do departamento ou unidade dentro da sua organização (opcional).
- Nome Comum (Common Name): O nome do domínio ou serviço para o qual o certificado será emitido (por exemplo,
www.seudominio.comou o nome do seu servidor). - Endereço de e-mail (Email Address): O e-mail associado ao certificado (opcional).
2.2 Converter para PKCS12
Após gerar o certificado e a chave privada, converta-os para o formato PKCS12 com o comando:
openssl pkcs12 -export -out keystore.p12 -inkey key.pem -in cert.pem
Aqui está o que cada parâmetro faz:
-export: Indica que você deseja exportar o certificado para o formato PKCS12.-out keystore.p12: Define o nome do arquivo de saída do keystore (neste caso,keystore.p12).-inkey key.pem: Especifica o arquivo da chave privada.-in cert.pem: Especifica o arquivo do certificado.
2.3 Transferir o arquivo keystore.p12 para o dispositivo Android
Transfira o arquivo keystore.p12 para o seu dispositivo Android utilizando USB, e-mail ou outro método.
2.4 Instalar o Certificado no Android
- No dispositivo Android, acesse Configurações.
- Navegue até Segurança > Instalar a partir do armazenamento.
- Localize o arquivo
keystore.p12e selecione-o. - Siga as instruções na tela para completar a instalação. Se necessário, configure um bloqueio de tela.
3.Para iOS
3.1 Gerar um Certificado Autoassinado com Suas Credenciais
Siga o mesmo procedimento descrito para Android para gerar os arquivos key.pem e cert.pem. Você pode usar o mesmo comando do Android, mas alterando as informações de credenciais conforme necessário.
3.2 Converter para PKCS12
Converta o certificado para o formato PKCS12 com o comando:
openssl pkcs12 -export -out keystore.p12 -inkey key.pem -in cert.pem
3.3 Transferir o arquivo keystore.p12 para o dispositivo iOS
Transfira o arquivo keystore.p12 para o dispositivo iOS, utilizando métodos como AirDrop ou e-mail.
3.4 Instalar o Certificado no iOS
- No dispositivo iOS, abra o arquivo
keystore.p12. - O dispositivo o redirecionará automaticamente para as configurações de instalação do certificado.
- Siga as instruções para concluir a instalação.
- Para garantir a confiança no certificado, vá para Ajustes > Geral > Sobre > Certificados Confiáveis e ative o seu certificado.
- Sem rótulos