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:
Binary file not shown.
|
Before Width: | Height: | Size: 193 KiB After Width: | Height: | Size: 216 KiB |
@@ -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
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 103 KiB |
29
final.org
29
final.org
@@ -3,7 +3,7 @@
|
||||
#+options: date:nil
|
||||
#+LATEX_HEADER: \usepackage{svg}
|
||||
|
||||
* Sistema de Gestion de Stock y Proveedores para una Distribuidora Mayorista
|
||||
* Sistema de Gestion de Stock para una Distribuidora Mayorista
|
||||
El target de nuestro sistema son Mayoristas que aún no tengan un sistema para:
|
||||
- Gestionar el stock de mercaderia restante, (Ventas y Compras).
|
||||
- Registro de Productos en venta, sus respectivos proveedores, Y los presupuestos que nos dan estos para reponer nuestro stock.
|
||||
@@ -25,16 +25,16 @@ class Producto {
|
||||
@enduml
|
||||
#+end_src
|
||||
|
||||
#+ATTR_LATEX: :width 8cm
|
||||
#+ATTR_LATEX: :width 4cm
|
||||
#+RESULTS:
|
||||
[[file:ProductoIngreso.svg]]
|
||||
|
||||
Además de en caso de ser percedero se requerirá una fecha de caducacidad:
|
||||
Además de en caso de ser percedero se requerirá la cantidad de meses los cuales es recomendable que se consuma el producto y la cantidad de meses hasta que el producto llegue a su fecha de vencimiento
|
||||
#+begin_src plantuml :file ProductoPercedero.svg
|
||||
@startuml
|
||||
class ProductoPercedero {
|
||||
+ FechaConsumoPreferente: DateTime
|
||||
+ FechaVencimiento: DateTime
|
||||
+ MesesHastaConsumoPreferente: int
|
||||
+ MesesHastaVencimiento: int
|
||||
}
|
||||
|
||||
class Producto {}
|
||||
@@ -46,23 +46,23 @@ Producto <|-- ProductoPercedero
|
||||
#+RESULTS:
|
||||
[[file:ProductoPercedero.svg]]
|
||||
|
||||
Mientras que uno *no* percedero necesita fecha de Elaboracion también:
|
||||
Mientras que uno *no* percedero necesita tener especificado cual es el tipo de envase que utiliza
|
||||
#+begin_src plantuml :file ProductoNoPercedero.svg
|
||||
@startuml
|
||||
class ProductoNoPercedero {
|
||||
+ FechaElaboracion: DateTime
|
||||
+ TipoDeEnvase
|
||||
}
|
||||
|
||||
|
||||
class Producto {}
|
||||
Producto <|-- ProductoNoPercedero
|
||||
@enduml
|
||||
#+end_src
|
||||
|
||||
#+ATTR_LATEX: :width 8cm
|
||||
#+ATTR_LATEX: :width 6cm
|
||||
#+RESULTS:
|
||||
[[file:ProductoNoPercedero.svg]]
|
||||
|
||||
NOTA: no es necesario cargar los presupuestos que nos hacen los proveedores por renovar el stock de un producto pero es recomendado para que sea más facil calcular los gastos de esa operacion.
|
||||
|
||||
*** Registro de proveedores
|
||||
Los proveedores se pueden cargar en el sistema, y cada proveedor nos da un presupuesto para renovar el stock de un producto.
|
||||
@@ -89,6 +89,7 @@ class Presupuesto {
|
||||
+ Proveedor: Proveedor
|
||||
+ Monto: int
|
||||
+ Cantidad: int
|
||||
+ activo: bool
|
||||
}
|
||||
|
||||
#+end_src
|
||||
@@ -96,7 +97,7 @@ class Presupuesto {
|
||||
#+ATTR_LATEX: :width 5cm
|
||||
#+RESULTS:
|
||||
[[file:Presupuesto.svg]]
|
||||
*No* permitimos que sean modificados una vez cargados.
|
||||
*No* permitimos que sean modificados una vez cargados. sino que el presupuesto debe ser deshabilitado y en su lugar se debe de registrar otro más para mantener la integridad de los presupuestos cargados
|
||||
|
||||
*** Registro de Clientes
|
||||
Para poder Registrar una Compra por parte de un cliente vamos a necesitar que el cliente en cuestión se registre en el sistema:
|
||||
@@ -131,9 +132,11 @@ Tanto el Nombre, Precio y sus posibles proveedores podrán ser modificados.
|
||||
La Baja de un producto se hace por medio de una baja lógica.
|
||||
|
||||
*** Control de Stock (Ventas)
|
||||
Cuando nos llegue que se efectuó una venta, El sistema creará una factura con sus detalles y se deducirá tantos productos del registro en el stock, como los especificados en los detalles de la venta.
|
||||
Cuando se efectue una venta, El sistema creará una factura con sus detalles y se deducirá tantos productos del registro en el stock, como los especificados en los detalles de la venta.
|
||||
|
||||
*** Control de Stock (Compra)
|
||||
Se podrá seleccionar un producto y elejir cual de las diferentes ofertas (Presupuestos) dadas por los proveedores vamos a comprar para reponer nuestro stock.
|
||||
Se podrá seleccionar un producto y elejir cual de las diferentes ofertas (Presupuestos) dadas por los proveedores vamos a comprar para reponer nuestro
|
||||
stock.
|
||||
|
||||
Una vez confirmada la compra el stock de un producto se incrementará por la cantidad de productos comprados.
|
||||
Una vez confirmada la compra el stock de un producto se incrementará
|
||||
por la cantidad de productos comprados y se agregara el lote de la compra para una mejor organizacion de los productos en el programa
|
||||
|
||||
Reference in New Issue
Block a user