From b4a89effd93513b63b237f269ce3b81e0e56c2f0 Mon Sep 17 00:00:00 2001 From: MoYue <18168119590@163.com> Date: Mon, 15 Apr 2024 18:06:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=B6=E5=BA=8F=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E5=8F=98=E5=8A=A8=E6=97=A0=E6=B3=95=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SysSequentialTotal.cs | 75 ++++++++++ .../ISysSequentialService.cs | 9 +- InSituLaboratory.ORM/NoimptyDbContext.cs | 1 + .../SysSequentialService.cs | 6 +- .../Dialogs/ModifySequentialViewModel.cs | 130 +++++++++++++----- .../Pages/SequentialDistributionViewModel.cs | 5 + 6 files changed, 185 insertions(+), 41 deletions(-) create mode 100644 InSituLaboratory.Entities/SysSequentialTotal.cs 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(); }