Histórico da Página
...
Atualmente, o modelo de dados utiliza de Schemas Definitions, que é o mapeamento de tabelas e colunas que serão enviadas para parceira, conforme solicitação, a equipe TOTVS Agro realiza esse cadastro e será enviado os seguintes dados:
...
UPNIVEL1 |
---|
...
UPNIVEL2 |
---|
...
UPNIVEL3 | ||
---|---|---|
CD_UPNIVEL1 | CD_UPNIVEL1 + CD_UPNIVEL2 | CD_SAFRA + CD_UPNIVEL1 + CD_UPNIVEL2 + CD_UPNIVEL3 |
CD_UPNIVEL1 | CD_UPNIVEL1 | CD_SAFRA |
CD_MUNIC | CD_UPNIVEL2 | CD_UPNIVEL1 |
CD_FORNEC | CD_MUNIC | CD_UPNIVEL2 |
DE_UPNIVEL1 | DE_UPNIVEL2 | CD_UPNIVEL3 |
DE_ENDERECO | QT_AREA_TOT | CD_TP_PROPR |
NO_TELEFONE | QT_AREA_PROD | DS_TERRA |
NO_CGC_CPF | DS_ASFALTO | |
NO_INCRA | DS_HIDROVIA | |
NO_INSC_PROD | CD_SIST_COLH | |
NO_CEP | DT_PLANTIO | |
FG_TP_PESS | CD_OCUP | |
QT_AREA_TOT | CD_VARIED | |
QT_AREA_PROD | CD_ESTAGIO | |
CD_INT_ERP | CD_ESPACAM | |
INSTANCIA | CD_SIST_PLAN | |
FG_ATIVO | QT_AREA_PROD | |
CD_OCUP_ANT | ||
FG_TP_PLANTIO |
Após o cadastro, vincula-se a base de
...
Após o cadastro, vincula-se a base de dados com o Schema Definition (LocalProducao1, LocalProducao2 e LocalProducao3), esses Schemas Definitions (dados que serão enviados), após efetuar esse vínculo é criado uma trigger que monitora cada insert/update que foi cadastrado conforme a tabela acima. Quando é realizado algum INSERT ou UPDATE esse dado é processado através de tabelas do TOTVS Agro Connector Client e enviado por API como JSON para o TOTVS Agro Connector Server. Em caso de perda de conexão (serviço desligado) o registro fica em uma tabela criada chamada TCC_EVENT com status de UNPROCESSED, assim que serviço é ligado novamente o dado é processado e enviado, isso para garantir que não haja perca de dados.
...
Modelo à ser enviado: FAZENDA (Local de Produção 1) para Salesforce.
API Tipo Descrição IdConta__c Texto ID Fazenda CodigodaPropriedade__c Texto(6) (ID Externo) Código Fazenda Municipio__r.codigoMunicipio__c Pesquisa Código Município Código Município codigoFornecedor__c Numero(8) Código Fornecedor descricaoCompleta__c Texto(70) Descrição Completa BillingStreet Texto(70) Endereço Phone Texto(70) Telefone cnpjCPF__c Texto(18) CNPJ ou CPF numeroIncracodigoFornecedor__c NumeroTexto(815) Código FornecedorN° INCRA descricaoCompletanumeroInscricaoProdutorRural__c Texto(7020) Descrição Completa N° Insc.Produtor Rural Cep__cBillingStreet Texto(7016) Endereço N° CEP Tipo_de_Pessoa__cPhone Texto(701) Telefone cnpjCPFQtdeAreaTotalHA__c TextoNumero(187,2) CNPJ ou CPF numeroIncraQtdeAreaTotalProdHectares__c TextoNumero(157,2) N° INCRA numeroInscricaoProdutorRuralcodigoInternoErp__c Texto(2015) N° Insc.Produtor Rural CepInstancia__r.CodigoInstanciaPIMS__c Texto(165) N° CEP Tipo_de_PessoaflagAtivo__c Texto(1) Lista de Opçoes
Modelo à ser enviado: SETOR (Local de Produção 2) para Salesforce.
API Tipo Descrição IdBlocoQtdeAreaTotalHA__c Numero(7,2) Texto(6) (ID Externo) Id Bloco Conta__r.IdContaQtdeAreaTotalProdHectares__c NumeroPesquisa(7,2Conta) Código Fazenda codigoBlococodigoInternoErp__c Texto(6) (15ID Externo) Código Bloco InstanciaMunicipio__r.CodigoInstanciaPIMS.codigoMunicipio__c Pesquisa Código Município PIMS Name Name Descrição do Bloco Hectares__c TextoNumero(5)16,2) Quantidade de Área Total em Hectares AreaProdutivaHAflagAtivo__c Numero(16,2) Quantidade de Área Produtiva em HectaresLista de Opçoes
Modelo à ser enviado: SETOR TALHÃO (Local de Produção 23) para Salesforce.
API Tipo Descrição Descrição IdTalhao__c Texto ID Talhão Safra__c Numero(5) Código da Safra Conta__r.IdContaIdBloco__c Texto(6) (ID Externo) Id Bloco Código Fazenda BlocoConta__r.IdContaIdBloco__c Pesquisa(Conta) Código FazendaBloco codigoBlococodigoTalhao__c (ID Externo) Texto(6) (ID Externo) Código BlocoTalhão CodigoTipoPropriedadeMunicipio__r.codigoMunicipio__c PesquisaLista de Opções Código Município PIMS Name Name Descrição do Bloco Tipo de Propriedade DistanciaTerra__c Numero(4,1) Distância Terra DistanciaAsfaltoHectares__c Numero(164,21) Quantidade de Área Total em Hectares Distância Asfalto DistanciaHidroviaAreaProdutivaHA__c Numero(164,2) Quantidade de Área Produtiva em Hectares Modelo à ser enviado: TALHÃO (Local de Produção 3) para Salesforce.
1) Distância Hidrovia CodigoSistemaColheita__c Lista de Opções Código de Sistema de Colheita DataPlantio__c Date Data do Plantio CodigoOcupacao__c Lista de Opções Código de Ocupação CodigoVariedade__c Lista de Opções Código de Variedade CodigoEstagio__c Lista de Opções Código de Estagio CodigoEspacamento__c Lista de Opções Código de Espaçamento CodigoSistemaPlantio__c Lista de Opções Código de Sistema de Plantio AreaProdutivaHA__c Numero(7,2) Quantidade de Área Produtiva em Hectares CodigoOcupacaoAnterior__c Lista de Opções Código de Sistema de Plantio Anterior FlagTipoPlantio API Tipo Descrição IdTalhao__c Texto ID Talhão Safra__c Numero(5) Código da Safra Conta__r.IdConta__c Texto(6) Código Fazenda Bloco__r.IdBloco__c Pesquisa Código Bloco codigoTalhao__c (ID Externo) Texto(6) Código Talhão CodigoTipoPropriedade__c Lista de Opções Código Flag de Tipo de Propriedade DistanciaTerra__c Numero(4,1) Distância Terra DistanciaAsfalto__c Numero(4,1) Distância Asfalto DistanciaHidrovia__c Numero(4,1) Distância Hidrovia CodigoSistemaColheita__c Lista de Opções Código de Sistema de Colheita DataPlantio__c Date Data do Plantio CodigoOcupacao__c Lista de Opções Código de Ocupação CodigoVariedade__c Lista de Opções Código de Variedade CodigoEstagio__c Lista de Opções Código de Estagio CodigoEspacamento__c Lista de Opções Código de Espaçamento CodigoSistemaPlantio__c Lista de Opções Código de Sistema de Plantio AreaProdutivaHA__c Numero(7,2) Quantidade de Área Produtiva em Hectares CodigoOcupacaoAnterior__c Lista de Opções Código de Sistema de Plantio Anterior FlagTipoPlantio__c Lista de Opções Flag de Tipo de Plantio
- Exemplo de requisição Postman: PATCH - Fazenda
Exemplo de requisição Postman: PATCH - Setor
- Exemplo de requisição Postman: PATCH - Talhão
...
Plantio
- Exemplo de requisição Postman: PATCH - Fazenda
Exemplo de requisição Postman: PATCH - Setor
- Exemplo de requisição Postman: PATCH - Talhão
2.5.Monitoramento TOTVS Apps
- TOTVS Agro Bioenergia (via TOTVS Agro Connector Client - TCC_EVENT)
- Dentro da base de dados do TOTVS Agro Bioenergia é gerado uma tabela pelo TOTVS Agro Conector Client que é possível verificar os últimos eventos capturados pela Trigger
- Tabela: TCC_EVENT
- TOTVS Agro Bioenergia (via TOTVS Agro Connector Client - TCC_EVENT)
-
- TOTVS Agro Connector Client
- Dentro da base TOTVS Agro Connector Client é possível verificar se as mensagens estão sendo processadas e verificar o JSON.
- Tabela: OUTCOMING_DATA
- TOTVS Agro Connector Client
-
- TOTVS Agro Connector Server
- Dentro da base do TOTVS Agro Connector Server, localizado dentro do TOTVS Apps (Acesso Restrito) é possível verificar os logs.
- Tabela LOG
- TOTVS Agro Connector Server
-
- TOTVS Agro Plataforma
- Nos ambientes do TOTVS Apps (Acesso Restrito) é possível verificar os logs de rastreabilidade, ou seja, verificar se as integridades estão de acordo e se o fluxo pode seguir.
- Ferramenta: LENS
- TOTVS Agro Conecta Dados
- Nos ambientes do TOTVS Apps (Acesso Restrito) é possível verificar os logs de rastreabilidade, ou seja, verificar os dados foram efetivados e a resposta da API com Salesforce.
- Ferramenta: LENS
- TOTVS Agro Plataforma
...
03. Fluxo de Dados/APIs
1. Trigger
1.1. Trigger monitora cada novo evento na tabela
1.2. Para os eventos gerados a trigger insere o registro na tabela TCC_EVENT, com os dados que foram gerados no schema definition e status unprocessed
2. TOTVS Agro Connector Client
2.1. monitora a tabelaTCC_EVENT, por meio da classe EventScheduler.java
2.2. Após receber os dados é feito uma verificação e uma atualização na tabela TCC_EVENT, alterando o status para processed por meio da classe RowDataService.java
2.3. Com os dados validados, é processado para tabela OUTCOMING_DATA e enviado para o TOTVS Agro Connector Server por meio da classe EventProcessor.java
3. TOTVS Agro Connector Server
3.1. A lista de eventos recebidas pelo TOTVS Agro Connector Client é enviado na tabela própria do produto chamada CLIENT_DATA que pode ser encontrado por meio da classe CriateClientDataService.java
3.2. ClientDataScheduler.java é responsável por processar o JSON recebido para a fila do RabbitMQ no TOTVS Agro Plataforma.
4. TOTVS Agro Plataforma
4.1. Nesse momento o JSON é classificado de acordo com schema definition e inserido coluna por coluna nas tabelas com suas integridades na base de dados do TOTVS Agro Plataforma
4.1.1. Se for uma fazenda (Nível 1) (FazendaTCServerListener.java), é inserido e registrado ou atualizado na tabela FAZENDA, por meio da classe FazendaTCServerProcessor.java
4.1.2. Se for um setor (Nível 2) (SetorTCServerListener.java), é inserido e registrado ou atualizado na tabela SETOR, por meio da classe SetorTCServerProcessor.java
4.1.3. Se for um talhão (Nível 3) (TalhaoTCServerListener.java), é inserido e registrado ou atualizado na tabela TALHAO_LOGICO, por meio da classe TalhaoTCServerProcessor.java
4.2. Após as inserções e validações a mensagem (JSON) é novamente inserido em outra fila do Rabbit RabbitMQ para enviar para o TOTVS Agro Conecta Dados por meio da classe EntidadePlataformaPublisher.java
5. TOTVS Agro Conecta Dados
5.1. Em uma fila única, a mensagem recebida é verificada o tipo do connector conector e a mesma é processada na classe AcaoConectorEntidade.java
5.2. Token
5.2.1 O token é recuperado por meio do preenchimento no front e inserido nas tabelas do TOTVS Agro Conecta Dados, a autenticação e atualização de token pode ser acompanhado na classe: é consistido por meio da classe AtualizarTokenSalesforceService.java
5.3. Fazenda
5.3.1. SalesforceEnvioFazendaProcessor.java é a classe responsavél responsável por ler a mensagem, criar e tratar o JSON com a estrutura da Salesforce
5.3.2. SalesforceFazendaHttpClient.java realiza a autenticação e realiza o envio se comunicando com a API Salesforce.
5.4. Setor
5.4.1. SalesforceEnvioSetorProcessor.java é a classe responsavél responsável por ler a mensagem, criar e tratar o JSON com a estrutura da Salesforce
5.4.2. SalesforceSetorHttpClient.java realiza a autenticação e realiza o envio se comunicando com a API Salesforce.
5.5. Talhão
5.5.1. SalesforceEnvioTalhaoProcessor.java é a classe responsavél responsável por ler a mensagem, criar e tratar o JSON com a estrutura da Salesforce
5.5.2. SalesforceTalhaoHttpClient.java realiza a autenticação e realiza o envio se comunicando com a API Salesforce.
...