Essa aplicação deve usar o sistema internacional de unidades. (https://pt.wikipedia.org/wiki/Sistema_Internacional_de_Unidades)
- Gerente de Imóveis
- Gerente de Logística
- Operador de Logística
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:
- Possui formato retangular
- Apenas usuários com o papel gerente de imóveis podem gerenciar pátios
- Pátios podem ser listados, cadastrados, editados e excluídos
- Apenas pátios vazios podem ser excluídos
- O pátio não pode ter a área diminuída
- A área mínima do pátio é a de um container padrão
- Os pátios podem armazenar contêineres de acordo com a área máxima sem limite de peso total.
- O armazenamento de containers sempre será feito mantendo a direção dos mesmos conforme imagem abaixo:
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:
- Todo container nessa aplicação deverá ter as medidas pré-definidas como na imagem abaixo:
- Apenas usuários com o papel gerente de logística podem gerenciar containers
- Containers podem ser cadastrados, excluídas e restauradas (soft delete)
- Apenas containers vazios podem ser inativados
- Os containers podem armazenar caixas de acordo com a área e volume máximos
- Cada container pode armazenar no máximo 18 toneladas (fora as 2.44 toneladas de tara)
- Os containers podem ser empilhados desde que a quantidade empilhada não ultrapasse 9 containers.
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:
- Toda caixa tem formato cúbico
- Qualquer usuário autenticado pode gerenciar caixas
- Caixas podem ser cadastradas e excluídas
- As caixas podem ser empilhados livremente desde que haja espaço vertical