using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Linq; using System.Threading; using System.Windows.Forms; using Newtonsoft.Json; using QQShow.EDM; using QQShow.RgvService; using QQShow.SrmService; using QQShow.TranService; using WZ.Useful.Commons; namespace QQShow { // Token: 0x02000047 RID: 71 public partial class FrmMonitor : Form { // Token: 0x17000348 RID: 840 // (get) Token: 0x060006D3 RID: 1747 RVA: 0x0000B0E4 File Offset: 0x000092E4 protected override CreateParams CreateParams { get { CreateParams paras = base.CreateParams; paras.ExStyle |= 33554432; return paras; } } // Token: 0x060006D4 RID: 1748 RVA: 0x0000B114 File Offset: 0x00009314 public FrmMonitor() { this.InitializeComponent(); int screenNum = Screen.AllScreens.Count(); this.renewThread = new Thread(new ThreadStart(this.re)); this.renewThread.Start(); this.renewThread1 = new Thread(new ThreadStart(this.reAlarm)); this.renewThread1.Start(); this.renewThread2 = new Thread(new ThreadStart(this.reImage)); this.renewThread2.Start(); } // Token: 0x060006D5 RID: 1749 RVA: 0x0000B1A2 File Offset: 0x000093A2 private void btnClose_Click(object sender, EventArgs e) { base.Close(); } // Token: 0x060006D6 RID: 1750 RVA: 0x0000B1AC File Offset: 0x000093AC private void FrmMonitor_FormClosed(object sender, FormClosedEventArgs e) { Environment.Exit(0); } // Token: 0x060006D7 RID: 1751 RVA: 0x0000B1B8 File Offset: 0x000093B8 public void re() { for (; ; ) { this.Renew(); Thread.Sleep(2000); } } public void reAlarm() { for (; ; ) { this.RenewAlarm(); Thread.Sleep(2000); } } public void reImage() { for (; ; ) { this.RenewImage(); Thread.Sleep(2000); } } // Token: 0x060006D8 RID: 1752 RVA: 0x0000B1E0 File Offset: 0x000093E0 private void cmBGate_SelectedIndexChanged(object sender, EventArgs e) { switch ((sender as ComboBox).SelectedIndex) { case 0: this.gateNo = 6; this.outer = "30"; break; case 1: this.gateNo = 8; this.outer = "12"; break; } } // Token: 0x060006D9 RID: 1753 RVA: 0x0000B24C File Offset: 0x0000944C public void Renew() { try { using (Model edm = new Model()) { this.timeOut = 0; List outTaskList = new List(); int count = 3; //TASK_TASK outFinishTask = (from x in edm.TASK_TASK //orderby x.FINISHTIME descending //select x).FirstOrDefault((TASK_TASK x) => x.TOPLACE == this.outer && x.TASKTYPE == (int?)2 && x.HASFINISHED == (int?)1); //List outFinishTask = (from x in edm.TASK_TASK // orderby x.FINISHTIME descending // where x.TOPLACE == this.outer && x.TASKTYPE == (int?)2 && x.HASFINISHED == (int?)1 // select x).Take(2).ToList(); List outFinishTask = edm.TASK_TASK.AsNoTracking().Where(x => x.TOPLACE == this.outer && x.TASKTYPE == (int?)2 && x.HASFINISHED == (int?)1).OrderByDescending(x => x.FINISHTIME).Take(2).ToList(); if (outFinishTask != null) { count--; outTaskList.AddRange(outFinishTask); } //List outNotFinishTaskList = (from x in edm.TASK_TASK // orderby x.DOTIME descending // where x.TOPLACE == this.outer && x.TASKTYPE == (int?)2 && x.HASREADED == (int?)1 && x.HASFINISHED == (int?)0 // select x).Take(count).ToList(); List outNotFinishTaskList = edm.TASK_TASK.AsNoTracking().Where(x => x.TOPLACE == this.outer && x.TASKTYPE == (int?)2 && x.HASREADED == (int?)1 && x.HASFINISHED == (int?)0).OrderByDescending(u => u.DOTIME).Take(count).ToList(); outTaskList.AddRange(outNotFinishTaskList); if (outTaskList.Count < 3) { count = 3 - outTaskList.Count; //List outFinishTaskList = (from x in edm.TASK_TASK // orderby x.FINISHTIME descending // where x.TOPLACE == this.outer && x.TASKTYPE == (int?)2 && x.HASFINISHED == (int?)1 // select x).Skip(1).Take(count).ToList(); List outFinishTaskList = edm.TASK_TASK.AsNoTracking().Where(x => x.TOPLACE == this.outer && x.TASKTYPE == (int?)2 && x.HASFINISHED == (int?)1).OrderByDescending(u => u.FINISHTIME).Skip(1).Take(count).ToList(); outTaskList.AddRange(outFinishTaskList); } if (outTaskList.Count > 2) { ControlHelper.SetControlProperty(this.lbOutGateState, "Text", outTaskList[2].TASKSTATUS); string status = outTaskList[2].TASKSTATUS; if (status != "完成") { this.timeOut += 2; ControlHelper.SetControlProperty(this.lbOutboundTask1_Remaining, "Text", this.timeOut / 60 + "分钟"); } else { ControlHelper.SetControlProperty(this.lbOutboundTask1_Remaining, "Text", ""); } int containerId = outTaskList[2].CONTAINERID ?? 0; BASE_CONTAINER_VS_ITEM cvi = edm.BASE_CONTAINER_VS_ITEM.AsNoTracking().FirstOrDefault((BASE_CONTAINER_VS_ITEM x) => x.CONTAINERID == (int?)containerId); if (status != "完成") { if (cvi != null) { ControlHelper.SetControlProperty(this.lboutboundCode, "Text", cvi.BASE_ITEM.ITEMNAME); ControlHelper.SetControlProperty(this.lboutboundCount, "Text", (cvi.ITEMNUM ?? 0).ToString()); ControlHelper.SetControlProperty(this.lboutboundName, "Text", cvi.BASE_ITEM.ITEMDES); } else { ControlHelper.SetControlProperty(this.lboutboundCode, "Text", outTaskList[2].BASE_CONTAINER.CONTAINERNAME); ControlHelper.SetControlProperty(this.lboutboundCount, "Text", "0"); ControlHelper.SetControlProperty(this.lboutboundName, "Text", outTaskList[2].BASE_CONTAINER.CONTAINERDES); } } else { //ControlHelper.SetControlProperty(this.lboutboundCode, "Text", ""); //ControlHelper.SetControlProperty(this.lboutboundCount, "Text", ""); //ControlHelper.SetControlProperty(this.lboutboundName, "Text", ""); } int orderId = outTaskList[2].ORDERID ?? 0; ORDER_OUTORDER order = edm.ORDER_OUTORDER.AsNoTracking().FirstOrDefault((ORDER_OUTORDER x) => x.ID == orderId); if (order != null) { ControlHelper.SetControlProperty(this.lbOutboundTask1_Id, "Text", order.OUTORDERCODE); CAR_CAR car = edm.CAR_CAR.AsNoTracking().FirstOrDefault((CAR_CAR x) => x.CAR_CARTASK.OUTORDERID == (int?)orderId); if (status != "完成") { if (car != null) { ControlHelper.SetControlProperty(this.lbForkerName, "Text", car.CARNAME); } } else { ControlHelper.SetControlProperty(this.lbForkerName, "Text", ""); } } else { ControlHelper.SetControlProperty(this.lbOutboundTask1_Id, "Text", "无订单号"); } //if (cvi != null) //{ // //BASE_ITEM item = (from x in edm.BASE_ITEM // // orderby x.ID // // select x).FirstOrDefault((BASE_ITEM x) => x.ITEMNAME == cvi.BASE_ITEM.ITEMNAME); // BASE_ITEM item = edm.BASE_ITEM.AsNoTracking().FirstOrDefault((BASE_ITEM x) => x.ITEMNAME == cvi.BASE_ITEM.ITEMNAME); // if (item != null) // { // if (!string.IsNullOrEmpty(item.IMAGE)) // { // string url = item.IMAGE; // Image i = Get.GetMethod(url); // this.picBoxOutboundPic.Image = i; // } // else // { // this.picBoxOutboundPic.Image = null; // } // } //} ControlHelper.SetControlProperty(this.lbOutboundTask1_State, "Text", status); if (outTaskList.Count > 1) { string status2 = outTaskList[1].TASKSTATUS; if (status2 != "完成") { this.timeOut += 2; ControlHelper.SetControlProperty(this.lbOutboundTask2_Remaining, "Text", this.timeOut / 60 + "分钟"); } else { ControlHelper.SetControlProperty(this.lbOutboundTask2_Remaining, "Text", ""); } int orderId2 = outTaskList[1].ORDERID ?? 0; ORDER_OUTORDER order2 = edm.ORDER_OUTORDER.AsNoTracking().FirstOrDefault((ORDER_OUTORDER x) => x.ID == orderId2); if (order2 != null) { ControlHelper.SetControlProperty(this.lbOutboundTask2_Id, "Text", order2.OUTORDERCODE); } else { ControlHelper.SetControlProperty(this.lbOutboundTask2_Id, "Text", "无订单号"); } ControlHelper.SetControlProperty(this.lbOutboundTask2_State, "Text", status2); } if (outTaskList.Count > 2) { string status3 = outTaskList[0].TASKSTATUS; if (status3 != "完成") { this.timeOut += 2; ControlHelper.SetControlProperty(this.lbOutboundTask3_Remaining, "Text", this.timeOut / 60 + "分钟"); } else { ControlHelper.SetControlProperty(this.lbOutboundTask3_Remaining, "Text", ""); } int orderId3 = outTaskList[0].ORDERID ?? 0; ORDER_OUTORDER order3 = edm.ORDER_OUTORDER.AsNoTracking().FirstOrDefault((ORDER_OUTORDER x) => x.ID == orderId3); if (order3 != null) { ControlHelper.SetControlProperty(this.lbOutboundTask3_Id, "Text", order3.OUTORDERCODE); } else { ControlHelper.SetControlProperty(this.lbOutboundTask3_Id, "Text", "无订单号"); } ControlHelper.SetControlProperty(this.lbOutboundTask3_State, "Text", status3); } } } } catch (Exception e) { LogTextHelper.WriteLine("", "错误", e.ToString()); } } /// /// 更新报警 /// public void RenewAlarm() { try { string alarm = ""; for (int j = 1; j < 10; j++) { int alarmCode = JsonConvert.DeserializeObject(this.srmOPC.GetSrmInfo(j)).RalarmNumber; if (alarmCode != 0) { alarm = string.Concat(new object[] { alarm, "堆垛机", j, ":", Enum.GetName(typeof(ESrmAlarm), alarmCode), " " }); } } for (int j = 1; j < 5; j++) { int alarmCode = JsonConvert.DeserializeObject(this.rgvOPC.GetRgvInfo(j)).alarmCode; if (alarmCode != 0) { alarm = string.Concat(new object[] { alarm, "RGV", j, ":", Enum.GetName(typeof(ESrgvAlarm), alarmCode), " " }); } } alarm += this.tranOPC.GetErrorMsg(); ControlHelper.SetControlProperty(this.lbAlert, "Text", "报警:" + alarm); } catch (Exception e) { LogTextHelper.WriteLine("", "报警错误", e.ToString()); } } public void RenewImage() { try { using (Model edm = new Model()) { BASE_ITEM item = edm.BASE_ITEM.AsNoTracking().FirstOrDefault((BASE_ITEM x) => x.ITEMNAME == this.lboutboundCode.Text); if (item != null) { if (!string.IsNullOrEmpty(item.IMAGE)) { string url = item.IMAGE; Image i = Get.GetMethod(url); this.picBoxOutboundPic.Image = i; } else { this.picBoxOutboundPic.Image = null; } } else { this.picBoxOutboundPic.Image = null; } } } catch (Exception e) { LogTextHelper.WriteLine("", "图片错误", e.ToString()); } } // Token: 0x060006DA RID: 1754 RVA: 0x0000C1B0 File Offset: 0x0000A3B0 private void btnClose_Click_1(object sender, EventArgs e) { base.Close(); } // Token: 0x060006DB RID: 1755 RVA: 0x0000C1BA File Offset: 0x0000A3BA private void FrmMonitor_FormClosed_1(object sender, FormClosedEventArgs e) { Environment.Exit(0); } // Token: 0x060006DC RID: 1756 RVA: 0x0000C1C4 File Offset: 0x0000A3C4 private void cmBGate_SelectedIndexChanged_1(object sender, EventArgs e) { switch ((sender as ComboBox).SelectedIndex) { case 0: this.gateNo = 6; this.outer = "30"; break; case 1: this.gateNo = 8; this.outer = "12"; break; } } // Token: 0x040003BE RID: 958 private SrmService.SrmService srmOPC = new SrmService.SrmService(); // Token: 0x040003BF RID: 959 private RgvService.RgvService rgvOPC = new RgvService.RgvService(); // Token: 0x040003C0 RID: 960 private SrmTranService tranOPC = new SrmTranService(); // Token: 0x040003C1 RID: 961 private string outer = "12"; // Token: 0x040003C2 RID: 962 private int gateNo = 8; // Token: 0x040003C3 RID: 963 private int timeOut = 0; // Token: 0x040003C4 RID: 964 private Thread renewThread; private Thread renewThread1; private Thread renewThread2; } }