phronCare/Models/Models/PhLsmStockItem.cs
leandro 394c864dfa
All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (pull_request) Successful in 6m37s
ffeat(expeditions): persist stockitem_id in ExpeditionDetails (traceability base)
- Added stockitem_id column to PhLSM_ExpeditionDetails
- Added FK to PhLSM_StockItem
- Added indexes (StockItem and Expedition_StockItem)
- Updated scaffold models
- Updated UI merge to preserve StockItemId
- CreateFullExpeditionAsync now persists stockitem_id
- Base step to enable logistic states and double-trace prevention

Closes #3
2026-03-02 19:44:49 -03:00

76 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
namespace Models.Models;
public partial class PhLsmStockItem
{
/// <summary>
/// Identificador único del ítem de stock físico
/// </summary>
public int Id { get; set; }
/// <summary>
/// Producto vinculado al ítem de stock
/// </summary>
public int ProductId { get; set; }
/// <summary>
/// Ubicación física del stock (depósito, valija, etc.)
/// </summary>
public int LocationId { get; set; }
/// <summary>
/// Cantidad actual disponible en esta unidad de stock
/// </summary>
public decimal Quantity { get; set; }
/// <summary>
/// Cantidad comprometida o reservada para expediciones futuras
/// </summary>
public decimal ReservedQuantity { get; set; }
/// <summary>
/// Código de lote (si aplica)
/// </summary>
public string? Batch { get; set; }
/// <summary>
/// Número de serie de la unidad individual, según etiqueta de trazabilidad del fabricante.
/// </summary>
public string? Serial { get; set; }
/// <summary>
/// Fecha de vencimiento (si aplica)
/// </summary>
public DateOnly? Expiration { get; set; }
/// <summary>
/// Estado del ítem (1=Disponible, 2=Reservado, 3=Vencido, etc.)
/// </summary>
public int Status { get; set; }
/// <summary>
/// Comentario libre u observación sobre este ítem de stock
/// </summary>
public string? Description { get; set; }
/// <summary>
/// Fecha de creación del registro
/// </summary>
public DateTime Createdat { get; set; }
/// <summary>
/// Fecha de última modificación del registro
/// </summary>
public DateTime? Modifiedat { get; set; }
public virtual PhLsmStockLocation Location { get; set; } = null!;
public virtual ICollection<PhLsmExpeditionDetail> PhLsmExpeditionDetails { get; set; } = new List<PhLsmExpeditionDetail>();
public virtual ICollection<PhLsmStockReservation> PhLsmStockReservations { get; set; } = new List<PhLsmStockReservation>();
public virtual PhLsmProduct Product { get; set; } = null!;
}