namespace QMSDAL.DTO
{
// ─────────────────────────────────────────────────────────────────────────
// ExplodeBOMOutputDTO — BOM Explosion: Output / Production Item Line
//
// Columns returned by EXPLODE_BOM_OUTPUT_FOR_ITEM (BOMLEVEL = 0):
// ItemId, ItemCode, ItemName,
// SkuId, SkuCode, SkuName,
// RequiredQty (SUM of FINALQUANTITY × PlannedQty),
// QuantityPer (MBOMDETAIL.QUANTITY — qty per production unit),
// UomCode (from MUOM via MITEM.STOCKUOMID),
// SetNumber (PlannedQty cast as int — number of sets in the range)
// ─────────────────────────────────────────────────────────────────────────
public class ExplodeBOMOutputDTO
{
public int ItemId { get; set; }
public string? ItemCode { get; set; }
public string? ItemName { get; set; }
public int SkuId { get; set; }
public string? SkuCode { get; set; }
public string? SkuName { get; set; }
/// SUM(FINALQUANTITY × PlannedQty) — total planned output quantity
public decimal RequiredQty { get; set; }
/// SUM(MBOMDETAIL.QUANTITY) across all BOM branches for this item — quantity per production unit
public decimal QuantityPer { get; set; }
public string? UomCode { get; set; }
/// Number of sets in the requested range (SetTo - SetFrom + 1)
public int SetNumber { get; set; }
public int SlNo { get; set; }
}
}