From f398a14e78be869dbe96746bada7be3fc2b0b223 Mon Sep 17 00:00:00 2001
From: pengmn <pmn@HanInfo>
Date: 星期一, 23 六月 2025 17:47:24 +0800
Subject: [PATCH] 杭氧

---
 HH.WCS.Mobox3.HangYang/core/WCSCore.cs |   60 ++++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 36 insertions(+), 24 deletions(-)

diff --git a/HH.WCS.Mobox3.HangYang/core/WCSCore.cs b/HH.WCS.Mobox3.HangYang/core/WCSCore.cs
index 6abfd39..a02ebea 100644
--- a/HH.WCS.Mobox3.HangYang/core/WCSCore.cs
+++ b/HH.WCS.Mobox3.HangYang/core/WCSCore.cs
@@ -85,8 +85,9 @@
         private static void HandleAreaChange(WCSTask task)
         {
             var areas = new List<string> { "TPLKQ", "LXLKQ" };
+            var area = new List<string> { "閰嶇洏鍑哄簱", "閰嶇洏缂撳瓨" };
 
-            if (areas.Contains(task.S_START_AREA))
+            if (areas.Contains(task.S_START_AREA) && !area.Contains(task.S_TYPE))
             {
                 WMSHelper.DeleteChange(task);
             }
@@ -119,6 +120,10 @@
 
 
         #region 鏉哀浠诲姟鏈嶅姟
+        private static readonly object _jobLock = new object();
+
+
+
         /// <summary>
         /// 寰幆浣滀笟鐢熸垚浠诲姟
         /// </summary>
@@ -126,28 +131,32 @@
         {
             try
             {
-                //鏌ヨ浠诲姟
-                //鑾峰彇鎵�湁绛夊緟鐨勪綔涓�-                var list = WMSHelper.GetWmsTaskListByState("绛夊緟");
-                if (list.Count > 0)
+                lock (_jobLock)
                 {
-                    list.ForEach(async task =>
+                    //鏌ヨ浠诲姟
+                    //鑾峰彇鎵�湁绛夊緟鐨勪綔涓�+                    var list = WMSHelper.GetWmsTaskListByState("绛夊緟");
+                    if (list.Count > 0)
                     {
-                        //鐢熸垚鍏ュ簱浠诲姟
-                        await TaskProcess.CreateInTask(task);
-                    });
-                }
-                //鏌ヨ浠诲姟
-                //鑾峰彇鎵�湁鎵ц鐨勪綔涓�-                var exelist = WMSHelper.GetWmsTaskListByState("鎵ц");
-                if (exelist.Count > 0)
-                {
-                    exelist.ForEach(task =>
+                        list.ForEach(async task =>
+                        {
+                            //鐢熸垚鍏ュ簱浠诲姟
+                            await TaskProcess.CreateInTask(task);
+                        });
+                    }
+                    //鏌ヨ浠诲姟
+                    //鑾峰彇鎵�湁鎵ц鐨勪綔涓�+                    var exelist = WMSHelper.GetWmsTaskListByState("鎵ц");
+                    if (exelist.Count > 0)
                     {
-                        //鐢熸垚浠庡垎鎷f殏瀛樺尯鍒伴泦璐ф墭鐩樹綅鐨勪换鍔′换鍔�-                        TaskProcess.exeCreateInTask(task);
-                    });
+                        exelist.ForEach(task =>
+                        {
+                            //鐢熸垚浠庡垎鎷f殏瀛樺尯鍒伴泦璐ф墭鐩樹綅鐨勪换鍔′换鍔�+                            TaskProcess.exeCreateInTask(task);
+                        });
+                    }
                 }
+                    
             }
             catch (Exception ex)
             {
@@ -163,7 +172,6 @@
             }
 
         }
-
 
         /// <summary>
         /// 寰幆鎺ラ┏浣嶇敓鎴愬叆搴撲换鍔�@@ -201,12 +209,16 @@
         {
             try
             {
-                //鏌ヨ宸查厤鐩樼殑閰嶇洏鍗�-                var list = WMSHelper.GetPickingListByState(1);
-                if (list.Count > 0)
+                lock (_jobLock)
                 {
-                    TaskProcess.GenerateFromPicking(list);
+                    //鏌ヨ宸查厤鐩樼殑閰嶇洏鍗�+                    var list = WMSHelper.GetPickingListByState(1);
+                    if (list.Count > 0)
+                    {
+                        TaskProcess.GenerateFromPicking(list);
+                    }
                 }
+                    
             }
             catch (Exception ex)
             {

--
Gitblit v1.9.1