|
|
@@ -2,19 +2,15 @@
|
|
|
using PlcSiemens.Core.Extension;
|
|
|
using ServiceCenter.Extensions;
|
|
|
using ServiceCenter.Redis;
|
|
|
+using ServiceCenter.SqlSugars;
|
|
|
using SqlSugar;
|
|
|
using System.Collections.Concurrent;
|
|
|
using System.ComponentModel;
|
|
|
using System.Diagnostics;
|
|
|
using System.Text;
|
|
|
using WCS.Core;
|
|
|
-using WCS.Entity.Protocol.BCR;
|
|
|
using WCS.Entity.Protocol.DataStructure;
|
|
|
-using WCS.Entity.Protocol.RGV;
|
|
|
-using WCS.Entity.Protocol.Robot;
|
|
|
-using WCS.Entity.Protocol.SRM;
|
|
|
using WCS.Entity.Protocol.Station;
|
|
|
-using WCS.Entity.Protocol.Truss;
|
|
|
using WCS.WorkEngineering.Extensions;
|
|
|
using WCS.WorkEngineering.Worlds;
|
|
|
|
|
|
@@ -72,8 +68,8 @@ namespace WCS.WorkEngineering.Systems
|
|
|
pack.Frame = World.Frame;
|
|
|
sql.Append("INSERT INTO ");
|
|
|
var ps = pack.GetType().GetProperties().OrderBy(x => x.Name);
|
|
|
- //var db = new SqlSugarHelper().PLC;
|
|
|
-
|
|
|
+ var db = new SqlSugarHelper().PLC;
|
|
|
+ var frame = DateTime.Now;
|
|
|
Parallel.ForEach(ps, p =>
|
|
|
{
|
|
|
if (!p.PropertyType.IsArray) return;
|
|
|
@@ -92,6 +88,10 @@ namespace WCS.WorkEngineering.Systems
|
|
|
try
|
|
|
{
|
|
|
var protObj = x.Protocol(protType, World) as ProtocolProxyBase;
|
|
|
+ if (protObj.Frame < DateTime.Now.AddYears(-24))
|
|
|
+ {
|
|
|
+ protObj.Frame = frame;
|
|
|
+ }
|
|
|
if (protObj.Db.failed)
|
|
|
{
|
|
|
return;
|
|
|
@@ -99,12 +99,10 @@ namespace WCS.WorkEngineering.Systems
|
|
|
|
|
|
var obj = Activator.CreateInstance(t);
|
|
|
t.GetProperty("Code").SetValue(obj, x.Code);
|
|
|
- var value = WCS.Core.Extentions.Copy(protObj, entType);
|
|
|
+ var value = WCS.Core.Extentions.Copy(protObj, entType, protObj.Frame);
|
|
|
t.GetProperty("Data").SetValue(obj, value);
|
|
|
t.GetProperty("Frame").SetValue(obj, protObj.Frame);
|
|
|
entType.GetProperty("Code").SetValue(value, x.Code);
|
|
|
- //var sql1 = GetSql(entType, value, db);
|
|
|
- //Append(sql, sql1);
|
|
|
arr.Add(obj);
|
|
|
}
|
|
|
catch
|
|
|
@@ -219,11 +217,37 @@ namespace WCS.WorkEngineering.Systems
|
|
|
|
|
|
sw3.Stop();
|
|
|
World.Log($"redis存储耗时:{sw3.ElapsedMilliseconds}");
|
|
|
- //var sw4 = new Stopwatch();
|
|
|
- //sw4.Start();
|
|
|
- //db.Ado.ExecuteCommand(sql.ToString());
|
|
|
- //sw4.Stop();
|
|
|
- //World.Log($"执行SQL耗时:{sw4.ElapsedMilliseconds}");
|
|
|
+
|
|
|
+ var sw4 = new Stopwatch();
|
|
|
+ sw4.Start();
|
|
|
+
|
|
|
+ if (pack.BCR80.Any()) db.Insertable(pack.BCR80.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.BCR81.Any()) db.Insertable(pack.BCR81.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.BCR83.Any()) db.Insertable(pack.BCR83.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.RGV520.Any()) db.Insertable(pack.RGV520.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.RGV521.Any()) db.Insertable(pack.RGV521.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Robot520.Any()) db.Insertable(pack.Robot520.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Robot521.Any()) db.Insertable(pack.Robot521.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Robot522.Any()) db.Insertable(pack.Robot522.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Robot530.Any()) db.Insertable(pack.Robot530.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Robot531.Any()) db.Insertable(pack.Robot531.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.SRM520.Any()) db.Insertable(pack.SRM520.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.SRM521.Any()) db.Insertable(pack.SRM521.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.SRM537.Any()) db.Insertable(pack.SRM537.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Station520.Any()) db.Insertable(pack.Station520.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Station521.Any()) db.Insertable(pack.Station521.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Station523.Any()) db.Insertable(pack.Station523.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Station524.Any()) db.Insertable(pack.Station524.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Station525.Any()) db.Insertable(pack.Station525.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Station90.Any()) db.Insertable(pack.Station90.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Station91.Any()) db.Insertable(pack.Station91.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Truss520.Any()) db.Insertable(pack.Truss520.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Truss521.Any()) db.Insertable(pack.Truss521.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Truss523.Any()) db.Insertable(pack.Truss523.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Truss530.Any()) db.Insertable(pack.Truss530.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ if (pack.Truss531.Any()) db.Insertable(pack.Truss531.Select(x => x.Data).ToList()).ExecuteCommand();
|
|
|
+ sw4.Stop();
|
|
|
+ World.Log($"执行SQL耗时:{sw4.ElapsedMilliseconds}");
|
|
|
|
|
|
sw.Stop();
|
|
|
|
|
|
@@ -260,145 +284,6 @@ namespace WCS.WorkEngineering.Systems
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public string GetSql(Type type, object entity, SqlSugarScopeProvider db)
|
|
|
- {
|
|
|
- string sql = string.Empty;
|
|
|
-
|
|
|
- //var ty = entity.GetType().GetProperty("CreateSql");
|
|
|
- switch (type.Name)
|
|
|
- {
|
|
|
- case nameof(WCS_SRM520):
|
|
|
- var item = entity as WCS_SRM520;
|
|
|
- sql = GetString(db.Insertable(item).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_SRM521):
|
|
|
- var item1 = entity as WCS_SRM521;
|
|
|
- sql = GetString(db.Insertable(item1).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_SRM537):
|
|
|
- var item2 = entity as WCS_SRM537;
|
|
|
- sql = GetString(db.Insertable(item2).ToSqlString());
|
|
|
- //ty.SetValue(entity, GetString(db.Insertable(item2).ToSqlString()));
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_RGV520):
|
|
|
- var item3 = entity as WCS_RGV520; sql = GetString(db.Insertable(item3).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_RGV521):
|
|
|
- var item4 = entity as WCS_RGV521; sql = GetString(db.Insertable(item4).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_BCR80):
|
|
|
- var item5 = entity as WCS_BCR80; sql = GetString(db.Insertable(item5).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_BCR81):
|
|
|
- var item6 = entity as WCS_BCR81; sql = GetString(db.Insertable(item6).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_BCR83):
|
|
|
- var item7 = entity as WCS_BCR83; sql = GetString(db.Insertable(item7).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Station520):
|
|
|
- var item8 = entity as WCS_Station520; sql = GetString(db.Insertable(item8).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Station521):
|
|
|
- var item9 = entity as WCS_Station521; sql = GetString(db.Insertable(item9).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Station523):
|
|
|
- var item10 = entity as WCS_Station523; sql = GetString(db.Insertable(item10).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Station524):
|
|
|
- var item11 = entity as WCS_Station524; sql = GetString(db.Insertable(item11).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Station525):
|
|
|
- var item12 = entity as WCS_Station525; sql = GetString(db.Insertable(item12).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Station90):
|
|
|
- var item13 = entity as WCS_Station90; sql = GetString(db.Insertable(item13).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Station91):
|
|
|
- var item14 = entity as WCS_Station91; sql = GetString(db.Insertable(item14).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Truss520):
|
|
|
- var item15 = entity as WCS_Truss520; sql = GetString(db.Insertable(item15).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Truss521):
|
|
|
- var item16 = entity as WCS_Truss521; sql = GetString(db.Insertable(item16).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Truss523):
|
|
|
- var item17 = entity as WCS_Truss523; sql = GetString(db.Insertable(item17).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Truss530):
|
|
|
- var item18 = entity as WCS_Truss530; sql = GetString(db.Insertable(item18).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Truss531):
|
|
|
- var item19 = entity as WCS_Truss531; sql = GetString(db.Insertable(item19).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Robot520):
|
|
|
- var item20 = entity as WCS_Robot520; sql = GetString(db.Insertable(item20).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Robot521):
|
|
|
- var item21 = entity as WCS_Robot521; sql = GetString(db.Insertable(item21).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Robot522):
|
|
|
- var item22 = entity as WCS_Robot522; sql = GetString(db.Insertable(item22).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Robot530):
|
|
|
- var item23 = entity as WCS_Robot530; sql = GetString(db.Insertable(item23).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
-
|
|
|
- case nameof(WCS_Robot531):
|
|
|
- var item24 = entity as WCS_Robot531; sql = GetString(db.Insertable(item24).ToSqlString());
|
|
|
- //ty.SetValue(entity, sql);
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- return sql;
|
|
|
- }
|
|
|
-
|
|
|
public string GetString(string value)
|
|
|
{
|
|
|
return value.Replace("INSERT INTO ", "")
|
|
|
@@ -431,7 +316,7 @@ namespace WCS.WorkEngineering.Systems
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
- /// 设备报警
|
|
|
+ /// 设备状态信息
|
|
|
/// </summary>
|
|
|
public class EquipmentStatus
|
|
|
{
|
|
|
@@ -455,4 +340,13 @@ namespace WCS.WorkEngineering.Systems
|
|
|
/// </summary>
|
|
|
public DateTime Time { get; set; }
|
|
|
}
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ ///
|
|
|
+ /// </summary>
|
|
|
+ /// <typeparam name="T"></typeparam>
|
|
|
+ public class Quest<T>
|
|
|
+ {
|
|
|
+ public T Data { get; set; }
|
|
|
+ }
|
|
|
}
|