日常提交

main
xiaoguo 2 years ago
parent 57654071fa
commit 9235bdd262

Binary file not shown.

@ -36,7 +36,7 @@
/// <summary>
/// Cemecon
/// </summary>
public const String Cemecon = "Cemecon";
public const String CemeCon = "CemeCon";
}
/// <summary>

@ -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
/// <param name="page">当前页</param>
/// <param name="size">页大小</param>
[HttpGet]
public Result<PagedList<EquipmentRecordTotal>> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size = 20)
public Result<PagedList<EquipmentRecordDayTotal>> 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
/// <param name="begTime">开始时间</param>
/// <param name="endTime">结束时间</param>
[HttpGet]
public Result<List<EquipmentRecordTotal>> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime)
public Result<List<EquipmentRecordDayTotal>> 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<List<EquipmentStateView>> GetEquipmentStateView()
{
var points = _deviceService.GetDevicePointList(activated: true);
var equipments = _equipmentService.GetEquipmentList();
var ret = new List<EquipmentStateView>();
//获取所有设备状态汇总
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<List<EquipmentStateView>>(ret);
}
/// <summary>
/// 获取报警设备列表
/// </summary>
/// <returns></returns>
[HttpGet]
public Result<List<EquipmentInfo>> GetEquipmentAlarmList()
{
var equipments = _equipmentService.GetEquipmentList();
var alarmList = equipments.Content.Where(f => f.State == EquipmentState.Alarm).ToList();
return new Result<List<EquipmentInfo>>(alarmList);
}
#endregion
}
}

@ -68,7 +68,7 @@ namespace PVDEMCS.Services
/// <param name="endTime">结束时间</param>
/// <param name="page">当前页</param>
/// <param name="size">页大小</param>
Result<PagedList<EquipmentRecordTotal>> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size);
Result<PagedList<EquipmentRecordDayTotal>> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size);
/// <summary>
/// 获取设备状态记录统计列表
@ -78,7 +78,7 @@ namespace PVDEMCS.Services
/// <param name="equipmentType">设备类型</param>
/// <param name="begTime">开始时间</param>
/// <param name="endTime">结束时间</param>
Result<List<EquipmentRecordTotal>> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime);
Result<List<EquipmentRecordDayTotal>> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime);
#endregion
}

@ -21,7 +21,7 @@ namespace PVDEMCS.Services
/// <param name="page">当前页</param>
/// <param name="size">页大小</param>
/// <returns></returns>
Result<PagedList<EquipmentInfo>> GetEquipmentPageList(string equipmentName, string equipmentCode, string equipmentType, bool? activated, int page, int size);
Result<PagedList<EquipmentInfo>> GetEquipmentPageList(string equipmentName = "", string equipmentCode = "", string equipmentType = "", bool? activated = true, int page = 1, int size = 20);
/// <summary>
/// 获取设备列表
@ -29,7 +29,7 @@ namespace PVDEMCS.Services
/// <param name="equipmentName">设备名称</param>
/// <param name="equipmentCode">设备编号</param>
/// <param name="activated">是否启用</param>
Result<List<EquipmentInfo>> GetEquipmentList(string equipmentName, string equipmentCode, string equipmentType, bool? activated);
Result<List<EquipmentInfo>> GetEquipmentList(string equipmentName = "", string equipmentCode = "", string equipmentType = "", bool? activated = true);
/// <summary>
/// 获取设备明显

@ -94,7 +94,7 @@ namespace PVDEMCS.Services.Impl
/// <param name="endTime">结束时间</param>
/// <param name="page">当前页</param>
/// <param name="size">页大小</param>
public Result<PagedList<EquipmentRecordTotal>> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size)
public Result<PagedList<EquipmentRecordDayTotal>> 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
/// <param name="equipmentType">设备类型</param>
/// <param name="begTime">开始时间</param>
/// <param name="endTime">结束时间</param>
public Result<List<EquipmentRecordTotal>> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime)
public Result<List<EquipmentRecordDayTotal>> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime)
{
var result = this._equipmentRecordRepository.GetEquipmentRecordDayTotalList(equipmentName, equipmentCode, equipmentType, begTime, endTime);
return result;

@ -1,5 +1,4 @@
// <auto-generated> This file has been auto generated by EF Core Power Tools. </auto-generated>
#nullable disable

using System;
using System.Collections.Generic;
@ -9,7 +8,7 @@ namespace PVDEMCS.Services.Models;
/// 设备状态记录日统计
///
/// </summary>
public partial class EquipmentRecordTotal
public partial class EquipmentRecordDayTotal
{
public string Id { get; set; }

@ -0,0 +1,23 @@
namespace PVDEMCS.Services.Models
{
/// <summary>
/// 设备记录开炉次数月统计
/// </summary>
public class EquipmentRecordFurnaceMonthTotal
{
/// <summary>
/// 设备类型IonbondBalzersCemecon
/// </summary>
public string EquipmentType { get; set; }
/// <summary>
/// 开炉次数
/// </summary>
public int FurnaceNum { get; set; }
/// <summary>
/// 日期
/// </summary>
public DateTime? TotalMonth { get; set; }
}
}

@ -0,0 +1,28 @@
namespace PVDEMCS.Services.Models
{
/// <summary>
/// 设备状态记录月统计
/// </summary>
public class EquipmentRecordStateMonthTotal
{
/// <summary>
/// 总运行时长
/// </summary>
public decimal TotalRunningTime { get; set; }
/// <summary>
/// 总报警时长
/// </summary>
public decimal TotalAlarmTime { get; set; }
/// <summary>
/// 总待机时长
/// </summary>
public decimal TotalStopTime { get; set; }
/// <summary>
/// 日期
/// </summary>
public DateTime? TotalMonth { get; set; }
}
}

@ -71,7 +71,7 @@ namespace PVDEMCS.Services.Repositories
/// <param name="endTime">结束时间</param>
/// <param name="page">当前页</param>
/// <param name="size">页大小</param>
Result<PagedList<EquipmentRecordTotal>> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size);
Result<PagedList<EquipmentRecordDayTotal>> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size);
/// <summary>
/// 获取设备状态记录统计列表
@ -81,7 +81,9 @@ namespace PVDEMCS.Services.Repositories
/// <param name="equipmentType">设备类型</param>
/// <param name="begTime">开始时间</param>
/// <param name="endTime">结束时间</param>
Result<List<EquipmentRecordTotal>> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime);
Result<List<EquipmentRecordDayTotal>> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime);
#endregion
}

@ -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
/// <param name="endTime">结束时间</param>
/// <param name="page">当前页</param>
/// <param name="size">页大小</param>
public Result<PagedList<EquipmentRecordTotal>> GetEquipmentRecordDayTotalPageList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, int page, int size)
public Result<PagedList<EquipmentRecordDayTotal>> 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<PagedList<EquipmentRecordTotal>>(pageList);
return new Result<PagedList<EquipmentRecordDayTotal>>(pageList);
}
}
@ -347,7 +347,7 @@ namespace PVDEMCS.Services.Repositories.Impl
/// <param name="equipmentType">设备类型</param>
/// <param name="begTime">开始时间</param>
/// <param name="endTime">结束时间</param>
public Result<List<EquipmentRecordTotal>> GetEquipmentRecordDayTotalList(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime)
public Result<List<EquipmentRecordDayTotal>> 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<List<EquipmentRecordTotal>>(pageList);
return new Result<List<EquipmentRecordDayTotal>>(pageList);
}
}
private IQueryable<EquipmentRecordTotal> QueryEquipmentRecordTotal(string equipmentName, string equipmentCode, string equipmentType, DateTime begTime, DateTime endTime, EFContext context)
/// <summary>
/// 获取设备状态记录月统计
/// </summary>
/// <returns></returns>
public Result<List<EquipmentRecordStateMonthTotal>> GetEquipmentRecordStateMonthTotal()
{
using (var context = new EFContext())
{ }
return null;
}
/// <summary>
/// 获取设备记录开炉次数月统计
/// </summary>
/// <returns></returns>
public Result<List<EquipmentRecordFurnaceMonthTotal>> GetEquipmentRecordFurnaceMonthTotal()
{
return null;
}
private IQueryable<EquipmentRecordDayTotal> 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
}
}

Loading…
Cancel
Save