feat(sales): implementar emisión de Delivery Note #35

Closed
opened 2026-03-23 03:06:49 +00:00 by leandro · 0 comments
Owner

Objetivo

Implementar la emisión completa de Delivery Note desde UI, permitiendo alta manual o precarga opcional desde un Quote aprobado, con persistencia transaccional de cabecera y detalle, respetando la arquitectura Data → Domain → Core → API → UI y manteniendo consistencia con Expeditions y Quotes.


Contexto funcional

El Delivery Note (Remito) es un documento operativo independiente.

Puede generarse:

  • manualmente
  • o a partir de un Quote aprobado (opcional)

La emisión se realiza desde el módulo /deliverynotes.

A diferencia de Quotes:

  • la numeración es manual (preimpresa)
  • el backend NO arma el documento desde el Quote
  • la UI construye el modelo completo y lo envía al backend

El sistema ya cuenta con:

  • repositorio y servicio de lectura
  • DTOs (DeliveryNoteDto, Summary, SearchParams)
  • pantalla de consulta /deliverynotes
  • QuoteDto con datos de aprobación por ítem

Alcance

DATA

Extender el repositorio de Delivery Note para soportar creación completa:

  • método AddAsync o equivalente para cabecera
  • persistencia de EDeliveryNoteDetail
  • método de validación de duplicado por DeliveryNoteNumber

No incluir lógica de armado desde Quote.


DOMAIN

Definir contratos de emisión:

  • DeliveryNoteCreateRequest
  • DeliveryNoteCreateItemRequest
  • (opcional) DeliveryNoteCreateResponse

Separar claramente:

  • entidad de dominio (EDeliveryNote)
  • contrato de entrada (request)

CORE

Implementar método:

CreateAndIssueDeliveryNoteAsync
## Objetivo Implementar la emisión completa de Delivery Note desde UI, permitiendo alta manual o precarga opcional desde un Quote aprobado, con persistencia transaccional de cabecera y detalle, respetando la arquitectura Data → Domain → Core → API → UI y manteniendo consistencia con Expeditions y Quotes. --- ## Contexto funcional El Delivery Note (Remito) es un documento operativo independiente. Puede generarse: - manualmente - o a partir de un Quote aprobado (opcional) La emisión se realiza desde el módulo `/deliverynotes`. A diferencia de Quotes: - la numeración es **manual (preimpresa)** - el backend **NO arma el documento desde el Quote** - la UI construye el modelo completo y lo envía al backend El sistema ya cuenta con: - repositorio y servicio de lectura - DTOs (`DeliveryNoteDto`, `Summary`, `SearchParams`) - pantalla de consulta `/deliverynotes` - `QuoteDto` con datos de aprobación por ítem --- ## Alcance ### DATA Extender el repositorio de Delivery Note para soportar creación completa: - método `AddAsync` o equivalente para cabecera - persistencia de `EDeliveryNoteDetail` - método de validación de duplicado por `DeliveryNoteNumber` No incluir lógica de armado desde Quote. --- ### DOMAIN Definir contratos de emisión: - `DeliveryNoteCreateRequest` - `DeliveryNoteCreateItemRequest` - (opcional) `DeliveryNoteCreateResponse` Separar claramente: - entidad de dominio (`EDeliveryNote`) - contrato de entrada (request) --- ### CORE Implementar método: ```text CreateAndIssueDeliveryNoteAsync
leandro added this to the Sales (Ventas, Facturación y Remitos) milestone 2026-03-23 03:06:49 +00:00
leandro added the
STORY
label 2026-03-23 03:06:49 +00:00
leandro self-assigned this 2026-03-23 03:06:49 +00:00
leandro added this to the phronCare: Tablero DEV project 2026-03-23 03:06:49 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-24 20:24:05 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-24 20:24:07 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-25 13:27:46 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leandro/phronCare#35
No description provided.