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<Screen>();
|
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
|
/// <summary>
|
/// 更新入库
|
/// </summary>
|
public void RenewIn()
|
{
|
try
|
{
|
using (Model edm = new Model())
|
{
|
this.timeOut = 0;
|
//List<TASK_TASK> 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<TASK_TASK>();
|
List<TASK_TASK> 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());
|
}
|
}
|
|
/// <summary>
|
/// 更新出库
|
/// </summary>
|
public void RenewOut()
|
{
|
try
|
{
|
using (Model edm = new Model())
|
{
|
List<TASK_TASK> outTaskList = new List<TASK_TASK>();
|
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<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 == 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<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(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());
|
}
|
}
|
|
/// <summary>
|
/// 更新报警
|
/// </summary>
|
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<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;
|
}
|
|
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;
|
}
|
}
|