feat(sales): Core Flow para Sales Document con Coverage #60
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objetivo
Implementar el flujo base de Core para documentos comerciales de venta, asegurando que todo Sales Document persista Details y Coverage de forma obligatoria.
Contexto funcional
La Story #57 dejó preparado el contrato de Domain para Sales Document: entidades, DTOs, enums/constants y contratos conceptuales de Coverage.
Esta story continúa el módulo Sales y agrega la primera implementación operativa de Core/Data para crear y consultar documentos comerciales internos, sin avanzar todavía sobre API, UI ni homologación ARCA.
El modelo funcional mantiene la separación:
Coverage queda como fuente de verdad para determinar qué presupuesto/caso quedó cubierto, incluso cuando el escenario sea simple:
Alcance
Incluye:
ISalesDocumentService.SalesDocumentService.IPhSSalesDocumentRepository.PhSSalesDocumentRepository.ESalesDocumenthaciaPhSSalesDocumentmedianteEntityMapper.Archivos agregados:
Fuera de alcance
No incluye:
PhS_FormSeries.Criterios de aceptación
✔ Existe un servicio Core
SalesDocumentServicecon contrato propio.✔ Existe repositorio
PhSSalesDocumentRepository.✔ La creación valida Customer, BillToCustomer, Currency, Details, Coverage y totales.
✔ Coverage es obligatorio y siempre se persiste.
✔ Details representa lo facturado.
✔ Coverage representa lo cubierto.
✔
quote_idse mantiene como referencia opcional, no como dependencia del flujo.✔ El patch no modifica modelos EF generados por scaffold.
✔ El patch aplica correctamente con
git apply --check.✔ No se agregan endpoints ni cambios de UI.
Decisiones de diseño
SalesDocument.Statusse inicializa comoDraftporque esta story no emite ni homologa fiscalmente.quote_id; se exige explícitamente en el request.quote_idcontinúa siendo opcional para ventas manuales, escritorio, cápita o escenarios futuros.EntityMapper, manteniendo el patrón existente del repositorio de Delivery Note.Entregable esperado
Entregables generados:
Branch sugerido:
Commit sugerido:
Checklist de pruebas
Nota: en el entorno de generación del patch se validó
git apply --check. El build debe correrse localmente porque el entorno no tiene instalado el SDKdotnet.Core Flow para Sales Document con Coverageto feat(sales): Core Flow para Sales Document con Coverageleandro referenced this issue2026-05-08 02:54:32 +00:00