From c8f338feee0b6003d8f069b1d37fd9b90dd1b7f4 Mon Sep 17 00:00:00 2001 From: 杨前锦 <1010338399@qq.com> Date: 星期一, 07 七月 2025 17:31:38 +0800 Subject: [PATCH] 印尼佳通优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/process/TaskProcess.cs | 154 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 98 insertions(+), 56 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/process/TaskProcess.cs index b63289e..739910e 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/process/TaskProcess.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/process/TaskProcess.cs @@ -9,6 +9,7 @@ using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; +using static HH.WCS.Mobox3.FJJT.dispatch.XcDispatch; namespace HH.WCS.Mobox3.FJJT.process { internal class TaskProcess { @@ -28,13 +29,6 @@ else { Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}"); LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}"); - // 缁堢偣涓虹洿杩炵紦瀛樹綅锛屼笉缁戝畾 - var loc = WMSHelper.GetTransfeRelevance(mst.S_END_LOC); - if (loc != null && loc.N_PROPERTY == 1) - { - LocationHelper.UnLockLoc(mst.S_END_LOC); - return; - } LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList()); } } @@ -69,42 +63,89 @@ internal static void OperateReq(string no, int state, string forkliftNo, string extData) { LogHelper.Info($"寮�瀹夊叏璇锋眰锛屼换鍔″彿:{no},璇锋眰鐮�{state}", "HosttoagvTask"); var cst = WCSHelper.GetTask(no); - var taskAction = WCSHelper.getActionRecord(no, state); - if (taskAction != null) + if (cst != null) { - LogHelper.Info($"鍐嶆瀹夊叏璇锋眰锛屾煡璇㈣澶囨槸鍚﹀弽棣�, "HosttoagvTask"); - if (taskAction.N_S_STATUS == 1) + var taskAction = WCSHelper.getActionRecord(no, state); + if (taskAction != null) { - LogHelper.Info($"鍐嶆瀹夊叏璇锋眰锛岃澶囧凡鍙嶉", "HosttoagvTask"); - NDCApi.ChangeOrderParam(no, 8, "1"); + LogHelper.Info($"鍐嶆瀹夊叏璇锋眰锛屾煡璇㈣澶囨槸鍚﹀弽棣�, "HosttoagvTask"); + if (taskAction.N_S_STATUS == 1) + { + LogHelper.Info($"鍐嶆瀹夊叏璇锋眰锛岃澶囧凡鍙嶉", "HosttoagvTask"); + NDCApi.ChangeOrderParam(no, 8, "1"); + } } - } - else - { - LogHelper.Info($"棣栨杩涜瀹夊叏璇锋眰锛屼换鍔″彿:{no},璇锋眰鐮�{state}", "HosttoagvTask"); - bool result = false; - if (state == 1101) + else { - result = WCSDispatch.safetyInteraction(cst.S_CODE ,cst.S_START_LOC, "1"); //璇锋眰鍙栬揣锛�- } - if (state == 1102) - { - result = WCSDispatch.safetyInteraction(cst.S_CODE, cst.S_START_LOC, "2"); //璇锋眰杩旇揣 - } - if (state == 1103) - { - result = WCSDispatch.safetyInteraction(cst.S_CODE, cst.S_START_LOC, "3"); //鍙栬揣瀹屾垚鍏佽绂诲紑 - } - if (state == 1104) - { - result = WCSDispatch.safetyInteraction(cst.S_CODE, cst.S_START_LOC, "4"); //鏀捐揣瀹屾垚鍏佽绂诲紑 - } + LogHelper.Info($"棣栨杩涜瀹夊叏璇锋眰锛屼换鍔″彿:{no},璇锋眰鐮�{state}", "HosttoagvTask"); + bool result = false; + if (state == 1101) + { + if (cst.S_START_AREA == "") + { + result = XcDispatch.CanOut(new SafetyRequest() { stnNo = cst.S_START_LOC, taskNo = cst.S_CODE }); + if (result) + { + NDCApi.ChangeOrderParam(no, 8, "1"); + } + } + else + { + result = WCSDispatch.safetyInteraction(cst.S_CODE, cst.S_START_LOC, "1"); //璇锋眰鍙栬揣锛�+ } + } + if (state == 1102) + { + if (cst.S_START_AREA == "") + { + result = XcDispatch.CanIn(new SafetyRequest() { stnNo = cst.S_END_LOC, taskNo = cst.S_CODE }); + if (result) + { + NDCApi.ChangeOrderParam(no, 8, "1"); + } + } + else + { + result = WCSDispatch.safetyInteraction(cst.S_CODE, cst.S_END_LOC, "2"); //璇锋眰鏀捐揣 + } + } + if (state == 1103) + { + if (cst.S_START_AREA == "") + { + result = XcDispatch.loadComplete(new SafetyRequest() { stnNo = cst.S_END_LOC, taskNo = cst.S_CODE }); + if (result) + { + NDCApi.ChangeOrderParam(no, 8, "1"); + } + } + else + { + result = WCSDispatch.safetyInteraction(cst.S_CODE, cst.S_START_LOC, "3"); //鍙栬揣瀹屾垚鍏佽绂诲紑 + } + } + if (state == 1104) + { + if (cst.S_START_AREA == "") + { + result = XcDispatch.putComplete(new SafetyRequest() { stnNo = cst.S_END_LOC, taskNo = cst.S_CODE }); + if (result) + { + NDCApi.ChangeOrderParam(no, 8, "1"); + } + } + else + { + result = WCSDispatch.safetyInteraction(cst.S_CODE, cst.S_END_LOC, "4"); //鏀捐揣瀹屾垚鍏佽绂诲紑 + } + } - // 瀹夊叏璇锋眰鍙戦�鎴愬姛锛屾坊鍔犱换鍔″姩浣滆褰�- if (result) - { - WCSHelper.AddActionRecord(no, state, forkliftNo, extData); - LogHelper.Info($"棣栨杩涜瀹夊叏璇锋眰鎴愬姛", "HosttoagvTask"); + // 瀹夊叏璇锋眰鍙戦�鎴愬姛锛屾坊鍔犱换鍔″姩浣滆褰�+ if (result) + { + WCSHelper.AddActionRecord(no, state, forkliftNo, extData); + LogHelper.Info($"棣栨杩涜瀹夊叏璇锋眰鎴愬姛", "HosttoagvTask"); + } } } } @@ -150,26 +191,28 @@ /// <param name="mst"></param> internal static bool SendTask(WCSTask mst) { var result = false; - var start = "0"; var end = "0"; if (mst.N_B_STATE == 0) { if (mst.S_SCHEDULE_TYPE == "NDC") { - start = LocationHelper.GetAgvSite(mst.S_START_LOC); - end = LocationHelper.GetAgvSite(mst.S_END_LOC); - - var dic = new List<param>(); - dic.Add( new param() { name = "No" , value = ""}); - dic.Add( new param() { name = "From", value = ""}); - dic.Add( new param() { name = "To", value = ""}); - dic.Add( new param() { name = "3" , value = "4"}); - dic.Add( new param() { name = "4" , value = "512"}); - dic.Add( new param() { name = "5" , value = "0"}); - var res = NDCApi.AddOrderNew(1,mst.N_PRIORITY,mst.S_CODE,dic); - if (res != null && res.err_code == 0 ) { - //鎺ㄩ�鎴愬姛锛屼慨鏀逛换鍔′紭鍏堢骇 - mst.N_B_STATE = 1; - WCSHelper.UpdateStatus(mst); - result = true; + var startLoc = LocationHelper.GetLoc(mst.S_START_LOC); + var endLoc = LocationHelper.GetLoc(mst.S_END_LOC); + if (startLoc != null && endLoc != null) + { + var dic = new List<param>(); + dic.Add(new param() { name = "No", value = mst.S_CODE }); + dic.Add(new param() { name = "From", value = mst.S_START_LOC }); + dic.Add(new param() { name = "To", value = mst.S_END_LOC }); + dic.Add(new param() { name = "3", value = "4" }); + dic.Add(new param() { name = "4", value = "512" }); + dic.Add(new param() { name = "5", value = "0" }); + var res = NDCApi.AddOrderNew(1, mst.N_PRIORITY, mst.S_CODE, dic); + if (res != null && res.err_code == 0) + { + //鎺ㄩ�鎴愬姛锛屼慨鏀逛换鍔′紭鍏堢骇 + mst.N_B_STATE = 1; + WCSHelper.UpdateStatus(mst); + result = true; + } } } else if (mst.S_SCHEDULE_TYPE == "WCS") { @@ -182,7 +225,6 @@ mst.N_B_STATE = 1; WCSHelper.UpdateStatus(mst); } - } return result; } -- Gitblit v1.9.1