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)
        {
            this.TrayCode = trayNum;
            this.IsFull = isFull;
            this.InOrOutStore = inOrOut; 
            if (inoutParam == null)
            {
                inoutParam = new InOutParam();
            }
            this.inoutPar = inoutParam; 
            ShowMsg = "";
        }
        public string ToStr()
        {
            string type = "无操作";

            if (InOrOutStore.Equals(1))
            {
                type = inoutPar.InStoreNg ? "[入料失败:" + ShowMsg + "]" : "入料" + "[" + inoutPar.ToStr() + "]";
            }
            else if (InOrOutStore.Equals(2))
            {
                type = inoutPar.urgentReel ? "[紧急出料]" : "出料[  " + 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;

        ///// <summary>
        ///// 紧急出库料盘
        ///// </summary>
        //internal static int OutStore_Equip = 3;

        ///// <summary>
        ///// 入库失败需要NG气缸退出的料盘
        ///// </summary>
        //internal static int InStoreNG = 4;
    }
}