erp-core/docs/05-user-stories/mgn-009/US-MGN-009-003-002-drag-drop-oportunidades.md

2.3 KiB

US-MGN-009-003-002: Drag & Drop de Oportunidades en Pipeline

RF Asociado: RF-MGN-009-002 Módulo: MGN-009 - CRM Básico Epic: Pipeline de Ventas Prioridad: P1 Story Points: 3 Sprint: Sprint 21 Estado: Ready for Development Fecha: 2025-11-24


User Story

Como vendedor, Quiero mover oportunidades entre etapas con drag & drop, Para actualizar el pipeline rápidamente.

Descripción Detallada

Drag & drop permite:

  • Arrastrar tarjeta entre columnas
  • Actualización automática de stage y probability
  • Registro de cambio en histórico
  • Confirmación si monto > $10K

Criterios de Aceptación

Escenario 1: Drag & drop simple

Dado que oportunidad está en Qualification, Cuando arrastro a Proposal, Entonces stage=proposal, probability=50%, registra cambio.

Escenario 2: Confirmación para montos grandes

Dado que oportunidad tiene amount=$50K, Cuando arrastro a Won, Entonces modal de confirmación "¿Marcar como ganada oportunidad de $50K?".

Escenario 3: Requiere motivo al marcar Lost

Dado que arrastro a Lost, Cuando suelto tarjeta, Entonces modal solicita lost_reason obligatorio.

Reglas de Negocio

  • RN-1: Drag & drop actualiza stage inmediatamente.
  • RN-2: Probability se actualiza según etapa.
  • RN-3: Confirmación si amount > $10K al marcar Won.
  • RN-4: lost_reason obligatorio al marcar Lost.

Tareas Técnicas

Backend

  • Endpoint: PATCH /api/v1/crm/opportunities/:id/move
  • Validaciones según etapa destino
  • Registro en audit_log

Frontend

  • Implementar drag & drop (react-beautiful-dnd)
  • Modal de confirmación para Won
  • Modal lost_reason para Lost
  • Animaciones suaves

Estimación Detallada

Tarea Horas
Backend 0.5
Frontend 1.5
Testing 1
TOTAL 3 horas = 3 SP

Definition of Done

  • Drag & drop funcional
  • Validaciones aplicadas
  • Confirmaciones muestran correctamente
  • Histórico registrado
  • QA/PO aprobado

Referencias