From 850105e8cdf0d048ef843d87520513ac77a64200 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期三, 23 七月 2025 21:21:53 +0800
Subject: [PATCH] 代码提交

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/RGV/ICommonRGV.cs |   74 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 72 insertions(+), 2 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/RGV/ICommonRGV.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/RGV/ICommonRGV.cs"
index b901996..990bc6e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/RGV/ICommonRGV.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/RGV/ICommonRGV.cs"
@@ -1,13 +1,83 @@
-锘縰sing System;
+锘縰sing HslCommunication;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEAWCS_Communicator;
 using WIDESEAWCS_QuartzJob.DeviceBase;
+using WIDESEAWCS_QuartzJob.DTO;
+using WIDESEAWCS_QuartzJob.StackerCrane;
 
-namespace WIDESEAWCS_QuartzJob.RGV
+namespace WIDESEAWCS_QuartzJob
 {
     public interface ICommonRGV: IDevice
     {
+        /// <summary>
+        /// 鍫嗗灈鏈洪�氳瀵硅薄
+        /// </summary>
+        BaseCommunicator Communicator { get; }
+
+        /// <summary>
+        /// 鍫嗗灈鏈哄崗璁俊鎭�
+        /// </summary>
+        List<DeviceProDTO> DeviceProDTOs { get; }
+
+        /// <summary>
+        /// 鍫嗗灈鏈哄崗璁槑缁嗕俊鎭�
+        /// </summary>
+        List<DeviceProtocolDetailDTO> DeviceProtocolDetailDTOs { get; }
+
+        /// <summary>
+        /// 涓婁竴娆℃墽琛岀殑浠诲姟
+        /// </summary>
+        int LastTaskNum { get; }
+
+        /// <summary>
+        /// 褰撳墠姝e湪鎵ц鐨勪换鍔�
+        /// </summary>
+        int CurrentTaskNum { get; }
+
+        /// <summary>
+        /// 涓婁竴娆′换鍔$被鍨�
+        /// </summary>
+        int? LastTaskType { get; set; }
+
+        /// <summary>
+        /// 涓庤澶囩殑蹇冭烦
+        /// </summary>
+        void Heartbeat();
+
+        /// <summary>
+        /// 鍙戦�佷换鍔″懡浠�
+        /// </summary>
+        /// <param name="command">浠诲姟鍛戒护</param>
+        /// <returns></returns>
+        bool SendCommand<T>(T command) where T : IDataTransfer, new();
+
+        /// <summary>
+        /// 鍫嗗灈鏈轰换鍔″畬鎴愪簨浠�
+        /// </summary>
+        event EventHandler<StackerCraneTaskCompletedEventArgs> StackerCraneTaskCompletedEventHandler;
+
+        /// <summary>
+        /// 璇诲彇PLC鍗忚鍦板潃鐨勬暟鎹�
+        /// </summary>
+        /// <typeparam name="TEnum">鍗忚淇℃伅鐨勬灇涓惧璞′俊鎭��</typeparam>
+        /// <typeparam name="TRsult">璇诲彇鏁版嵁鐨勭被鍨嬪璞′俊鎭��</typeparam>
+        /// <param name="value">鏋氫妇鍊�</param>
+        /// <returns>璇诲彇鍒扮殑鏁版嵁</returns>
+        TRsult GetValue<TEnum, TRsult>(TEnum value) where TEnum : Enum;
+
+        /// <summary>
+        /// 鏍规嵁鍙傛暟鍚嶇О鍐欏叆鍫嗗灈鏈哄搴旂殑鏁版嵁銆�
+        /// </summary>
+        /// <typeparam name="TEnum">鍙傛暟鍚嶇О鏋氫妇绫诲瀷銆�</typeparam>
+        /// <typeparam name="TValue">瑕佸啓鍏ョ殑鏁版嵁绫诲瀷銆�</typeparam>
+        /// <param name="enum">鍙傛暟鍚嶇О銆�</param>
+        /// <param name="value">瑕佸啓鍏ョ殑鏁版嵁銆�</param>
+        /// <returns>杩斿洖鍐欏叆鎴愬姛鎴栧け璐�</returns>
+        /// <exception cref="Exception"></exception>
+        bool SetValue<TEnum, TValue>(TEnum @enum, TValue value) where TEnum : Enum where TValue : notnull;
     }
 }

--
Gitblit v1.9.3