682 lines
31 KiB
C#
682 lines
31 KiB
C#
using InSituLaboratory.Entities;
|
||
using InSituLaboratory.Entities.SqlSugar;
|
||
using InSituLaboratory.IService;
|
||
using InSituLaboratory.IService.Sensor;
|
||
using InSituLaboratory.Models;
|
||
using InSituLaboratory.Service;
|
||
using Microsoft.EntityFrameworkCore.Query.Internal;
|
||
using Prism.Regions;
|
||
using Prism.Services.Dialogs;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Collections.ObjectModel;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using System.Windows;
|
||
using System.Windows.Forms;
|
||
|
||
namespace InSituLaboratory.ViewModels.Pages
|
||
{
|
||
public class SequentialDistributionViewModel : ViewModelBase
|
||
{
|
||
|
||
#region 实体类
|
||
public ObservableCollection<SysSequentialDetails> sysSequentialDetailsListS1 { get; set; } = new ObservableCollection<SysSequentialDetails>();
|
||
public ObservableCollection<SysSequentialDetails> sysSequentialDetailsListS2 { get; set; } = new ObservableCollection<SysSequentialDetails>();
|
||
public ObservableCollection<SysSequentialDetails> sysSequentialDetailsListS3 { get; set; } = new ObservableCollection<SysSequentialDetails>();
|
||
public ObservableCollection<SysSequentialDetails> sysSequentialDetailsListS4 { get; set; } = new ObservableCollection<SysSequentialDetails>();
|
||
public ObservableCollection<SysSequentialDetails> sysSequentialDetailsListS5 { get; set; } = new ObservableCollection<SysSequentialDetails>();
|
||
public CurrentSequentiualModel CurrentSequentiual { get; set; } = new CurrentSequentiualModel(); //当前运行时序状态表
|
||
public SequentStatusModel sequentStatusModel { get; set; } = new SequentStatusModel();
|
||
#endregion
|
||
|
||
IDialogService _dialogService;
|
||
ISysSequentialService _sysSequentialService;
|
||
ISensorService _sensorService;
|
||
public SequentialDistributionViewModel(IRegionManager regionManager, IDialogService dialogService, ISysSequentialService sysSequentialService, ISensorService sensorService) : base(regionManager)
|
||
{
|
||
this.PageTitle = "时序下发";
|
||
_dialogService = dialogService;
|
||
_sysSequentialService = sysSequentialService;
|
||
_sensorService = sensorService;
|
||
|
||
Refresh();
|
||
RefreshS1();
|
||
RefreshS2();
|
||
RefreshS3();
|
||
RefreshS4();
|
||
RefreshS5();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 页面刷新
|
||
/// </summary>
|
||
public override void Refresh()
|
||
{
|
||
//获取当前运行时序状态表
|
||
var CurrentSequentiualList = _sensorService.GetCurrentSequentiual();
|
||
|
||
//当前运行时序状态数据
|
||
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;
|
||
}
|
||
}
|
||
|
||
#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;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 编辑或者新增
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
public override void DoModifyS1(object model)
|
||
{
|
||
if (sequentStatusModel.SequentialStartTime1 == null || sequentStatusModel.SequentialEndTime1 == null)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序1: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else
|
||
{
|
||
DateTime expirationDate = (DateTime)sequentStatusModel.SequentialStartTime1;
|
||
DateTime expirationDate1 = (DateTime)sequentStatusModel.SequentialEndTime1;
|
||
DateTime dateTime = DateTime.Now;
|
||
|
||
if (expirationDate < dateTime)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序1: 开始时间不得早于当前时间!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else if (expirationDate1 < dateTime)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序1: 结束时间不得早于当前时间!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else if (expirationDate >= expirationDate1)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序1: 结束时间不得早于开始时间!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else
|
||
{
|
||
DialogParameters ps = new DialogParameters();
|
||
ps.Add("model", model);
|
||
ps.Add("sequentialStartTime", sequentStatusModel.SequentialStartTime1);
|
||
ps.Add("sequentialEndTime", sequentStatusModel.SequentialEndTime1);
|
||
ps.Add("kind", "时序1");
|
||
_dialogService.ShowDialog("ModifySequentialView", ps, result =>
|
||
{
|
||
// 判断子窗口的返回状态,如果OK,刷新当前页面,否则不管
|
||
if (result.Result == ButtonResult.OK)
|
||
{
|
||
this.RefreshS1();
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 删除
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
public override void DoDeleteS1(object model)
|
||
{
|
||
try
|
||
{
|
||
if (System.Windows.Forms.MessageBox.Show("是否确定删除此项?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
|
||
{
|
||
// 软删除
|
||
var data = _sysSequentialService.Find<SysSequentialDetails>((model as SysSequentialDetails).Number);
|
||
data.IsDelete = 1;
|
||
_sysSequentialService.Update(data);
|
||
|
||
//查询删除后子表是否还存在时序配置
|
||
var list = _sysSequentialService.GetSequentialDetails(data.SysSquentialID).ToList();
|
||
//若子表不存在当前时序下配置信息,则删除对应的母表时序
|
||
if (list.Count() == 0)
|
||
{
|
||
var SysSequential = _sysSequentialService.Find<SysSequential>(data.SysSquentialID);
|
||
SysSequential.IsDelete = 1;
|
||
_sysSequentialService.Update(SysSequential);
|
||
}
|
||
|
||
///更新时序总表
|
||
var data1 = _sysSequentialService.Find<SysSequentialTotal>((model as SysSequentialDetails).Number);
|
||
data1.IsDelete = 1;
|
||
_sysSequentialService.Update(data1);
|
||
|
||
System.Windows.Forms.MessageBox.Show("删除完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||
this.RefreshS1();
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||
}
|
||
|
||
}
|
||
#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;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 编辑或者新增
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
public override void DoModifyS2(object model)
|
||
{
|
||
if (sequentStatusModel.SequentialStartTime2 == null || sequentStatusModel.SequentialEndTime2 == null)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序2:开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else
|
||
{
|
||
DateTime expirationDate = (DateTime)sequentStatusModel.SequentialStartTime2;
|
||
DateTime expirationDate1 = (DateTime)sequentStatusModel.SequentialEndTime2;
|
||
DateTime dateTime = DateTime.Now;
|
||
|
||
if (expirationDate < dateTime)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序2:开始时间不得早于当前时间!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else if (expirationDate1 < dateTime)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序2:结束时间不得早于当前时间!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else if (expirationDate >= expirationDate1)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序2:结束时间不得早于开始时间!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else
|
||
{
|
||
DialogParameters ps = new DialogParameters();
|
||
ps.Add("model", model);
|
||
ps.Add("sequentialStartTime", sequentStatusModel.SequentialStartTime2);
|
||
ps.Add("sequentialEndTime", sequentStatusModel.SequentialEndTime2);
|
||
ps.Add("kind", "时序2");
|
||
_dialogService.ShowDialog("ModifySequentialView", ps, result =>
|
||
{
|
||
// 判断子窗口的返回状态,如果OK,刷新当前页面,否则不管
|
||
if (result.Result == ButtonResult.OK)
|
||
{
|
||
this.RefreshS2();
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 删除
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
public override void DoDeleteS2(object model)
|
||
{
|
||
try
|
||
{
|
||
if (System.Windows.Forms.MessageBox.Show("是否确定删除此项?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
|
||
{
|
||
// 软删除
|
||
var data = _sysSequentialService.Find<SysSequentialDetails>((model as SysSequentialDetails).Number);
|
||
data.IsDelete = 1;
|
||
_sysSequentialService.Update(data);
|
||
|
||
//查询删除后子表是否还存在时序配置
|
||
var list = _sysSequentialService.GetSequentialDetails(data.SysSquentialID).ToList();
|
||
//若子表不存在当前时序下配置信息,则删除对应的母表时序
|
||
if (list.Count() == 0)
|
||
{
|
||
var SysSequential = _sysSequentialService.Find<SysSequential>(data.SysSquentialID);
|
||
SysSequential.IsDelete = 1;
|
||
_sysSequentialService.Update(SysSequential);
|
||
}
|
||
|
||
System.Windows.Forms.MessageBox.Show("删除完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||
this.RefreshS2();
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||
}
|
||
|
||
}
|
||
#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;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 编辑或者新增
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
public override void DoModifyS3(object model)
|
||
{
|
||
if (sequentStatusModel.SequentialStartTime3 == null || sequentStatusModel.SequentialEndTime3 == null)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序3:开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else
|
||
{
|
||
DateTime expirationDate = (DateTime)sequentStatusModel.SequentialStartTime3;
|
||
DateTime expirationDate1 = (DateTime)sequentStatusModel.SequentialEndTime3;
|
||
DateTime dateTime = DateTime.Now;
|
||
|
||
if (expirationDate < dateTime)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序3:开始时间不得早于当前时间!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else if (expirationDate1 < dateTime)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序3:结束时间不得早于当前时间!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else if (expirationDate >= expirationDate1)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序3:结束时间不得早于开始时间!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else
|
||
{
|
||
DialogParameters ps = new DialogParameters();
|
||
ps.Add("model", model);
|
||
ps.Add("sequentialStartTime", sequentStatusModel.SequentialStartTime3);
|
||
ps.Add("sequentialEndTime", sequentStatusModel.SequentialEndTime3);
|
||
ps.Add("kind", "时序3");
|
||
_dialogService.ShowDialog("ModifySequentialView", ps, result =>
|
||
{
|
||
// 判断子窗口的返回状态,如果OK,刷新当前页面,否则不管
|
||
if (result.Result == ButtonResult.OK)
|
||
{
|
||
this.RefreshS3();
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 删除
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
public override void DoDeleteS3(object model)
|
||
{
|
||
try
|
||
{
|
||
if (System.Windows.Forms.MessageBox.Show("是否确定删除此项?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
|
||
{
|
||
// 软删除
|
||
var data = _sysSequentialService.Find<SysSequentialDetails>((model as SysSequentialDetails).Number);
|
||
data.IsDelete = 1;
|
||
_sysSequentialService.Update(data);
|
||
|
||
//查询删除后子表是否还存在时序配置
|
||
var list = _sysSequentialService.GetSequentialDetails(data.SysSquentialID).ToList();
|
||
//若子表不存在当前时序下配置信息,则删除对应的母表时序
|
||
if (list.Count() == 0)
|
||
{
|
||
var SysSequential = _sysSequentialService.Find<SysSequential>(data.SysSquentialID);
|
||
SysSequential.IsDelete = 1;
|
||
_sysSequentialService.Update(SysSequential);
|
||
}
|
||
|
||
System.Windows.Forms.MessageBox.Show("删除完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||
this.RefreshS3();
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||
}
|
||
|
||
}
|
||
#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;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 编辑或者新增
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
public override void DoModifyS4(object model)
|
||
{
|
||
if (sequentStatusModel.SequentialStartTime4 == null || sequentStatusModel.SequentialEndTime4 == null)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序4:开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else
|
||
{
|
||
DateTime expirationDate = (DateTime)sequentStatusModel.SequentialStartTime4;
|
||
DateTime expirationDate1 = (DateTime)sequentStatusModel.SequentialEndTime4;
|
||
DateTime dateTime = DateTime.Now;
|
||
|
||
if (expirationDate < dateTime)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序4:开始时间不得早于当前时间!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else if (expirationDate1 < dateTime)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序4:结束时间不得早于当前时间!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else if (expirationDate >= expirationDate1)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序4:结束时间不得早于开始时间!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else
|
||
{
|
||
DialogParameters ps = new DialogParameters();
|
||
ps.Add("model", model);
|
||
ps.Add("sequentialStartTime", sequentStatusModel.SequentialStartTime4);
|
||
ps.Add("sequentialEndTime", sequentStatusModel.SequentialEndTime4);
|
||
ps.Add("kind", "时序4");
|
||
_dialogService.ShowDialog("ModifySequentialView", ps, result =>
|
||
{
|
||
// 判断子窗口的返回状态,如果OK,刷新当前页面,否则不管
|
||
if (result.Result == ButtonResult.OK)
|
||
{
|
||
this.RefreshS4();
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 删除
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
public override void DoDeleteS4(object model)
|
||
{
|
||
try
|
||
{
|
||
if (System.Windows.Forms.MessageBox.Show("是否确定删除此项?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
|
||
{
|
||
// 软删除
|
||
var data = _sysSequentialService.Find<SysSequentialDetails>((model as SysSequentialDetails).Number);
|
||
data.IsDelete = 1;
|
||
_sysSequentialService.Update(data);
|
||
|
||
//查询删除后子表是否还存在时序配置
|
||
var list = _sysSequentialService.GetSequentialDetails(data.SysSquentialID).ToList();
|
||
//若子表不存在当前时序下配置信息,则删除对应的母表时序
|
||
if (list.Count() == 0)
|
||
{
|
||
var SysSequential = _sysSequentialService.Find<SysSequential>(data.SysSquentialID);
|
||
SysSequential.IsDelete = 1;
|
||
_sysSequentialService.Update(SysSequential);
|
||
}
|
||
|
||
System.Windows.Forms.MessageBox.Show("删除完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||
this.RefreshS4();
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||
}
|
||
|
||
}
|
||
#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;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 编辑或者新增
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
public override void DoModifyS5(object model)
|
||
{
|
||
if (sequentStatusModel.SequentialStartTime5 == null || sequentStatusModel.SequentialEndTime5 == null)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序5:开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else
|
||
{
|
||
DateTime expirationDate = (DateTime)sequentStatusModel.SequentialStartTime5;
|
||
DateTime expirationDate1 = (DateTime)sequentStatusModel.SequentialEndTime5;
|
||
DateTime dateTime = DateTime.Now;
|
||
|
||
if (expirationDate < dateTime)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序5:开始时间不得早于当前时间!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else if (expirationDate1 < dateTime)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序5:结束时间不得早于当前时间!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else if (expirationDate >= expirationDate1)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show("时序5:结束时间不得早于开始时间!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
else
|
||
{
|
||
DialogParameters ps = new DialogParameters();
|
||
ps.Add("model", model);
|
||
ps.Add("sequentialStartTime", sequentStatusModel.SequentialStartTime5);
|
||
ps.Add("sequentialEndTime", sequentStatusModel.SequentialEndTime5);
|
||
ps.Add("kind", "时序5");
|
||
_dialogService.ShowDialog("ModifySequentialView", ps, result =>
|
||
{
|
||
// 判断子窗口的返回状态,如果OK,刷新当前页面,否则不管
|
||
if (result.Result == ButtonResult.OK)
|
||
{
|
||
this.RefreshS5();
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 删除
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
public override void DoDeleteS5(object model)
|
||
{
|
||
try
|
||
{
|
||
if (System.Windows.Forms.MessageBox.Show("是否确定删除此项?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
|
||
{
|
||
// 软删除
|
||
var data = _sysSequentialService.Find<SysSequentialDetails>((model as SysSequentialDetails).Number);
|
||
data.IsDelete = 1;
|
||
_sysSequentialService.Update(data);
|
||
|
||
//查询删除后子表是否还存在时序配置
|
||
var list = _sysSequentialService.GetSequentialDetails(data.SysSquentialID).ToList();
|
||
//若子表不存在当前时序下配置信息,则删除对应的母表时序
|
||
if (list.Count() == 0)
|
||
{
|
||
var SysSequential = _sysSequentialService.Find<SysSequential>(data.SysSquentialID);
|
||
SysSequential.IsDelete = 1;
|
||
_sysSequentialService.Update(SysSequential);
|
||
}
|
||
|
||
System.Windows.Forms.MessageBox.Show("删除完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||
this.RefreshS5();
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
System.Windows.Forms.MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
}
|
||
}
|