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<Screen>();
|
|
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<TASK_TASK> outTaskList = new List<TASK_TASK>();
|
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<TASK_TASK> 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<TASK_TASK>();
|
List<TASK_TASK> 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<TASK_TASK> 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<TASK_TASK>();
|
List<TASK_TASK> 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<TASK_TASK> 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<TASK_TASK>();
|
List<TASK_TASK> 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());
|
}
|
}
|
|
/// <summary>
|
/// 更新报警
|
/// </summary>
|
public void RenewAlarm()
|
{
|
try
|
{
|
string alarm = "";
|
for (int j = 1; j < 10; j++)
|
{
|
int alarmCode = JsonConvert.DeserializeObject<srmInfo>(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<rgvInfo>(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;
|
}
|
}
|