diff --git a/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 b/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 index 8c588b9..337b8f7 100644 Binary files a/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 and b/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 differ diff --git a/PVDEMCS/.vs/PVDEMCS/v17/.suo b/PVDEMCS/.vs/PVDEMCS/v17/.suo index 11305ff..1f312e2 100644 Binary files a/PVDEMCS/.vs/PVDEMCS/v17/.suo and b/PVDEMCS/.vs/PVDEMCS/v17/.suo differ diff --git a/PVDEMCS/PVDEMCS/Common/Constant/Constant.cs b/PVDEMCS/PVDEMCS/Common/Constant/Constant.cs index 8dd4aee..5a23d58 100644 --- a/PVDEMCS/PVDEMCS/Common/Constant/Constant.cs +++ b/PVDEMCS/PVDEMCS/Common/Constant/Constant.cs @@ -36,7 +36,7 @@ /// /// Cemecon /// - public const String Cemecon = "Cemecon"; + public const String CemeCon = "CemeCon"; } /// diff --git a/PVDEMCS/PVDEMCS/Controllers/EquipmentRecordController.cs b/PVDEMCS/PVDEMCS/Controllers/EquipmentRecordController.cs index 7e70782..15cc11b 100644 --- a/PVDEMCS/PVDEMCS/Controllers/EquipmentRecordController.cs +++ b/PVDEMCS/PVDEMCS/Controllers/EquipmentRecordController.cs @@ -1,4 +1,5 @@ -using Masuit.Tools.Models; +using Masuit.Tools; +using Masuit.Tools.Models; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using PVDEMCS.Common; @@ -17,13 +18,12 @@ namespace PVDEMCS.Controllers public class EquipmentRecordController : Controller { private IEquipmentRecordService _equipmentRecordService; + private IEquipmentService _equipmentService; - private IDeviceService _deviceService; - - public EquipmentRecordController(IEquipmentRecordService equipmentRecordService, IDeviceService deviceService) + public EquipmentRecordController(IEquipmentRecordService equipmentRecordService, IEquipmentService equipmentService) { this._equipmentRecordService = equipmentRecordService; - this._deviceService = deviceService; + this._equipmentService = equipmentService; } #region 设备状态记录 @@ -105,7 +105,7 @@ namespace PVDEMCS.Controllers /// 当前页 /// 页大小 [HttpGet] - public Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size = 20) + public Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size = 20) { var result = _equipmentRecordService.GetEquipmentRecordDayTotalPageList(equipmentName, equipmentCode, equipmentType, begTime, endTime, page, size); return result; @@ -120,7 +120,7 @@ namespace PVDEMCS.Controllers /// 开始时间 /// 结束时间 [HttpGet] - public Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime) + public Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime) { var result = _equipmentRecordService.GetEquipmentRecordDayTotalList(equipmentName, equipmentCode, equipmentType, begTime, endTime); return result; @@ -133,11 +133,81 @@ namespace PVDEMCS.Controllers [HttpGet] public Result> GetEquipmentStateView() { - var points = _deviceService.GetDevicePointList(activated: true); + var equipments = _equipmentService.GetEquipmentList(); + var ret = new List(); + //获取所有设备状态汇总 + var allTotal = equipments.Content.GroupBy(f => f.State).Select(f => new + { + State = f.Key, + count = f.Count() + }).ToList(); + var equipmentStateView = new EquipmentStateView(); + equipmentStateView.EquipmentType = "All"; + var alarm = allTotal.Where(f => f.State == EquipmentState.Alarm).FirstOrDefault(); + if (!alarm.IsNullOrEmpty()) + { + equipmentStateView.Alarm = alarm.count; + } + var run = allTotal.Where(f => f.State == EquipmentState.Run).FirstOrDefault(); + if (!run.IsNullOrEmpty()) + { + equipmentStateView.Run = run.count; + } + var stop = allTotal.Where(f => f.State == EquipmentState.Stop).FirstOrDefault(); + if (!stop.IsNullOrEmpty()) + { + equipmentStateView.Stop = stop.count; + } + ret.Add(equipmentStateView); + //根据设备类型获取状态汇总 + var equimentTypeTotal = equipments.Content.GroupBy(f => new { f.EquipmentType, f.State }).Select(f => new + { + equipmentType = f.Key.EquipmentType, + State = f.Key, + count = f.Count() + }).ToList(); + var equimentTypes = new string[] { EquipmentType.Balzers, EquipmentType.CemeCon, EquipmentType.Ionbond }; + foreach (var type in equimentTypes) + { + equipmentStateView = new EquipmentStateView(); + equipmentStateView.EquipmentType = type; + if (equimentTypeTotal.Count > 0) + { + alarm = allTotal.Where(f => f.State == EquipmentState.Alarm).FirstOrDefault(); + if (!alarm.IsNullOrEmpty()) + { + equipmentStateView.Alarm = alarm.count; + } + run = allTotal.Where(f => f.State == EquipmentState.Run).FirstOrDefault(); + if (!run.IsNullOrEmpty()) + { + equipmentStateView.Run = run.count; + } + stop = allTotal.Where(f => f.State == EquipmentState.Stop).FirstOrDefault(); + if (!stop.IsNullOrEmpty()) + { + equipmentStateView.Stop = stop.count; + } + } + ret.Add(equipmentStateView); + } - return null; + return new Result>(ret); } + /// + /// 获取报警设备列表 + /// + /// + [HttpGet] + public Result> GetEquipmentAlarmList() + { + var equipments = _equipmentService.GetEquipmentList(); + var alarmList = equipments.Content.Where(f => f.State == EquipmentState.Alarm).ToList(); + return new Result>(alarmList); + } + + #endregion } } diff --git a/PVDEMCS/PVDEMCS/Services/IEquipmentRecordService.cs b/PVDEMCS/PVDEMCS/Services/IEquipmentRecordService.cs index e4acf61..dba9901 100644 --- a/PVDEMCS/PVDEMCS/Services/IEquipmentRecordService.cs +++ b/PVDEMCS/PVDEMCS/Services/IEquipmentRecordService.cs @@ -68,7 +68,7 @@ namespace PVDEMCS.Services /// 结束时间 /// 当前页 /// 页大小 - Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size); + Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size); /// /// 获取设备状态记录统计列表 @@ -78,7 +78,7 @@ namespace PVDEMCS.Services /// 设备类型 /// 开始时间 /// 结束时间 - Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime); + Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime); #endregion } diff --git a/PVDEMCS/PVDEMCS/Services/IEquipmentService.cs b/PVDEMCS/PVDEMCS/Services/IEquipmentService.cs index 0669a8e..7d2fa9c 100644 --- a/PVDEMCS/PVDEMCS/Services/IEquipmentService.cs +++ b/PVDEMCS/PVDEMCS/Services/IEquipmentService.cs @@ -21,7 +21,7 @@ namespace PVDEMCS.Services /// 当前页 /// 页大小 /// - Result> GetEquipmentPageList(string equipmentName, string equipmentCode, string equipmentType, bool? activated, int page, int size); + Result> GetEquipmentPageList(string equipmentName = "", string equipmentCode = "", string equipmentType = "", bool? activated = true, int page = 1, int size = 20); /// /// 获取设备列表 @@ -29,7 +29,7 @@ namespace PVDEMCS.Services /// 设备名称 /// 设备编号 /// 是否启用 - Result> GetEquipmentList(string equipmentName, string equipmentCode, string equipmentType, bool? activated); + Result> GetEquipmentList(string equipmentName = "", string equipmentCode = "", string equipmentType = "", bool? activated = true); /// /// 获取设备明显 diff --git a/PVDEMCS/PVDEMCS/Services/Impl/EquipmentRecordService.cs b/PVDEMCS/PVDEMCS/Services/Impl/EquipmentRecordService.cs index b311344..4b4830d 100644 --- a/PVDEMCS/PVDEMCS/Services/Impl/EquipmentRecordService.cs +++ b/PVDEMCS/PVDEMCS/Services/Impl/EquipmentRecordService.cs @@ -94,7 +94,7 @@ namespace PVDEMCS.Services.Impl /// 结束时间 /// 当前页 /// 页大小 - public Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size) + public Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size) { var result = this._equipmentRecordRepository.GetEquipmentRecordDayTotalPageList(equipmentName, equipmentCode, equipmentType, begTime, endTime, page, size); return result; @@ -108,7 +108,7 @@ namespace PVDEMCS.Services.Impl /// 设备类型 /// 开始时间 /// 结束时间 - public Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime) + public Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime) { var result = this._equipmentRecordRepository.GetEquipmentRecordDayTotalList(equipmentName, equipmentCode, equipmentType, begTime, endTime); return result; diff --git a/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordTotal.cs b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordDayTotal.cs similarity index 87% rename from PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordTotal.cs rename to PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordDayTotal.cs index 96bf632..5fd740f 100644 --- a/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordTotal.cs +++ b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordDayTotal.cs @@ -1,5 +1,4 @@ -// This file has been auto generated by EF Core Power Tools. -#nullable disable + using System; using System.Collections.Generic; @@ -9,7 +8,7 @@ namespace PVDEMCS.Services.Models; /// 设备状态记录日统计 /// /// -public partial class EquipmentRecordTotal +public partial class EquipmentRecordDayTotal { public string Id { get; set; } diff --git a/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordFurnaceMonthTotal.cs b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordFurnaceMonthTotal.cs new file mode 100644 index 0000000..5c064c1 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordFurnaceMonthTotal.cs @@ -0,0 +1,23 @@ +namespace PVDEMCS.Services.Models +{ + /// + /// 设备记录开炉次数月统计 + /// + public class EquipmentRecordFurnaceMonthTotal + { + /// + /// 设备类型:Ionbond,Balzers,Cemecon + /// + public string EquipmentType { get; set; } + + /// + /// 开炉次数 + /// + public int FurnaceNum { get; set; } + + /// + /// 日期 + /// + public DateTime? TotalMonth { get; set; } + } +} diff --git a/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordStateMonthTotal.cs b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordStateMonthTotal.cs new file mode 100644 index 0000000..9eaea42 --- /dev/null +++ b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecordStateMonthTotal.cs @@ -0,0 +1,28 @@ +namespace PVDEMCS.Services.Models +{ + /// + /// 设备状态记录月统计 + /// + public class EquipmentRecordStateMonthTotal + { + /// + /// 总运行时长 + /// + public decimal TotalRunningTime { get; set; } + + /// + /// 总报警时长 + /// + public decimal TotalAlarmTime { get; set; } + + /// + /// 总待机时长 + /// + public decimal TotalStopTime { get; set; } + + /// + /// 日期 + /// + public DateTime? TotalMonth { get; set; } + } +} diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRecordRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRecordRepository.cs index 95b873e..8fdc435 100644 --- a/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRecordRepository.cs +++ b/PVDEMCS/PVDEMCS/Services/Repositories/IEquipmentRecordRepository.cs @@ -71,7 +71,7 @@ namespace PVDEMCS.Services.Repositories /// 结束时间 /// 当前页 /// 页大小 - Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size); + Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size); /// /// 获取设备状态记录统计列表 @@ -81,7 +81,9 @@ namespace PVDEMCS.Services.Repositories /// 设备类型 /// 开始时间 /// 结束时间 - Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime); + Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime); + + #endregion } diff --git a/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRecordRepository.cs b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRecordRepository.cs index 138d3d0..40b781a 100644 --- a/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRecordRepository.cs +++ b/PVDEMCS/PVDEMCS/Services/Repositories/Impl/EquipmentRecordRepository.cs @@ -176,7 +176,7 @@ namespace PVDEMCS.Services.Repositories.Impl var furnaceNum = "FurnaceNum"; //获取配置的设备的阈值 var balzersConfig = _configRepository.GetSysConfigDetailNameOrKey("", EquipmentType.Balzers).Content; - var cemeconConfig = _configRepository.GetSysConfigDetailNameOrKey("", EquipmentType.Cemecon).Content; + var cemeconConfig = _configRepository.GetSysConfigDetailNameOrKey("", EquipmentType.CemeCon).Content; var ionbondConfig = _configRepository.GetSysConfigDetailNameOrKey("", EquipmentType.Ionbond).Content; var balzers = 200; var cemecon = 300; @@ -235,7 +235,7 @@ namespace PVDEMCS.Services.Repositories.Impl furnaceVal.Value++; } break; - case EquipmentType.Cemecon: + case EquipmentType.CemeCon: if (minutes >= cemecon) { furnaceVal.Value++; @@ -327,7 +327,7 @@ namespace PVDEMCS.Services.Repositories.Impl /// 结束时间 /// 当前页 /// 页大小 - public Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size) + public Result> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size) { using (var context = new EFContext()) { @@ -335,7 +335,7 @@ namespace PVDEMCS.Services.Repositories.Impl var pageList = query.OrderByDescending(f => f.EquipmentCode).ToPagedList(page, size); - return new Result>(pageList); + return new Result>(pageList); } } @@ -347,7 +347,7 @@ namespace PVDEMCS.Services.Repositories.Impl /// 设备类型 /// 开始时间 /// 结束时间 - public Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime) + public Result> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime) { using (var context = new EFContext()) { @@ -355,15 +355,36 @@ namespace PVDEMCS.Services.Repositories.Impl var pageList = query.OrderByDescending(f => f.EquipmentCode).ToList(); - return new Result>(pageList); + return new Result>(pageList); } } - private IQueryable QueryEquipmentRecordTotal(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, EFContext context) + /// + /// 获取设备状态记录月统计 + /// + /// + public Result> GetEquipmentRecordStateMonthTotal() + { + using (var context = new EFContext()) + { } + + return null; + } + + /// + /// 获取设备记录开炉次数月统计 + /// + /// + public Result> GetEquipmentRecordFurnaceMonthTotal() + { + return null; + } + + private IQueryable QueryEquipmentRecordTotal(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, EFContext context) { var query = from recordTotal in context.EquipmentRecordTotals join equipment in context.EquipmentInfos.Where(f => !f.IsDelete) on recordTotal.EquipmentId equals equipment.Id - select new EquipmentRecordTotal + select new EquipmentRecordDayTotal { Id = recordTotal.Id, EquipmentName = equipment.EquipmentName, @@ -393,8 +414,6 @@ namespace PVDEMCS.Services.Repositories.Impl return query; } - - #endregion } }