actuañizado

This commit is contained in:
2024-01-15 15:12:52 -03:00
parent 95c3695fe8
commit 3e7e098a54
5 changed files with 50 additions and 30 deletions

View File

@@ -50,7 +50,7 @@ class RepositorioPresupuestos {
+ Eliminar(Presupuesto): bool
}
class RepositorioProductos <where T: ProductoBase> {
class RepositorioProductos <where T: Producto> {
+ Añadir(T): bool
+ Modificar(T): bool
+ Eliminar(T): bool
@@ -70,31 +70,36 @@ interface Repositorio<T> {
+ Eliminar(T): bool
}
RepositorioProductos "1" *--> "0..*" ProductoNoPercedero
RepositorioProductos "1" *--> "0..*" ProductoPercedero
RepositorioProductos "1" *--> "0..*" Producto
class ProductoNoPercedero {
+ FechaElaboracion: DateTime
+ FechaCaducacion: DateTime
}
class ProductoPercedero {
+ FechaConsumoPreferente: DateTime
+ FechaVencimiento: DateTime
}
ProductoBase <|-- ProductoNoPercedero
ProductoBase <|-- ProductoPercedero
Producto <|-- ProductoNoPercedero
Producto <|-- ProductoPercedero
class ProductoBase {
class Producto {
+ id: int
+ Nombre: string
+ Precio: double
- PresupuestosStock: List<Presupuestos>?
- Lotes: List<Lote>?
+ Habilitado: bool
+ MostrarPresupuestos(): ReadOnlyCollection<Presupuesto>
+ AñadirPresupuesto(Presupuesto): bool
+ EliminarPresupuesto(Presupuesto): bool
+ MostrarLotesDeProductos(): ReadOnlyCollection<Lote>
+ AñadirLotesStock(): bool
+ EliminarLotesStock(): bool
+ MostrarStockRemanente(): long
}
class Presupuesto {
@@ -107,8 +112,7 @@ class Presupuesto {
RepositorioPresupuestos "1" *-- "0..*" Presupuesto
RepositorioProveedores "1" *-- "0..*" Proveedor
Presupuesto "0..*" o-- "1" ProductoNoPercedero
Presupuesto "0..*" o-- "1" ProductoPercedero
Presupuesto "0..*" <--* "1" Producto
Proveedor "1" *-- "0..*" Presupuesto
class Proveedor {
@@ -127,7 +131,15 @@ class Venta {
+ EliminarDetalle(Detalle): void
}
class Detalle <where T: ProductoBase>{
Lote <-- Producto
class Lote {
+ id: int
+ Producto: Producto
+ CantidadDeProductos: long
}
class Detalle <where T: Producto>{
+ id: int
+ Cantidad: int
+ PrecioUnitario: double
@@ -154,8 +166,7 @@ Cliente <-- Factura
Factura --> Venta
Venta "1" *-- "1..*" Detalle
Detalle --> ProductoNoPercedero
Detalle --> ProductoPercedero
Detalle --> Producto
@enduml
#+end_src
@@ -170,26 +181,32 @@ skinparam groupInheritance 2
class ProductoNoPercedero {
+ FechaElaboracion: DateTime
+ FechaCaducacion: DateTime
}
class ProductoPercedero {
+ FechaConsumoPreferente: DateTime
+ FechaVencimiento: DateTime
}
ProductoBase <|-- ProductoNoPercedero
ProductoBase <|-- ProductoPercedero
Producto <|-- ProductoNoPercedero
Producto <|-- ProductoPercedero
class ProductoBase {
class Producto {
+ id: int
+ Nombre: string
+ Precio: double
- PresupuestosStock: List<Presupuestos>?
- Lotes: List<Lote>?
+ Habilitado: bool
+ MostrarPresupuestos(): ReadOnlyCollection<Presupuesto>
+ AñadirPresupuesto(Presupuesto): bool
+ EliminarPresupuesto(Presupuesto): bool
+ MostrarLotesDeProductos(): ReadOnlyCollection<Lote>
+ AñadirLotesStock(): bool
+ EliminarLotesStock(): bool
+ MostrarStockRemanente(): long
}
class Presupuesto {
@@ -199,9 +216,8 @@ class Presupuesto {
+ Cantidad: int
}
Presupuesto "0..*" o-- "1" ProductoNoPercedero
Presupuesto "0..*" o-- "1" ProductoPercedero
Proveedor "1" *-- "0..*" Presupuesto
Presupuesto "0..*" <--* "1" Producto
Proveedor "1" *--> "1..*" Presupuesto
class Proveedor {
+ id: int
@@ -219,7 +235,7 @@ class Venta {
+ EliminarDetalle(Detalle): void
}
class Detalle <where T: ProductoBase>{
class Detalle <where T: Producto>{
+ id: int
+ Cantidad: int
+ PrecioUnitario: double
@@ -246,8 +262,14 @@ Cliente <-- Factura
Factura --> Venta
Venta "1" *-- "1..*" Detalle
Detalle --> ProductoNoPercedero
Detalle --> ProductoPercedero
Detalle --> Producto
Producto --> Lote
class Lote {
+ id: int
+ Producto: Producto
+ CantidadDeProductos: long
}
@enduml