From c9e3a7f0c154892f2327e300e28af53f81e40ad0 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周四, 20 2月 2025 11:03:24 +0800
Subject: [PATCH] 软件加密+ 修复 不断给plc报警的问题

---
 CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs |   86 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 85 insertions(+), 1 deletions(-)

diff --git a/CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs b/CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs
index b0fd52f..83cb7be 100644
--- a/CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs
+++ b/CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs
@@ -15,7 +15,7 @@
 using System.Threading;
 using System.Threading.Tasks;
 using XiGang.Core.Model;
-
+using LogType = iWareCommon.Utils.LogType;
 
 namespace iWareCC.Common.Helper
 {
@@ -26,6 +26,90 @@
     {
 
         /// <summary>
+        /// 鍏叡鐨勬帶鍒惰姹傚璞″瓧鍏�
+        /// </summary>
+        public static IDictionary<string, ControlRequest> controlRequestDicts = new Dictionary<string, ControlRequest>();
+
+        /// <summary>
+        /// 鍏叡鐨勬帶鍒惰姹傚璞″瓧鍏歌祴鍊�
+        /// </summary>
+        /// <param name="placeNo"></param>
+        /// <param name="result"></param>
+        /// <param name="msg"></param>
+        public static void SetValueControlRequestDicts(string placeNo, bool result, string msg)
+        {
+            if (controlRequestDicts.ContainsKey(placeNo))
+            {
+                controlRequestDicts[placeNo].IsSuccess = result;
+                controlRequestDicts[placeNo].LastTime = DateTime.Now;
+                controlRequestDicts[placeNo].PlaceNo = placeNo;
+                if (result)
+                {
+                    controlRequestDicts[placeNo].Count = 0;
+                    controlRequestDicts[placeNo].ErrMsg = "";
+                }
+                else
+                {
+                    controlRequestDicts[placeNo].Count++;
+                    controlRequestDicts[placeNo].ErrMsg = msg;
+                }
+            }
+            else
+            {
+                if (result)
+                {
+                    controlRequestDicts.Add(placeNo, new ControlRequest()
+                    {
+                        PlaceNo = placeNo,
+                        Count = 0,
+                        LastTime = DateTime.Now,
+                        ErrMsg = msg,
+                        IsSuccess = result
+                    });
+                }
+                else
+                {
+                    controlRequestDicts.Add(placeNo, new ControlRequest()
+                    {
+                        PlaceNo = placeNo,
+                        Count = 1,
+                        LastTime = DateTime.Now,
+                        ErrMsg = msg,
+                        IsSuccess = result
+                    });
+                }
+            }
+        }
+
+        /// <summary>
+        /// 楠岃瘉鏄惁鍏佽缁橮LC鍙戞姤璀�
+        /// </summary>
+        /// <param name="placeNo"></param>
+        /// <returns></returns>
+        public static bool ValidateIsAllowRequest(string placeNo, LogType logType)
+        {
+            if (controlRequestDicts.ContainsKey(placeNo))
+            {
+                if (controlRequestDicts[placeNo].IsSuccess == false)
+                {
+                    //var diff = DateTime.Now - controlRequestDicts[placeNo].LastTime;
+                    //if (diff.Seconds <= 10)
+                    //{//濡傛灉杩炵画璇锋眰鍦�10绉掑唴锛屽垯璁や负 涓嶉渶瑕佸啀娆¤姹�
+                    //    WZ.Useful.Commons.LogTextHelper.WriteLine("CommonControl", "ValidateIsAllowRequest", "濡傛灉杩炵画璇锋眰鍦�10绉掑唴锛屽垯璁や负 涓嶉渶瑕佸啀娆¤姹傦紝闂撮殧" + diff.Seconds + "绉�,placeNo:" + placeNo);
+                    //    return false;
+                    //}
+                    if (controlRequestDicts[placeNo].Count <= 5)
+                    {//濡傛灉杩炵画璇锋眰鍦�5娆″唴锛屽垯璁や负 涓嶉渶瑕佸啀娆¤姹�
+                        var msg = "濡傛灉杩炵画璇锋眰鍦�5娆″唴锛屽垯璁や负 涓嶉渶瑕佸啀娆¤姹傦紝闂撮殧" + controlRequestDicts[placeNo].Count + "涓�,placeNo:" + placeNo;
+                        Log4NetHelper.WriteInfoLog(logType, msg);
+                        return false;
+                    }
+                }
+            }
+            return true;
+        }
+
+        /// <summary>
         /// 鐢熸垚鏈�鏂扮殑浠诲姟鍙�
         /// </summary>
         /// <param name="wmsDB"></param>

--
Gitblit v1.9.3