EquipControl.cs 11.1 KB
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using OnlineStore.DeviceLibrary;

namespace OnlineStore.XLRStore
{
    public partial class EquipControl : UserControl
    { 
        public string TrayNum
        {
            get { return lblTrayNum.Text; }
            set { lblTrayNum.Text = value;  }
        }
        public string EquipName
        {
            get { return lblName.Text; }
            set { lblName.Text = value; }
        }
        public string WorkStatus
        {
            get { return lblStatus.Text; }
            set { lblStatus.Text = value; }
        }
        public string MoveInfo
        {
            get { return lblMoveInfo.Text; }
            set { lblMoveInfo.Text = value; }
        }

        public Color ColorStatus
        {
            get { return this.BackColor; } 
            set
            {
                this.BackColor = value;
            }
        } 
        public void SelectStyle()
        { 
            panName.BackColor = Color.DeepSkyBlue;
        }
        public void UnSelectStyle()
        { 
            panName.BackColor = Color.Transparent;
        }
        public void InitData(EquipBase equip)
        {
            if (equip is BoxEquip)
            {
                //panName.BackColor = Color.DeepSkyBlue;
                lblBox.Visible = true;
                lblBox.Text = "";
            }
            else if (equip is InputEquip )
            {
                //panName.BackColor = Color.Lime;
                //panName.BackColor = Color.MediumSpringGreen;
                lblBox.Visible = false ;
                lblBox.Text = "";
            }
            else
            {
                //panName.BackColor = Color.Aqua;
                //panName.BackColor = Color.DarkTurquoise;
                lblBox.Visible = false ;
                lblBox.Text = "";
            }
            DeviceId = equip.DeviceID;
            lblName.Text = equip.Name;
        }

        public  int DeviceId = 0;
        public void ShowData(EquipBase equip)
        {          
            //lblTrayNum.Text ="托盘:"+equip.currTrayNum;
            //lblStatus.Text = equip.GetRunStr(); 
            //toolTip1.ToolTipTitle = ""+equip.Name+":双击进入"; 
            //lblDebug.Text = "启用" + (equip.IsDebug ? "✘" : "✔");
            //lblWarn.Text = equip.WarnMsg;
            //lblUseServo.Visible = false;
            //if (String.IsNullOrEmpty(equip.RFIDIP))
            //{
            //    lblTrayNum.Visible = false;
            //}
            //else
            //{
            //    lblTrayNum.Visible = true;
            //}
            //if (equip.DeviceID < 100)
            //{
            //    lblUseServo.Visible = equip.UseAxis;
            //    if (equip.MoveInfo.MoveType.Equals(MoveType.InStore))
            //    {
            //        if (equip.OnlyProOutTray)
            //        {
            //            if (equip.MoveInfo.MoveParam.IsNG)
            //            {
            //                lblMoveInfo.Text = "NG料移栽:" + equip.MoveInfo.MoveParam.PosId + "_" + equip.MoveInfo.MoveParam.WareCode;
            //            }
            //            else if (equip.MoveInfo.MoveParam.urgentReel)
            //            {
            //                lblMoveInfo.Text = "紧急料移栽:" + equip.MoveInfo.MoveParam.PosId + "_" + equip.MoveInfo.MoveParam.WareCode;
            //            }
            //            else if (equip.MoveInfo.MoveParam.cutReel)
            //            {
            //                lblMoveInfo.Text = "分盘料移栽:" + equip.MoveInfo.MoveParam.PosId + "_" + equip.MoveInfo.MoveParam.WareCode;
            //            }
            //            else
            //            {
            //                lblMoveInfo.Text = "工单料移栽:" + equip.MoveInfo.MoveParam.PosId + "_" + equip.MoveInfo.MoveParam.WareCode;
            //            }
            //        }
            //        else
            //        {
            //            lblMoveInfo.Text = "入库中:" + equip.MoveInfo.MoveParam.PosId + "_" + equip.MoveInfo.MoveParam.WareCode;
            //        }
            //    }
            //    else if (equip.MoveInfo.MoveType.Equals(MoveType.OutStore))
            //    {
            //        lblMoveInfo.Text = "出库中:" + equip.MoveInfo.MoveParam.PosId + "_" + equip.MoveInfo.MoveParam.WareCode;
            //    }
            //    else if (equip.SecondMoveInfo.MoveType.Equals(MoveType.Fixture))
            //    {
            //        lblMoveInfo.Text = "托盘[" + equip.currTrayNum + "]处理中";
            //    }
            //    else
            //    {
            //        lblMoveInfo.Text = "暂无出入库";
            //    }

            //    BoxInfo box = LineServer.GetBoxInfo(equip.DeviceID);
            //    string online = "✘";
            //    string str = "BOX";
            //    if (equip.DeviceID.Equals(StoreManager.OutMoveId))
            //    {
            //        str = "出料机构";
            //    }
            //    if (box != null)
            //    {
            //        string posId = "";
            //        if (!String.IsNullOrEmpty(box.rfids))
            //        {
            //            posId = "[" + box.rfids + "]";
            //        }
            //        if (!String.IsNullOrEmpty(box.CurrPosId))
            //        {
            //            posId += "[" + box.CurrPosId + "]";
            //        }                  
            //        if ((DateTime.Now - box.LastMsgTime).TotalSeconds < LineServer.ClientKeepSecond)
            //        {
            //            online = "✔";
            //            if (box.SAlarmType.Equals(AlarmType.None))
            //            {
                          
            //                lblBox.Text = str+"[" + box.CId.ToString() + "]:" + online + " " +posId+ box.ToShowStr();
            //                if (box.SRunStatus.Equals((int)RunStatus.Busy))
            //                {
            //                    lblBox.BackColor = Color.LightGreen;
            //                }
            //                else
            //                {
            //                    lblBox.BackColor = Color.LightBlue;
            //                }
            //            }
            //            else
            //            {
            //                lblBox.Text = str + "[" + box.CId.ToString() + "]:" + online + " " + posId + box.SAlarmType+" " + box.ToShowStr();
            //                lblBox.BackColor = Color.Red;
            //            }
            //        }
            //        else
            //        {
            //            lblBox.Text = str + "[" + box.CId.ToString() + "]:" + online + " " + posId + box.ToShowStr();
            //            lblBox.BackColor = Color.Gray;
            //        }

            //    }
            //    else
            //    {
            //        lblBox.Text = str + "状态:" + online;
            //        lblBox.BackColor = Color.Gray;
            //    }


            //}
            //else if (equip.DeviceID < 200)
            //{
            //    if (equip.MoveInfo.MoveType.Equals(MoveType.InStore))
            //    {
            //        lblMoveInfo.Text = "料架" + equip.CurrShelfId + ",入库:" + equip.MoveInfo.MoveParam.PosId + "_" + equip.MoveInfo.MoveParam.WareCode;
            //    }
            //    else if (equip.MoveInfo.MoveType.Equals(MoveType.OutStore))
            //    {
            //        lblMoveInfo.Text = "料架"+equip.CurrShelfId+",出库:" + equip.MoveInfo.MoveParam.PosId + "_" + equip.MoveInfo.MoveParam.WareCode;
            //    }
            //    else if (equip.SecondMoveInfo.MoveType.Equals(MoveType.Fixture))
            //    {
            //        lblMoveInfo.Text = "托盘[" + equip.currTrayNum + "]处理中";
            //    }
            //    else
            //    {
            //        lblMoveInfo.Text = "暂无出入库";
            //    }
            //}
            //else
            //{
            //    if (equip.MoveInfo.MoveType.Equals(MoveType.OutStore))
            //    {
            //        lblMoveInfo.Text = "托盘[" + equip.currTrayNum + "]送料:" + equip.MoveInfo.MoveParam.PosId + "_" + equip.MoveInfo.MoveParam.WareCode;
            //    }
            //    else if (equip.MoveInfo.MoveType.Equals(MoveType.Fixture))
            //    {
            //        lblMoveInfo.Text = "托盘[" + equip.currTrayNum + "]处理中";
            //    }
            //    else if (equip.SecondMoveInfo.MoveType.Equals(MoveType.Fixture))
            //    {
            //        lblMoveInfo.Text = "托盘[" + equip.currTrayNum + "]处理中";
            //    }
            //    else
            //    {
            //        lblMoveInfo.Text = "暂无托盘处理";
            //    }
            //}
            this.BackColor = equip.GetShowColor(); 
        }
        public EquipControl()
        {
            InitializeComponent();
        } 
        private void EquipControl_Load(object sender, EventArgs e)
        { 
        }

        public static EquipControl NewControl(EquipBase equip)
        {
            EquipControl control = new EquipControl();
            control.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
             | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
            control.BackColor = System.Drawing.SystemColors.Control;
            control.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            control.ColorStatus = System.Drawing.SystemColors.Control;
            control.EquipName = "";
            control.Location = new System.Drawing.Point(3, 3);
            control.MoveInfo = "";
            control.Name = "EquipControl" + equip.DeviceID;
            control.Size = new System.Drawing.Size(270, 91);
            control.TabIndex = 0;
            control.TrayNum = "";
            control.WorkStatus = "";
            control.EquipName = equip.Name; 
            control.DeviceId = equip.DeviceID;
            control.InitData(equip);
            control.ShowData(equip); 
            return control;
        }

        private void lblName_DoubleClick(object sender, EventArgs e)
        {
            this.OnDoubleClick(e);
        }

        private void lblName_MouseEnter(object sender, EventArgs e)
        {
            this.OnMouseEnter(e);
        }

        private void panName_MouseEnter(object sender, EventArgs e)
        { 
            this.OnMouseEnter(e);
        }

        private void panName_DoubleClick(object sender, EventArgs e)
        {
            this.OnDoubleClick(e);
        }

        private void lblStatus_DoubleClick(object sender, EventArgs e)
        {
            this.OnDoubleClick(e);
        }

        private void lblStatus_MouseEnter(object sender, EventArgs e)
        {
            this.OnMouseEnter(e);
        }

        private void lblBox_MouseEnter(object sender, EventArgs e)
        {
            this.OnMouseEnter(e);
        }
    }
}