|
@@ -95,10 +95,10 @@ namespace WCS.WorkEngineering.Systems
|
|
|
ExSrmRunInfo(db, plcEx);
|
|
|
ExRgvRunInfo(db, plcEx);
|
|
|
ExTrussRunInfo(db, plcEx);
|
|
|
- ExRobotAlarmInfo(db, plcEx);
|
|
|
- ExSrmAlarmInfo(db, plcEx);
|
|
|
- ExRgvAlarmInfo(db, plcEx);
|
|
|
- ExTrussAlarmInfo(db, plcEx);
|
|
|
+ //ExRobotAlarmInfo(db, plcEx);
|
|
|
+ //ExSrmAlarmInfo(db, plcEx);
|
|
|
+ //ExRgvAlarmInfo(db, plcEx);
|
|
|
+ //ExTrussAlarmInfo(db, plcEx);
|
|
|
ExRobotTaskSumRunInfo(db, plcEx);
|
|
|
ExTrussTaskSumRunInfo(db, plcEx);
|
|
|
}
|
|
@@ -114,22 +114,32 @@ namespace WCS.WorkEngineering.Systems
|
|
|
var startTime = DateTime.Now;
|
|
|
var endTime = DateTime.Now;
|
|
|
IEnumerable<IGrouping<string, WCS_Robot521>> robot521 = new List<IGrouping<string, WCS_Robot521>>();
|
|
|
- var type = DevType.Robot.ToString();
|
|
|
+ var type = DevType.SRM.ToString();
|
|
|
//查看rgv类型是否存在运行信息,用于系统被第一次启用时进行初始化
|
|
|
if (plcEx.Queryable<DevRunInfo>().Any(x => x.Type == type))
|
|
|
{
|
|
|
//已有信息,查找最后一条信息用于获取开始时间,最后一条通常是前一天的最后条数据
|
|
|
var runInfo = plcEx.Queryable<DevRunInfo>().Where(x => x.Type == type).OrderByDescending(x => x.Frame).First();
|
|
|
- startTime = runInfo.Frame.AddDays(+1).Date;//后一天的初始时间
|
|
|
- endTime = startTime.AddDays(+1).AddMilliseconds(-1);//
|
|
|
+ startTime = runInfo.Frame.AddHours(+1);//后一个小时
|
|
|
+ startTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, startTime.Hour, 0, 0); //后一个小时的开始时间
|
|
|
+ endTime = startTime.AddHours(+1).AddMilliseconds(-1);//
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (!db.Queryable<WCS_Robot521>().Any()) return;
|
|
|
- startTime = db.Queryable<WCS_Robot521>().OrderBy(x => x.Frame).First().Frame.Date;
|
|
|
- endTime = startTime.AddDays(+1).AddMilliseconds(-1);
|
|
|
+ startTime = db.Queryable<WCS_Robot521>().OrderBy(x => x.Frame).First().Frame;
|
|
|
+ startTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, startTime.Hour, 0, 0); //后一个小时的开始时间
|
|
|
+ endTime = startTime.AddHours(+1).AddMilliseconds(-1);
|
|
|
}
|
|
|
- if (endTime > DateTime.Now.AddHours(1)) return; //一次处理24小时的数据
|
|
|
+ //取上一小时的第一秒
|
|
|
+ var now = DateTime.Now;
|
|
|
+ now = new DateTime(now.Year, now.Month, now.Day, now.Hour, 0, 0);
|
|
|
+ var nowEndTime = new DateTime(endTime.Year, endTime.Month, endTime.Day, endTime.Hour, 0, 0);
|
|
|
+ if (endTime > now) return; //当前时间之前
|
|
|
+ if (nowEndTime == now) return; //是当前这一个小时
|
|
|
+ now = new DateTime(now.Year, now.Month, now.Day, now.Hour, 10, 0);
|
|
|
+ if (DateTime.Now < now) return;// 每个小时的前十分钟不进行数据分析处理,仅在每小时的10-59之内进行处理
|
|
|
+
|
|
|
if (plcEx.Queryable<DevRunInfo>().Any(x => x.EndTime == endTime && x.Type == type)) return;
|
|
|
|
|
|
robot521 = db.Queryable<WCS_Robot521>().Where(x => x.Frame > startTime && x.Frame <= endTime).ToList().GroupBy(x => x.Code).ToList();
|
|
@@ -244,16 +254,26 @@ namespace WCS.WorkEngineering.Systems
|
|
|
{
|
|
|
//已有信息,查找最后一条信息用于获取开始时间,最后一条通常是前一天的最后条数据
|
|
|
var runInfo = plcEx.Queryable<DevRunInfo>().Where(x => x.Type == type).OrderByDescending(x => x.Frame).First();
|
|
|
- startTime = runInfo.Frame.AddDays(+1).Date;//后一天的初始时间
|
|
|
- endTime = startTime.AddDays(+1).AddMilliseconds(-1);//
|
|
|
+ startTime = runInfo.Frame.AddHours(+1);//后一个小时
|
|
|
+ startTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, startTime.Hour, 0, 0); //后一个小时的开始时间
|
|
|
+ endTime = startTime.AddHours(+1).AddMilliseconds(-1);//
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (!db.Queryable<WCS_SRM521>().Any()) return;
|
|
|
- startTime = db.Queryable<WCS_SRM521>().OrderBy(x => x.Frame).First().Frame.Date;
|
|
|
- endTime = startTime.AddDays(+1).AddMilliseconds(-1);
|
|
|
+ startTime = db.Queryable<WCS_SRM521>().OrderBy(x => x.Frame).First().Frame;
|
|
|
+ startTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, startTime.Hour, 0, 0); //后一个小时的开始时间
|
|
|
+ endTime = startTime.AddHours(+1).AddMilliseconds(-1);
|
|
|
}
|
|
|
- if (endTime > DateTime.Now.AddHours(1)) return; //一次处理24小时的数据
|
|
|
+ //取上一小时的第一秒
|
|
|
+ var now = DateTime.Now;
|
|
|
+ now = new DateTime(now.Year, now.Month, now.Day, now.Hour, 0, 0);
|
|
|
+ var nowEndTime = new DateTime(endTime.Year, endTime.Month, endTime.Day, endTime.Hour, 0, 0);
|
|
|
+ if (endTime > now) return; //当前时间之前
|
|
|
+ if (nowEndTime == now) return; //是当前这一个小时
|
|
|
+ now = new DateTime(now.Year, now.Month, now.Day, now.Hour, 10, 0);
|
|
|
+ if (DateTime.Now < now) return;// 每个小时的前十分钟不进行数据分析处理,仅在每小时的10-59之内进行处理
|
|
|
+
|
|
|
if (plcEx.Queryable<DevRunInfo>().Any(x => x.EndTime == endTime && x.Type == type)) return;
|
|
|
|
|
|
srm521 = db.Queryable<WCS_SRM521>().Where(x => x.Frame > startTime && x.Frame <= endTime).ToList().GroupBy(x => x.Code).ToList();
|
|
@@ -362,22 +382,32 @@ namespace WCS.WorkEngineering.Systems
|
|
|
var startTime = DateTime.Now;
|
|
|
var endTime = DateTime.Now;
|
|
|
IEnumerable<IGrouping<string, WCS_RGV521>> rgv521 = new List<IGrouping<string, WCS_RGV521>>();
|
|
|
- var type = DevType.RGV.ToString();
|
|
|
+ var type = DevType.SRM.ToString();
|
|
|
//查看rgv类型是否存在运行信息,用于系统被第一次启用时进行初始化
|
|
|
if (plcEx.Queryable<DevRunInfo>().Any(x => x.Type == type))
|
|
|
{
|
|
|
//已有信息,查找最后一条信息用于获取开始时间,最后一条通常是前一天的最后条数据
|
|
|
var runInfo = plcEx.Queryable<DevRunInfo>().Where(x => x.Type == type).OrderByDescending(x => x.Frame).First();
|
|
|
- startTime = runInfo.Frame.AddDays(+1).Date;//后一天的初始时间
|
|
|
- endTime = startTime.AddDays(+1).AddMilliseconds(-1);//
|
|
|
+ startTime = runInfo.Frame.AddHours(+1);//后一个小时
|
|
|
+ startTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, startTime.Hour, 0, 0); //后一个小时的开始时间
|
|
|
+ endTime = startTime.AddHours(+1).AddMilliseconds(-1);//
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (!db.Queryable<WCS_RGV521>().Any()) return;
|
|
|
- startTime = db.Queryable<WCS_RGV521>().OrderBy(x => x.Frame).First().Frame.Date;
|
|
|
- endTime = startTime.AddDays(+1).AddMilliseconds(-1);
|
|
|
+ startTime = db.Queryable<WCS_RGV521>().OrderBy(x => x.Frame).First().Frame;
|
|
|
+ startTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, startTime.Hour, 0, 0); //后一个小时的开始时间
|
|
|
+ endTime = startTime.AddHours(+1).AddMilliseconds(-1);
|
|
|
}
|
|
|
- if (endTime > DateTime.Now.AddHours(1)) return; //一次处理24小时的数据
|
|
|
+ //取上一小时的第一秒
|
|
|
+ var now = DateTime.Now;
|
|
|
+ now = new DateTime(now.Year, now.Month, now.Day, now.Hour, 0, 0);
|
|
|
+ var nowEndTime = new DateTime(endTime.Year, endTime.Month, endTime.Day, endTime.Hour, 0, 0);
|
|
|
+ if (endTime > now) return; //当前时间之前
|
|
|
+ if (nowEndTime == now) return; //是当前这一个小时
|
|
|
+ now = new DateTime(now.Year, now.Month, now.Day, now.Hour, 10, 0);
|
|
|
+ if (DateTime.Now < now) return;// 每个小时的前十分钟不进行数据分析处理,仅在每小时的10-59之内进行处理
|
|
|
+
|
|
|
if (plcEx.Queryable<DevRunInfo>().Any(x => x.EndTime == endTime && x.Type == type)) return;
|
|
|
|
|
|
rgv521 = db.Queryable<WCS_RGV521>().Where(x => x.Frame > startTime && x.Frame <= endTime).ToList().GroupBy(x => x.Code).ToList();
|
|
@@ -486,22 +516,32 @@ namespace WCS.WorkEngineering.Systems
|
|
|
var startTime = DateTime.Now;
|
|
|
var endTime = DateTime.Now;
|
|
|
IEnumerable<IGrouping<string, WCS_Truss521>> truss521 = new List<IGrouping<string, WCS_Truss521>>();
|
|
|
- var type = DevType.Truss.ToString();
|
|
|
+ var type = DevType.SRM.ToString();
|
|
|
//查看rgv类型是否存在运行信息,用于系统被第一次启用时进行初始化
|
|
|
if (plcEx.Queryable<DevRunInfo>().Any(x => x.Type == type))
|
|
|
{
|
|
|
//已有信息,查找最后一条信息用于获取开始时间,最后一条通常是前一天的最后条数据
|
|
|
var runInfo = plcEx.Queryable<DevRunInfo>().Where(x => x.Type == type).OrderByDescending(x => x.Frame).First();
|
|
|
- startTime = runInfo.Frame.AddDays(+1).Date;//后一天的初始时间
|
|
|
- endTime = startTime.AddDays(+1).AddMilliseconds(-1);//
|
|
|
+ startTime = runInfo.Frame.AddHours(+1);//后一个小时
|
|
|
+ startTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, startTime.Hour, 0, 0); //后一个小时的开始时间
|
|
|
+ endTime = startTime.AddHours(+1).AddMilliseconds(-1);//
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (!db.Queryable<WCS_Truss521>().Any()) return;
|
|
|
- startTime = db.Queryable<WCS_Truss521>().OrderBy(x => x.Frame).First().Frame.Date;
|
|
|
- endTime = startTime.AddDays(+1).AddMilliseconds(-1);
|
|
|
+ startTime = db.Queryable<WCS_Truss521>().OrderBy(x => x.Frame).First().Frame;
|
|
|
+ startTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, startTime.Hour, 0, 0); //后一个小时的开始时间
|
|
|
+ endTime = startTime.AddHours(+1).AddMilliseconds(-1);
|
|
|
}
|
|
|
- if (endTime > DateTime.Now.AddHours(1)) return; //一次处理24小时的数据
|
|
|
+ //取上一小时的第一秒
|
|
|
+ var now = DateTime.Now;
|
|
|
+ now = new DateTime(now.Year, now.Month, now.Day, now.Hour, 0, 0);
|
|
|
+ var nowEndTime = new DateTime(endTime.Year, endTime.Month, endTime.Day, endTime.Hour, 0, 0);
|
|
|
+ if (endTime > now) return; //当前时间之前
|
|
|
+ if (nowEndTime == now) return; //是当前这一个小时
|
|
|
+ now = new DateTime(now.Year, now.Month, now.Day, now.Hour, 10, 0);
|
|
|
+ if (DateTime.Now < now) return;// 每个小时的前十分钟不进行数据分析处理,仅在每小时的10-59之内进行处理
|
|
|
+
|
|
|
if (plcEx.Queryable<DevRunInfo>().Any(x => x.EndTime == endTime && x.Type == type)) return;
|
|
|
|
|
|
truss521 = db.Queryable<WCS_Truss521>().Where(x => x.Frame > startTime && x.Frame <= endTime).ToList().GroupBy(x => x.Code).ToList();
|
|
@@ -1201,22 +1241,32 @@ namespace WCS.WorkEngineering.Systems
|
|
|
var startTime = DateTime.Now;
|
|
|
var endTime = DateTime.Now;
|
|
|
IEnumerable<IGrouping<string, WCS_Robot520>> robot520 = new List<IGrouping<string, WCS_Robot520>>();
|
|
|
- var type = DevType.RobotTaskSum.ToString();
|
|
|
+ var type = DevType.SRM.ToString();
|
|
|
//查看rgv类型是否存在运行信息,用于系统被第一次启用时进行初始化
|
|
|
if (plcEx.Queryable<DevRunInfo>().Any(x => x.Type == type))
|
|
|
{
|
|
|
//已有信息,查找最后一条信息用于获取开始时间,最后一条通常是前一天的最后条数据
|
|
|
var runInfo = plcEx.Queryable<DevRunInfo>().Where(x => x.Type == type).OrderByDescending(x => x.Frame).First();
|
|
|
- startTime = runInfo.Frame.AddDays(+1).Date;//后一天的初始时间
|
|
|
- endTime = startTime.AddDays(+1).AddMilliseconds(-1);//
|
|
|
+ startTime = runInfo.Frame.AddHours(+1);//后一个小时
|
|
|
+ startTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, startTime.Hour, 0, 0); //后一个小时的开始时间
|
|
|
+ endTime = startTime.AddHours(+1).AddMilliseconds(-1);//
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (!db.Queryable<WCS_Robot520>().Any()) return;
|
|
|
- startTime = db.Queryable<WCS_Robot520>().OrderBy(x => x.Frame).First().Frame.Date;
|
|
|
- endTime = startTime.AddDays(+1).AddMilliseconds(-1);
|
|
|
+ startTime = db.Queryable<WCS_Robot520>().OrderBy(x => x.Frame).First().Frame;
|
|
|
+ startTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, startTime.Hour, 0, 0); //后一个小时的开始时间
|
|
|
+ endTime = startTime.AddHours(+1).AddMilliseconds(-1);
|
|
|
}
|
|
|
- if (endTime > DateTime.Now.AddHours(1)) return; //一次处理24小时的数据
|
|
|
+ //取上一小时的第一秒
|
|
|
+ var now = DateTime.Now;
|
|
|
+ now = new DateTime(now.Year, now.Month, now.Day, now.Hour, 0, 0);
|
|
|
+ var nowEndTime = new DateTime(endTime.Year, endTime.Month, endTime.Day, endTime.Hour, 0, 0);
|
|
|
+ if (endTime > now) return; //当前时间之前
|
|
|
+ if (nowEndTime == now) return; //是当前这一个小时
|
|
|
+ now = new DateTime(now.Year, now.Month, now.Day, now.Hour, 10, 0);
|
|
|
+ if (DateTime.Now < now) return;// 每个小时的前十分钟不进行数据分析处理,仅在每小时的10-59之内进行处理
|
|
|
+
|
|
|
if (plcEx.Queryable<DevRunInfo>().Any(x => x.EndTime == endTime && x.Type == type)) return;
|
|
|
|
|
|
robot520 = db.Queryable<WCS_Robot520>().Where(x => x.Frame > startTime && x.Frame <= endTime).ToList().GroupBy(x => x.Code).ToList();
|
|
@@ -1271,22 +1321,32 @@ namespace WCS.WorkEngineering.Systems
|
|
|
var startTime = DateTime.Now;
|
|
|
var endTime = DateTime.Now;
|
|
|
IEnumerable<IGrouping<string, WCS_Truss520>> truss520 = new List<IGrouping<string, WCS_Truss520>>();
|
|
|
- var type = DevType.TrussTaskSum.ToString();
|
|
|
+ var type = DevType.SRM.ToString();
|
|
|
//查看rgv类型是否存在运行信息,用于系统被第一次启用时进行初始化
|
|
|
if (plcEx.Queryable<DevRunInfo>().Any(x => x.Type == type))
|
|
|
{
|
|
|
//已有信息,查找最后一条信息用于获取开始时间,最后一条通常是前一天的最后条数据
|
|
|
var runInfo = plcEx.Queryable<DevRunInfo>().Where(x => x.Type == type).OrderByDescending(x => x.Frame).First();
|
|
|
- startTime = runInfo.Frame.AddDays(+1).Date;//后一天的初始时间
|
|
|
- endTime = startTime.AddDays(+1).AddMilliseconds(-1);//
|
|
|
+ startTime = runInfo.Frame.AddHours(+1);//后一个小时
|
|
|
+ startTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, startTime.Hour, 0, 0); //后一个小时的开始时间
|
|
|
+ endTime = startTime.AddHours(+1).AddMilliseconds(-1);//
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (!db.Queryable<WCS_Truss520>().Any()) return;
|
|
|
- startTime = db.Queryable<WCS_Truss520>().OrderBy(x => x.Frame).First().Frame.Date;
|
|
|
- endTime = startTime.AddDays(+1).AddMilliseconds(-1);
|
|
|
+ startTime = db.Queryable<WCS_Truss520>().OrderBy(x => x.Frame).First().Frame;
|
|
|
+ startTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, startTime.Hour, 0, 0); //后一个小时的开始时间
|
|
|
+ endTime = startTime.AddHours(+1).AddMilliseconds(-1);
|
|
|
}
|
|
|
- if (endTime > DateTime.Now.AddHours(1)) return; //一次处理24小时的数据
|
|
|
+ //取上一小时的第一秒
|
|
|
+ var now = DateTime.Now;
|
|
|
+ now = new DateTime(now.Year, now.Month, now.Day, now.Hour, 0, 0);
|
|
|
+ var nowEndTime = new DateTime(endTime.Year, endTime.Month, endTime.Day, endTime.Hour, 0, 0);
|
|
|
+ if (endTime > now) return; //当前时间之前
|
|
|
+ if (nowEndTime == now) return; //是当前这一个小时
|
|
|
+ now = new DateTime(now.Year, now.Month, now.Day, now.Hour, 10, 0);
|
|
|
+ if (DateTime.Now < now) return;// 每个小时的前十分钟不进行数据分析处理,仅在每小时的10-59之内进行处理
|
|
|
+
|
|
|
if (plcEx.Queryable<DevRunInfo>().Any(x => x.EndTime == endTime && x.Type == type)) return;
|
|
|
|
|
|
truss520 = db.Queryable<WCS_Truss520>().Where(x => x.Frame > startTime && x.Frame <= endTime).ToList().GroupBy(x => x.Code).ToList();
|