From a93b0e99036c24b9bd58c79bf5e7364b1ba28bae Mon Sep 17 00:00:00 2001 From: 杨前锦 <1010338399@qq.com> Date: 星期二, 01 七月 2025 16:02:33 +0800 Subject: [PATCH] 福建佳通-流程优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/process/TaskProcess.cs | 117 ++++++++++++++++++++++------------------------------------ 1 files changed, 45 insertions(+), 72 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/process/TaskProcess.cs index 146d3d4..0cbfa0f 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/process/TaskProcess.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/process/TaskProcess.cs @@ -9,6 +9,7 @@ using System.Linq; using System.Reflection; using System.Security.Cryptography; +using static HH.WCS.Mobox3.YNJT_PT.dispatch.WCSDispatch; namespace HH.WCS.Mobox3.YNJT_PT.process { internal class TaskProcess { @@ -20,7 +21,6 @@ /// <param name="mst"></param> /// <param name="v"></param> internal static void CacheBitUpdate(WCSTask mst, bool load) { - var trayCarryCount = mst.N_CNTR_COUNT > 0 ? mst.N_CNTR_COUNT : 1; if (load) { Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}"); LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}"); @@ -244,94 +244,67 @@ var startLoc = LocationHelper.GetLocation(mst.S_START_LOC); var endLoc = LocationHelper.GetLocation(mst.S_END_LOC); - if (mst.S_SCHEDULE_TYPE == "NDC") { - Console.WriteLine($"SendTask {mst.S_CODE}"); - var dic = new Dictionary<string, string>(); - dic.Add("No", mst.S_CODE); - dic.Add("Pri", mst.N_PRIORITY.ToString()); - dic.Add("From", startLoc.S_AGV_SITE); - dic.Add("To", endLoc.S_AGV_SITE); - if (mst.S_TYPE == "绉诲簱") + if (mst.S_SCHEDULE_TYPE == "AGV") + { + AddOrderNewModel model = new AddOrderNewModel() { - dic.Add("FUNC", "32"); + ts_no = 1, + pri = 1, + task_no = mst.S_CODE + }; + List<Param> paramList = new List<Param>(); + var dic = new Dictionary<string, string>(); + dic.Add("IKey", mst.S_CODE); + dic.Add("From", startLoc.S_CODE); + dic.Add("To", endLoc.S_CODE); + dic.Add("FUNC", "0"); + if (mst.S_TYPE.Contains("鍏ュ簱")) + { + dic.Add("DATA", "300"); } else { - dic.Add("FUNC", "0"); + dic.Add("DATA", "0"); } - - var data = mst.N_END_LAYER + 16 * mst.N_START_LAYER; - // 鍙傛暟4 - dic.Add("DATA", data.ToString()); - //鐗╂枡淇℃伅涓幏鍙�- //鍏堣幏鍙栨墭鐩樹俊鎭�- var itemInfo = LocationHelper.GetCntrItem(mst.S_CNTR_CODE); - if (itemInfo != null) { - // 鍙傛暟5 - dic.Add("ItemHeight", itemInfo.N_TS_HEIGHT); - //鍙傛暟6 榛樿鍊�- string[] parts = itemInfo.Item_Spec.Split('*'); - if (parts.Length > 1) + dic.Add("Ctype", "0"); + foreach (var item in dic) + { + Param param = new Param { - if (parts[1].Equals("1200")) - { - dic.Add("TrayType", "1"); - } - else if (parts[1].Equals("1210")) - { - dic.Add("TrayType", "2"); - } - } + name = item.Key, + value = item.Value, + }; + paramList.Add(param); } - - //鑾峰彇鍙傛暟7鍜� - dic.Add("FromCol", "0"); - dic.Add("ToCol", "0"); - - //鏀硅捣鐐�- var flb1 = GetFreeLineBit(startLoc.S_AREA_CODE, startLoc.N_ROW, startLoc.N_COL); - if (flb1 != null) { - dic["FromCol"] = (startLoc.N_COL - flb1.minCol).ToString(); - if (mst.N_START_LAYER == 1) { - dic["From"] = flb1.bit1.ToString(); - } - else { - dic["From"] = flb1.bit2.ToString(); - } - } - //鏀圭粓鐐�- var flb = GetFreeLineBit(endLoc.S_AREA_CODE, endLoc.N_ROW, endLoc.N_COL); - if (flb != null) { - dic["ToCol"] = (endLoc.N_COL - flb.minCol).ToString(); - if (mst.N_END_LAYER == 1) { - dic["To"] = flb.bit1.ToString(); - } - else { - dic["To"] = flb.bit2.ToString(); - } - } - - var res = NDC.AddNewOrderNew(5, mst.N_PRIORITY, mst.S_CODE, dic); - if (res != null && (res.Res.ErrCode == 0 || res.Res.ErrCode == 50009)) { + model.param = paramList; + LogHelper.Info($"鍚慉GV涓嬪彂浠诲姟锛屼换鍔″弬鏁帮細{model}", "WMS"); + var res = NDCApi.AddOrderNew(model); + if (res != null && res.err_code == 0 || true) + { //鎺ㄩ�鎴愬姛锛屼慨鏀逛换鍔′紭鍏堢骇 mst.N_B_STATE = 1; WCSHelper.UpdateStatus(mst); result = true; } } - else if (mst.S_SCHEDULE_TYPE == "鏉ゥ") { - //璋冪涓夋柟鎺ュ彛 - var model = new HanAo.TaskInfoModel + else if (mst.S_SCHEDULE_TYPE == "WCS") + { + SendTaskModel sendTask = new SendTaskModel() { - requestPk = mst.S_CODE, - frmPos = mst.S_START_LOC, - toPos = mst.S_END_LOC, - trkType = mst.S_OP_NAME == "鍏ュ簱" ? "1" : "2", - contNo = mst.S_CNTR_CODE + taskNo = mst.S_CODE, + taskType = mst.S_TYPE.Contains("鍏ュ簱") ? "1" : "2", + from = mst.S_START_LOC, + to = mst.S_END_LOC, + cntrNo = mst.S_CNTR_CODE, }; - if (HanAo.CreateOrder(model)) { + LogHelper.Info($"鍚慦CS涓嬪彂浠诲姟锛屼换鍔″弬鏁帮細{sendTask}", "WMS"); + var bo = WCSDispatch.sendTask(sendTask); + if (true || bo) + { + //鎺ㄩ�鎴愬姛锛屼慨鏀逛换鍔′紭鍏堢骇 mst.N_B_STATE = 1; WCSHelper.UpdateStatus(mst); + result = true; } } } -- Gitblit v1.9.1