cvd 修改

main
xiaoguo 1 year ago
parent 5dcb4f73c9
commit c2387eccf8

@ -138,7 +138,7 @@ namespace PVDEMCS.Devices.Impl
} }
catch (Exception ex) catch (Exception ex)
{ {
ex.WriteErrorLog("设备记录日统计异常"); ex.WriteErrorLog("设备记录日统计异常");
} }
Thread.Sleep(1000 * 60); Thread.Sleep(1000 * 60);
@ -146,6 +146,41 @@ namespace PVDEMCS.Devices.Impl
} }
}); });
//设备记录日统计(修复统计,解决出现跨天的数据统计不到的情况)
Task.Run(() =>
{
//凌晨1点运行
var now = DateTime.Now;
var targetTime = new DateTime(now.Year, now.Month, now.Day, 1, 0, 0);
if (targetTime <= now)
{
// 如果目标时间已经过去,则设置到明天
targetTime = targetTime.AddDays(1);
}
while (true)
{
try
{
Thread.Sleep(TimeSpan.FromMilliseconds(targetTime.Subtract(DateTime.Now).TotalMilliseconds));
//这里修复10天前的
for (int i = 10; i > 0; i--)
{
equipmentRecordService.RunEquipmentRecordDayTotal(DateTime.Now.AddDays(-i));
}
$" 设备记录日统计(修复统计) ".WriteInfoLog();
}
catch (Exception ex)
{
ex.WriteErrorLog("设备记录日统计(修复统计)异常");
}
//明天继续
targetTime = targetTime.AddDays(1);
}
});
//设备记录统计 //设备记录统计
Task.Run(() => Task.Run(() =>
{ {
@ -155,11 +190,11 @@ namespace PVDEMCS.Devices.Impl
{ {
equipmentRecordService.RunEquipmentRecordTotal(); equipmentRecordService.RunEquipmentRecordTotal();
} }
catch (Exception ex) catch (Exception ex)
{ {
ex.WriteErrorLog("设备记录统计异常"); ex.WriteErrorLog("设备记录统计异常");
} }
Thread.Sleep(1000 * 1800); Thread.Sleep(1000 * 1800);
} }
}); });
@ -205,28 +240,28 @@ namespace PVDEMCS.Devices.Impl
else if (fault.GetValue<bool>()) else if (fault.GetValue<bool>())
{ {
state = EquipmentState.Alarm; state = EquipmentState.Alarm;
} }
//如果为报警状态,则判断是否设为手动,且为不报警,则屏蔽报警信号,不做记录 //如果为报警状态,则判断是否设为手动,且为不报警,则屏蔽报警信号,不做记录
if (state == EquipmentState.Alarm && if (state == EquipmentState.Alarm &&
startStop.Model == EquipmentAlarmModel.Manual && startStop.Model == EquipmentAlarmModel.Manual &&
!startStop.IsAlarm) !startStop.IsAlarm)
{ {
continue; continue;
} }
//equipmentRecordService.AddUpdateEquipmentRecord(id, state, DateTime.Now); //equipmentRecordService.AddUpdateEquipmentRecord(id, state, DateTime.Now);
models.Add(new EquipmentRecordUpdateModel models.Add(new EquipmentRecordUpdateModel
{ {
EquipmentId=id, EquipmentId = id,
State=state, State = state,
DateTime=DateTime.Now DateTime = DateTime.Now
}); });
} }
} }
} }
} }
if (models.Count > 0) if (models.Count > 0)
{ {
//批量更新 //批量更新
equipmentRecordService.AddUpdateEquipmentRecordBatch(models); equipmentRecordService.AddUpdateEquipmentRecordBatch(models);

Loading…
Cancel
Save