|
|
|
@ -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
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|