165 lines
3.7 KiB
Markdown
165 lines
3.7 KiB
Markdown
# US-MMD002-005: Registrar Trabajos Realizados
|
|
|
|
## Metadata
|
|
|
|
| Campo | Valor |
|
|
|-------|-------|
|
|
| **ID** | US-MMD002-005 |
|
|
| **Epica** | EPIC-MMD-002 - Ordenes de Servicio |
|
|
| **Modulo** | ordenes-servicio |
|
|
| **Prioridad** | P0 |
|
|
| **Story Points** | 8 |
|
|
| **Sprint** | Sprint 4 |
|
|
| **Estado** | Backlog |
|
|
|
|
---
|
|
|
|
## Historia de Usuario
|
|
|
|
**Como** mecanico,
|
|
**quiero** registrar los trabajos realizados con tiempo y refacciones utilizadas,
|
|
**para** documentar el servicio y facilitar la facturacion.
|
|
|
|
## Descripcion Detallada
|
|
|
|
El mecanico debe poder agregar lineas de trabajo a la orden: que servicio realizo, cuanto tiempo le tomo, y que refacciones utilizo. Esto permite calcular el costo total y tener trazabilidad del servicio.
|
|
|
|
---
|
|
|
|
## Criterios de Aceptacion
|
|
|
|
**Escenario 1: Agregar servicio del catalogo**
|
|
```gherkin
|
|
DADO que tengo una orden asignada
|
|
CUANDO agrego un servicio del catalogo:
|
|
| Servicio | Cantidad | Unidad | Precio |
|
|
| Cambio de aceite | 1 | evento | $350 |
|
|
ENTONCES el servicio se agrega a la orden
|
|
Y el subtotal se actualiza
|
|
```
|
|
|
|
**Escenario 2: Registrar tiempo de trabajo**
|
|
```gherkin
|
|
DADO que realizo una reparacion
|
|
CUANDO registro el tiempo:
|
|
| Trabajo | Tiempo | Precio/hora |
|
|
| Reparacion bomba | 3.5 hrs | $450 |
|
|
ENTONCES se calcula: 3.5 x $450 = $1,575
|
|
Y se agrega al total de mano de obra
|
|
```
|
|
|
|
**Escenario 3: Agregar refaccion utilizada**
|
|
```gherkin
|
|
DADO que uso una refaccion
|
|
CUANDO la agrego a la orden:
|
|
| Refaccion | Cantidad | Precio |
|
|
| Filtro diesel | 2 | $225 c/u |
|
|
ENTONCES se descuenta del inventario
|
|
Y se agrega al costo de refacciones: $450
|
|
```
|
|
|
|
**Escenario 4: Ver resumen de orden**
|
|
```gherkin
|
|
DADO que he registrado varios trabajos
|
|
CUANDO veo el resumen
|
|
ENTONCES veo:
|
|
| Concepto | Monto |
|
|
| Mano de obra | $1,925 |
|
|
| Refacciones | $1,850 |
|
|
| Subtotal | $3,775 |
|
|
| IVA 16% | $604 |
|
|
| Total | $4,379 |
|
|
```
|
|
|
|
**Escenario 5: Agregar notas al trabajo**
|
|
```gherkin
|
|
DADO que encuentro algo importante
|
|
CUANDO agrego nota: "Encontre fuga en radiador, requiere atencion"
|
|
ENTONCES la nota se guarda en la orden
|
|
Y es visible para el jefe de taller y recepcion
|
|
```
|
|
|
|
---
|
|
|
|
## Estructura de Item de Orden
|
|
|
|
```typescript
|
|
interface OrderItem {
|
|
id: string;
|
|
order_id: string;
|
|
type: 'service' | 'labor' | 'part';
|
|
|
|
// Si es servicio del catalogo
|
|
service_id?: string;
|
|
|
|
// Si es refaccion
|
|
part_id?: string;
|
|
|
|
description: string;
|
|
quantity: number;
|
|
unit: string;
|
|
unit_price: number;
|
|
discount?: number;
|
|
total: number;
|
|
|
|
// Para mano de obra
|
|
hours?: number;
|
|
hourly_rate?: number;
|
|
|
|
mechanic_id: string;
|
|
created_at: Date;
|
|
notes?: string;
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Tareas Tecnicas
|
|
|
|
**Database:**
|
|
- [ ] DB-023: Crear tabla `order_items`
|
|
- [ ] DB-024: Crear tabla `order_notes`
|
|
- [ ] DB-025: Trigger para actualizar totales de orden
|
|
|
|
**Backend:**
|
|
- [ ] BE-050: Crear OrderItemEntity
|
|
- [ ] BE-051: Crear OrderItemService con CRUD
|
|
- [ ] BE-052: Endpoint POST /api/orders/:id/items
|
|
- [ ] BE-053: Calcular totales automaticamente
|
|
- [ ] BE-054: Integracion con inventario (descontar stock)
|
|
|
|
**Frontend:**
|
|
- [ ] FE-048: Crear OrderWorkPanel component
|
|
- [ ] FE-049: Crear ServiceSelector component
|
|
- [ ] FE-050: Crear PartSelector component
|
|
- [ ] FE-051: Crear OrderSummaryCard
|
|
- [ ] FE-052: Formulario de tiempo de trabajo
|
|
|
|
---
|
|
|
|
## Dependencias
|
|
|
|
**Depende de:**
|
|
- [ ] US-MMD002-003: Orden asignada
|
|
- [ ] US-MMD001-003: Catalogo de servicios
|
|
- [ ] US-MMD004-*: Inventario de refacciones
|
|
|
|
**Bloquea:**
|
|
- [ ] US-MMD002-008: Cerrar orden
|
|
|
|
---
|
|
|
|
## Definition of Done (DoD)
|
|
|
|
- [ ] Agregar servicios del catalogo
|
|
- [ ] Registrar tiempo de trabajo
|
|
- [ ] Agregar refacciones (descuenta inventario)
|
|
- [ ] Calcular totales automaticos
|
|
- [ ] Agregar notas
|
|
- [ ] Tests pasando
|
|
|
|
---
|
|
|
|
**Creada por:** Requirements-Analyst
|
|
**Fecha:** 2025-12-06
|