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