服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2025-02-19 e8aef02a3b8a6b6c5f0b13798f318aa7dc56e13f
Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs
@@ -38,17 +38,21 @@
        /// </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> ActionDic { get; set; } = new Dictionary<string, string>();
        /// <summary>
        /// 当前操作需要提交的数据
        /// </summary>
        public string Data { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        public string Qty { get; set; }
    }
    public class SubmitOutput
@@ -57,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,9 +74,21 @@
        /// </summary>
        public string ActionType { get; set; }
        /// <summary>
        /// 当前操作的行为的变量字典,如果是不是行为,否则留空
        /// </summary>
        public Dictionary<string, string> ActionDic { get; set; }
        /// <summary>
        /// 下一个操作的工步ID
        /// </summary>
        public string NextStepID { get; set; }
        /// <summary>
        /// 短消息
        /// </summary>
        public ShortMessage ShortMsg { get; set; }
        /// <summary>
        /// Mqtt消息
        /// </summary>
        public MQTT.Message MqttMsg { get; set; }
        /// <summary>
        /// 当前操作返回的数据
        /// </summary>
@@ -93,7 +97,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
@@ -149,6 +160,10 @@
        /// </summary>
        public int PkgLevel { get; set; }
        /// <summary>
        /// 是否需要
        /// </summary>
        public bool RealPrint { get; set; } = true;
        /// <summary>
        /// 当前需要打印的包装层级的标签信息
        /// </summary>
        public BAS_LABEL_TEMP PrintLable { get; set; }
@@ -162,12 +177,16 @@
        public string WorkBatch { get; set; }
        public string RULE_CODE { get; set; }
        public string RULE_NAME { get; set; }
        public string ITEM_CODE { 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>
@@ -181,10 +200,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 int TotalQty => Items.Any() ? Items.Sum(q => q.TotalQty) : 1;
        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>
@@ -247,6 +307,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>();
    }
@@ -269,4 +330,14 @@
        public string Message { get; set; }
    }
    /// <summary>
    /// 出货信息
    /// </summary>
    public class ShipingInfo
    {
        public bool IsPrintCustomerLabel { get; set; }
        public int OldShipQty { get; set; }
        public int ShipQty { get; set; }
    }
}