/desafio-engenharia

Desafio Técnico - Engenharia

Primary LanguageJavaMIT LicenseMIT

Desafio de engenharia da Loggi

Desenvolvido usando JavaSE-17, no ambiente do Eclipse Version: 2021-12 (4.22.0) Build id: 20211202-1639.

O leitor de código de barras da Loggi

A Loggi está em constante expansão e precisa da sua ajuda para conectar o Brasil.
O processo de separação de pacotes acontece de modo automático, uma esteira
inteligente lê o código de barras dos pacotes e os agrupa pelas regiões de destino.
O código de barras do pacote é composto por 15 dígitos, onde cada trinca
numérica representa uma informação do pacote.

Ordem das Trincas


1 Região de Origem
2 Região de Destino
3 Código da Loggi
4 Código do Vendedor do produto
5 Tipo do produto

Código de referência: Cidade/Região


Centro-oeste 201 até 299
Nordeste 300 até 399
Norte 400 até 499
Sudeste 001 até 099
Sul 100 até 199

Os códigos das cidades estão ordenados por ordem de entrega na rota.

Tipo do Produto Código

Jóias 001
Livros 111
Eletrônicos 333
Bebidas 555
Brinquedos 888

Exemplo:
Código:
033 334 555 999 000
Região de origem: Cidade 33, região Sudeste
Região de destino: Cidade 334, região Nordeste
Código Loggi: 555
Código do vendedor do produto: 999
Tipo do produto: Jóias

Considere as seguintes restrições:


1) A Loggi não envia produtos que não sejam dos tipos acima informados.
2) Não é possível despachar pacotes contendo jóias tendo como região de
origem o Centro-oeste;
3) O vendedor 367 está com seu CNPJ inativo e, portanto, não pode mais
enviar pacotes pela Loggi, os códigos de barra que estiverem relacionados
a este vendedor devem ser considerados inválidos.

A Loggi precisa:


1. Identificar a região de destino de cada pacote, com totalização de
pacotes (soma região);
2. Saber quais pacotes possuem códigos de barras válidos e/ou
inválidos;
3. Identificar os pacotes que têm como origem a região Sul e
Brinquedos em seu conteúdo;
4. Listar os pacotes agrupados por região de destino (Considere apenas
pacotes válidos);
5. Listar o número de pacotes enviados por cada vendedor (Considere
apenas pacotes válidos);
6. Gerar o relatório/lista de pacotes por destino e por tipo (Considere
apenas pacotes válidos);
7. Se o transporte dos pacotes para o Norte passa pela Região
Centro-Oeste, quais são os pacotes que devem ser despachados no
mesmo caminhão?
8. Se todos os pacotes fossem uma fila qual seria a ordem de carga
para o Norte no caminhão para descarregar os pacotes da Região
Centro Oeste primeiro;
9. No item acima considerar que as jóias fossem sempre as primeiras a
serem descarregadas;
10. Listar os pacotes inválidos.

Caso tenha dificuldade em algum item, pode ser pulado, mas deixe a saída como:
“Não processado”.