#region << 版 本 注 释 >>

/*--------------------------------------------------------------------
* 版权所有 (c) 2025 WenJY 保留所有权利。
* CLR版本：4.0.30319.42000
* 机器名称：Mr.Wen's MacBook Pro
* 命名空间：Sln.lmm.Collection.Model.TrackAndTrace.ExactMaterialTraceWithInternalSetup.MaterialsInstalled
* 唯一标识：85704195-7A3D-4D21-8902-13AA456AB654
*
* 创建者：WenJY
* 电子邮箱：
* 创建时间：2025-10-16 14:05:25
* 版本：V1.0.0
* 描述：
*
*--------------------------------------------------------------------
* 修改人：
* 时间：
* 修改说明：
*
* 版本：V1.0.0
*--------------------------------------------------------------------*/

#endregion << 版 本 注 释 >>

namespace Sln.Iot.Model.api.Common.InstalledMaterial
{
    /// <summary>
    /// 已安装的物料信息
    /// </summary>
    public class InstalledMaterial
    {
        /// <summary>
        /// 板子的 ID
        /// </summary>
        public string UnitIdentifier { get; set; }
    
        /// <summary>
        /// 板子的位置顺序（多版），若无则写 1
        /// </summary>
        public int UnitPositionNumber { get; set; }
    
        /// <summary>
        /// 已安装的物料数量
        /// </summary>
        public double QuantityInstalled { get; set; }
    
        /// <summary>
        /// 未安装的物料数量
        /// </summary>
        public double QuantityNonInstalled { get; set; }
    
        /// <summary>
        /// 物料信息
        /// 5.4.2.5: 必须填写 UniqueIdentifier 和 InternalPartNumber
        /// 5.4.2.6: UniqueIdentifier 可留空，InternalPartNumber 必须填写
        /// </summary>
        public MaterialPackage Material { get; set; }
    
        /// <summary>
        /// 物料载具位置信息
        /// 5.4.2.6: LocationName 必须填写
        /// </summary>
        public MaterialCarrierLocation CarrierLocation { get; set; }
    
        /// <summary>
        /// 已安装的物料位置信息
        /// 对于印刷电路板组装，应包括 ReferenceDesignator 属性
        /// </summary>
        public List<InstalledComponent> InstalledComponents { get; set; }
    
        /// <summary>
        /// 未安装的物料位置信息
        /// </summary>
        public List<NonInstalledComponent> NonInstalledComponents { get; set; }
    
        /// <summary>
        /// 如物料用作备用零件，则此字段填入替换物料编号
        /// </summary>
        public string ReferencePartNumber { get; set; }
    
        /// <summary>
        /// 工位信息（用于多工位设备区分物料安装位置）
        /// </summary>
        public Stage.Stage Stage { get; set; }
    }
}