Files
2026-08-24 08:13:43 +02:00

39 lines
1.4 KiB
Markdown

# POS-FIX-11: Implementer Evidence
## Problema
Al guardar un ticket pendiente sin cliente asociado, no había forma de identificarlo. Solo se mostraba el ID o receipt number.
## Cambios realizados
### Migración
**`project/migrations/059_pos_pending_label.js`**
- Añade columna `pos_label` a `orders_orders` para almacenar nombre identificativo
### Backend
**`project/src/modules/pos/domain/pos-sale.ts`**
- Añade campo `posLabel?: string` a `PosSaleInput`
**`project/src/modules/pos/api/pos.routes.ts`**
- Schema: acepta `posLabel` en POST /pos/sales
- Query listSales: devuelve `pos_label AS "posLabel"`
**`project/src/modules/pos/application/create-pos-sale.ts`**
- INSERT: guarda `input.posLabel` en columna `pos_label`
### Frontend
**`project/apps/pos/src/types/checkout.ts`**
- Añade `posLabel?: string | null` a `PosPendingSale`
**`project/apps/pos/src/app/(terminal)/page.tsx`**
- Nuevo estado `pendingParkName` para el diálogo de nombre
- Nueva función `doParkSale(name?)` que acepta nombre opcional
- parkSale ahora abre diálogo si no hay cliente
- Diálogo para pedir nombre con input y botones Guardar/Cancelar
- Panel de ventas pendientes muestra: nombre/receipt → fecha+hora · total · pendiente
## Verificación
- [x] TypeScript compila sin errores
- [x] Diálogo aparece al guardar pendiente sin cliente
- [x] Nombre se muestra en el panel junto con fecha
- [x] Migración creada correctamente