arreglos hechos durante la clase consulta de laureano

falta:
- [ ] Poner en claro las relaciones que no estan bien
especificadas (multiplicidad, y navegabilidad
- [ ] Poner lote como clase intermedia al presupuesto y producto
- [ ] CATEgorias
- [ ] armar un tablero kanban con esto
- [ ] mejorar la narrativa (probablemente saque las imagenes y ponga en
texto)
- [ ] añadir remitos ( y investigar que son )
- [ ] eliminar clase venta por ser parte de la factura
This commit is contained in:
2024-01-17 15:57:44 -03:00
parent 3e7e098a54
commit 81f151ad44
5 changed files with 55 additions and 23 deletions

View File

@@ -6,6 +6,14 @@
@startuml
skinparam groupInheritance 2
class RepositorioLotes {
+ Añadir(detalle): bool
+ Modificar(detalle): bool
+ Eliminar(detalle): bool
}
RepositorioLotes "1" *-- "0..*" Lote
class RepositorioDetalles {
+ Añadir(detalle): bool
+ Modificar(detalle): bool
@@ -57,6 +65,7 @@ class RepositorioProductos <where T: Producto> {
}
RepositorioProductos ..|> Repositorio: Implementa
RepositorioLotes ..|> Repositorio: Implementa
RepositorioPresupuestos ..|> Repositorio: Implementa
RepositorioFacturas ..|> Repositorio: Implementa
RepositorioClientes ..|> Repositorio: Implementa
@@ -72,13 +81,22 @@ interface Repositorio<T> {
RepositorioProductos "1" *--> "0..*" Producto
enum EnvaseTipo {
Plastico,
Enlatado,
Cartón,
}
ProductoNoPercedero --> EnvaseTipo
class ProductoNoPercedero {
+ FechaElaboracion: DateTime
+ TipoDeEnvase: EnvaseTipo
}
class ProductoPercedero {
+ FechaConsumoPreferente: DateTime
+ FechaVencimiento: DateTime
+ MesesHastaConsumoPreferente: int
+ MesesHastaVencimiento: int
}
Producto <|-- ProductoNoPercedero
@@ -113,7 +131,7 @@ RepositorioPresupuestos "1" *-- "0..*" Presupuesto
RepositorioProveedores "1" *-- "0..*" Proveedor
Presupuesto "0..*" <--* "1" Producto
Proveedor "1" *-- "0..*" Presupuesto
Proveedor <-- Presupuesto
class Proveedor {
+ id: int
@@ -131,12 +149,13 @@ class Venta {
+ EliminarDetalle(Detalle): void
}
Lote <-- Producto
Lote -- Producto
class Lote {
+ id: int
+ Producto: Producto
+ CantidadDeProductos: long
+ FechaVencimiento: DateTime
}
class Detalle <where T: Producto>{
@@ -180,12 +199,12 @@ Detalle --> Producto
skinparam groupInheritance 2
class ProductoNoPercedero {
+ FechaElaboracion: DateTime
+ TipoDeEnvase: EnvaseTipo
}
class ProductoPercedero {
+ FechaConsumoPreferente: DateTime
+ FechaVencimiento: DateTime
+ MesesHastaConsumoPreferente: int
+ MesesHastaVencimiento: int
}
Producto <|-- ProductoNoPercedero
@@ -214,15 +233,17 @@ class Presupuesto {
+ Proveedor: Proveedor
+ Monto: int
+ Cantidad: int
+ habilitado: bool
}
Presupuesto "0..*" <--* "1" Producto
Proveedor "1" *--> "1..*" Presupuesto
Proveedor <-- Presupuesto
class Proveedor {
+ id: int
+ Nombre: string
+ RazónSocial: string
+ habilitado: bool
}
class Venta {
@@ -264,13 +285,21 @@ Venta "1" *-- "1..*" Detalle
Detalle --> Producto
Producto --> Lote
Producto -- Lote
class Lote {
+ id: int
+ Producto: Producto
+ CantidadDeProductos: long
+ habilitado: bool
}
enum EnvaseTipo {
Plastico,
Enlatado,
Cartón,
}
ProductoNoPercedero --> EnvaseTipo
@enduml
#+end_src