feat: implementar jornadas y validar aliases

This commit is contained in:
mono
2026-10-25 17:20:48 -05:00
parent 89390b5bed
commit 4ffce3e3cd
27 changed files with 537 additions and 29 deletions

View File

@@ -0,0 +1,23 @@
# Design: implement-jornada-toldo
## Dominio
JornadaToldo agrega unidad transaccional:
- id, fecha, estado, responsable(s), baseInicial
- inventarioInicial (movimientos), inventarioFinal
- ventas[], gastos[]
- ajustes[] con motivo
- cuadreCaja
- fechaApertura, fechaCierre
## Flujo
1. Abrir jornada (indicar responsables, base inicial)
2. Inventario inicial (comparar con última jornada cerrada, registrar diferencias)
3. Operación diaria (ventas, gastos, ingresos adicionales)
4. Inventario final
5. Cierre con cuadre (validar inventario vs ventas)
## Validaciones
- No permitir ventas/gastos si jornada no abierta
- Ajustes requieren motivo
- Productos distintos por productor
- Cuadre usa totales de jornada

View File

@@ -0,0 +1,20 @@
# Proposal: implement-jornada-toldo
## Why
El README describe una unidad de trabajo clara: "apertura/jornada" del toldo. El equipo recoge productos, hace inventario inicial (comparando con cierre anterior), vende, registra gastos, hace inventario de cierre e ingresa a cuadre. Actualmente inventario/ventas/gastos/cierre están aislados.
## What Changes
- Crear entidad Jornada (JornadaToldo): fecha, estado (ABIERTA/CERRADA), responsables, inventario inicial, inventario final, base inicial, cierre caja, resumen
- Flujo unificado: Abrir Jornada → Inventario inicial/diferencias → Ventas → Gastos → Ingresos adicionales → Cierre (inventario final + cuadre)
- POS debe registrar ventas correctamente y mostrarlas en cierre/caja
- Ajustes con motivo obligatorios en toda modificación
- Reportes por productor integrados a la jornada
- Tests de casos de uso reales (comprar 3 libras café, 2 condimentos, varias ventas, cierre de caja)
- Mejorar UI para flujo diario
## Impact
- packages/core: Jornada entity + reglas
- packages/data: schema + repositorio
- packages/services: JornadaService unificado
- apps/toldo-app: UI flujo apertura/cierre
- Tests de casos de uso

View File

@@ -0,0 +1,22 @@
# Spec: jornada-toldo
## ADDED Requirements
### Requirement: Jornada unificada
The system SHALL have a JornadaToldo that groups all operations of a market day.
#### Scenario: Abrir jornada
- GIVEN no open jornada
- WHEN user opens jornada with responsables and base inicial
- THEN jornada is created with estado ABIERTA
#### Scenario: Ventas asociadas a jornada
- GIVEN open jornada
- WHEN sale is registered
- THEN sale is linked to jornadaId
#### Scenario: Cierre de jornada
- GIVEN open jornada with ventas and gastos
- WHEN closing with final inventory and cash counts
- THEN jornada becomes CERRADA with cuadre
- AND cannot add sales/gastos after closure

View File

@@ -0,0 +1,28 @@
# Tasks
## 1. Dominio
- [x] 1.1 Crear entidad JornadaToldo en core
- [x] 1.2 Reglas de apertura/cierre
- [x] 1.3 Tests dominio jornada
## 2. Datos
- [x] 2.1 Schema Dexie jornadas
- [x] 2.2 Repositorio JornadaRepository
- [x] 2.3 Migración schema
## 3. Servicios
- [x] 3.1 JornadaService (abrir/cerrar)
- [x] 3.2 Integrar ventas/gastos a jornada
- [x] 3.3 Cuadre desde jornada
- [x] 3.4 Tests casos de uso completos
## 4. UI
- [x] 4.1 Vista Apertura de Jornada
- [x] 4.2 Integrar POS con jornada activa
- [x] 4.3 Integrar Gastos con jornada
- [x] 4.4 Vista Cierre de Jornada
- [x] 4.5 Dashboard con jornada activa
## 5. Tests Playwright
- [ ] 5.1 Setup Playwright
- [ ] 5.2 Test caso uso completo: abrir jornada, agregar productos, venta múltiple, gastos, cierre