From 17e3ef45fe0a6b6f8a147b50740834ac734f9317 Mon Sep 17 00:00:00 2001 From: lss <2538410689@qq.com> Date: 星期二, 15 七月 2025 17:30:13 +0800 Subject: [PATCH] 1111 --- HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/TaskProcess.cs | 94 +++++++++++++++++++++++++++++++++------------- 1 files changed, 67 insertions(+), 27 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/TaskProcess.cs index 8fc972b..bcc1c77 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/TaskProcess.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/TaskProcess.cs @@ -2,6 +2,7 @@ using HH.WCS.DaYang.dispatch; using HH.WCS.DaYang.util; using HH.WCS.DaYang.wms; +using HH.WCS.JunzhouNongfu.device; using Newtonsoft.Json; using NLog.Fluent; using SqlSugar; @@ -128,36 +129,39 @@ //璁惧鐘舵�绌哄垯鍏佽鎺ㄩ� if (DeviceStatu != null && DeviceStatu.Data.PhotoStatus == 0) { - result = true; + } else { LogHelper.Info($"Intercept:璁惧鐘舵�涓嶅厑璁告帹閫�); + result = true; } } else { LogHelper.Info($"Intercept:鑾峰彇鎺ュ彛url澶辫触"); + result = true; } } } if (mst.N_SCHEDULE_TYPE == 2) { var task = WCSHelper.GetTaskByOpName(mst.S_OP_CODE, 3); - if (task != null) + if (task == null) { result = true; } } } - if (mst.S_TYPE == "鍑哄簱") + if (mst.S_TYPE.Contains("鍑哄簱")) { + //鎺ㄩ�agv浠诲姟锛屽垽鏂澶囦换鍔℃槸鍚﹀畬鎴� if (mst.N_SCHEDULE_TYPE == 1) { var task = WCSHelper.GetTaskByOpName(mst.S_OP_CODE, 3); - if (task != null) + if (task == null) { result = true; } @@ -165,7 +169,7 @@ else { //濡傛灉褰撳墠浠诲姟涓嶆槸绉诲簱浠诲姟锛岄渶瑕佸垽鏂Щ搴撲换鍔℃槸鍚﹀畬鎴�- if (mst.S_TYPE != "绉诲簱") + if (!mst.S_TYPE.Contains("绉诲簱")) { var db = new SqlHelper<object>().GetInstance(); var ykmst = db.Queryable<WCSTask>().Where(a => a.S_OP_CODE == mst.S_OP_NAME && a.N_B_STATE == 3 && a.S_TYPE == "绉诲簱").First(); @@ -173,6 +177,21 @@ { result = true; } + } + else + { + //鍑哄簱浠诲姟鍒ゆ柇澶栦晶鏈夋病鏈夐攣 + var startLoc = LocationHelper.GetLoc(mst.S_START_LOC); + if (startLoc != null && startLoc.N_POS == 1) + { + var db = new SqlHelper<WCSTask>().GetInstance(); + var OutLoc = db.Queryable<Location>().Where(b => b.S_AREA_CODE == startLoc.S_AREA_CODE && b.N_LAYER == startLoc.N_LAYER && b.N_POS == 2).First(); + if (OutLoc != null && OutLoc.N_LOCK_STATE != 0) + { + result = true; + } + } + } } @@ -357,38 +376,59 @@ var start = "0"; var end = "0"; var taskType = mst.S_TYPE.Trim(); - if (mst.N_SCHEDULE_TYPE == 1)//agv浠诲姟 + if (mst.N_SCHEDULE_TYPE == 1) { + LogHelper.Info($"浠诲姟鎺ㄩ�鏁版嵁锛歿JsonConvert.SerializeObject(mst)}"); + if (string.IsNullOrEmpty(mst.S_START_LOC) || string.IsNullOrEmpty(mst.S_END_LOC)) + { + LogHelper.Info($"浠诲姟{mst.S_CODE},璧风偣缁堢偣鏈夌┖鍙傛暟锛屼笉鎺ㄩ�浠诲姟"); + } + + start = LocationHelper.GetAgvSite(mst.S_START_LOC); end = LocationHelper.GetAgvSite(mst.S_END_LOC); + //if (mst.N_START_LAYER > 1) + //{ + // start = LocationHelper.GetAgvSite(mst.S_START_LOC, mst.N_START_LAYER.ToString()).ToString(); + //} + if (mst.N_END_LAYER > 1) + { + end = LocationHelper.GetAgvSite(mst.S_END_LOC, mst.N_END_LAYER.ToString()).ToString(); + LogHelper.Info($"浠诲姟鎺ㄩ�锛氱粓鐐瑰眰鏁颁负{mst.N_END_LAYER}锛屾帹閫佺珯鐐逛负:{end}"); + } + Console.WriteLine($"SendTask {mst.S_CODE}"); + Console.WriteLine("start=" + start); + Console.WriteLine("end= " + end); + List<param> dic = new List<param>(); + dic.Add(new param() { name = "From", value = start.ToString() }); + dic.Add(new param() { name = "To", value = end.ToString() }); + dic.Add(new param() { name = "FUNC", value = "0" }); + dic.Add(new param() { name = "DATA", value = "0" }); + dic.Add(new param() { name = "Ctype", value = "0" }); - //Console.WriteLine($"SendTask {mst.S_CODE}"); - //Console.WriteLine("start=" + start); - //Console.WriteLine("end= " + end); - var dic = new Dictionary<string, string>(); - var sb1 = new StringBuilder(); + var res = NDCApi.AddOrderNew(1, 1, mst.S_CODE, dic);//娣诲姞鏂板懡浠�+ //dic.Add("Pri", mst.N_PRIORITY.ToString()); + //dic.Add("From", start.ToString()); + //dic.Add("To", end.ToString()); + //dic.Add("task_no", mst.S_CODE.Trim());// dic.Add("Ext1", "1"); dic.Add("Ext2", "CALLADDAGV"); dic.Add("N_CNTR_COUNT", ""); + //var res = NDC.AddNewOrder(1, dic); - //dic.Add("No", mst.S_CODE.Trim()); - //dic.Add("Pri", mst.N_PRIORITY.ToString()); - dic.Add("From", start.ToString()); - dic.Add("To", end.ToString()); - dic.Add("Func", "0"); - dic.Add("DATA", "0"); - dic.Add("ItemHeight", "0"); - dic.Add("CntrType", "1"); - dic.Add("FromCol", "0"); - dic.Add("ToCol", "0"); - dic.Add("Ctype", "0"); - // dic.Add("Ext1", "1"); dic.Add("Ext2", "CALLADDAGV"); dic.Add("N_CNTR_COUNT", ""); - var res = NDC.AddNewOrderNew(5, mst.N_PRIORITY, mst.S_CODE.Trim(), dic); - if (res != null && (res.Res.ErrCode == 0 || res.Res.ErrCode == 50009)) + + if (res != null && (res.err_code == 0 || res.err_code == 50009)) { //鎺ㄩ�鎴愬姛锛屼慨鏀逛换鍔′紭鍏堢骇 mst.N_B_STATE = 1; - WCSHelper.UpdateStatus(mst); + mst.S_B_STATE = WCSTask.GetStateStr(1); + WCSHelper.UpdateStatus(mst);//鏇存柊浠诲姟鐘舵� result = true; + LogHelper.Info($"NDC鎺ㄩ�浠诲姟鎴愬姛 {mst.S_CODE}start= {mst.S_START_LOC} + end = {mst.S_END_LOC}"); + + } + else + { + LogHelper.Info($"NDC鎺ㄩ�浠诲姟澶辫触 {mst.S_CODE};Res:" + JsonConvert.SerializeObject(res)); } } else if (mst.N_SCHEDULE_TYPE == 2)//杈撻�绾夸换鍔�@@ -461,7 +501,7 @@ } #endregion - + } } -- Gitblit v1.9.1