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

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.