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
|
+ Eliminar(Presupuesto): bool
|
||||||
}
|
}
|
||||||
|
|
||||||
class RepositorioProductos <where T: ProductoBase> {
|
class RepositorioProductos <where T: Producto> {
|
||||||
+ Añadir(T): bool
|
+ Añadir(T): bool
|
||||||
+ Modificar(T): bool
|
+ Modificar(T): bool
|
||||||
+ Eliminar(T): bool
|
+ Eliminar(T): bool
|
||||||
@@ -70,31 +70,36 @@ interface Repositorio<T> {
|
|||||||
+ Eliminar(T): bool
|
+ Eliminar(T): bool
|
||||||
}
|
}
|
||||||
|
|
||||||
RepositorioProductos "1" *--> "0..*" ProductoNoPercedero
|
RepositorioProductos "1" *--> "0..*" Producto
|
||||||
RepositorioProductos "1" *--> "0..*" ProductoPercedero
|
|
||||||
|
|
||||||
class ProductoNoPercedero {
|
class ProductoNoPercedero {
|
||||||
+ FechaElaboracion: DateTime
|
+ FechaElaboracion: DateTime
|
||||||
+ FechaCaducacion: DateTime
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class ProductoPercedero {
|
class ProductoPercedero {
|
||||||
|
+ FechaConsumoPreferente: DateTime
|
||||||
+ FechaVencimiento: DateTime
|
+ FechaVencimiento: DateTime
|
||||||
}
|
}
|
||||||
|
|
||||||
ProductoBase <|-- ProductoNoPercedero
|
Producto <|-- ProductoNoPercedero
|
||||||
ProductoBase <|-- ProductoPercedero
|
Producto <|-- ProductoPercedero
|
||||||
|
|
||||||
class ProductoBase {
|
class Producto {
|
||||||
+ id: int
|
+ id: int
|
||||||
+ Nombre: string
|
+ Nombre: string
|
||||||
+ Precio: double
|
+ Precio: double
|
||||||
- PresupuestosStock: List<Presupuestos>?
|
- PresupuestosStock: List<Presupuestos>?
|
||||||
|
- Lotes: List<Lote>?
|
||||||
+ Habilitado: bool
|
+ Habilitado: bool
|
||||||
|
|
||||||
+ MostrarPresupuestos(): ReadOnlyCollection<Presupuesto>
|
+ MostrarPresupuestos(): ReadOnlyCollection<Presupuesto>
|
||||||
+ AñadirPresupuesto(Presupuesto): bool
|
+ AñadirPresupuesto(Presupuesto): bool
|
||||||
+ EliminarPresupuesto(Presupuesto): bool
|
+ EliminarPresupuesto(Presupuesto): bool
|
||||||
|
|
||||||
|
+ MostrarLotesDeProductos(): ReadOnlyCollection<Lote>
|
||||||
|
+ AñadirLotesStock(): bool
|
||||||
|
+ EliminarLotesStock(): bool
|
||||||
|
+ MostrarStockRemanente(): long
|
||||||
}
|
}
|
||||||
|
|
||||||
class Presupuesto {
|
class Presupuesto {
|
||||||
@@ -107,8 +112,7 @@ class Presupuesto {
|
|||||||
RepositorioPresupuestos "1" *-- "0..*" Presupuesto
|
RepositorioPresupuestos "1" *-- "0..*" Presupuesto
|
||||||
RepositorioProveedores "1" *-- "0..*" Proveedor
|
RepositorioProveedores "1" *-- "0..*" Proveedor
|
||||||
|
|
||||||
Presupuesto "0..*" o-- "1" ProductoNoPercedero
|
Presupuesto "0..*" <--* "1" Producto
|
||||||
Presupuesto "0..*" o-- "1" ProductoPercedero
|
|
||||||
Proveedor "1" *-- "0..*" Presupuesto
|
Proveedor "1" *-- "0..*" Presupuesto
|
||||||
|
|
||||||
class Proveedor {
|
class Proveedor {
|
||||||
@@ -127,7 +131,15 @@ class Venta {
|
|||||||
+ EliminarDetalle(Detalle): void
|
+ 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
|
+ id: int
|
||||||
+ Cantidad: int
|
+ Cantidad: int
|
||||||
+ PrecioUnitario: double
|
+ PrecioUnitario: double
|
||||||
@@ -154,8 +166,7 @@ Cliente <-- Factura
|
|||||||
Factura --> Venta
|
Factura --> Venta
|
||||||
Venta "1" *-- "1..*" Detalle
|
Venta "1" *-- "1..*" Detalle
|
||||||
|
|
||||||
Detalle --> ProductoNoPercedero
|
Detalle --> Producto
|
||||||
Detalle --> ProductoPercedero
|
|
||||||
|
|
||||||
@enduml
|
@enduml
|
||||||
#+end_src
|
#+end_src
|
||||||
@@ -170,26 +181,32 @@ skinparam groupInheritance 2
|
|||||||
|
|
||||||
class ProductoNoPercedero {
|
class ProductoNoPercedero {
|
||||||
+ FechaElaboracion: DateTime
|
+ FechaElaboracion: DateTime
|
||||||
+ FechaCaducacion: DateTime
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class ProductoPercedero {
|
class ProductoPercedero {
|
||||||
|
+ FechaConsumoPreferente: DateTime
|
||||||
+ FechaVencimiento: DateTime
|
+ FechaVencimiento: DateTime
|
||||||
}
|
}
|
||||||
|
|
||||||
ProductoBase <|-- ProductoNoPercedero
|
Producto <|-- ProductoNoPercedero
|
||||||
ProductoBase <|-- ProductoPercedero
|
Producto <|-- ProductoPercedero
|
||||||
|
|
||||||
class ProductoBase {
|
class Producto {
|
||||||
+ id: int
|
+ id: int
|
||||||
+ Nombre: string
|
+ Nombre: string
|
||||||
+ Precio: double
|
+ Precio: double
|
||||||
- PresupuestosStock: List<Presupuestos>?
|
- PresupuestosStock: List<Presupuestos>?
|
||||||
|
- Lotes: List<Lote>?
|
||||||
+ Habilitado: bool
|
+ Habilitado: bool
|
||||||
|
|
||||||
+ MostrarPresupuestos(): ReadOnlyCollection<Presupuesto>
|
+ MostrarPresupuestos(): ReadOnlyCollection<Presupuesto>
|
||||||
+ AñadirPresupuesto(Presupuesto): bool
|
+ AñadirPresupuesto(Presupuesto): bool
|
||||||
+ EliminarPresupuesto(Presupuesto): bool
|
+ EliminarPresupuesto(Presupuesto): bool
|
||||||
|
|
||||||
|
+ MostrarLotesDeProductos(): ReadOnlyCollection<Lote>
|
||||||
|
+ AñadirLotesStock(): bool
|
||||||
|
+ EliminarLotesStock(): bool
|
||||||
|
+ MostrarStockRemanente(): long
|
||||||
}
|
}
|
||||||
|
|
||||||
class Presupuesto {
|
class Presupuesto {
|
||||||
@@ -199,9 +216,8 @@ class Presupuesto {
|
|||||||
+ Cantidad: int
|
+ Cantidad: int
|
||||||
}
|
}
|
||||||
|
|
||||||
Presupuesto "0..*" o-- "1" ProductoNoPercedero
|
Presupuesto "0..*" <--* "1" Producto
|
||||||
Presupuesto "0..*" o-- "1" ProductoPercedero
|
Proveedor "1" *--> "1..*" Presupuesto
|
||||||
Proveedor "1" *-- "0..*" Presupuesto
|
|
||||||
|
|
||||||
class Proveedor {
|
class Proveedor {
|
||||||
+ id: int
|
+ id: int
|
||||||
@@ -219,7 +235,7 @@ class Venta {
|
|||||||
+ EliminarDetalle(Detalle): void
|
+ EliminarDetalle(Detalle): void
|
||||||
}
|
}
|
||||||
|
|
||||||
class Detalle <where T: ProductoBase>{
|
class Detalle <where T: Producto>{
|
||||||
+ id: int
|
+ id: int
|
||||||
+ Cantidad: int
|
+ Cantidad: int
|
||||||
+ PrecioUnitario: double
|
+ PrecioUnitario: double
|
||||||
@@ -246,8 +262,14 @@ Cliente <-- Factura
|
|||||||
Factura --> Venta
|
Factura --> Venta
|
||||||
Venta "1" *-- "1..*" Detalle
|
Venta "1" *-- "1..*" Detalle
|
||||||
|
|
||||||
Detalle --> ProductoNoPercedero
|
Detalle --> Producto
|
||||||
Detalle --> ProductoPercedero
|
|
||||||
|
Producto --> Lote
|
||||||
|
class Lote {
|
||||||
|
+ id: int
|
||||||
|
+ Producto: Producto
|
||||||
|
+ CantidadDeProductos: long
|
||||||
|
}
|
||||||
|
|
||||||
@enduml
|
@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:
|
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
|
#+begin_src plantuml :file ProductoIngreso.svg
|
||||||
@startuml
|
@startuml
|
||||||
class ProductoBase {
|
class Producto {
|
||||||
+ id: int
|
|
||||||
+ Nombre: string
|
+ Nombre: string
|
||||||
+ Precio: double
|
+ Precio: double
|
||||||
+ Habilitado: bool
|
+ Habilitado: bool
|
||||||
|
|
||||||
}
|
}
|
||||||
@enduml
|
@enduml
|
||||||
#+end_src
|
#+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
|
#+begin_src plantuml :file ProductoPercedero.svg
|
||||||
@startuml
|
@startuml
|
||||||
class ProductoPercedero {
|
class ProductoPercedero {
|
||||||
|
+ FechaConsumoPreferente: DateTime
|
||||||
+ FechaVencimiento: DateTime
|
+ FechaVencimiento: DateTime
|
||||||
}
|
}
|
||||||
|
|
||||||
class ProductoBase {}
|
class Producto {}
|
||||||
ProductoBase <|-- ProductoPercedero
|
Producto <|-- ProductoPercedero
|
||||||
@enduml
|
@enduml
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@@ -52,11 +51,10 @@ Mientras que uno *no* percedero necesita fecha de Elaboracion también:
|
|||||||
@startuml
|
@startuml
|
||||||
class ProductoNoPercedero {
|
class ProductoNoPercedero {
|
||||||
+ FechaElaboracion: DateTime
|
+ FechaElaboracion: DateTime
|
||||||
+ FechaCaducacion: DateTime
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class ProductoBase {}
|
class Producto {}
|
||||||
ProductoBase <|-- ProductoNoPercedero
|
Producto <|-- ProductoNoPercedero
|
||||||
@enduml
|
@enduml
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user