Skip to content

Disponibilizar APIs para facilitar o abastecimento e organização de cargas em veículos de centro logístico

License

Notifications You must be signed in to change notification settings

brunomillerps/centro-logistico

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

centro-logistico

Disponibilizar APIs para facilitar o abastecimento e organização de cargas em veículos de centro logístico

Pré requisitos

  • Java 8
  • O projeto está configurado na porta 8089
  • Testes via curl, POSTMAN ou relacionado

Subir a aplicação

Está disponível na pasta target o jar da aplicação. Basta executar, via linha de comando:

  • java -jar abastecimento-doca-1.0.0.jar

Chamada das APIs

Api que relaciona Pacotes X Caminhão X Entrega

  • Não pode cadastrar vehicle e delivery 2+ vezes
  • Não pode empilhar pacotes com o mesmo peso
POST /delivery
{
    "vehicle" : "123456",
    "deliveryId" : "1234567890"
    "packages" : [
        { "id": "1", "weight": "14.50"},
        { "id": "2", "weight": "12.15"},
        { "id": "3", "weight": "19.50"}
    ]
}

---
201 CREATED

Api que retorna os passos para abastecer o Caminhão.

O processo de abastecimento do veículo possui disponível uma zona de transferência (T) e por segurança, há algumas restrições:

  • Todas as zonas (zona de abastecimento [A], zona de transferência [T] e zona do caminhão [C]) possuem espaço somente para pacotes empilhados e somente uma pilha pode ser formada em cada zona (inclusive no caminhão);
  • Somente um pacote pode ser movimentado por vez;
  • Nunca um pacote mais pesado deve ser colocado sobre um pacote mais leve;

Essa API retorna a consulta de instruções para abastecimento de carga no veículo, dado um ID de entrega e ID de veículo. A consulta deve informar os passos para movimentação da carga entre o centro logístico, a zona de transferência e o veículo, como no exemplo abaixo.

GET /delivery/{deliveryId}/{vehicle}/step
    [
        { "step" : 1, "packageId": 2, "from": "zona de abastecimento", "to": "zona do caminhão" },
        { "step" : 2, "packageId": 1, "from": "zona de abastecimento", "to": "zona de transferência" },
        { "step" : 3, "packageId": 2, "from": "zona do caminhão", "to": "zona de transferência" },
        { "step" : 4, "packageId": 3, "from": "zona de abastecimento", "to": "zona do caminhão" },
        { "step" : 5, "packageId": 2, "from": "zona de transferência", "to": "zona de abastecimento" },
        { "step" : 6, "packageId": 1, "from": "zona de transferência", "to": "zona de caminhão" },
        { "step" : 7, "packageId": 2, "from": "zona de abastecimento", "to": "zona de caminhão" }
    ]

---
200 OK

About

Disponibilizar APIs para facilitar o abastecimento e organização de cargas em veículos de centro logístico

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages