|
|
|
@ -151,7 +151,7 @@ namespace PVDEMCS.Services.Repositories.Impl
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="date"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public Result RunEquipmentRecordTotal(DateTime date)
|
|
|
|
|
public Result RunEquipmentRecordDayTotal(DateTime date)
|
|
|
|
|
{
|
|
|
|
|
var begDate = DateTime.Parse(date.ToString("yyyy-MM-dd"));
|
|
|
|
|
var endDate = begDate.AddDays(1).AddSeconds(-1);
|
|
|
|
@ -308,6 +308,69 @@ namespace PVDEMCS.Services.Repositories.Impl
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 进行设备状态记录统计
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public Result RunEquipmentRecordTotal()
|
|
|
|
|
{
|
|
|
|
|
using (var context = new EFContext())
|
|
|
|
|
{
|
|
|
|
|
var query = context.EquipmentRecordDayTotals.AsQueryable();
|
|
|
|
|
//获取最后更新时间
|
|
|
|
|
var list = context.EquipmentRecordTotals.ToList();
|
|
|
|
|
var maxDate = list.Max(f => f.UpdateAt);
|
|
|
|
|
//如果有记录
|
|
|
|
|
if (!maxDate.HasValue)
|
|
|
|
|
{
|
|
|
|
|
query = query.Where(f => f.UpdateAt > maxDate);
|
|
|
|
|
}
|
|
|
|
|
var values = query.GroupBy(f => f.EquipmentId).Select(f => new EquipmentRecordTotalEntity
|
|
|
|
|
{
|
|
|
|
|
EquipmentId = f.Key,
|
|
|
|
|
FurnaceNum = f.Sum(f=>f.FurnaceNum),
|
|
|
|
|
TotalRunningTime = f.Sum(f => f.TotalRunningTime),
|
|
|
|
|
TotalAlarmTime = f.Sum(f => f.TotalAlarmTime),
|
|
|
|
|
TotalStopTime = f.Sum(f => f.TotalStopTime),
|
|
|
|
|
}).ToList();
|
|
|
|
|
if (values.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
if (list.IsNullOrEmpty())
|
|
|
|
|
{
|
|
|
|
|
foreach (var item in values)
|
|
|
|
|
{
|
|
|
|
|
item.Create();
|
|
|
|
|
}
|
|
|
|
|
context.EquipmentRecordTotals.AddRange(values);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
foreach (var item in list)
|
|
|
|
|
{
|
|
|
|
|
var value = values.Where(f => f.EquipmentId == item.EquipmentId).FirstOrDefault();
|
|
|
|
|
if (value.IsNullOrEmpty())
|
|
|
|
|
{
|
|
|
|
|
value.Create();
|
|
|
|
|
context.EquipmentRecordTotals.Add(value);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
item.FurnaceNum += value.FurnaceNum;
|
|
|
|
|
item.TotalAlarmTime += value.TotalAlarmTime;
|
|
|
|
|
item.TotalRunningTime += value.TotalRunningTime;
|
|
|
|
|
item.TotalStopTime += value.TotalStopTime;
|
|
|
|
|
item.Update();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
context.SaveChanges();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return new Result();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class TotalRecord
|
|
|
|
|
{
|
|
|
|
|
public string EquipmentId { get; set; }
|
|
|
|
@ -403,7 +466,7 @@ namespace PVDEMCS.Services.Repositories.Impl
|
|
|
|
|
/// <param name="equipmentType">设备类型</param>
|
|
|
|
|
/// <param name="page">当前页</param>
|
|
|
|
|
/// <param name="size">页大小</param>
|
|
|
|
|
public Result<PagedList<EquipmentRecordTotal>> GetEquipmentRecordTotalPageList(string equipmentName, string equipmentCode, string equipmentType, int page, int size)
|
|
|
|
|
public Result<PagedList<EquipmentRecordTotal>> GetEquipmentRecordTotalPageList(string equipmentName, string equipmentCode, string equipmentType, int page, int size)
|
|
|
|
|
{
|
|
|
|
|
using (var context = new EFContext())
|
|
|
|
|
{
|
|
|
|
@ -526,9 +589,9 @@ namespace PVDEMCS.Services.Repositories.Impl
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|