119 lines
2.6 KiB
Markdown
119 lines
2.6 KiB
Markdown
# US-MMD006-002: Agregar Lineas a Cotizacion
|
|
|
|
## Metadata
|
|
|
|
| Campo | Valor |
|
|
|-------|-------|
|
|
| **ID** | US-MMD006-002 |
|
|
| **Epica** | EPIC-MMD-006 - Cotizaciones y Presupuestos |
|
|
| **Modulo** | cotizaciones |
|
|
| **Prioridad** | P0 |
|
|
| **Story Points** | 5 |
|
|
| **Sprint** | Sprint 6 |
|
|
| **Estado** | Backlog |
|
|
|
|
---
|
|
|
|
## Historia de Usuario
|
|
|
|
**Como** recepcionista,
|
|
**quiero** agregar servicios y refacciones a la cotizacion,
|
|
**para** detallar el presupuesto completo para el cliente.
|
|
|
|
## Descripcion Detallada
|
|
|
|
Las cotizaciones contienen lineas de servicios (mano de obra) y refacciones (partes). Cada linea debe tener descripcion, cantidad, precio unitario y subtotal.
|
|
|
|
---
|
|
|
|
## Criterios de Aceptacion
|
|
|
|
**Escenario 1: Agregar servicio del catalogo**
|
|
```gherkin
|
|
DADO que edito cotizacion
|
|
CUANDO busco servicio "Calibracion inyectores"
|
|
ENTONCES agrega linea:
|
|
| Descripcion | Cantidad | Precio | Subtotal |
|
|
| Calibracion inyectores | 1 | $1,200 | $1,200 |
|
|
```
|
|
|
|
**Escenario 2: Agregar refaccion**
|
|
```gherkin
|
|
DADO que agrego refacciones
|
|
CUANDO selecciono del inventario:
|
|
| Refaccion | Cantidad | Precio |
|
|
| Filtro aceite ISX | 2 | $450 |
|
|
ENTONCES agrega linea con subtotal $900
|
|
```
|
|
|
|
**Escenario 3: Linea personalizada**
|
|
```gherkin
|
|
DADO que necesito algo no catalogado
|
|
CUANDO agrego linea manual:
|
|
| Descripcion | Trabajo especial |
|
|
| Cantidad | 1 |
|
|
| Precio | $500 |
|
|
ENTONCES se agrega a la cotizacion
|
|
```
|
|
|
|
**Escenario 4: Modificar cantidad**
|
|
```gherkin
|
|
DADO que tengo linea con 1 unidad
|
|
CUANDO cambio cantidad a 4
|
|
ENTONCES recalcula subtotal
|
|
Y actualiza total de cotizacion
|
|
```
|
|
|
|
**Escenario 5: Eliminar linea**
|
|
```gherkin
|
|
DADO que tengo linea agregada
|
|
CUANDO elimino la linea
|
|
ENTONCES se quita de la cotizacion
|
|
Y se recalcula el total
|
|
```
|
|
|
|
**Escenario 6: Aplicar descuento por linea**
|
|
```gherkin
|
|
DADO que agrego linea
|
|
CUANDO aplico descuento 10%
|
|
ENTONCES muestra:
|
|
| Precio | Descuento | Subtotal |
|
|
| $1,200 | -$120 | $1,080 |
|
|
```
|
|
|
|
---
|
|
|
|
## Tareas Tecnicas
|
|
|
|
**Database:**
|
|
- [ ] DB-105: Crear tabla `quote_items`
|
|
- [ ] DB-106: Campos: type, description, qty, price, discount
|
|
|
|
**Backend:**
|
|
- [ ] BE-212: CRUD lineas de cotizacion
|
|
- [ ] BE-213: Calculo de totales
|
|
- [ ] BE-214: Busqueda en catalogos
|
|
|
|
**Frontend:**
|
|
- [ ] FE-207: Crear QuoteItemsEditor
|
|
- [ ] FE-208: Crear ServiceSearch
|
|
- [ ] FE-209: Crear PartSearch
|
|
- [ ] FE-210: Crear LineItemRow
|
|
|
|
---
|
|
|
|
## Definition of Done (DoD)
|
|
|
|
- [ ] Agregar servicio del catalogo
|
|
- [ ] Agregar refaccion
|
|
- [ ] Linea personalizada
|
|
- [ ] Modificar cantidad
|
|
- [ ] Eliminar linea
|
|
- [ ] Descuento por linea
|
|
- [ ] Tests pasando
|
|
|
|
---
|
|
|
|
**Creada por:** Requirements-Analyst
|
|
**Fecha:** 2025-12-06
|