Páginas filhas
  • Orientações e FAQ - TOTVS Agro 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 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:

sql
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:

sql
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:

bash
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:

sql
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:

sql
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:

sql
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:

bash
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:

bash
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:

bash
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:

bash
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.
  • Sem rótulos