Persistir stockitem_id en ExpeditionDetail (base trazabilidad) #3
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?
🔴 Contexto
Actualmente, en el módulo de Expeditions, el flujo permite seleccionar stock real (incluye StockItemId durante el proceso de selección), pero ese vínculo no se persiste en PhLSM_ExpeditionDetails.
Esto implica que:
No existe trazabilidad real por unidad (especialmente para productos serializados).
No se puede garantizar bloqueo de doble traza.
No se puede mover físicamente el stock correcto en estados logísticos (Ej. En Tránsito).
Se pierde auditoría exacta de qué unidad/lote fue emitida.
Esta es una deuda técnica crítica que debe resolverse antes de implementar estados logísticos avanzados.
🎯 Objetivo
Persistir el vínculo ExpeditionDetail → StockItem mediante la columna stockitem_id.
Esto permitirá:
Bloqueo real de doble trazabilidad.
Implementación correcta de reservas.
Movimiento físico exacto de stock.
Auditoría por unidad.
📦 Alcance
DATA
Agregar columna stockitem_id INT NULL en PhLSM_ExpeditionDetails.
Crear FK hacia PhLSM_StockItem(id).
Crear índice IX_PhLSM_ExpeditionDetails_stockitem_id.
Nota: Se mantiene NULL para compatibilidad con expediciones históricas.
DOMAIN
Agregar propiedad StockItemId en ELSExpeditionDetail.
MODELS (EF)
Agregar StockitemId en PhLsmExpeditionDetail.
Ajustar mapeos correspondientes.
CORE
Ajustar CreateFullExpeditionAsync para persistir stockitem_id.
Ajustar EntityMapper.MapEntity para incluir la nueva propiedad.
UI
Verificar que StockItemId seleccionado en el flujo de creación se propague correctamente al DTO final.
✅ Criterios de aceptación
Una nueva expedición persiste stockitem_id por cada renglón seleccionado desde stock.
Expediciones anteriores (sin stockitem_id) continúan funcionando sin ruptura.
No se rompen endpoints existentes.
La impresión PDF continúa funcionando correctamente.
🔗 Dependencias
Bloquea directamente:
Implementación real de reservas.
Estado logístico En Tránsito.
Movimiento físico de stock.
Control de doble traza.
🧠 Impacto
Esta incidencia es estructural y debe completarse antes de cualquier mejora logística.