andrehc / dockyard

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Api para controle de pátios e containers

Regras gerais:

Essa aplicação deve usar o sistema internacional de unidades. (https://pt.wikipedia.org/wiki/Sistema_Internacional_de_Unidades)

Papéis de usuários

  1. Gerente de Imóveis
  2. Gerente de Logística
  3. Operador de Logística

Pátios

Cada galpão deve possuir os seguintes atributos no banco de dados

  • Id
  • Localizador (único e formado por 3 letras)
  • Comprimento (em cm) - inteiro
  • Largura (em cm) - inteiro

E os seguintes atributos calculados

  • Área (m2) - duas casas decimais

Além disso ele deve obedecer os seguintes padrões:

  1. Possui formato retangular
  2. Apenas usuários com o papel gerente de imóveis podem gerenciar pátios
  3. Pátios podem ser listados, cadastrados, editados e excluídos
  4. Apenas pátios vazios podem ser excluídos
  5. O pátio não pode ter a área diminuída
  6. A área mínima do pátio é a de um container padrão
  7. Os pátios podem armazenar contêineres de acordo com a área máxima sem limite de peso total.
  8. O armazenamento de containers sempre será feito mantendo a direção dos mesmos conforme imagem abaixo:

Containers

Cada contêiner deve possuir os seguintes atributos

  • Localizador (Único e formado por uma letra maiúscula e 2 dígitos, exemplo: X34)
  • Altura (cm) - inteiro
  • Comprimento (cm) - inteiro
  • Largura (cm) - inteiro
  • Peso da Tara (kg) - inteiro
  • Peso máximo de armazenamento (kg) - inteiro
  • Pátio de armazenamento

E os seguintes atributos calculados

  • Volume (m3) - duas casas decimais
  • Peso Bruto (Peso da tara + peso das caixas) (tonelada)
  • Volume livre (m3) - duas casas decimais
  • Volume preenchido (m3) - duas casas decimais

Além disso eles devem obedecer às seguintes normas:

  1. Todo container nessa aplicação deverá ter as medidas pré-definidas como na imagem abaixo:

  1. Apenas usuários com o papel gerente de logística podem gerenciar containers
  2. Containers podem ser cadastrados, excluídas e restauradas (soft delete)
  3. Apenas containers vazios podem ser inativados
  4. Os containers podem armazenar caixas de acordo com a área e volume máximos
  5. Cada container pode armazenar no máximo 18 toneladas (fora as 2.44 toneladas de tara)
  6. Os containers podem ser empilhados desde que a quantidade empilhada não ultrapasse 9 containers.

Caixas

As caixas devem possuir os seguintes atributos:

  • Identificador (GUID)
  • Altura (em cm) - inteiro
  • Comprimento (em cm) - inteiro
  • Largura (em cm) - inteiro
  • Peso (em gramas) - inteiro
  • Container de armazenamento

E os seguintes atributos calculados

  • Volume (m3) - duas casas decimais

Além disso eles devem obedecer às seguintes normas:

  1. Toda caixa tem formato cúbico
  2. Qualquer usuário autenticado pode gerenciar caixas
  3. Caixas podem ser cadastradas e excluídas
  4. As caixas podem ser empilhados livremente desde que haja espaço vertical

About


Languages

Language:PHP 86.8%Language:Blade 12.2%Language:Shell 0.6%Language:JavaScript 0.4%