Bladeren bron

添加 SqlSugar 支持及多个新类和属性

- 在多个文件中添加了对 SqlSugar 和 System 的引用。
- 在多个类中添加了 SugarTable 特性和新属性。
- 在 SrmEnum.cs 中添加了新的枚举值。
- 在 WCS.Entity.Protocol.csproj 中添加了对 SqlSugar 包的引用。
- 修改了 appsettings.json 中的 Redis 连接字符串。
- 注释和取消注释了部分方法调用。
- 添加了新的基础实体类 QuestDBBaseEntity。
- 添加了新的类 DevAlarmInfo 和 DevRunInfo,并添加了相关方法和枚举。
林豪 左 7 maanden geleden
bovenliggende
commit
ccaa3c3f3a

+ 59 - 0
WCS.Entity.Protocol/HUB/DevAlarmInfo.cs

@@ -0,0 +1,59 @@
+using System;
+using System.Runtime.Serialization;
+using SqlSugar;
+
+namespace WCS.Entity.Protocol.HUB
+{
+    /// <summary>
+    ///     设备运行信息
+    /// </summary>
+    [DataContract]
+    [SugarTable("SX_DevAlarmInfo")]
+    public class DevAlarmInfo : QuestDBBaseEntity
+    {
+        public DevAlarmInfo()
+        {
+        }
+
+        public DevAlarmInfo(string alarm, DateTime startTime, DateTime endTime, long duration, string type, string code,
+            DateTime frame)
+        {
+            Alarm = alarm;
+            StartTime = startTime;
+            EndTime = endTime;
+            Duration = duration;
+            Type = type;
+            Code = code;
+            Frame = frame;
+        }
+
+        /// <summary>
+        ///     运行模式
+        /// </summary>
+        [SugarColumn(ColumnDataType = "symbol")]
+        public string Alarm { get; set; }
+
+        /// <summary>
+        ///     开始时间
+        /// </summary>
+
+        public DateTime StartTime { get; set; }
+
+        /// <summary>
+        ///     结束时间
+        /// </summary>
+
+        public DateTime EndTime { get; set; }
+
+        /// <summary>
+        ///     总时长
+        /// </summary>
+        public long Duration { get; set; }
+
+        /// <summary>
+        ///     类型
+        /// </summary>
+        [SugarColumn(ColumnDataType = "symbol")]
+        public string Type { get; set; }
+    }
+}

+ 169 - 0
WCS.Entity.Protocol/HUB/DevRunInfo.cs

@@ -0,0 +1,169 @@
+using System;
+using System.Runtime.Serialization;
+using SqlSugar;
+
+namespace WCS.Entity.Protocol.HUB
+{
+    /// <summary>
+    ///     设备运行信息
+    /// </summary>
+    [DataContract]
+    [SugarTable("SX_DevRunInfo")]
+    public class DevRunInfo : QuestDBBaseEntity
+    {
+        public DevRunInfo()
+        {
+        }
+
+        /// <summary>
+        /// </summary>
+        /// <param name="runMode"></param>
+        /// <param name="runStatus"></param>
+        /// <param name="startTime"></param>
+        /// <param name="endTime"></param>
+        /// <param name="duration"></param>
+        /// <param name="type"></param>
+        /// <param name="code"></param>
+        /// <param name="frame"></param>
+        public DevRunInfo(string runMode, string runStatus, DateTime startTime, DateTime endTime, long duration,
+            string type, string code, DateTime frame)
+        {
+            RunMode = runMode;
+            RunStatus = runStatus;
+            StartTime = startTime;
+            EndTime = endTime;
+            Duration = duration;
+            Type = type;
+            Code = code;
+            Frame = frame;
+        }
+
+        /// <summary>
+        ///     运行模式
+        /// </summary>
+        [SugarColumn(ColumnDataType = "symbol")]
+        public string RunMode { get; set; }
+
+        /// <summary>
+        ///     运行状态
+        /// </summary>
+        [SugarColumn(ColumnDataType = "symbol")]
+        public string RunStatus { get; set; }
+
+        /// <summary>
+        ///     开始时间
+        /// </summary>
+
+        public DateTime StartTime { get; set; }
+
+        /// <summary>
+        ///     结束时间
+        /// </summary>
+
+        public DateTime EndTime { get; set; }
+
+        /// <summary>
+        ///     总时长
+        /// </summary>
+        public long Duration { get; set; }
+
+        /// <summary>
+        ///     类型
+        /// </summary>
+        [SugarColumn(ColumnDataType = "symbol")]
+        public string Type { get; set; }
+
+        /// <summary>
+        ///  获取起始地址
+        /// </summary>
+        /// <param name="workstation"></param>
+        /// <returns></returns>
+        public string GetStartAddress(int workstation)
+        {
+            return workstation switch
+            {
+                1 => ExtraField1.Split("|")[0],
+                2 => ExtraField2.Split("|")[0],
+                _ => throw new Exception("请选择工位")
+            };
+        }
+
+        /// <summary>
+        ///  获取目标地址
+        /// </summary>
+        /// <param name="workstation"></param>
+        /// <returns></returns>
+        public string GetTargetAddress(int workstation)
+        {
+            return workstation switch
+            {
+                1 => ExtraField1.Split("|")[1],
+                2 => ExtraField2.Split("|")[1],
+                _ => throw new Exception("请选择工位")
+            };
+        }
+    }
+
+    public enum DevType
+    {
+        /// <summary>
+        ///     RGV小车
+        /// </summary>
+        RGV = 1,
+
+        /// <summary>
+        ///     堆垛机
+        /// </summary>
+        SRM = 2,
+
+        /// <summary>
+        ///     机械臂/机器人
+        /// </summary>
+        Robot = 3,
+
+        /// <summary>
+        ///     桁架
+        /// </summary>
+        Truss = 4,
+
+        /// <summary>
+        ///     扫码器
+        /// </summary>
+        BCR = 5,
+
+        /// <summary>
+        ///     站台/输送线
+        /// </summary>
+        Station = 6,
+
+        /// <summary>
+        ///     机械臂/机器人 任务执行数量
+        /// </summary>
+        RobotTaskSum = 7,
+
+        /// <summary>
+        ///     桁架 任务执行数量
+        /// </summary>
+        TrussTaskSum = 8,
+
+        /// <summary>
+        ///     来料统计
+        /// </summary>
+        FeedRate = 9,
+
+        /// <summary>
+        ///  状态统计
+        /// </summary>
+        RunStatus = 10,
+
+        /// <summary>
+        ///  侧推任务统计
+        /// </summary>
+        线体状态统计 = 11,
+
+        /// <summary>
+        ///  堆垛机任务数量统计
+        /// </summary>
+        SrmTaskSum=12,
+    }
+}

+ 26 - 0
WCS.Entity.Protocol/QuestDBBaseEntity.cs

@@ -0,0 +1,26 @@
+using System;
+using System.Runtime.Serialization;
+using SqlSugar;
+
+namespace WCS.Entity.Protocol
+{
+    /// <summary>
+    ///     时序数据库TDengine基础实体
+    /// </summary>
+    public class QuestDBBaseEntity
+    {
+        [DataMember(Order = 0)]
+        [TimeDbSplitField(DateType.Month)]
+        public DateTime Frame { get; set; }
+
+        [DataMember(Order = 1)]
+        [SugarColumn(ColumnDataType = "symbol")]
+        public string Code { get; set; }
+
+        public string ExtraField1 { get; set; }
+
+        public string ExtraField2 { get; set; }
+
+        public string ExtraField3 { get; set; }
+    }
+}

+ 9 - 1
WCS.Entity.Protocol/Robot/WCS_Robot520.cs

@@ -1,11 +1,19 @@
-using System.Runtime.Serialization;
+using SqlSugar;
+using System;
+using System.Runtime.Serialization;
 using WCS.Entity.Protocol.Protocol.Robot;
 
 namespace WCS.Entity.Protocol.Robot
 {
     [DataContract]
+    [SugarTable("SX_Robot520")]
     public class WCS_Robot520 : IRobot520
     {
+        [TimeDbSplitField(DateType.Day)]
+        public DateTime Frame { get; set; }
+
+        [SugarColumn(ColumnDataType = "symbol")]
+        public string Code { get; set; }
         public short AddrFrom { get; set; }
         public short AddrTo { get;set; }
         public short GoodsType { get;set; }

+ 10 - 1
WCS.Entity.Protocol/Robot/WCS_Robot521.cs

@@ -1,11 +1,20 @@
-using System.Runtime.Serialization;
+using SqlSugar;
+using System;
+using System.Runtime.Serialization;
 using WCS.Entity.Protocol.Protocol.Robot;
 
 namespace WCS.Entity.Protocol.Robot
 {
     [DataContract]
+    [SugarTable("SX_Robot521")]
     public class WCS_Robot521 : IRobot521
     {
+        [TimeDbSplitField(DateType.Day)]
+        public DateTime Frame { get; set; }
+
+        [SugarColumn(ColumnDataType = "symbol")]
+        public string Code { get; set; }
+
         [DataMember(Order = 0)]
         public short AddrFrom { get; set; }
         [DataMember(Order = 1)]

+ 11 - 2
WCS.Entity.Protocol/Robot/WCS_Robot522.cs

@@ -1,12 +1,21 @@
-using System.Runtime.Serialization;
+using SqlSugar;
+using System;
+using System.Runtime.Serialization;
 using WCS.Entity.Protocol.Protocol.Robot;
 
 namespace WCS.Entity.Protocol.Robot
 {
     [DataContract]
+    [SugarTable("SX_Robot522")]
     public class WCS_Robot522 : IRobot522
     {
+        [TimeDbSplitField(DateType.Day)]
+        public DateTime Frame { get; set; }
+
+        [SugarColumn(ColumnDataType = "symbol")]
+        public string Code { get; set; }
+
         [DataMember(Order = 0)]
         public RobotAlarm Alarm { get; set; }
     }
-}
+}

+ 14 - 5
WCS.Entity.Protocol/Robot/WCS_Robot530.cs

@@ -1,17 +1,26 @@
-using System.Runtime.Serialization;
+using SqlSugar;
+using System;
+using System.Runtime.Serialization;
 using WCS.Entity.Protocol.Protocol.Robot;
 
 namespace WCS.Entity.Protocol.Robot
 {
     [DataContract]
+    [SugarTable("SX_Robot530")]
     public class WCS_Robot530 : IRobot530
     {
+        [TimeDbSplitField(DateType.Day)]
+        public DateTime Frame { get; set; }
+
+        [SugarColumn(ColumnDataType = "symbol")]
+        public string Code { get; set; }
+
         public int PalletID { get; set; }
         public short Type { get; set; }
         public short MaxQty { get; set; }
-         
+
         public RobotStationCmd Cmd { get; set; }
-         
-        public short VoucherNo { get; set; } 
+
+        public short VoucherNo { get; set; }
     }
-}
+}

+ 16 - 7
WCS.Entity.Protocol/Robot/WCS_Robot531.cs

@@ -1,17 +1,26 @@
-using System.Runtime.Serialization;
+using SqlSugar;
+using System;
+using System.Runtime.Serialization;
 using WCS.Entity.Protocol.Protocol.Robot;
 
 namespace WCS.Entity.Protocol.Robot
 {
     [DataContract]
+    [SugarTable("SX_Robot531")]
     public class WCS_Robot531 : IRobot531
     {
+        [TimeDbSplitField(DateType.Day)]
+        public DateTime Frame { get; set; }
+
+        [SugarColumn(ColumnDataType = "symbol")]
+        public string Code { get; set; }
+
         public int PalletID { get; set; }
         public short Type { get; set; }
-        public short MaxQty { get;set; }
-        public short Qty { get;set; }
-        public RobotStationRqst Rqst{ get;set; }
-        public short VoucherNo { get;set; }
-        public int[] TaskArray { get;set; }
+        public short MaxQty { get; set; }
+        public short Qty { get; set; }
+        public RobotStationRqst Rqst { get; set; }
+        public short VoucherNo { get; set; }
+        public int[] TaskArray { get; set; }
     }
-}
+}

+ 12 - 0
WCS.Entity.Protocol/SRM/SrmEnum.cs

@@ -174,6 +174,18 @@ namespace WCS.Entity.Protocol.SRM
         /// </summary>
         [Description("放货收叉")]
         放货收叉 = 9,
+
+        /// <summary>
+        ///  任务执行中
+        /// </summary>
+        [Description("任务执行中")]
+        任务执行中 = 10,
+
+        /// <summary>
+        ///  保持维修
+        /// </summary>
+        [Description("保持维修")]
+        保持维修 = 99,
     }
 
     /// <summary>

+ 37 - 28
WCS.Entity.Protocol/SRM/WCS_SRM520.cs

@@ -1,4 +1,6 @@
-using System.Runtime.Serialization;
+using SqlSugar;
+using System;
+using System.Runtime.Serialization;
 
 namespace WCS.Entity.Protocol.SRM
 {
@@ -6,33 +8,40 @@ namespace WCS.Entity.Protocol.SRM
     ///  SRM520
     /// </summary>
     [DataContract]
+    [SugarTable("SX_SRM520")]
     public class WCS_SRM520 : ISRM520
     {
-        public int TaskID1 { get;set; }
-        public short SRow1 { get;set; }
-        public short SCol1 { get;set; }
-        public short SLayer1 { get;set; }
-        public short CancelAck1 { get;set; }
-        public short ERow1 { get;set; }
-        public short ECol1 { get;set; }
-        public short ELayer1 { get;set; }
-        public short EDepth1 { get;set; }
-        public short Target1 { get;set; }
-        public short TaskType1 { get;set; }
-        public short OkAck1 { get;set; }
-        public int TaskID2 { get;set; }
-        public short SRow2 { get;set; }
-        public short SCol2 { get;set; }
-        public short SLayer2 { get;set; }
-        public short CancelAck2 { get;set; }
-        public short ERow2 { get;set; }
-        public short ECol2 { get;set; }
-        public short ELayer2 { get;set; }
-        public short EDepth2 { get;set; }
-        public short Target2 { get;set; }
-        public short TaskType2 { get;set; }
-        public short OkAck2 { get;set; }
-        public short HB { get;set; }
-        public short VoucherNo { get;set; }
+        [TimeDbSplitField(DateType.Day)]
+        public DateTime Frame { get; set; }
+
+        [SugarColumn(ColumnDataType = "symbol")]
+        public string Code { get; set; }
+
+        public int TaskID1 { get; set; }
+        public short SRow1 { get; set; }
+        public short SCol1 { get; set; }
+        public short SLayer1 { get; set; }
+        public short CancelAck1 { get; set; }
+        public short ERow1 { get; set; }
+        public short ECol1 { get; set; }
+        public short ELayer1 { get; set; }
+        public short EDepth1 { get; set; }
+        public short Target1 { get; set; }
+        public short TaskType1 { get; set; }
+        public short OkAck1 { get; set; }
+        public int TaskID2 { get; set; }
+        public short SRow2 { get; set; }
+        public short SCol2 { get; set; }
+        public short SLayer2 { get; set; }
+        public short CancelAck2 { get; set; }
+        public short ERow2 { get; set; }
+        public short ECol2 { get; set; }
+        public short ELayer2 { get; set; }
+        public short EDepth2 { get; set; }
+        public short Target2 { get; set; }
+        public short TaskType2 { get; set; }
+        public short OkAck2 { get; set; }
+        public short HB { get; set; }
+        public short VoucherNo { get; set; }
     }
-}
+}

+ 44 - 35
WCS.Entity.Protocol/SRM/WCS_SRM521.cs

@@ -1,4 +1,6 @@
-using System.Runtime.Serialization;
+using SqlSugar;
+using System;
+using System.Runtime.Serialization;
 
 namespace WCS.Entity.Protocol.SRM
 {
@@ -6,40 +8,47 @@ namespace WCS.Entity.Protocol.SRM
     ///  SRM521
     /// </summary>
     [DataContract]
+    [SugarTable("SX_SRM521")]
     public class WCS_SRM521 : ISRM521
     {
-        public int TaskID1 { get;set; }
-        public short SRow1 { get;set; }
-        public short SCol1 { get;set; }
-        public short SLayer1 { get;set; }
-        public short Cancel1 { get;set; }
-        public short ERow1 { get;set; }
-        public short ECol1 { get;set; }
-        public short ELayer1 { get;set; }
-        public short EDepth1 { get;set; }
-        public int FinishedTaskID1 { get;set; }
-        public int ForkPos1 { get;set; }
-        public int TaskID2 { get;set; }
-        public short SRow2 { get;set; }
-        public short SCol2 { get;set; }
-        public short SLayer2 { get;set; }
-        public short Cancel2 { get;set; }
-        public short ERow2 { get;set; }
-        public short ECol2 { get;set; }
-        public short ELayer2 { get;set; }
-        public short EDepth2 { get;set; }
-        public int FinishedTaskID2 { get;set; }
-        public int ForkPos2 { get;set; }
-        public SrmMode Mode { get;set; }
-        public SrmRunStatus Status { get;set; }
-        public short Alarm { get;set; }
-        public short Row { get;set; }
-        public short Col { get;set; }
-        public short Layer { get;set; }
-        public int TravelPos { get;set; }
-        public int LiftPos { get;set; }
-        public float TotalKM { get;set; }
-        public float RunTime { get;set; }
-        public short VoucherNo { get;set; }
+        [TimeDbSplitField(DateType.Day)]
+        public DateTime Frame { get; set; }
+
+        [SugarColumn(ColumnDataType = "symbol")]
+        public string Code { get; set; }
+
+        public int TaskID1 { get; set; }
+        public short SRow1 { get; set; }
+        public short SCol1 { get; set; }
+        public short SLayer1 { get; set; }
+        public short Cancel1 { get; set; }
+        public short ERow1 { get; set; }
+        public short ECol1 { get; set; }
+        public short ELayer1 { get; set; }
+        public short EDepth1 { get; set; }
+        public int FinishedTaskID1 { get; set; }
+        public int ForkPos1 { get; set; }
+        public int TaskID2 { get; set; }
+        public short SRow2 { get; set; }
+        public short SCol2 { get; set; }
+        public short SLayer2 { get; set; }
+        public short Cancel2 { get; set; }
+        public short ERow2 { get; set; }
+        public short ECol2 { get; set; }
+        public short ELayer2 { get; set; }
+        public short EDepth2 { get; set; }
+        public int FinishedTaskID2 { get; set; }
+        public int ForkPos2 { get; set; }
+        public SrmMode Mode { get; set; }
+        public SrmRunStatus Status { get; set; }
+        public short Alarm { get; set; }
+        public short Row { get; set; }
+        public short Col { get; set; }
+        public short Layer { get; set; }
+        public int TravelPos { get; set; }
+        public int LiftPos { get; set; }
+        public float TotalKM { get; set; }
+        public float RunTime { get; set; }
+        public short VoucherNo { get; set; }
     }
-}
+}

+ 11 - 2
WCS.Entity.Protocol/SRM/WCS_SRM537.cs

@@ -1,4 +1,6 @@
-using System.Runtime.Serialization;
+using SqlSugar;
+using System;
+using System.Runtime.Serialization;
 
 namespace WCS.Entity.Protocol.SRM
 {
@@ -6,10 +8,17 @@ namespace WCS.Entity.Protocol.SRM
     ///  SRM537
     /// </summary>
     [DataContract]
+    [SugarTable("SX_SRM537")]
     public class WCS_SRM537 : ISRM537
     {
+        [TimeDbSplitField(DateType.Day)]
+        public DateTime Frame { get; set; }
+
+        [SugarColumn(ColumnDataType = "symbol")]
+        public string Code { get; set; }
+
         /// <inheritdoc/>
         [DataMember(Order = 0)]
         public SrmAlarm Alarm { get; set; }
     }
-}
+}

+ 12 - 2
WCS.Entity.Protocol/SRM/WCS_SRM542.cs

@@ -1,4 +1,6 @@
-using System.Runtime.Serialization;
+using SqlSugar;
+using System;
+using System.Runtime.Serialization;
 
 namespace WCS.Entity.Protocol.SRM
 {
@@ -6,13 +8,21 @@ namespace WCS.Entity.Protocol.SRM
     ///  SRM522
     /// </summary>
     [DataContract]
+    [SugarTable("SX_SRM542")]
     public class WCS_SRM542 : ISRM542
     {
+        [TimeDbSplitField(DateType.Day)]
+        public DateTime Frame { get; set; }
+
+        [SugarColumn(ColumnDataType = "symbol")]
+        public string Code { get; set; }
+
         /// <inheritdoc/>
         [DataMember(Order = 0)]
         public SrmAlarmExt Alarm { get; set; }
+
         /// <inheritdoc/>
         [DataMember(Order = 1)]
         public SrmAlarmExt1 Alarm1 { get; set; }
     }
-}
+}

+ 1 - 0
WCS.Entity.Protocol/WCS.Entity.Protocol.csproj

@@ -15,6 +15,7 @@
   </PropertyGroup>
 
   <ItemGroup>
+    <PackageReference Include="SqlSugar" Version="1.0.0.3" />
     <PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
   </ItemGroup>
 

+ 2 - 2
WCS.Service/appsettings.json

@@ -7,7 +7,7 @@
     }
   },
   "ConnectionStrings": {
-    "Redis": "10.30.37.2:6379,database=0,prefix=SX:"
-    //"Redis": "127.0.0.1,database=0,prefix=Sorting:"
+    //"Redis": "10.30.37.2:6379,database=0,prefix=SX:",
+    "Redis": "127.0.0.1:6379,password=7166766,database=0,prefix=SX-SJCL:"
   }
 }

+ 2 - 2
WCS.WorkEngineering/Systems/DataCollectionSysyem.cs

@@ -48,7 +48,7 @@ namespace WCS.WorkEngineering.Systems
             //通过数据条数处理
             var db = new SqlSugarHelper().PLC;
             var plcEx = new SqlSugarHelper().PLCEX;
-            ExRobotRunInfo(db, plcEx);
+            //ExRobotRunInfo(db, plcEx);
             ExSrmRunInfo(db, plcEx);
             //ExRobotAlarmInfo(db);
             //ExSrmAlarmInfo(db);
@@ -877,7 +877,7 @@ namespace WCS.WorkEngineering.Systems
         }
 
         /// <summary>
-        /// 机械臂
+        /// 堆垛机任务数量统计
         /// </summary>
         /// <param name="db"></param>
         public void ExSrmTaskSumRunInfo(SqlSugarScopeProvider db, SqlSugarScopeProvider plcEx)

+ 2 - 2
WCS.WorkEngineering/WorkStart.cs

@@ -63,8 +63,8 @@ namespace WCS.WorkEngineering
                             SqlSugarHelper.SetPLCEX(connectionString.Key);
 
                             //_db.DbMaintenance.CreateDatabase();
-                            //_db.CodeFirst.InitTables<DevRunInfo>();
-                            //_db.CodeFirst.InitTables<DevAlarmInfo>();
+                            _db.CodeFirst.InitTables<DevRunInfo>();
+                            _db.CodeFirst.InitTables<DevAlarmInfo>();
 
                             break;