123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- 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 DbCommon.Enties.DbModels;
- using ProjectManagementSystem.Common.Core;
- using ProjectManagementSystem.Common.Logger;
- namespace ProjectManagementSystem.UI
- {
- public partial class StationUI : UserControl
- {
- private StationInfo m_info;
- public StationInfo StationInfo
- {
- get { return m_info; }
- }
- public StationUI()
- {
- InitializeComponent();
- }
- public void Init(StationInfo info)
- {
- m_info = info;
- }
- public void Display()
- {
- if (!Visible) return;
- this.labName.Text = $"{m_info.Name}{(m_info.Traffic ? "(管制)" : null)}{Environment.NewLine}地标{m_info.Mark}(指令{m_info.Command}){Environment.NewLine}{$"倒计时{m_info.CountSec}"}{Environment.NewLine}{m_info.AgvAlarmText}";
- this.labName.ForeColor = m_info.Online ? Color.Black : Color.DarkGray;
- this.labCar.ForeColor = m_info.Online ? Color.Black : Color.DarkGray;
- this.labCar.BackColor = m_info.HasCar ? Color.LightGreen : Color.LightGray;
- this.labCar.Text = $"AGV{m_info.AgvId},R{m_info.CurrentRoute},0x{m_info.AgvStausValue:X2}";
- switch (m_info.Status)
- {
- case LocationStatus.None:
- labName.BackColor = Color.LightGray;
- break;
- case LocationStatus.Filled:
- labName.BackColor = Color.Yellow;
- break;
- case LocationStatus.Empty:
- labName.BackColor = Color.Green;
- break;
- case LocationStatus.Locked:
- labName.BackColor = Color.Blue;
- break;
- case LocationStatus.Exception:
- labName.BackColor = Color.Red;
- break;
- default:
- labName.BackColor = Color.DarkGray;
- break;
- }
- }
- private void toolStripMenuItem1_Click(object sender, EventArgs e)
- {
- m_info.HasCar = !m_info.HasCar;
- }
- private void toolStripMenuItem2_Click(object sender, EventArgs e)
- {
- m_info.Status = LocationStatus.None;
- }
- private void toolStripMenuItem3_Click(object sender, EventArgs e)
- {
- if (m_info.Online
- && m_info.HasCar
- && m_info.ReleaseCold)
- {
- if (m_info.Traffic)
- {
- ShowErrMsg("管制中,不能放行!!!");
- return;
- }
- string text = $"确定要手动放行?";
- var dialogResult = MessageBox.Show(text, "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
- if (dialogResult != DialogResult.OK)
- {
- return;
- }
- DeviceControl.Instance.ReleaseAgvOnStop(m_info.Mark, m_info.CurrentRoute, m_info.AgvId);
- m_info.LastReleaseTime = DateTime.Now.Ticks;
- CLog.Instance.TaskLog.WriteInfo($"手动放行,地标:{m_info.Mark},路线:{m_info.CurrentRoute},AGV:{m_info.AgvId},{m_info.Name},0x{m_info.AgvStausValue:X2}");
- }
- }
- private void ShowErrMsg(string text)
- {
- MessageBox.Show(text, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- }
|