服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-12-17 738df70120209daecd85566d0c50dbf56d9e4453
Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs
@@ -38,9 +38,17 @@
        /// </summary>
        public string SN { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        public string Qty { get; set; }
        /// <summary>
        /// 当前操作提交的不良代码,没有则留空
        /// </summary>
        public string DFT_CODE { get; set; }
        /// <summary>
        /// 当前操作需要提交的选项
        /// </summary>
        public Dictionary<string, string> Options { get; set; } = new Dictionary<string, string>();
        /// <summary>
        /// 当前操作需要提交的数据
        /// </summary>
@@ -53,18 +61,6 @@
        /// 整个工序操作是否完成
        /// </summary>
        public bool IsFinished { get; set; } = false;
        /// <summary>
        /// 短消息
        /// </summary>
        public ShortMessage ShortMsg { get; set; }
        /// <summary>
        /// 当前操作的工单对象
        /// </summary>
        public BIZ_MES_WO CurWO { get; set; }
        /// <summary>
        /// 当前操作的工单批次对象
        /// </summary>
        public BIZ_MES_WO_BATCH CurBatch { get; set; }
        /// <summary>
        /// 当前操作的节点名称
        /// </summary>
@@ -82,6 +78,14 @@
        /// </summary>
        public string NextStepID { get; set; }
        /// <summary>
        /// 短消息
        /// </summary>
        public ShortMessage ShortMsg { get; set; }
        /// <summary>
        /// Mqtt消息
        /// </summary>
        public MQTT.Message MqttMsg { get; set; }
        /// <summary>
        /// 当前操作返回的数据
        /// </summary>
        public object Data { get; set; }
@@ -89,7 +93,14 @@
        /// 工序信息
        /// </summary>
        public OperInfo OperInfo { get; set; }
        /// <summary>
        /// 当前操作的工单对象
        /// </summary>
        public BIZ_MES_WO CurWO { get; set; }
        /// <summary>
        /// 当前操作的工单批次对象
        /// </summary>
        public BIZ_MES_WO_BATCH CurBatch { get; set; }
    }
    public class DefectOutput
@@ -145,6 +156,10 @@
        /// </summary>
        public int PkgLevel { get; set; }
        /// <summary>
        /// 是否需要
        /// </summary>
        public bool RealPrint { get; set; } = true;
        /// <summary>
        /// 当前需要打印的包装层级的标签信息
        /// </summary>
        public BAS_LABEL_TEMP PrintLable { get; set; }
@@ -155,12 +170,19 @@
    /// </summary>
    public class WipPkg
    {
        public string WorkBatch { get; set; }
        public string RULE_CODE { get; set; }
        public string RULE_NAME { get; set; }
        public string PROD_CODE { get; set; }
        public MES_CUST_SN CustSN { get; set; }
        public WipPkgItem Item { get; set; }
        public bool NeedWeighing { get; set; } = false;
        public bool IsWeighed { get; set; } = false;
        public WeightInfo WeightInfo { get; set; } = new WeightInfo();
        public bool IsFinished => Item.IsFinished;
        public bool IsReachedEndNode { get; set; } = false;
        public string InStoreActID { get; set; }
        public BAS_LABEL_TEMP InStoreLabel { get; set; }
    }
    /// <summary>
@@ -174,10 +196,51 @@
        public int PKG_LEVEL { get; set; }
        public int PKG_QTY { get; set; }
        public string LABEL_CODE { get; set; }
        public string SN { get; set; }
        public MES_WIP_PKG Package { get; set; }
        public bool IsFinished { get; set; } = false;
        public bool PkgComplete => PKG_LEVEL == 1 || Items.Count(q => q.IsFinished) == PKG_QTY;
        public List<WipPkgItem> Items { get; set; } = new List<WipPkgItem>();
        public Dictionary<string, string> WipSNs { get; set; } = new Dictionary<string, string>();
        public double TotalQty => Items.Any() ? Items.Sum(q => q.TotalQty) : Package?.QTY ?? 0;
        public List<MES_WIP_PKG> GetMinPackageList()
        {
            var list = new List<MES_WIP_PKG>();
            if (Items.Any())
            {
                foreach (var item in Items)
                {
                    item.Package.PARENT_SN = Package?.SN;
                    list.AddRange(item.GetMinPackageList());
                }
            }
            else
            {
                if (Package != null)
                {
                    list.Add(Package);
                }
            }
            return list;
        }
        public List<KeyValuePair<string, string>> GetWipSnList()
        {
            var list = new List<KeyValuePair<string, string>>();
            if (Items.Any())
            {
                foreach (var item in Items)
                {
                    list.AddRange(item.GetWipSnList());
                }
            }
            else
            {
                list.AddRange(WipSNs.ToList());
            }
            return list;
        }
    }
    /// <summary>
@@ -219,6 +282,7 @@
        /// 是否批次物料
        /// </summary>
        public bool IsBatchItem { get; set; }
        public List<BAS_ITEM> SubItems { get; set; } = new List<BAS_ITEM>();
        public List<MES_WIP_ASSY> Records { get; set; } = new List<MES_WIP_ASSY>();
        public bool IsFinished { get; set; } = false;
    }
@@ -239,6 +303,7 @@
    {
        public string NextNode { get; set; } = "   —   ";
        public string CurNode { get; set; } = "   —   ";
        public bool IsReachedEndNode { get; set; } = false;
        public int InputQty { get; set; } = 0;
        public List<WorkStepInfo> StepsInfo { get; set; } = new List<WorkStepInfo>();
    }
@@ -261,4 +326,13 @@
        public string Message { get; set; }
    }
    /// <summary>
    /// 出货信息
    /// </summary>
    public class ShipingInfo
    {
        public bool IsPrintCustomerLabel { get; set; }
        public int ShipQty { get; set; }
    }
}