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: 0x02000048 RID: 72 public partial class FrmMonitor1 : Form { // Token: 0x060006DF RID: 1759 RVA: 0x0000DC98 File Offset: 0x0000BE98 public FrmMonitor1() { this.InitializeComponent(); int screenNum = Screen.AllScreens.Count(); if (screenNum > 1) { base.DesktopBounds = Screen.AllScreens[0].Bounds; } this.renewThread = new Thread(new ThreadStart(this.re)); this.renewThread.Start(); this.renewThread1 = new Thread(new ThreadStart(this.reOut)); this.renewThread1.Start(); this.renewThread2 = new Thread(new ThreadStart(this.reAlarm)); this.renewThread2.Start(); this.renewThread3 = new Thread(new ThreadStart(this.reImage)); this.renewThread3.Start(); this.cmBGate.SelectedIndex = 1; } // Token: 0x17000349 RID: 841 // (get) Token: 0x060006E0 RID: 1760 RVA: 0x0000DD50 File Offset: 0x0000BF50 protected override CreateParams CreateParams { get { CreateParams paras = base.CreateParams; paras.ExStyle |= 33554432; return paras; } } // Token: 0x060006E1 RID: 1761 RVA: 0x0000DD7D File Offset: 0x0000BF7D private void btnClose_Click(object sender, EventArgs e) { base.Close(); } // Token: 0x060006E2 RID: 1762 RVA: 0x0000DD88 File Offset: 0x0000BF88 public void re() { for (; ; ) { this.RenewIn(); Thread.Sleep(2000); } } public void reOut() { for (; ; ) { this.RenewOut(); Thread.Sleep(2000); } } public void reAlarm() { for (; ; ) { this.RenewAlarm(); Thread.Sleep(2000); } } public void reImage() { for (; ; ) { this.RenewImage(); Thread.Sleep(2000); } } // Token: 0x060006E3 RID: 1763 RVA: 0x0000DDB0 File Offset: 0x0000BFB0 private void cmBGate_SelectedIndexChanged(object sender, EventArgs e) { switch ((sender as ComboBox).SelectedIndex) { case 0: this.gateNo = 2; this.enter = "48"; this.outer = "51"; break; case 1: this.gateNo = 3; this.enter = "61"; this.outer = "64"; break; case 2: this.gateNo = 4; this.enter = "65"; this.outer = "67"; break; case 3: this.gateNo = 5; this.enter = "32"; this.outer = "34"; break; case 4: this.gateNo = 7; this.enter = "15"; this.outer = "19"; break; case 5: this.gateNo = 1; this.enter = "47"; this.outer = "68"; break; } } // Token: 0x060006E4 RID: 1764 RVA: 0x0000DEAC File Offset: 0x0000C0AC /// /// 更新入库 /// public void RenewIn() { try { using (Model edm = new Model()) { this.timeOut = 0; //List inTaskList = (from x in edm.TASK_TASK // where x.SOURCEPLACE == this.enter && x.TASKTYPE == (int?)1 // orderby x.CREATETIME descending // select x).Take(2).ToList(); List inTaskList = edm.TASK_TASK.AsNoTracking().Where(u => u.SOURCEPLACE == this.enter && u.TASKTYPE == 1).OrderByDescending(x => x.CREATETIME).Take(2).ToList(); if (inTaskList.Count > 0) { ControlHelper.SetControlProperty(this.lbInGateState, "Text", inTaskList[0].TASKSTATUS); string status = inTaskList[0].TASKSTATUS; if (status != "完成") { int containerId = inTaskList[0].CONTAINERID ?? 0; BASE_CONTAINER_VS_ITEM cvi3 = edm.BASE_CONTAINER_VS_ITEM.AsNoTracking().FirstOrDefault((BASE_CONTAINER_VS_ITEM x) => x.ENABLE == (int?)1 && x.CONTAINERID == (int?)containerId); if (cvi3 != null) { ControlHelper.SetControlProperty(this.lbInboundName, "Text", cvi3.BASE_ITEM.ITEMDES); ControlHelper.SetControlProperty(this.lbInboundCode, "Text", cvi3.BASE_ITEM.ITEMNAME); ControlHelper.SetControlProperty(this.lbInboundTask1_Id, "Text", cvi3.CVICODE); ControlHelper.SetControlProperty(this.lbInboundCount, "Text", (cvi3.ITEMNUM ?? 0).ToString()); //BASE_ITEM item = edm.BASE_ITEM.AsNoTracking().FirstOrDefault((BASE_ITEM x) => x.ITEMNAME == cvi3.BASE_ITEM.ITEMNAME); //if (!string.IsNullOrEmpty(item.IMAGE)) //{ // string url = item.IMAGE; // Image i = Get.GetMethod(url); // this.picBoxInboundPic.Image = i; //} //else //{ // this.picBoxInboundPic.Image = null; //} } else { ControlHelper.SetControlProperty(this.lbInboundName, "Text", inTaskList[0].BASE_CONTAINER.CONTAINERDES); ControlHelper.SetControlProperty(this.lbInboundCode, "Text", inTaskList[0].BASE_CONTAINER.CONTAINERNAME); ControlHelper.SetControlProperty(this.lbInboundTask1_Id, "Text", "空器具"); ControlHelper.SetControlProperty(this.lbInboundCount, "Text", "0"); } } else { ControlHelper.SetControlProperty(this.lbInboundName, "Text", ""); ControlHelper.SetControlProperty(this.lbInboundCode, "Text", ""); ControlHelper.SetControlProperty(this.lbInboundCount, "Text", ""); ControlHelper.SetControlProperty(this.lbInboundIsPass, "Text", ""); int containerId = inTaskList[0].CONTAINERID ?? 0; BASE_CONTAINER_VS_ITEM cvi3 = edm.BASE_CONTAINER_VS_ITEM.AsNoTracking().FirstOrDefault((BASE_CONTAINER_VS_ITEM x) => x.ENABLE == (int?)1 && x.CONTAINERID == (int?)containerId); if (cvi3 != null) { ControlHelper.SetControlProperty(this.lbInboundTask1_Id, "Text", cvi3.CVICODE); //BASE_ITEM item = edm.BASE_ITEM.AsNoTracking().FirstOrDefault((BASE_ITEM x) => x.ITEMNAME == cvi3.BASE_ITEM.ITEMNAME); //if (!string.IsNullOrEmpty(item.IMAGE)) //{ // string url = item.IMAGE; // Image i = Get.GetMethod(url); // this.picBoxInboundPic.Image = i; //} //else //{ // this.picBoxInboundPic.Image = null; //} } else { ControlHelper.SetControlProperty(this.lbInboundTask1_Id, "Text", "空器具"); } } ControlHelper.SetControlProperty(this.lbInboundTask1_State, "Text", status); if (inTaskList.Count > 1) { string status2 = inTaskList[1].TASKSTATUS; int containerId2 = inTaskList[1].CONTAINERID ?? 0; BASE_CONTAINER_VS_ITEM cvi2 = edm.BASE_CONTAINER_VS_ITEM.AsNoTracking().FirstOrDefault((BASE_CONTAINER_VS_ITEM x) => x.ENABLE == (int?)1 && x.CONTAINERID == (int?)containerId2); if (cvi2 != null) { ControlHelper.SetControlProperty(this.lbInboundTask2_Id, "Text", cvi2.CVICODE); } else { ControlHelper.SetControlProperty(this.lbInboundTask2_Id, "Text", "空器具"); } ControlHelper.SetControlProperty(this.lbInboundTask2_State, "Text", status2); } } } } catch (Exception e) { LogTextHelper.WriteLine("", "入库错误", e.ToString()); } } /// /// 更新出库 /// public void RenewOut() { try { using (Model edm = new Model()) { List outTaskList = new List(); int count = 2; //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); TASK_TASK outFinishTask = edm.TASK_TASK.AsNoTracking().Where(x => x.TOPLACE == this.outer && x.TASKTYPE == 2 && x.HASFINISHED == 1).OrderByDescending(x => x.FINISHTIME).FirstOrDefault(); if (outFinishTask != null) { count--; outTaskList.Add(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 == 2 && x.HASREADED == 1 && x.HASFINISHED == 0).OrderByDescending(x => x.DOTIME).Take(count).ToList(); outTaskList.AddRange(outNotFinishTaskList); if (outTaskList.Count < 2) { count = 2 - 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(x => x.FINISHTIME).Skip(1).Take(count).ToList(); outTaskList.AddRange(outFinishTaskList); } if (outTaskList.Count > 1)//第一条肯定是完成的??? { ControlHelper.SetControlProperty(this.lbOutGateState, "Text", outTaskList[1].TASKSTATUS); string status = outTaskList[1].TASKSTATUS; if (status != "完成") { this.timeOut += 2; ControlHelper.SetControlProperty(this.lbOutboundTask1_Remaining, "Text", this.timeOut / 60 + "分钟"); } else { ControlHelper.SetControlProperty(this.lbOutboundTask1_Remaining, "Text", ""); } int orderId = outTaskList[1].ORDERID ?? 0; int outContainerId = outTaskList[1].CONTAINERID ?? 0; BASE_CONTAINER_VS_ITEM cvi = edm.BASE_CONTAINER_VS_ITEM.AsNoTracking().FirstOrDefault((BASE_CONTAINER_VS_ITEM x) => x.CONTAINERID == (int?)outContainerId); if (status != "完成") { if (cvi != null) { ControlHelper.SetControlProperty(this.lboutboundCode, "Text", cvi.BASE_ITEM.ITEMNAME); ControlHelper.SetControlProperty(this.lboutboundCount, "Text", cvi.ITEMNUM.ToString()); ControlHelper.SetControlProperty(this.lboutboundName, "Text", cvi.BASE_ITEM.ITEMDES); } else { ControlHelper.SetControlProperty(this.lboutboundCode, "Text", outTaskList[0].BASE_CONTAINER.CONTAINERNAME); ControlHelper.SetControlProperty(this.lboutboundCount, "Text", "0"); ControlHelper.SetControlProperty(this.lboutboundName, "Text", "空器具"); } ControlHelper.SetControlProperty(this.lbOutboundTask1_State, "Text", status); CAR_CAR car = edm.CAR_CAR.FirstOrDefault((CAR_CAR x) => x.CAR_CARTASK.OUTORDERID == (int?)orderId); if (car != null) { ControlHelper.SetControlProperty(this.lbForkerName, "Text", car.CARNAME); } } else { //不更新,保留最后一次显示的内容 //ControlHelper.SetControlProperty(this.lboutboundCode, "Text", ""); //ControlHelper.SetControlProperty(this.lboutboundCount, "Text", ""); //ControlHelper.SetControlProperty(this.lboutboundName, "Text", ""); //ControlHelper.SetControlProperty(this.lbForkerName, "Text", ""); } 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); } else { ControlHelper.SetControlProperty(this.lbOutboundTask1_Id, "Text", "无订单号"); } //if (cvi != null) //{ // BASE_ITEM item = edm.BASE_ITEM.AsNoTracking().FirstOrDefault((BASE_ITEM x) => x.ITEMNAME == cvi.BASE_ITEM.ITEMNAME); // 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[0].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[0].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); //} } } } catch (Exception e) { LogTextHelper.WriteLine("", "出库错误", e.ToString()); } } /// /// 更新报警 /// public void RenewAlarm() { try { { if (lbInGateState.Text != "完成") { try { SrmTranService srv = new SrmTranService(); string msg = srv.GetInErrorMsg(int.Parse(this.enter)); if (string.IsNullOrEmpty(msg)) { ControlHelper.SetControlProperty(this.lbInboundIsPass, "Text", "通过"); ControlHelper.SetControlProperty(this.lbInboundIsPass, "ForeColor", Color.Green); } else { ControlHelper.SetControlProperty(this.lbInboundIsPass, "Text", msg); ControlHelper.SetControlProperty(this.lbInboundIsPass, "ForeColor", Color.Red); } } catch { } } else { ControlHelper.SetControlProperty(this.lbInboundIsPass, "Text", ""); } 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; } BASE_ITEM item1 = edm.BASE_ITEM.AsNoTracking().FirstOrDefault((BASE_ITEM x) => x.ITEMNAME == this.lbInboundCode.Text); if (item1 != null) { if (!string.IsNullOrEmpty(item1.IMAGE)) { string url = item.IMAGE; Image i = Get.GetMethod(url); this.picBoxInboundPic.Image = i; } else { this.picBoxInboundPic.Image = null; } } else { } } } catch(Exception e) { LogTextHelper.WriteLine("", "图片错误", e.ToString()); } } // Token: 0x060006E5 RID: 1765 RVA: 0x0000F540 File Offset: 0x0000D740 private void FrmMonitor1_FormClosed(object sender, FormClosedEventArgs e) { Environment.Exit(0); } // Token: 0x060006E6 RID: 1766 RVA: 0x0000F54A File Offset: 0x0000D74A private void btnClose_Click_1(object sender, EventArgs e) { base.Close(); } // Token: 0x060006E7 RID: 1767 RVA: 0x0000F554 File Offset: 0x0000D754 private void cmBGate_SelectedIndexChanged_1(object sender, EventArgs e) { switch ((sender as ComboBox).SelectedIndex) { case 0: this.gateNo = 2; this.enter = "48"; this.outer = "51"; break; case 1: this.gateNo = 3; this.enter = "61"; this.outer = "64"; break; case 2: this.gateNo = 4; this.enter = "65"; this.outer = "67"; break; case 3: this.gateNo = 5; this.enter = "32"; this.outer = "34"; break; case 4: this.gateNo = 7; this.enter = "15"; this.outer = "19"; break; case 5: this.gateNo = 1; this.enter = "47"; this.outer = "68"; break; } } // Token: 0x060006E8 RID: 1768 RVA: 0x0000F628 File Offset: 0x0000D828 private void FrmMonitor1_FormClosed_1(object sender, FormClosedEventArgs e) { Environment.Exit(0); } // Token: 0x040003E4 RID: 996 private QQShow.SrmService.SrmService srmOPC = new SrmService.SrmService(); // Token: 0x040003E5 RID: 997 private QQShow.RgvService.RgvService rgvOPC = new RgvService.RgvService(); // Token: 0x040003E6 RID: 998 private SrmTranService tranOPC = new SrmTranService(); // Token: 0x040003E7 RID: 999 private string enter = "47"; // Token: 0x040003E8 RID: 1000 private string outer = "68"; // Token: 0x040003E9 RID: 1001 private int timeOut = 0; // Token: 0x040003EA RID: 1002 private int gateNo = 2; // Token: 0x040003EB RID: 1003 private Thread renewThread; private Thread renewThread1; private Thread renewThread2; private Thread renewThread3; } }