TrayInfo.cs 3.0 KB
using OnlineStore.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 

namespace OnlineStore.DeviceLibrary
{
    /// <summary>
    /// 托盘信息
    /// </summary>
    public class TrayInfo
    { 
        public TrayInfo(int trayNum, bool isFull, int inOrOut = 0, InOutParam inoutParam = null,string ngMsg = "")
        {
            this.TrayCode = trayNum;
            this.IsFull = isFull;
            this.InOrOutStore = inOrOut; 
            if (inoutParam == null)
            {
                inoutParam = new InOutParam();
            }
            this.inoutPar = inoutParam; 
            ShowMsg = ngMsg;
        }
        public string ToStr()
        {
            string type = "无操作";

            if (InOrOutStore.Equals(1))
            {
                type = inoutPar.InStoreNg ? "入料失败:" + ShowMsg  : "入料:" + "" + inoutPar.ToStr() + "";
            }
            else if (InOrOutStore.Equals(2))
            {
                string outType = "出料:";
                if (inoutPar.urgentReel)
                {
                    outType = "紧急料:";
                }else if (inoutPar.cutReel)
                { 
                    outType = "分盘料:";
                }
                type = outType + inoutPar.ToStr();
            }

            //return "托盘 [" + TrayCode + "] [" + (IsFull ? "有料" : "空") +"] ["+ type + 
            //    "]二维码[" + WareCode + "]库位号[" + PosId + "] [" + PlateW + "X" + PlateH+ "]  " + err + "  "+ jinji + "" ;
            return "托盘 [" + TrayCode + "] [" + LastUpdateTime.ToLongTimeString() + "] [" + (IsFull ? "有料" : "空") + "] [" + type + "]";
        }
        /// <summary>
        /// 夹具编码值(1-32?)
        /// </summary>
        public int TrayCode = -1;
        /// <summary>
        /// 是否有料盘,true=有料盘
        /// </summary>
        public bool IsFull = false;
        /// <summary>
        /// 出库还是入库(有料盘时才有此操作)0=无操作,1=入库,2=出库
        /// </summary>
        public int InOrOutStore = 0;
         
        public string ShowMsg = "";

        public DateTime LastUpdateTime = DateTime.Now;

        private InOutParam inoutPar = null;
        public InOutParam InoutPar
        {
            get
            {
                if (inoutPar == null)
                {
                    inoutPar = new InOutParam();
                }
                inoutPar.TrayNumber = TrayCode; 
                return inoutPar;
            }
            set
            {
                this.inoutPar = value;
            }
        }
    }
    /// <summary>
    /// 托盘上的物料的类型
    /// </summary>
    internal class ReelType
    {
        /// <summary>
        /// 等待入库料盘
        /// </summary>
        internal static  int InStore = 1;

        /// <summary>
        /// 料仓出库料盘
        /// </summary>
        internal static int OutStore = 2;
        
    }
}