actuañizado
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 187 KiB After Width: | Height: | Size: 193 KiB |
@@ -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
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 95 KiB |
14
final.org
14
final.org
@@ -17,12 +17,10 @@ y esten en busqueda de =Digitalizar= o =Automatizar= dichas secciones de su nego
|
||||
La dada de alta de un producto se dividirá sobre si un producto es percedero o no requerirá de que se ingresen con los siguientes datos para registrar un producto:
|
||||
#+begin_src plantuml :file ProductoIngreso.svg
|
||||
@startuml
|
||||
class ProductoBase {
|
||||
+ id: int
|
||||
class Producto {
|
||||
+ Nombre: string
|
||||
+ Precio: double
|
||||
+ Habilitado: bool
|
||||
|
||||
}
|
||||
@enduml
|
||||
#+end_src
|
||||
@@ -35,11 +33,12 @@ Además de en caso de ser percedero se requerirá una fecha de caducacidad:
|
||||
#+begin_src plantuml :file ProductoPercedero.svg
|
||||
@startuml
|
||||
class ProductoPercedero {
|
||||
+ FechaConsumoPreferente: DateTime
|
||||
+ FechaVencimiento: DateTime
|
||||
}
|
||||
|
||||
class ProductoBase {}
|
||||
ProductoBase <|-- ProductoPercedero
|
||||
class Producto {}
|
||||
Producto <|-- ProductoPercedero
|
||||
@enduml
|
||||
#+end_src
|
||||
|
||||
@@ -52,11 +51,10 @@ Mientras que uno *no* percedero necesita fecha de Elaboracion también:
|
||||
@startuml
|
||||
class ProductoNoPercedero {
|
||||
+ FechaElaboracion: DateTime
|
||||
+ FechaCaducacion: DateTime
|
||||
}
|
||||
|
||||
class ProductoBase {}
|
||||
ProductoBase <|-- ProductoNoPercedero
|
||||
class Producto {}
|
||||
Producto <|-- ProductoNoPercedero
|
||||
@enduml
|
||||
#+end_src
|
||||
|
||||
|
||||
Reference in New Issue
Block a user