diff --git a/InSituLaboratory.Entities/SysSequentialTotal.cs b/InSituLaboratory.Entities/SysSequentialTotal.cs
new file mode 100644
index 0000000..13d4dd0
--- /dev/null
+++ b/InSituLaboratory.Entities/SysSequentialTotal.cs
@@ -0,0 +1,75 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace InSituLaboratory.Entities
+{
+ ///
+ /// 时序记录表-总表 供于清单列表查询
+ ///
+ public class SysSequentialTotal
+ {
+ ///
+ /// 时序主键ID
+ ///
+ [Key]
+ public int ID { get; set; }
+
+ ///
+ /// 开始时间
+ ///
+
+ public DateTime? StartTime { get; set; }
+
+ ///
+ /// 结束时间
+ ///
+
+ public DateTime? EndTime { get; set; }
+
+ ///
+ /// 配置号
+ ///
+
+ public string? SequenceGroup { get; set; }
+
+ ///
+ /// 传感器ID
+ ///
+ public string? SensorID { get; set; }
+
+ ///
+ /// 工作时长
+ ///
+
+ public string? WorkTime { get; set; }
+
+ ///
+ /// 循环时长
+ ///
+
+ public string? DurationTime { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime? CreateTime { get; set; }
+
+ ///
+ /// 当前时序
+ ///
+
+ public string? Sequential { get; set; }
+
+
+ ///
+ /// 是否删除 0-未删除 1-已删除
+ ///
+
+ public int? IsDelete { get; set; }
+ }
+
+}
diff --git a/InSituLaboratory.IService/ISysSequentialService.cs b/InSituLaboratory.IService/ISysSequentialService.cs
index 477921e..80f68e3 100644
--- a/InSituLaboratory.IService/ISysSequentialService.cs
+++ b/InSituLaboratory.IService/ISysSequentialService.cs
@@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace InSituLaboratory.IService
{
- public interface ISysSequentialService : IBaseService
+ public interface ISysSequentialService : IBaseService
{
///
@@ -35,14 +35,15 @@ namespace InSituLaboratory.IService
IEnumerable GetSequentialDetailList(int key);
+
///
- /// 根据序组、时序号查询循环时间
+ /// 根据序组、时序号、母表ID查询循环时间
///
///
///
- ///
+ ///
///
- SysSequentialDetails GetSequentialSequenceGroup(string SequenceGroup,string Sequential);
+ SysSequentialDetails GetSequentialSequenceGroup(string SequenceGroup, string Sequential, int key);
}
diff --git a/InSituLaboratory.ORM/NoimptyDbContext.cs b/InSituLaboratory.ORM/NoimptyDbContext.cs
index a2ab0ef..f204856 100644
--- a/InSituLaboratory.ORM/NoimptyDbContext.cs
+++ b/InSituLaboratory.ORM/NoimptyDbContext.cs
@@ -68,5 +68,6 @@ namespace InSituLaboratory.ORM
public virtual DbSet SysSequential { get; set; }
public virtual DbSet SysSequentialDetails { get; set; }
public virtual DbSet SysDevice { get; set; }
+ public virtual DbSet SysSequentialTotal { get; set; }
}
}
diff --git a/InSituLaboratory.Service/SysSequentialService.cs b/InSituLaboratory.Service/SysSequentialService.cs
index 6048b22..dd305f6 100644
--- a/InSituLaboratory.Service/SysSequentialService.cs
+++ b/InSituLaboratory.Service/SysSequentialService.cs
@@ -46,15 +46,15 @@ namespace InSituLaboratory.Service
///
- /// 根据序组、时序号查询循环时间
+ /// 根据序组、时序号、母表ID查询循环时间
///
///
///
///
///
- public SysSequentialDetails GetSequentialSequenceGroup(string SequenceGroup, string Sequential)
+ public SysSequentialDetails GetSequentialSequenceGroup(string SequenceGroup, string Sequential,int key)
{
- var list = this.Query(m => m.SequenceGroup == SequenceGroup && m.Sequential == Sequential && m.IsDelete == 0).ToList();
+ var list = this.Query(m => m.SequenceGroup == SequenceGroup && m.Sequential == Sequential && m.IsDelete == 0 && m.SysSquentialID == key).ToList();
if (list.Count == 0)
{
return null;
diff --git a/InSituLaboratory/ViewModels/Pages/Dialogs/ModifySequentialViewModel.cs b/InSituLaboratory/ViewModels/Pages/Dialogs/ModifySequentialViewModel.cs
index 95372a8..acde906 100644
--- a/InSituLaboratory/ViewModels/Pages/Dialogs/ModifySequentialViewModel.cs
+++ b/InSituLaboratory/ViewModels/Pages/Dialogs/ModifySequentialViewModel.cs
@@ -32,7 +32,7 @@ namespace InSituLaboratory.ViewModels.Pages.Dialogs
public string? workTime { get; set; }
public long? workInt { get; set; }
-
+
///
/// 记录编辑时第一次带入的设备名称
///
@@ -59,7 +59,7 @@ namespace InSituLaboratory.ViewModels.Pages.Dialogs
///
public string kind { get; set; }
-
+
private string _sequenceGroup;
///
@@ -272,7 +272,7 @@ namespace InSituLaboratory.ViewModels.Pages.Dialogs
}
}
-
+
private string _durationTime;
///
@@ -369,29 +369,50 @@ namespace InSituLaboratory.ViewModels.Pages.Dialogs
System.Windows.MessageBox.Show("循环时长不能为空", "提示");
return;
}
-
- //编辑情况下
- if (Number != 0)
+ var data = _sequentialService.GetSequentials(kind).ToList();
+ if (data.Count != 0)
{
- if (Device != SensorID)
+ var data1 = _sequentialService.GetSequentials(kind).First();
+ if (data1.StartTime == startTime && data1.EndTime == endTime)
{
- //传感器是否已存在校验
- var selectFirst = _sequentialService.Query(m => m.SensorID == SensorID && m.SequenceGroup == SequenceGroup && m.Sequential == kind && m.IsDelete == 0).ToList();
- if (selectFirst.Count != 0)
+ //编辑情况下
+ if (Number != 0)
{
- System.Windows.MessageBox.Show(kind + "- 配置" + SequenceGroup + "中已存在" + SensorID, "提示");
- return;
+ if (Device != SensorID)
+ {
+ //传感器是否已存在校验
+ var selectFirst = _sequentialService.Query(m => m.SensorID == SensorID && m.SequenceGroup == SequenceGroup && m.Sequential == kind && m.IsDelete == 0).ToList();
+ if (selectFirst.Count != 0)
+ {
+ System.Windows.MessageBox.Show(kind + "- 配置" + SequenceGroup + "中已存在" + SensorID, "提示");
+ return;
+ }
+ }
+ }
+ else
+ {
+ //传感器是否已存在校验
+ var select = _sequentialService.Query(m => m.SensorID == SensorID && m.SequenceGroup == SequenceGroup && m.Sequential == kind && m.IsDelete == 0).ToList();
+ if (select.Count != 0)
+ {
+ System.Windows.MessageBox.Show(kind + "- 配置" + SequenceGroup + "中已存在" + SensorID, "提示");
+ return;
+ }
}
}
- }
- else
- {
- //传感器是否已存在校验
- var select = _sequentialService.Query(m => m.SensorID == SensorID && m.SequenceGroup == SequenceGroup && m.Sequential == kind && m.IsDelete == 0).ToList();
- if (select.Count != 0)
+
+ ///循环时长校验
+ if (data1.StartTime == startTime && data1.EndTime == endTime)
{
- System.Windows.MessageBox.Show(kind + "- 配置" + SequenceGroup + "中已存在" + SensorID, "提示");
- return;
+ var SysSequentialdata1 = _sequentialService.GetSequentialSequenceGroup(SequenceGroup, kind, data1.Number);
+ if (SysSequentialdata1 != null)
+ {
+ if (DurationTime != SysSequentialdata1.DurationTime)
+ {
+ System.Windows.MessageBox.Show(kind + "- 配置" + SequenceGroup + " 已存在循环时长:" + SysSequentialdata1.DurationTime + "s" + ",无法修改", "提示");
+ return;
+ }
+ }
}
}
@@ -407,7 +428,7 @@ namespace InSituLaboratory.ViewModels.Pages.Dialogs
case "气相色谱仪":
if (Convert.ToInt64(WorkTime) > workInt)
{
- System.Windows.MessageBox.Show(SensorID + "设置的工作时长超过传感器本身最大工作时长,为:" + workTime +"h/ " + workInt +"s", "提示");
+ System.Windows.MessageBox.Show(SensorID + "设置的工作时长超过传感器本身最大工作时长,为:" + workTime + "h/ " + workInt + "s", "提示");
return;
}
break;
@@ -442,19 +463,7 @@ namespace InSituLaboratory.ViewModels.Pages.Dialogs
default:
break;
}
-
- ///循环时长校验
- var SysSequentialdata1 = _sequentialService.GetSequentialSequenceGroup(SequenceGroup, kind);
- if (SysSequentialdata1 != null)
- {
- if (DurationTime != SysSequentialdata1.DurationTime)
- {
- System.Windows.MessageBox.Show(kind + "- 配置"+ SequenceGroup + " 已存在循环时长:" + SysSequentialdata1.DurationTime + "s" + ",无法修改", "提示");
- return;
- }
- }
-
- var data = _sequentialService.GetSequentials(kind).ToList();
+
//保存时 首次去查询 data == null 说明数据库中无数据 为第一次插入
if (data.Count() == 0)
{
@@ -478,6 +487,21 @@ namespace InSituLaboratory.ViewModels.Pages.Dialogs
Sequential = kind,
IsDelete = 0
});
+
+ //向时序总表中插入相应的数据
+ _sequentialService.Insert(new SysSequentialTotal
+ {
+ Sequential = kind,
+ StartTime = startTime,
+ EndTime = endTime,
+ SensorID = SensorID,
+ DurationTime = DurationTime,
+ WorkTime = WorkTime,
+ SequenceGroup = SequenceGroup,
+ CreateTime = DateTime.Now,
+ IsDelete = 0
+ });
+
}
else
{
@@ -501,6 +525,20 @@ namespace InSituLaboratory.ViewModels.Pages.Dialogs
Sequential = kind,
IsDelete = 0
});
+
+ //向时序总表中插入相应的数据
+ _sequentialService.Insert(new SysSequentialTotal
+ {
+ Sequential = kind,
+ StartTime = startTime,
+ EndTime = endTime,
+ SensorID = SensorID,
+ DurationTime = DurationTime,
+ WorkTime = WorkTime,
+ SequenceGroup = SequenceGroup,
+ CreateTime = DateTime.Now,
+ IsDelete = 0
+ });
}
else
{
@@ -511,6 +549,15 @@ namespace InSituLaboratory.ViewModels.Pages.Dialogs
ssd.WorkTime = WorkTime;
ssd.SequenceGroup = SequenceGroup;
_sequentialService.Update(ssd);
+
+ //修改时序总表中的相应的数据
+ var ssm = _sequentialService.Find(Number);
+ ssm.SensorID = SensorID;
+ ssm.DurationTime = DurationTime;
+ ssm.WorkTime = WorkTime;
+ ssm.SequenceGroup = SequenceGroup;
+ _sequentialService.Update(ssd);
+
}
}
else
@@ -537,6 +584,21 @@ namespace InSituLaboratory.ViewModels.Pages.Dialogs
IsDelete = 0
});
+
+ //向时序总表中插入相应的数据
+ _sequentialService.Insert(new SysSequentialTotal
+ {
+ Sequential = kind,
+ StartTime = startTime,
+ EndTime = endTime,
+ SensorID = SensorID,
+ DurationTime = DurationTime,
+ WorkTime = WorkTime,
+ SequenceGroup = SequenceGroup,
+ CreateTime = DateTime.Now,
+ IsDelete = 0
+ });
+
}
}
diff --git a/InSituLaboratory/ViewModels/Pages/SequentialDistributionViewModel.cs b/InSituLaboratory/ViewModels/Pages/SequentialDistributionViewModel.cs
index 8fa0a32..4e10a90 100644
--- a/InSituLaboratory/ViewModels/Pages/SequentialDistributionViewModel.cs
+++ b/InSituLaboratory/ViewModels/Pages/SequentialDistributionViewModel.cs
@@ -251,6 +251,11 @@ namespace InSituLaboratory.ViewModels.Pages
_sysSequentialService.Update(SysSequential);
}
+ ///更新时序总表
+ var data1 = _sysSequentialService.Find((model as SysSequentialDetails).Number);
+ data1.IsDelete = 1;
+ _sysSequentialService.Update(data1);
+
MessageBox.Show("删除完成!", "提示");
this.RefreshS1();
}