Páginas filhas
  • Orientações e FAQ - TOTVS Agro Minha Borracharia

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Expandir
title01. COMO RESOLVER O PROBLEMA DE DADOS QUE NÃO ESTÃO APARECENDO NO APP MINHA BORRACHARIA

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

estão funcionando normalmente

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

origem, e guardar

de dados de origem para obter a quantidade de registros

. Ex: 

presentes na tabela relevante.

Exemplo de comando para consulta:

Bloco de código
languagesql
titlesql
linenumberstrue
SELECT COUNT(*) FROM EQUIP_PNEU WHERE CD_EQUIPTO = '12345';

Guarde a quantidade de registros retornada para referência.

Image Removed

3. Efetuar a Consulta na Base de Dados de Destino (Minha Borracharia)

Em seguida, faça a mesma consulta na base de

destino, e guardar a quantidade de registros. Ex:

dados de destino, para comparar os dados.

Exemplo de comando para consulta:

Bloco de código
languagesql
titlesql
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:

Bloco de código
languagepowershell
titlebash
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:

Bloco de código
languagesql
titlesql
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:

Bloco de código
languagesql
titlesql
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:

Bloco de código
languagesql
titlesql
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.

 Image Removed

4. Se na tabela da base de dados de destino, estiver com menos informações que a tabela da base de origem, verificar na base de origem a tabela TCC_EVENT se está ocorrendo algum erro de dependência na coluna STATUS.

Image Removed

5. Se no item (4) a resposta for sim, efetuar a simulação de update para enviar as dependências restantes.

6. Efetuar o envio dos registros novamente e atualizar o aplicativo


Expandir
title02. COMO CRIAR E INSTALAR UM CERTIFICADO HTTPS AUTOASSINADO NO DISPOSITIVO

02. COMO CRIAR E INSTALAR UM CERTIFICADO HTTPS AUTOASSINADO NO DISPOSITIVO

Para criar e instalar um certificado HTTPS auto assinado no dispositivo

1.Instalar o OpenSSL (caso não tenha)

Se o OpenSSL ainda não estiver instalado, execute o seguinte comando:

Bloco de código
languagebash
theme
DJango
titlebash
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:

Bloco de código
languagebash
themeDJango
titlebash
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.com ou 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:

Bloco de código
languagebash
themeDJango
titlebash
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

  1. No dispositivo Android, acesse Configurações.
  2. Navegue até Segurança > Instalar a partir do armazenamento.
  3. Localize o arquivo keystore.p12 e selecione-o.
  4. 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:

Bloco de código
languagebashthemeDJango
titlebash
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

  1. No dispositivo iOS, abra o arquivo keystore.p12.
  2. O dispositivo o redirecionará automaticamente para as configurações de instalação do certificado.
  3. Siga as instruções para concluir a instalação.
  4. Para garantir a confiança no certificado, vá para Ajustes > Geral > Sobre > Certificados Confiáveis e ative o seu certificado.