diff --git a/InSituLaboratory/ViewModels/Pages/SequentialDistributionViewModel.cs b/InSituLaboratory/ViewModels/Pages/SequentialDistributionViewModel.cs
index 5ba4bd7..01ec752 100644
--- a/InSituLaboratory/ViewModels/Pages/SequentialDistributionViewModel.cs
+++ b/InSituLaboratory/ViewModels/Pages/SequentialDistributionViewModel.cs
@@ -50,72 +50,1062 @@ namespace InSituLaboratory.ViewModels.Pages
_sysSequentialService = sysSequentialService;
_sensorService = sensorService;
- Refresh();
- RefreshS1();
- RefreshS2();
- RefreshS3();
- RefreshS4();
- RefreshS5();
+ DoRefreshSe("Refresh");
+ DoRefreshSe("sequent1Refresh");
+ DoRefreshSe("sequent2Refresh");
+ DoRefreshSe("sequent3Refresh");
+ DoRefreshSe("sequent4Refresh");
+ DoRefreshSe("sequent5Refresh");
}
///
/// 页面刷新
///
- public override void Refresh()
+ public override void DoRefreshSe(object o)
{
- //获取当前运行时序状态表
- var CurrentSequentiualList = _sensorService.GetCurrentSequentiual();
-
- //当前运行时序状态数据
- if (CurrentSequentiualList.Count() != 0)
+ string[] msg = o.ToString().Split(',');
+ switch (msg[0])
{
- var data = _sensorService.GetCurrentSequentiual().FirstOrDefault();
+ //当前运行时序状态刷新
+ case "Refresh":
+ //获取当前运行时序状态表
+ var CurrentSequentiualList = _sensorService.GetCurrentSequentiual();
- CurrentSequentiual.Sequentiual1Status = data.Sequentiual1Status;
- CurrentSequentiual.Sequentiual2Status = data.Sequentiual2Status;
- CurrentSequentiual.Sequentiual3Status = data.Sequentiual3Status;
- CurrentSequentiual.Sequentiual4Status = data.Sequentiual4Status;
- CurrentSequentiual.Sequentiual5Status = data.Sequentiual5Status;
+ //当前运行时序状态数据
+ if (CurrentSequentiualList.Count() != 0)
+ {
+ var data = _sensorService.GetCurrentSequentiual().FirstOrDefault();
+
+ CurrentSequentiual.Sequentiual1Status = data.Sequentiual1Status;
+ CurrentSequentiual.Sequentiual2Status = data.Sequentiual2Status;
+ CurrentSequentiual.Sequentiual3Status = data.Sequentiual3Status;
+ CurrentSequentiual.Sequentiual4Status = data.Sequentiual4Status;
+ CurrentSequentiual.Sequentiual5Status = data.Sequentiual5Status;
+ }
+ break;
+
+ //时序1刷新
+ case "sequent1Refresh":
+ int num = 1;
+ SearchKey = "时序1";
+ sysSequentialDetailsListS1.Clear();
+
+ //获取时序母表数据
+ var list = _sysSequentialService.GetSequentials(SearchKey).ToList();
+ if (list.Count != 0)
+ {
+ var data = _sysSequentialService.GetSequentials(SearchKey).First();
+
+ //获取时序子表数据
+ var dataDetails = _sysSequentialService.GetSequentialDetails(data.Number).ToList();
+ foreach (var item in dataDetails)
+ {
+ SysSequentialDetails sysSequentialDetail = new SysSequentialDetails();
+ sysSequentialDetail.Number = item.Number;
+ sysSequentialDetail.DurationTime = item.DurationTime;
+ sysSequentialDetail.SensorID = item.SensorID;
+ sysSequentialDetail.WorkTime = item.WorkTime;
+ sysSequentialDetail.SequenceGroup = item.SequenceGroup;
+ sysSequentialDetail.CreateTime = item.CreateTime;
+ sysSequentialDetail.Sequential = item.Sequential;
+ sysSequentialDetail.SysSquentialID = item.SysSquentialID;
+ sysSequentialDetail.IsDelete = item.IsDelete;
+ sysSequentialDetail.num = num;
+
+ sysSequentialDetailsListS1.Add(sysSequentialDetail);
+ num++;
+ }
+ sequentStatusModel.SequentialStartTime1 = data.StartTime;
+ sequentStatusModel.SequentialEndTime1 = data.EndTime;
+ sequentStatusModel.Status1 = data.Status;
+ }
+ break;
+
+ //时序2刷新
+ case "sequent2Refresh":
+ int num2 = 1;
+ SearchKey = "时序2";
+ sysSequentialDetailsListS2.Clear();
+ var list2 = _sysSequentialService.GetSequentials(SearchKey).ToList();
+ if (list2.Count != 0)
+ {
+ var data = _sysSequentialService.GetSequentials(SearchKey).First();
+
+ var dataDetails = _sysSequentialService.GetSequentialDetails(data.Number).ToList();
+ foreach (var item in dataDetails)
+ {
+ SysSequentialDetails sysSequentialDetail = new SysSequentialDetails();
+ sysSequentialDetail.Number = item.Number;
+ sysSequentialDetail.DurationTime = item.DurationTime;
+ sysSequentialDetail.SensorID = item.SensorID;
+ sysSequentialDetail.WorkTime = item.WorkTime;
+ sysSequentialDetail.SequenceGroup = item.SequenceGroup;
+ sysSequentialDetail.CreateTime = item.CreateTime;
+ sysSequentialDetail.Sequential = item.Sequential;
+ sysSequentialDetail.SysSquentialID = item.SysSquentialID;
+ sysSequentialDetail.IsDelete = item.IsDelete;
+ sysSequentialDetail.num = num2;
+
+ sysSequentialDetailsListS2.Add(sysSequentialDetail);
+ num2++;
+ }
+ sequentStatusModel.SequentialStartTime2 = data.StartTime;
+ sequentStatusModel.SequentialEndTime2 = data.EndTime;
+ sequentStatusModel.Status2 = data.Status;
+ }
+ break;
+
+ //时序3刷新
+ case "sequent3Refresh":
+ int num3 = 1;
+ SearchKey = "时序3";
+ sysSequentialDetailsListS3.Clear();
+ var list3 = _sysSequentialService.GetSequentials(SearchKey).ToList();
+ if (list3.Count != 0)
+ {
+ var data = _sysSequentialService.GetSequentials(SearchKey).First();
+
+ var dataDetails = _sysSequentialService.GetSequentialDetails(data.Number).ToList();
+ foreach (var item in dataDetails)
+ {
+ SysSequentialDetails sysSequentialDetail = new SysSequentialDetails();
+ sysSequentialDetail.Number = item.Number;
+ sysSequentialDetail.DurationTime = item.DurationTime;
+ sysSequentialDetail.SensorID = item.SensorID;
+ sysSequentialDetail.WorkTime = item.WorkTime;
+ sysSequentialDetail.SequenceGroup = item.SequenceGroup;
+ sysSequentialDetail.CreateTime = item.CreateTime;
+ sysSequentialDetail.Sequential = item.Sequential;
+ sysSequentialDetail.SysSquentialID = item.SysSquentialID;
+ sysSequentialDetail.IsDelete = item.IsDelete;
+ sysSequentialDetail.num = num3;
+
+ sysSequentialDetailsListS3.Add(sysSequentialDetail);
+ num3++;
+ }
+ sequentStatusModel.SequentialStartTime3 = data.StartTime;
+ sequentStatusModel.SequentialEndTime3 = data.EndTime;
+ sequentStatusModel.Status3 = data.Status;
+ }
+ break;
+
+ //时序4刷新
+ case "sequent4Refresh":
+ int num4 = 1;
+ SearchKey = "时序4";
+ sysSequentialDetailsListS4.Clear();
+ var list4 = _sysSequentialService.GetSequentials(SearchKey).ToList();
+ if (list4.Count != 0)
+ {
+ var data = _sysSequentialService.GetSequentials(SearchKey).First();
+
+ var dataDetails = _sysSequentialService.GetSequentialDetails(data.Number).ToList();
+ foreach (var item in dataDetails)
+ {
+ SysSequentialDetails sysSequentialDetail = new SysSequentialDetails();
+ sysSequentialDetail.Number = item.Number;
+ sysSequentialDetail.DurationTime = item.DurationTime;
+ sysSequentialDetail.SensorID = item.SensorID;
+ sysSequentialDetail.WorkTime = item.WorkTime;
+ sysSequentialDetail.SequenceGroup = item.SequenceGroup;
+ sysSequentialDetail.CreateTime = item.CreateTime;
+ sysSequentialDetail.Sequential = item.Sequential;
+ sysSequentialDetail.SysSquentialID = item.SysSquentialID;
+ sysSequentialDetail.IsDelete = item.IsDelete;
+ sysSequentialDetail.num = num4;
+
+ sysSequentialDetailsListS4.Add(sysSequentialDetail);
+ num4++;
+ }
+ sequentStatusModel.SequentialStartTime4 = data.StartTime;
+ sequentStatusModel.SequentialEndTime4 = data.EndTime;
+ sequentStatusModel.Status4 = data.Status;
+ }
+ break;
+
+ //时序5刷新
+ case "sequent5Refresh":
+ int num5 = 1;
+ SearchKey = "时序5";
+ sysSequentialDetailsListS5.Clear();
+ var list5 = _sysSequentialService.GetSequentials(SearchKey).ToList();
+ if (list5.Count != 0)
+ {
+ var data = _sysSequentialService.GetSequentials(SearchKey).First();
+
+ var dataDetails = _sysSequentialService.GetSequentialDetails(data.Number).ToList();
+ foreach (var item in dataDetails)
+ {
+ SysSequentialDetails sysSequentialDetail = new SysSequentialDetails();
+ sysSequentialDetail.Number = item.Number;
+ sysSequentialDetail.DurationTime = item.DurationTime;
+ sysSequentialDetail.SensorID = item.SensorID;
+ sysSequentialDetail.WorkTime = item.WorkTime;
+ sysSequentialDetail.SequenceGroup = item.SequenceGroup;
+ sysSequentialDetail.CreateTime = item.CreateTime;
+ sysSequentialDetail.Sequential = item.Sequential;
+ sysSequentialDetail.SysSquentialID = item.SysSquentialID;
+ sysSequentialDetail.IsDelete = item.IsDelete;
+ sysSequentialDetail.num = num5;
+
+ sysSequentialDetailsListS5.Add(sysSequentialDetail);
+ num5++;
+ }
+ sequentStatusModel.SequentialStartTime5 = data.StartTime;
+ sequentStatusModel.SequentialEndTime5 = data.EndTime;
+ sequentStatusModel.Status5 = data.Status;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+ ///
+ /// 时序下发
+ ///
+ ///
+ public override void DoSend(object o)
+ {
+ string[] msg = o.ToString().Split(',');
+ switch (msg[0])
+ {
+ //时序1
+ case "sequent1Send":
+ try
+ {
+ var status = "";
+ var datalist1 = _sysSequentialService.Query(m => m.StartTime == sequentStatusModel.SequentialStartTime1 && m.EndTime == sequentStatusModel.SequentialEndTime1 && m.IsDelete == 0 && m.Sequential == "时序1").ToList();
+
+ if (sequentStatusModel.SequentialStartTime1 == null || sequentStatusModel.SequentialEndTime1 == null)
+ {
+ throw new Exception("时序1: 开始时间和结束时间不能为空!");
+ }
+ else if (datalist1.Count() == 0)
+ {
+ throw new Exception("时序1中未有设备,无法下发!!!");
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ DateTime startTime = (DateTime)sequentStatusModel.SequentialStartTime1;
+ DateTime endTime = (DateTime)sequentStatusModel.SequentialEndTime1;
+ foreach (var item in datalist1)
+ {
+ status = item.Status;
+ }
+ if (status == "已生成未下发")
+ {
+ System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否修改并等待当前工作设备工作完最短周期后生效新时序? \n若选择否,则修改且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ //修改并等待当前工作设备工作完最短周期后生效新时序
+ if (s1 == System.Windows.Forms.DialogResult.Yes)
+ {
+ //计算设备功耗是否超总功耗及设备运行时长是否超时
+ List byteaq = encode(startTime, endTime, 0x01, 0x01, "时序1");
+ List buffer = Escape(byteaq.ToArray());
+ string list = tools.byteToHexStr(buffer.ToArray());
+ byte[] bytea = tools.ConvertHexStringToBytes(list);
+ RelayViewModel.clientModel.SendData(bytea);
+
+ //更新时序母表及时序总表状态字段
+ UpdateData(startTime, endTime, "时序1", "已下发");
+ System.Windows.Forms.MessageBox.Show("命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ //修改且关闭该时序所有设备
+ else if (s1 == System.Windows.Forms.DialogResult.No)
+ {
+ //计算设备功耗是否超总功耗及设备运行时长是否超时
+ List byteaq = encode(startTime, endTime, 0x01, 0x02, "时序1");
+ List buffer = Escape(byteaq.ToArray());
+ string list = tools.byteToHexStr(buffer.ToArray());
+ byte[] bytea = tools.ConvertHexStringToBytes(list);
+ RelayViewModel.clientModel.SendData(bytea);
+
+ //更新时序母表及时序总表状态字段
+ UpdateData(startTime, endTime, "时序1", "已下发");
+ System.Windows.Forms.MessageBox.Show("命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ else
+ {
+ throw new Exception("当前时序已下发!!!");
+ }
+ this.DoRefreshSe("sequent1Refresh");
+ }
+ else
+ {
+ throw new Exception("请先连接服务端!");
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ System.Windows.Forms.MessageBox.Show(ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序2
+ case "sequent2Send":
+ try
+ {
+ var status = "";
+ var datalist1 = _sysSequentialService.Query(m => m.StartTime == sequentStatusModel.SequentialStartTime2 && m.EndTime == sequentStatusModel.SequentialEndTime2 && m.IsDelete == 0 && m.Sequential == "时序2").ToList();
+
+ if (sequentStatusModel.SequentialStartTime2 == null || sequentStatusModel.SequentialEndTime2 == null)
+ {
+ throw new Exception("时序2: 开始时间和结束时间不能为空!");
+ }
+ else if (datalist1.Count() == 0)
+ {
+ throw new Exception("时序2中未有设备,无法下发!!!");
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ DateTime startTime = (DateTime)sequentStatusModel.SequentialStartTime2;
+ DateTime endTime = (DateTime)sequentStatusModel.SequentialEndTime2;
+ foreach (var item in datalist1)
+ {
+ status = item.Status;
+ }
+ if (status == "已生成未下发")
+ {
+ System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否修改并等待当前工作设备工作完最短周期后生效新时序? \n若选择否,则修改且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ //修改并等待当前工作设备工作完最短周期后生效新时序
+ if (s1 == System.Windows.Forms.DialogResult.Yes)
+ {
+ //计算设备功耗是否超总功耗及设备运行时长是否超时
+ List byteaq = encode(startTime, endTime, 0x02, 0x01, "时序2");
+ List buffer = Escape(byteaq.ToArray());
+ string list = tools.byteToHexStr(buffer.ToArray());
+ byte[] bytea = tools.ConvertHexStringToBytes(list);
+ RelayViewModel.clientModel.SendData(bytea);
+
+ //更新时序母表及时序总表状态字段
+ UpdateData(startTime, endTime, "时序2", "已下发");
+ System.Windows.Forms.MessageBox.Show("命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ //修改且关闭该时序所有设备
+ else if (s1 == System.Windows.Forms.DialogResult.No)
+ {
+ //计算设备功耗是否超总功耗及设备运行时长是否超时
+ List byteaq = encode(startTime, endTime,0x02, 0x02, "时序2");
+ List buffer = Escape(byteaq.ToArray());
+ string list = tools.byteToHexStr(buffer.ToArray());
+ byte[] bytea = tools.ConvertHexStringToBytes(list);
+ RelayViewModel.clientModel.SendData(bytea);
+
+ //更新时序母表及时序总表状态字段
+ UpdateData(startTime, endTime, "时序2", "已下发");
+ System.Windows.Forms.MessageBox.Show("命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ else
+ {
+ throw new Exception("当前时序已下发!!!");
+ }
+ this.DoRefreshSe("sequent2Refresh");
+ }
+ else
+ {
+ throw new Exception("请先连接服务端!");
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ System.Windows.Forms.MessageBox.Show(ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序3
+ case "sequent3Send":
+ try
+ {
+ var status = "";
+ var datalist1 = _sysSequentialService.Query(m => m.StartTime == sequentStatusModel.SequentialStartTime3 && m.EndTime == sequentStatusModel.SequentialEndTime3 && m.IsDelete == 0 && m.Sequential == "时序3").ToList();
+
+ if (sequentStatusModel.SequentialStartTime3 == null || sequentStatusModel.SequentialEndTime3 == null)
+ {
+ throw new Exception("时序3: 开始时间和结束时间不能为空!");
+ }
+ else if (datalist1.Count() == 0)
+ {
+ throw new Exception("时序3中未有设备,无法下发!!!");
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ DateTime startTime = (DateTime)sequentStatusModel.SequentialStartTime3;
+ DateTime endTime = (DateTime)sequentStatusModel.SequentialEndTime3;
+ foreach (var item in datalist1)
+ {
+ status = item.Status;
+ }
+ if (status == "已生成未下发")
+ {
+ System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否修改并等待当前工作设备工作完最短周期后生效新时序? \n若选择否,则修改且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ //修改并等待当前工作设备工作完最短周期后生效新时序
+ if (s1 == System.Windows.Forms.DialogResult.Yes)
+ {
+ //计算设备功耗是否超总功耗及设备运行时长是否超时
+ List byteaq = encode(startTime, endTime, 0x03, 0x01, "时序3");
+ List buffer = Escape(byteaq.ToArray());
+ string list = tools.byteToHexStr(buffer.ToArray());
+ byte[] bytea = tools.ConvertHexStringToBytes(list);
+ RelayViewModel.clientModel.SendData(bytea);
+
+ //更新时序母表及时序总表状态字段
+ UpdateData(startTime, endTime, "时序3", "已下发");
+ System.Windows.Forms.MessageBox.Show("命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ //修改且关闭该时序所有设备
+ else if (s1 == System.Windows.Forms.DialogResult.No)
+ {
+ //计算设备功耗是否超总功耗及设备运行时长是否超时
+ List byteaq = encode(startTime, endTime, 0x03, 0x02, "时序3");
+ List buffer = Escape(byteaq.ToArray());
+ string list = tools.byteToHexStr(buffer.ToArray());
+ byte[] bytea = tools.ConvertHexStringToBytes(list);
+ RelayViewModel.clientModel.SendData(bytea);
+
+ //更新时序母表及时序总表状态字段
+ UpdateData(startTime, endTime, "时序3", "已下发");
+ System.Windows.Forms.MessageBox.Show("命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ else
+ {
+ throw new Exception("当前时序已下发!!!");
+ }
+ this.DoRefreshSe("sequent3Refresh");
+ }
+ else
+ {
+ throw new Exception("请先连接服务端!");
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ System.Windows.Forms.MessageBox.Show(ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序4
+ case "sequent4Send":
+ try
+ {
+ var status = "";
+ var datalist1 = _sysSequentialService.Query(m => m.StartTime == sequentStatusModel.SequentialStartTime4 && m.EndTime == sequentStatusModel.SequentialEndTime4 && m.IsDelete == 0 && m.Sequential == "时序4").ToList();
+
+ if (sequentStatusModel.SequentialStartTime4 == null || sequentStatusModel.SequentialEndTime4 == null)
+ {
+ throw new Exception("时序4: 开始时间和结束时间不能为空!");
+ }
+ else if (datalist1.Count() == 0)
+ {
+ throw new Exception("时序4中未有设备,无法下发!!!");
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ DateTime startTime = (DateTime)sequentStatusModel.SequentialStartTime4;
+ DateTime endTime = (DateTime)sequentStatusModel.SequentialEndTime4;
+ foreach (var item in datalist1)
+ {
+ status = item.Status;
+ }
+ if (status == "已生成未下发")
+ {
+ System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否修改并等待当前工作设备工作完最短周期后生效新时序? \n若选择否,则修改且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ //修改并等待当前工作设备工作完最短周期后生效新时序
+ if (s1 == System.Windows.Forms.DialogResult.Yes)
+ {
+ //计算设备功耗是否超总功耗及设备运行时长是否超时
+ List byteaq = encode(startTime, endTime, 0x04, 0x01, "时序4");
+ List buffer = Escape(byteaq.ToArray());
+ string list = tools.byteToHexStr(buffer.ToArray());
+ byte[] bytea = tools.ConvertHexStringToBytes(list);
+ RelayViewModel.clientModel.SendData(bytea);
+
+ //更新时序母表及时序总表状态字段
+ UpdateData(startTime, endTime, "时序4", "已下发");
+ System.Windows.Forms.MessageBox.Show("命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ //修改且关闭该时序所有设备
+ else if (s1 == System.Windows.Forms.DialogResult.No)
+ {
+ //计算设备功耗是否超总功耗及设备运行时长是否超时
+ List byteaq = encode(startTime, endTime, 0x04, 0x02, "时序4");
+ List buffer = Escape(byteaq.ToArray());
+ string list = tools.byteToHexStr(buffer.ToArray());
+ byte[] bytea = tools.ConvertHexStringToBytes(list);
+ RelayViewModel.clientModel.SendData(bytea);
+
+ //更新时序母表及时序总表状态字段
+ UpdateData(startTime, endTime, "时序4", "已下发");
+ System.Windows.Forms.MessageBox.Show("命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ else
+ {
+ throw new Exception("当前时序已下发!!!");
+ }
+ this.DoRefreshSe("sequent4Refresh");
+ }
+ else
+ {
+ throw new Exception("请先连接服务端!");
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ System.Windows.Forms.MessageBox.Show(ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序5
+ case "sequent5Send":
+ try
+ {
+ var status = "";
+ var datalist1 = _sysSequentialService.Query(m => m.StartTime == sequentStatusModel.SequentialStartTime5 && m.EndTime == sequentStatusModel.SequentialEndTime5 && m.IsDelete == 0 && m.Sequential == "时序5").ToList();
+
+ if (sequentStatusModel.SequentialStartTime5 == null || sequentStatusModel.SequentialEndTime5 == null)
+ {
+ throw new Exception("时序5: 开始时间和结束时间不能为空!");
+ }
+ else if (datalist1.Count() == 0)
+ {
+ throw new Exception("时序5中未有设备,无法下发!!!");
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ DateTime startTime = (DateTime)sequentStatusModel.SequentialStartTime5;
+ DateTime endTime = (DateTime)sequentStatusModel.SequentialEndTime5;
+ foreach (var item in datalist1)
+ {
+ status = item.Status;
+ }
+ if (status == "已生成未下发")
+ {
+ System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否修改并等待当前工作设备工作完最短周期后生效新时序? \n若选择否,则修改且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ //修改并等待当前工作设备工作完最短周期后生效新时序
+ if (s1 == System.Windows.Forms.DialogResult.Yes)
+ {
+ //计算设备功耗是否超总功耗及设备运行时长是否超时
+ List byteaq = encode(startTime, endTime, 0x05, 0x01, "时序5");
+ List buffer = Escape(byteaq.ToArray());
+ string list = tools.byteToHexStr(buffer.ToArray());
+ byte[] bytea = tools.ConvertHexStringToBytes(list);
+ RelayViewModel.clientModel.SendData(bytea);
+
+ //更新时序母表及时序总表状态字段
+ UpdateData(startTime, endTime, "时序5", "已下发");
+ System.Windows.Forms.MessageBox.Show("命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ //修改且关闭该时序所有设备
+ else if (s1 == System.Windows.Forms.DialogResult.No)
+ {
+ //计算设备功耗是否超总功耗及设备运行时长是否超时
+ List byteaq = encode(startTime, endTime, 0x05, 0x02, "时序5");
+ List buffer = Escape(byteaq.ToArray());
+ string list = tools.byteToHexStr(buffer.ToArray());
+ byte[] bytea = tools.ConvertHexStringToBytes(list);
+ RelayViewModel.clientModel.SendData(bytea);
+
+ //更新时序母表及时序总表状态字段
+ UpdateData(startTime, endTime, "时序5", "已下发");
+ System.Windows.Forms.MessageBox.Show("命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ else
+ {
+ throw new Exception("当前时序已下发!!!");
+ }
+ this.DoRefreshSe("sequent5Refresh");
+ }
+ else
+ {
+ throw new Exception("请先连接服务端!");
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ System.Windows.Forms.MessageBox.Show(ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+
+ ///
+ /// 时序清空
+ ///
+ ///
+ public override void DoClear(object o)
+ {
+ string[] msg = o.ToString().Split(',');
+ switch (msg[0])
+ {
+ //时序1
+ case "sequent1Clear":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否清空并等待当前工作设备工作完最短周期? \n若选择否,则清空且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ //清空并等待当前工作设备工作完最短周期
+ if (s1 == System.Windows.Forms.DialogResult.Yes)
+ {
+ dosend(0x01, 0x03);
+ System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ //清空且关闭该时序所有设备
+ else if (s1 == System.Windows.Forms.DialogResult.No)
+ {
+ dosend(0x01, 0x04);
+ System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ this.DoRefreshSe("sequent1Refresh");
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序2
+ case "sequent2Clear":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否清空并等待当前工作设备工作完最短周期? \n若选择否,则清空且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ //清空并等待当前工作设备工作完最短周期
+ if (s1 == System.Windows.Forms.DialogResult.Yes)
+ {
+ dosend(0x02, 0x03);
+ System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ //清空且关闭该时序所有设备
+ else if (s1 == System.Windows.Forms.DialogResult.No)
+ {
+ dosend(0x02, 0x04);
+ System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ this.DoRefreshSe("sequent2Refresh");
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序3
+ case "sequent3Clear":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否清空并等待当前工作设备工作完最短周期? \n若选择否,则清空且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ //清空并等待当前工作设备工作完最短周期
+ if (s1 == System.Windows.Forms.DialogResult.Yes)
+ {
+ dosend(0x03, 0x03);
+ System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ //清空且关闭该时序所有设备
+ else if (s1 == System.Windows.Forms.DialogResult.No)
+ {
+ dosend(0x03, 0x04);
+ System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ this.DoRefreshSe("sequent3Refresh");
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序4
+ case "sequent4Clear":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否清空并等待当前工作设备工作完最短周期? \n若选择否,则清空且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ //清空并等待当前工作设备工作完最短周期
+ if (s1 == System.Windows.Forms.DialogResult.Yes)
+ {
+ dosend(0x04, 0x03);
+ System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ //清空且关闭该时序所有设备
+ else if (s1 == System.Windows.Forms.DialogResult.No)
+ {
+ dosend(0x04, 0x04);
+ System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ this.DoRefreshSe("sequent4Refresh");
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序5
+ case "sequent5Clear":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否清空并等待当前工作设备工作完最短周期? \n若选择否,则清空且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ //清空并等待当前工作设备工作完最短周期
+ if (s1 == System.Windows.Forms.DialogResult.Yes)
+ {
+ dosend(0x05, 0x03);
+ System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ //清空且关闭该时序所有设备
+ else if (s1 == System.Windows.Forms.DialogResult.No)
+ {
+ dosend(0x05, 0x04);
+ System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ this.DoRefreshSe("sequent5Refresh");
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+
+ ///
+ /// 时序启动
+ ///
+ ///
+ public override void DoBegin(object o)
+ {
+ string[] msg = o.ToString().Split(',');
+ switch (msg[0])
+ {
+ //时序1
+ case "sequent1Begin":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x01, 0x05);
+ System.Windows.Forms.MessageBox.Show("时序启动命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ this.DoRefreshSe("sequent1Refresh");
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序2
+ case "sequent2Begin":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x02, 0x05);
+ System.Windows.Forms.MessageBox.Show("时序启动命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ this.DoRefreshSe("sequent2Refresh");
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序3
+ case "sequent3Begin":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x03, 0x05);
+ System.Windows.Forms.MessageBox.Show("时序启动命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ this.DoRefreshSe("sequent3Refresh");
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序4
+ case "sequent4Begin":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x04, 0x05);
+ System.Windows.Forms.MessageBox.Show("时序启动命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ this.DoRefreshSe("sequent4Refresh");
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序5
+ case "sequent5Begin":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x05, 0x05);
+ System.Windows.Forms.MessageBox.Show("时序启动命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ this.DoRefreshSe("sequent5Refresh");
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+
+ ///
+ /// 时序暂停
+ ///
+ ///
+ public override void DoSuspend(object o)
+ {
+ string[] msg = o.ToString().Split(',');
+ switch (msg[0])
+ {
+ //时序1
+ case "sequent1Suspend":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+
+ System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否暂停并等待当前工作设备工作完最短周期? \n若选择否,则暂停且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ //暂停并等待当前工作设备工作完最短周期
+ if (s1 == System.Windows.Forms.DialogResult.Yes)
+ {
+ dosend(0x01, 0x07);
+ System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ //暂停且关闭该时序所有设备
+ else if (s1 == System.Windows.Forms.DialogResult.No)
+ {
+ dosend(0x01, 0x08);
+ System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ this.DoRefreshSe("sequent1Refresh");
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序2
+ case "sequent2Suspend":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+
+ System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否暂停并等待当前工作设备工作完最短周期? \n若选择否,则暂停且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ //暂停并等待当前工作设备工作完最短周期
+ if (s1 == System.Windows.Forms.DialogResult.Yes)
+ {
+ dosend(0x02, 0x07);
+ System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ //暂停且关闭该时序所有设备
+ else if (s1 == System.Windows.Forms.DialogResult.No)
+ {
+ dosend(0x02, 0x08);
+ System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ this.DoRefreshSe("sequent2Refresh");
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序3
+ case "sequent3Suspend":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+
+ System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否暂停并等待当前工作设备工作完最短周期? \n若选择否,则暂停且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ //暂停并等待当前工作设备工作完最短周期
+ if (s1 == System.Windows.Forms.DialogResult.Yes)
+ {
+ dosend(0x03, 0x07);
+ System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ //暂停且关闭该时序所有设备
+ else if (s1 == System.Windows.Forms.DialogResult.No)
+ {
+ dosend(0x03, 0x08);
+ System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ this.DoRefreshSe("sequent3Refresh");
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序4
+ case "sequent4Suspend":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+
+ System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否暂停并等待当前工作设备工作完最短周期? \n若选择否,则暂停且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ //暂停并等待当前工作设备工作完最短周期
+ if (s1 == System.Windows.Forms.DialogResult.Yes)
+ {
+ dosend(0x04, 0x07);
+ System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ //暂停且关闭该时序所有设备
+ else if (s1 == System.Windows.Forms.DialogResult.No)
+ {
+ dosend(0x04, 0x08);
+ System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ this.DoRefreshSe("sequent4Refresh");
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+
+ //时序5
+ case "sequent5Suspend":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+
+ System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否暂停并等待当前工作设备工作完最短周期? \n若选择否,则暂停且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ //暂停并等待当前工作设备工作完最短周期
+ if (s1 == System.Windows.Forms.DialogResult.Yes)
+ {
+ dosend(0x05, 0x07);
+ System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ //暂停且关闭该时序所有设备
+ else if (s1 == System.Windows.Forms.DialogResult.No)
+ {
+ dosend(0x05, 0x08);
+ System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ this.DoRefreshSe("sequent5Refresh");
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+ ///
+ /// 时序同步 -- 请求当前时序
+ ///
+ ///
+ public override void DoSync(object o)
+ {
+ string[] msg = o.ToString().Split(',');
+ switch (msg[0])
+ {
+ //时序1
+ case "sequent1":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ DoSyncSend(0x01);
+ System.Windows.Forms.MessageBox.Show("已请求同步当前时序!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+ //时序2
+ case "sequent2":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ DoSyncSend(0x02);
+ System.Windows.Forms.MessageBox.Show("已请求同步当前时序!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+ //时序3
+ case "sequent3":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ DoSyncSend(0x03);
+ System.Windows.Forms.MessageBox.Show("已请求同步当前时序!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+ //时序4
+ case "sequent4":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ DoSyncSend(0x04);
+ System.Windows.Forms.MessageBox.Show("已请求同步当前时序!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+ //时序5
+ case "sequent5":
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ DoSyncSend(0x05);
+ System.Windows.Forms.MessageBox.Show("已请求同步当前时序!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ break;
+ default:
+ break;
}
}
#region 时序 1
- public override void RefreshS1()
- {
- int num = 1;
- SearchKey = "时序1";
- sysSequentialDetailsListS1.Clear();
-
- //获取时序母表数据
- var list = _sysSequentialService.GetSequentials(SearchKey).ToList();
- if (list.Count != 0)
- {
- var data = _sysSequentialService.GetSequentials(SearchKey).First();
-
- //获取时序子表数据
- var dataDetails = _sysSequentialService.GetSequentialDetails(data.Number).ToList();
- foreach (var item in dataDetails)
- {
- SysSequentialDetails sysSequentialDetail = new SysSequentialDetails();
- sysSequentialDetail.Number = item.Number;
- sysSequentialDetail.DurationTime = item.DurationTime;
- sysSequentialDetail.SensorID = item.SensorID;
- sysSequentialDetail.WorkTime = item.WorkTime;
- sysSequentialDetail.SequenceGroup = item.SequenceGroup;
- sysSequentialDetail.CreateTime = item.CreateTime;
- sysSequentialDetail.Sequential = item.Sequential;
- sysSequentialDetail.SysSquentialID = item.SysSquentialID;
- sysSequentialDetail.IsDelete = item.IsDelete;
- sysSequentialDetail.num = num;
-
- sysSequentialDetailsListS1.Add(sysSequentialDetail);
- num++;
- }
- sequentStatusModel.SequentialStartTime1 = data.StartTime;
- sequentStatusModel.SequentialEndTime1 = data.EndTime;
- sequentStatusModel.Status1 = data.Status;
- }
- }
///
/// 编辑或者新增
@@ -169,7 +1159,7 @@ namespace InSituLaboratory.ViewModels.Pages
// 判断子窗口的返回状态,如果OK,刷新当前页面,否则不管
if (result.Result == ButtonResult.OK)
{
- this.RefreshS1();
+ this.DoRefreshSe("sequent1Refresh");
}
});
}
@@ -209,7 +1199,7 @@ namespace InSituLaboratory.ViewModels.Pages
// 判断子窗口的返回状态,如果OK,刷新当前页面,否则不管
if (result.Result == ButtonResult.OK)
{
- this.RefreshS1();
+ this.DoRefreshSe("sequent1Refresh");
}
});
}
@@ -263,7 +1253,7 @@ namespace InSituLaboratory.ViewModels.Pages
_sysSequentialService.Update(data1);
System.Windows.Forms.MessageBox.Show("删除完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- this.RefreshS1();
+ this.DoRefreshSe("sequent1Refresh");
}
}
else
@@ -278,199 +1268,9 @@ namespace InSituLaboratory.ViewModels.Pages
}
- ///
- /// 时序下发
- ///
- public override void SendS1()
- {
- try
- {
- var status = "";
- var datalist1 = _sysSequentialService.Query(m => m.StartTime == sequentStatusModel.SequentialStartTime1 && m.EndTime == sequentStatusModel.SequentialEndTime1 && m.IsDelete == 0 && m.Sequential == "时序1").ToList();
-
- if (sequentStatusModel.SequentialStartTime1 == null || sequentStatusModel.SequentialEndTime1 == null)
- {
- throw new Exception("时序1: 开始时间和结束时间不能为空!");
- }
- else if (datalist1.Count() == 0)
- {
- throw new Exception("时序1中未有设备,无法下发!!!");
- }
- else
- {
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
- DateTime startTime = (DateTime)sequentStatusModel.SequentialStartTime1;
- DateTime endTime = (DateTime)sequentStatusModel.SequentialEndTime1;
- foreach (var item in datalist1)
- {
- status = item.Status;
- }
- if (status == "已生成未下发")
- {
- System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否修改并等待当前工作设备工作完最短周期后生效新时序? \n若选择否,则修改且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
-
- //修改并等待当前工作设备工作完最短周期后生效新时序
- if (s1 == System.Windows.Forms.DialogResult.Yes)
- {
- //计算设备功耗是否超总功耗及设备运行时长是否超时
- List byteaq = encode(startTime, endTime, 0x01, "时序1");
- List buffer = Escape(byteaq.ToArray());
- string list = tools.byteToHexStr(buffer.ToArray());
- byte[] bytea = tools.ConvertHexStringToBytes(list);
- RelayViewModel.clientModel.SendData(bytea);
-
- //更新时序母表及时序总表状态字段
- UpdateData(startTime, endTime, "时序1", "已下发");
- System.Windows.Forms.MessageBox.Show("命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- //修改且关闭该时序所有设备
- else if (s1 == System.Windows.Forms.DialogResult.No)
- {
- //计算设备功耗是否超总功耗及设备运行时长是否超时
- List byteaq = encode((DateTime)sequentStatusModel.SequentialStartTime1, (DateTime)sequentStatusModel.SequentialEndTime1, 0x02, "时序1");
- List buffer = Escape(byteaq.ToArray());
- string list = tools.byteToHexStr(buffer.ToArray());
- byte[] bytea = tools.ConvertHexStringToBytes(list);
- RelayViewModel.clientModel.SendData(bytea);
-
- //更新时序母表及时序总表状态字段
- UpdateData(startTime, endTime, "时序1", "已下发");
- System.Windows.Forms.MessageBox.Show("命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- }
- else
- {
- throw new Exception("当前时序已下发!!!");
- }
- this.RefreshS1();
- }
- else
- {
- throw new Exception("请先连接服务端!");
- }
- }
- }
- catch (Exception ex)
- {
- System.Windows.Forms.MessageBox.Show(ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
-
- }
-
- ///
- /// 时序清空
- ///
- public override void ClearS1()
- {
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
- System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否清空并等待当前工作设备工作完最短周期? \n若选择否,则清空且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
-
- //清空并等待当前工作设备工作完最短周期
- if (s1 == System.Windows.Forms.DialogResult.Yes)
- {
- dosend(0x01, 0x03);
- System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- //清空且关闭该时序所有设备
- else if (s1 == System.Windows.Forms.DialogResult.No)
- {
- dosend(0x01, 0x04);
- System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- this.RefreshS1();
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
-
- }
-
- ///
- /// 时序启动
- ///
- public override void BeginS1()
- {
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
- dosend(0x01, 0x05);
- System.Windows.Forms.MessageBox.Show("时序启动命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- this.RefreshS1();
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- }
-
- ///
- /// 时序暂停
- ///
- public override void SuspendS1()
- {
-
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
-
- System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否暂停并等待当前工作设备工作完最短周期? \n若选择否,则暂停且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
-
- //暂停并等待当前工作设备工作完最短周期
- if (s1 == System.Windows.Forms.DialogResult.Yes)
- {
- dosend(0x01, 0x07);
- System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- //暂停且关闭该时序所有设备
- else if (s1 == System.Windows.Forms.DialogResult.No)
- {
- dosend(0x01, 0x08);
- System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- this.RefreshS1();
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- }
#endregion
#region 时序 2
- public override void RefreshS2()
- {
- int num = 1;
- SearchKey = "时序2";
- sysSequentialDetailsListS2.Clear();
- var list = _sysSequentialService.GetSequentials(SearchKey).ToList();
- if (list.Count != 0)
- {
- var data = _sysSequentialService.GetSequentials(SearchKey).First();
-
- var dataDetails = _sysSequentialService.GetSequentialDetails(data.Number).ToList();
- foreach (var item in dataDetails)
- {
- SysSequentialDetails sysSequentialDetail = new SysSequentialDetails();
- sysSequentialDetail.Number = item.Number;
- sysSequentialDetail.DurationTime = item.DurationTime;
- sysSequentialDetail.SensorID = item.SensorID;
- sysSequentialDetail.WorkTime = item.WorkTime;
- sysSequentialDetail.SequenceGroup = item.SequenceGroup;
- sysSequentialDetail.CreateTime = item.CreateTime;
- sysSequentialDetail.Sequential = item.Sequential;
- sysSequentialDetail.SysSquentialID = item.SysSquentialID;
- sysSequentialDetail.IsDelete = item.IsDelete;
- sysSequentialDetail.num = num;
-
- sysSequentialDetailsListS2.Add(sysSequentialDetail);
- num++;
- }
- sequentStatusModel.SequentialStartTime2 = data.StartTime;
- sequentStatusModel.SequentialEndTime2 = data.EndTime;
- sequentStatusModel.Status2 = data.Status;
- }
- }
///
/// 编辑或者新增
@@ -524,7 +1324,7 @@ namespace InSituLaboratory.ViewModels.Pages
// 判断子窗口的返回状态,如果OK,刷新当前页面,否则不管
if (result.Result == ButtonResult.OK)
{
- this.RefreshS2();
+ this.DoRefreshSe("sequent2Refresh");
}
});
}
@@ -564,7 +1364,7 @@ namespace InSituLaboratory.ViewModels.Pages
// 判断子窗口的返回状态,如果OK,刷新当前页面,否则不管
if (result.Result == ButtonResult.OK)
{
- this.RefreshS2();
+ this.DoRefreshSe("sequent2Refresh");
}
});
}
@@ -617,7 +1417,7 @@ namespace InSituLaboratory.ViewModels.Pages
_sysSequentialService.Update(data1);
System.Windows.Forms.MessageBox.Show("删除完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- this.RefreshS2();
+ this.DoRefreshSe("sequent2Refresh");
}
}
else
@@ -632,121 +1432,9 @@ namespace InSituLaboratory.ViewModels.Pages
}
-
- ///
- /// 时序清空
- ///
- public override void ClearS2()
- {
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
- System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否清空并等待当前工作设备工作完最短周期? \n若选择否,则清空且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
-
- //清空并等待当前工作设备工作完最短周期
- if (s1 == System.Windows.Forms.DialogResult.Yes)
- {
- dosend(0x02, 0x03);
- System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- //清空且关闭该时序所有设备
- else if (s1 == System.Windows.Forms.DialogResult.No)
- {
- dosend(0x02, 0x04);
- System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- this.RefreshS2();
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
-
- }
-
- ///
- /// 时序启动
- ///
- public override void BeginS2()
- {
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
- dosend(0x02, 0x05);
- System.Windows.Forms.MessageBox.Show("时序启动命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- this.RefreshS2();
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- }
-
- ///
- /// 时序暂停
- ///
- public override void SuspendS2()
- {
-
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
-
- System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否暂停并等待当前工作设备工作完最短周期? \n若选择否,则暂停且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
-
- //暂停并等待当前工作设备工作完最短周期
- if (s1 == System.Windows.Forms.DialogResult.Yes)
- {
- dosend(0x02, 0x07);
- System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- //暂停且关闭该时序所有设备
- else if (s1 == System.Windows.Forms.DialogResult.No)
- {
- dosend(0x02, 0x08);
- System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- this.RefreshS2();
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- }
-
#endregion
#region 时序 3
- public override void RefreshS3()
- {
- int num = 1;
- SearchKey = "时序3";
- sysSequentialDetailsListS3.Clear();
- var list = _sysSequentialService.GetSequentials(SearchKey).ToList();
- if (list.Count != 0)
- {
- var data = _sysSequentialService.GetSequentials(SearchKey).First();
-
- var dataDetails = _sysSequentialService.GetSequentialDetails(data.Number).ToList();
- foreach (var item in dataDetails)
- {
- SysSequentialDetails sysSequentialDetail = new SysSequentialDetails();
- sysSequentialDetail.Number = item.Number;
- sysSequentialDetail.DurationTime = item.DurationTime;
- sysSequentialDetail.SensorID = item.SensorID;
- sysSequentialDetail.WorkTime = item.WorkTime;
- sysSequentialDetail.SequenceGroup = item.SequenceGroup;
- sysSequentialDetail.CreateTime = item.CreateTime;
- sysSequentialDetail.Sequential = item.Sequential;
- sysSequentialDetail.SysSquentialID = item.SysSquentialID;
- sysSequentialDetail.IsDelete = item.IsDelete;
- sysSequentialDetail.num = num;
-
- sysSequentialDetailsListS3.Add(sysSequentialDetail);
- num++;
- }
- sequentStatusModel.SequentialStartTime3 = data.StartTime;
- sequentStatusModel.SequentialEndTime3 = data.EndTime;
- sequentStatusModel.Status3 = data.Status;
- }
- }
///
/// 编辑或者新增
@@ -800,7 +1488,7 @@ namespace InSituLaboratory.ViewModels.Pages
// 判断子窗口的返回状态,如果OK,刷新当前页面,否则不管
if (result.Result == ButtonResult.OK)
{
- this.RefreshS3();
+ this.DoRefreshSe("sequent3Refresh");
}
});
}
@@ -840,7 +1528,7 @@ namespace InSituLaboratory.ViewModels.Pages
// 判断子窗口的返回状态,如果OK,刷新当前页面,否则不管
if (result.Result == ButtonResult.OK)
{
- this.RefreshS3();
+ this.DoRefreshSe("sequent3Refresh");
}
});
}
@@ -893,7 +1581,7 @@ namespace InSituLaboratory.ViewModels.Pages
_sysSequentialService.Update(data1);
System.Windows.Forms.MessageBox.Show("删除完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- this.RefreshS3();
+ this.DoRefreshSe("sequent3Refresh");
}
}
else
@@ -908,118 +1596,9 @@ namespace InSituLaboratory.ViewModels.Pages
}
- ///
- /// 时序清空
- ///
- public override void ClearS3()
- {
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
- System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否清空并等待当前工作设备工作完最短周期? \n若选择否,则清空且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
-
- //清空并等待当前工作设备工作完最短周期
- if (s1 == System.Windows.Forms.DialogResult.Yes)
- {
- dosend(0x03, 0x03);
- System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- //清空且关闭该时序所有设备
- else if (s1 == System.Windows.Forms.DialogResult.No)
- {
- dosend(0x03, 0x04);
- System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- this.RefreshS3();
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
-
- }
-
- ///
- /// 时序启动
- ///
- public override void BeginS3()
- {
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
- dosend(0x03, 0x05);
- System.Windows.Forms.MessageBox.Show("时序启动命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- this.RefreshS3();
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- }
-
- ///
- /// 时序暂停
- ///
- public override void SuspendS3()
- {
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
-
- System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否暂停并等待当前工作设备工作完最短周期? \n若选择否,则暂停且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
-
- //暂停并等待当前工作设备工作完最短周期
- if (s1 == System.Windows.Forms.DialogResult.Yes)
- {
- dosend(0x03, 0x07);
- System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- //暂停且关闭该时序所有设备
- else if (s1 == System.Windows.Forms.DialogResult.No)
- {
- dosend(0x03, 0x08);
- System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- this.RefreshS3();
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- }
#endregion
#region 时序 4
- public override void RefreshS4()
- {
- int num = 1;
- SearchKey = "时序4";
- sysSequentialDetailsListS4.Clear();
- var list = _sysSequentialService.GetSequentials(SearchKey).ToList();
- if (list.Count != 0)
- {
- var data = _sysSequentialService.GetSequentials(SearchKey).First();
-
- var dataDetails = _sysSequentialService.GetSequentialDetails(data.Number).ToList();
- foreach (var item in dataDetails)
- {
- SysSequentialDetails sysSequentialDetail = new SysSequentialDetails();
- sysSequentialDetail.Number = item.Number;
- sysSequentialDetail.DurationTime = item.DurationTime;
- sysSequentialDetail.SensorID = item.SensorID;
- sysSequentialDetail.WorkTime = item.WorkTime;
- sysSequentialDetail.SequenceGroup = item.SequenceGroup;
- sysSequentialDetail.CreateTime = item.CreateTime;
- sysSequentialDetail.Sequential = item.Sequential;
- sysSequentialDetail.SysSquentialID = item.SysSquentialID;
- sysSequentialDetail.IsDelete = item.IsDelete;
- sysSequentialDetail.num = num;
-
- sysSequentialDetailsListS4.Add(sysSequentialDetail);
- num++;
- }
- sequentStatusModel.SequentialStartTime4 = data.StartTime;
- sequentStatusModel.SequentialEndTime4 = data.EndTime;
- sequentStatusModel.Status4 = data.Status;
- }
- }
///
/// 编辑或者新增
@@ -1073,7 +1652,7 @@ namespace InSituLaboratory.ViewModels.Pages
// 判断子窗口的返回状态,如果OK,刷新当前页面,否则不管
if (result.Result == ButtonResult.OK)
{
- this.RefreshS4();
+ this.DoRefreshSe("sequent4Refresh");
}
});
}
@@ -1113,7 +1692,7 @@ namespace InSituLaboratory.ViewModels.Pages
// 判断子窗口的返回状态,如果OK,刷新当前页面,否则不管
if (result.Result == ButtonResult.OK)
{
- this.RefreshS4();
+ this.DoRefreshSe("sequent4Refresh");
}
});
}
@@ -1166,7 +1745,7 @@ namespace InSituLaboratory.ViewModels.Pages
_sysSequentialService.Update(data1);
System.Windows.Forms.MessageBox.Show("删除完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- this.RefreshS4();
+ this.DoRefreshSe("sequent4Refresh");
}
}
else
@@ -1181,119 +1760,9 @@ namespace InSituLaboratory.ViewModels.Pages
}
- ///
- /// 时序清空
- ///
- public override void ClearS4()
- {
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
- System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否清空并等待当前工作设备工作完最短周期? \n若选择否,则清空且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
-
- //清空并等待当前工作设备工作完最短周期
- if (s1 == System.Windows.Forms.DialogResult.Yes)
- {
- dosend(0x04, 0x03);
- System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- //清空且关闭该时序所有设备
- else if (s1 == System.Windows.Forms.DialogResult.No)
- {
- dosend(0x04, 0x04);
- System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- this.RefreshS4();
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
-
- }
-
- ///
- /// 时序启动
- ///
- public override void BeginS4()
- {
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
- dosend(0x04, 0x05);
- System.Windows.Forms.MessageBox.Show("时序启动命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- this.RefreshS4();
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- }
-
- ///
- /// 时序暂停
- ///
- public override void SuspendS4()
- {
-
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
-
- System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否暂停并等待当前工作设备工作完最短周期? \n若选择否,则暂停且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
-
- //暂停并等待当前工作设备工作完最短周期
- if (s1 == System.Windows.Forms.DialogResult.Yes)
- {
- dosend(0x04, 0x07);
- System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- //暂停且关闭该时序所有设备
- else if (s1 == System.Windows.Forms.DialogResult.No)
- {
- dosend(0x04, 0x08);
- System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- this.RefreshS4();
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- }
#endregion
#region 时序 5
- public override void RefreshS5()
- {
- int num = 1;
- SearchKey = "时序5";
- sysSequentialDetailsListS5.Clear();
- var list = _sysSequentialService.GetSequentials(SearchKey).ToList();
- if (list.Count != 0)
- {
- var data = _sysSequentialService.GetSequentials(SearchKey).First();
-
- var dataDetails = _sysSequentialService.GetSequentialDetails(data.Number).ToList();
- foreach (var item in dataDetails)
- {
- SysSequentialDetails sysSequentialDetail = new SysSequentialDetails();
- sysSequentialDetail.Number = item.Number;
- sysSequentialDetail.DurationTime = item.DurationTime;
- sysSequentialDetail.SensorID = item.SensorID;
- sysSequentialDetail.WorkTime = item.WorkTime;
- sysSequentialDetail.SequenceGroup = item.SequenceGroup;
- sysSequentialDetail.CreateTime = item.CreateTime;
- sysSequentialDetail.Sequential = item.Sequential;
- sysSequentialDetail.SysSquentialID = item.SysSquentialID;
- sysSequentialDetail.IsDelete = item.IsDelete;
- sysSequentialDetail.num = num;
-
- sysSequentialDetailsListS5.Add(sysSequentialDetail);
- num++;
- }
- sequentStatusModel.SequentialStartTime5 = data.StartTime;
- sequentStatusModel.SequentialEndTime5 = data.EndTime;
- sequentStatusModel.Status5 = data.Status;
- }
- }
///
/// 编辑或者新增
@@ -1347,7 +1816,7 @@ namespace InSituLaboratory.ViewModels.Pages
// 判断子窗口的返回状态,如果OK,刷新当前页面,否则不管
if (result.Result == ButtonResult.OK)
{
- this.RefreshS5();
+ this.DoRefreshSe("sequent5Refresh");
}
});
}
@@ -1387,7 +1856,7 @@ namespace InSituLaboratory.ViewModels.Pages
// 判断子窗口的返回状态,如果OK,刷新当前页面,否则不管
if (result.Result == ButtonResult.OK)
{
- this.RefreshS5();
+ this.DoRefreshSe("sequent5Refresh");
}
});
}
@@ -1440,7 +1909,7 @@ namespace InSituLaboratory.ViewModels.Pages
_sysSequentialService.Update(data1);
System.Windows.Forms.MessageBox.Show("删除完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- this.RefreshS5();
+ this.DoRefreshSe("sequent5Refresh");
}
}
else
@@ -1455,120 +1924,8 @@ namespace InSituLaboratory.ViewModels.Pages
}
- ///
- /// 时序清空
- ///
- public override void ClearS5()
- {
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
- System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否清空并等待当前工作设备工作完最短周期? \n若选择否,则清空且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
-
- //清空并等待当前工作设备工作完最短周期
- if (s1 == System.Windows.Forms.DialogResult.Yes)
- {
- dosend(0x05, 0x03);
- System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- //清空且关闭该时序所有设备
- else if (s1 == System.Windows.Forms.DialogResult.No)
- {
- dosend(0x05, 0x04);
- System.Windows.Forms.MessageBox.Show("时序清空命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- this.RefreshS5();
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
-
- }
-
- ///
- /// 时序启动
- ///
- public override void BeginS5()
- {
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
- dosend(0x05, 0x05);
- System.Windows.Forms.MessageBox.Show("时序启动命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- this.RefreshS5();
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- }
-
- ///
- /// 时序暂停
- ///
- public override void SuspendS5()
- {
-
- if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
- {
-
- System.Windows.Forms.DialogResult s1 = System.Windows.Forms.MessageBox.Show("是否暂停并等待当前工作设备工作完最短周期? \n若选择否,则暂停且关闭该时序所有设备!!!", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
-
- //暂停并等待当前工作设备工作完最短周期
- if (s1 == System.Windows.Forms.DialogResult.Yes)
- {
- dosend(0x05, 0x07);
- System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- //暂停且关闭该时序所有设备
- else if (s1 == System.Windows.Forms.DialogResult.No)
- {
- dosend(0x05, 0x08);
- System.Windows.Forms.MessageBox.Show("时序暂停命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- this.RefreshS5();
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- }
#endregion
- ///
- /// 请求当前时序
- ///
- ///
- public override void DoSync(object o)
- {
- string[] msg = o.ToString().Split(',');
- switch (msg[0])
- {
- //时序1
- case "sequent1":
- DoSyncSend(0x01);
- break;
- //时序2
- case "sequent2":
- DoSyncSend(0x02);
- break;
- //时序3
- case "sequent3":
- DoSyncSend(0x03);
- break;
- //时序4
- case "sequent4":
- DoSyncSend(0x04);
- break;
- //时序5
- case "sequent5":
- DoSyncSend(0x05);
- break;
- default:
- break;
- }
- System.Windows.Forms.MessageBox.Show("已请求当前时序同步!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
-
///
/// 转义封装
///
@@ -1672,9 +2029,10 @@ namespace InSituLaboratory.ViewModels.Pages
/// 时序开始时间
/// 时序结束时间
/// 时序组号
+ /// 操作类型
/// 时序类型
///
- public List encode(DateTime StartTime, DateTime EndTime, byte GroupNumber, string kind)
+ public List encode(DateTime StartTime, DateTime EndTime, byte GroupNumber, byte OpeKind, string kind)
{
#region 定义参数
DateTime startTime = StartTime;
@@ -1748,7 +2106,7 @@ namespace InSituLaboratory.ViewModels.Pages
byteaq.Add(GroupNumber);
//操作类型
- byteaq.Add(0x01);
+ byteaq.Add(OpeKind);
//开始时间
byteaq.Add((byte)((senddate >> 56) & 0xff));
diff --git a/InSituLaboratory/ViewModels/Pages/ViewModelBase.cs b/InSituLaboratory/ViewModels/Pages/ViewModelBase.cs
index b4052b4..3143f68 100644
--- a/InSituLaboratory/ViewModels/Pages/ViewModelBase.cs
+++ b/InSituLaboratory/ViewModels/Pages/ViewModelBase.cs
@@ -17,8 +17,8 @@ namespace InSituLaboratory.ViewModels.Pages
public string PageTitle { get; set; } = "页面标题";
public bool IsCanClose { get; set; } = true;
- public string SearchKey { get; set; }
- public string PrimaryKey { get; set; }
+ public string SearchKey { get; set; }
+ public string PrimaryKey { get; set; }
#region 数据下载实体类
@@ -67,49 +67,30 @@ namespace InSituLaboratory.ViewModels.Pages
public DelegateCommand