Pular para o conteúdo
Voltar para os projetos

Back-end

KTHIntTrizy

Integração entre o ERP Sankhya e a Trizy: importa os agendamentos dos terminais de forma idempotente e devolve os eventos de pátio, com fila travada e baixa por evento.

Publicado em

Capa do projeto KTHIntTrizy sobre fundo escuro, com o monograma TZ e as tecnologias Java, Sankhya, Oracle, PL/SQL e API REST

Tecnologias

  • Java
  • Sankhya
  • Oracle
  • PL/SQL
  • API REST

Sobre o projeto

Integração entre o ERP Sankhya e a Trizy, plataforma que controla o agendamento nos terminais. Os agendamentos entram, e os eventos de pátio voltam.

O problema

O terminal agenda de um lado e a operação registra chegada e saída do outro. Enquanto os dois não se falam, o mesmo veículo aparece com hora diferente em cada sistema, e a fila do pátio é reconstruída de memória na hora da cobrança.

O que ele faz

  • Importa os agendamentos da Trizy por CNPJ, paginando e limitando a busca a uma janela de datas, e grava dados principais, chaves de NF-e e a resposta bruta para auditoria.
  • Envia os eventos de pátio gerados no ERP, como chegada e início de carregamento, e guarda o identificador devolvido pela Trizy.
  • Lê a fila de eventos em lotes pequenos, em ordem cronológica.

Decisões de projeto

A gravação do agendamento é idempotente pela chave da Trizy: reexecutar a importação atualiza o que mudou em vez de duplicar a viagem. Agendamento sem essa chave é recusado, porque sem ela não há como reconhecer o mesmo registro na rodada seguinte.

Enviar o evento e dar baixa nele são passos separados. Se a Trizy aceitar o evento e a baixa falhar, ele volta na próxima execução com o mesmo identificador externo, em vez de ser marcado como erro depois de entregue.

A leitura da fila trava as linhas e ignora as que já estão travadas, então duas execuções simultâneas nunca pegam o mesmo lote.

Código fechado. O projeto roda em ambiente corporativo da Kothe SA.

Interações

Carregando as curtidas…