From 8accda250de2a637336a40e04085e1a0cb556c5c Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期一, 23 六月 2025 17:30:36 +0800 Subject: [PATCH] 111 --- HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs | 116 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 77 insertions(+), 39 deletions(-) diff --git a/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs b/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs index d46e737..84f4f6a 100644 --- a/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs +++ b/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs @@ -5,13 +5,15 @@ using HH.WCS.Mobox3.NFLZ.util; using HH.WCS.Mobox3.NFLZ.wms; using Newtonsoft.Json; +using Newtonsoft.Json.Linq; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; +using System.Xml.Linq; using static HH.WCS.Mobox3.NFLZ.api.OtherModel; -using static HH.WCS.Mobox3.NFLZ.dispatch.NDC; +using static HH.WCS.Mobox3.NFLZ.dispatch.NDCApi; using static HH.WCS.Mobox3.NFLZ.wms.WMSHelper.AddChangeModel; namespace HH.WCS.Mobox3.NFLZ.process @@ -144,15 +146,18 @@ if (mst.S_TYPE.Contains("绌烘墭涓婄嚎")) { LogHelper.Info($"{mst.S_TYPE}鍗歌揣瀹屾垚锛屽啓鍏ヤ俊鍙�); - //鏍规嵁璧风偣鍒ゆ柇鏄疉鍙h繕鏄疊鍙�- var locCode = mst.S_END_LOC; - var devInfo = Settings.deviceInfos.Where(a => a.TN_Location.Contains(locCode)).FirstOrDefault(); - if (devInfo != null) + if(state == 6) { - var signal = devInfo.TN_Location[0] == mst.S_END_LOC ? "3F 00 10 0D 0A" : "3F 00 20 0D 0A"; - if (PlcHelper.SendHex(devInfo.address, signal)) LogHelper.Info($"{mst.S_TYPE}浠诲姟鍗歌揣瀹屾垚锛屽啓鍏ヤ俊鍙凤細{signal}锛宨p锛歿devInfo.address}"); + //鏍规嵁璧风偣鍒ゆ柇鏄疉鍙h繕鏄疊鍙�+ var locCode = mst.S_END_LOC; + var devInfo = Settings.deviceInfos.Where(a => a.TN_Location.Contains(locCode)).FirstOrDefault(); + if (devInfo != null) + { + var signal = devInfo.TN_Location[0] == mst.S_END_LOC ? "3F 00 10 0D 0A" : "3F 00 20 0D 0A"; + if (PlcHelper.SendHex(devInfo.address, signal)) LogHelper.Info($"{mst.S_TYPE}浠诲姟鍗歌揣瀹屾垚锛屽啓鍏ヤ俊鍙凤細{signal}锛宨p锛歿devInfo.address}"); + } + else LogHelper.Info($"璁惧鏈壘鍒帮紝璐т綅鍙凤細{mst.S_END_LOC}"); } - else LogHelper.Info($"璁惧鏈壘鍒帮紝璐т綅鍙凤細{mst.S_END_LOC}"); } if (mst.S_TYPE.Contains("婊℃墭涓婄嚎")) { @@ -174,7 +179,7 @@ var devInfo = Settings.deviceInfos.Where(a => a.TN_Location.Contains(locCode)).FirstOrDefault(); if (devInfo != null) { - var signal = "3F 00 12 22 00 0D 0A"; + var signal = "3F 00 12 21 0D 0A"; if (state == 1102) signal = "3F 00 10 20 0D 0A"; if (PlcHelper.SendHex(devInfo.address, signal)) LogHelper.Info($"{mst.S_TYPE}浠诲姟鍙栬揣瀹屾垚锛屽啓鍏ヤ俊鍙凤細{signal}锛宨p锛歿devInfo.address}"); } @@ -183,15 +188,18 @@ if (mst.S_TYPE.Contains("婊℃墭涓嬬嚎")) { LogHelper.Info($"{mst.S_TYPE}鍙栬揣瀹屾垚锛屽啓鍏ヤ俊鍙�); - //鏍规嵁璧风偣鍒ゆ柇鏄疉鍙h繕鏄疊鍙�- var locCode = mst.S_START_LOC; - var devInfo = Settings.deviceInfos.Where(a => a.TN_Location.Contains(locCode)).FirstOrDefault(); - if (devInfo != null) + if(state == 4) { - var signal = devInfo.TN_Location[0] == mst.S_START_LOC ? "3F 00 10 0D 0A" : "3F 00 20 0D 0A"; - if (PlcHelper.SendHex(devInfo.address, signal)) LogHelper.Info($"{mst.S_TYPE}浠诲姟鍙栬揣瀹屾垚锛屽啓鍏ヤ俊鍙凤細{signal}锛宨p锛歿devInfo.address}"); + //鏍规嵁璧风偣鍒ゆ柇鏄疉鍙h繕鏄疊鍙�+ var locCode = mst.S_START_LOC; + var devInfo = Settings.deviceInfos.Where(a => a.TN_Location.Contains(locCode)).FirstOrDefault(); + if (devInfo != null) + { + var signal = devInfo.TN_Location[0] == mst.S_START_LOC ? "3F 00 10 0D 0A" : "3F 00 20 0D 0A"; + if (PlcHelper.SendHex(devInfo.address, signal)) LogHelper.Info($"{mst.S_TYPE}浠诲姟鍙栬揣瀹屾垚锛屽啓鍏ヤ俊鍙凤細{signal}锛宨p锛歿devInfo.address}"); + } + else LogHelper.Info($"璁惧鏈壘鍒帮紝璐т綅鍙凤細{mst.S_START_LOC}"); } - else LogHelper.Info($"璁惧鏈壘鍒帮紝璐т綅鍙凤細{mst.S_START_LOC}"); } } @@ -654,7 +662,6 @@ if (state == 6)//鍗歌揣瀹屾垚 { claimGoodsTime(mst, state); - writeSignal(mst); CacheBitUpdate(mst, false); } if (state == 7) @@ -708,7 +715,7 @@ string startArea = ""; LinZhiBCPWorkOrder bcpW = null; bcpW = db.Queryable<LinZhiBCPWorkOrder>().Where(a => a.S_WorkNo == mst.S_WORK_NO && a.S_WorkState == "鎵ц涓�).First(); - + LogHelper.Info($"婊℃墭浠诲姟鐢熸垚澶勭悊,宸ュ崟锛歿JsonConvert.SerializeObject(bcpW)}"); if (mst.S_TYPE.Contains("鐡剁洊")) { //鐡剁洊鏃犲嵆浜у嵆鐢ㄥ拰闈炲嵆浜у嵆鐢�@@ -728,6 +735,7 @@ } else { + LogHelper.Info($"鐡惰儦缈绘枟鏈洪潪鍗充骇婊℃ 鏌ユ壘"); string areaName = bcpW.S_PLineNo.Split('-')[1].Substring(0, 1) + "鍙风摱鑳氱炕鏂楁満闈炲嵆浜ф弧妗�; startArea = Settings.areaInfos.Where(a => a.areaName == areaName && a.enable == 1).FirstOrDefault().areaCode; startLoca = DeviceProcess.getFDSXArea(db, bcpW, startArea); @@ -744,7 +752,7 @@ var cntrInfo = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoca.S_CODE).First(); if (cntrInfo != null) { - WMSHelper.CreateOpTask(startLoca.S_CODE, mst.S_START_LOC, "鍑哄簱", taskType, cntrInfo.S_CNTR_CODE); + WMSHelper.CreateOpTask(startLoca.S_CODE, mst.S_START_LOC, "鍑哄簱", taskType, cntrInfo.S_CNTR_CODE,"","",bcpW.S_WorkNo); } else LogHelper.Info($"鏈粦瀹氭墭鐩橈紝璐т綅鍙凤細{startLoca.S_CODE}"); } @@ -1093,8 +1101,16 @@ TsNo = 1; // 鍧洊浠诲姟涓嬪彂鍙傛暟鑾峰彇 // 鑾峰彇璧风粓鐐圭殑AGV绔欑偣 - Extend1 = db.Queryable<Location>().Where(a => a.S_CODE == mst.S_START_LOC && a.N_LAYER == mst.N_START_LAYER).First().S_AGV_SITE; - Extend2 = db.Queryable<Location>().Where(a => a.S_CODE == mst.S_END_LOC && a.N_LAYER == mst.N_END_LAYER).First().S_AGV_SITE; + Extend1 = db.Queryable<Location>().Where(a => a.S_CODE == mst.S_START_LOC).First().S_AGV_SITE; + Extend2 = db.Queryable<Location>().Where(a => a.S_CODE == mst.S_END_LOC).First().S_AGV_SITE; + if (mst.N_START_LAYER > 1) + { + Extend1 = db.Queryable<LocationExt>().Where(a => a.S_LOC_CODE == mst.S_START_LOC && a.N_LAYER == mst.N_START_LAYER).First().S_AGV_SITE; + } + if (mst.N_END_LAYER > 1) + { + Extend2 = db.Queryable<LocationExt>().Where(a => a.S_LOC_CODE == mst.S_START_LOC && a.N_LAYER == mst.N_END_LAYER).First().S_AGV_SITE; + } Extend3 = "0"; // 鑾峰彇 浠诲姟鍙傛暟4 DATA 鏁版嵁 string startLayerValue = Convert.ToString(startLayer, 16).ToUpper(); @@ -1131,21 +1147,43 @@ Console.WriteLine($"[SendTask]:TaskNo={mst.S_CODE.Trim()},start={Extend1},end={Extend2}"); LogHelper.Info($"[SendTask]:TaskNo={mst.S_CODE.Trim()},start={Extend1},end={Extend2}"); bool action = true; - var dic = new Dictionary<string, string>(); - //var dic1 = new Dictionary<string, string>(); - //dic.Add("Pri", mst.N_PRIORITY.ToString()); - //dic.Add("No", mst.S_CODE.Trim()); - dic.Add("From", Extend1); - dic.Add("To", Extend2); - dic.Add("Func", Extend3); - dic.Add("Data", Extend4); - + //var dic = new Dictionary<string, string>(); + ////var dic1 = new Dictionary<string, string>(); + ////dic.Add("Pri", mst.N_PRIORITY.ToString()); + ////dic.Add("No", mst.S_CODE.Trim()); + //dic.Add("From", Extend1); + //dic.Add("To", Extend2); + //dic.Add("Func", Extend3); + //dic.Add("Data", Extend4); + // + //if (ConveryTaskList.Contains(taskType) || taskType.Contains("绉诲簱")) + //{ + // dic.Add("ItemHeight", Extend5); + // dic.Add("CntrType", Extend6); + // dic.Add("FromCol", Extend7); + // dic.Add("ToCol", Extend8); + // if (taskType.Contains("绉诲簱") || taskType.Contains("鎴愬搧涓嬬嚎") || taskType.Contains("闆跺ご涓嬬嚎")) + // { + // LogHelper.Info($"绉诲簱锛欵xtend5:{Extend5},Extend6:{Extend6},Extend7:{Extend7},Extend8:{Extend8},"); + // if (Extend5 == "" || Extend6 == "" || Extend7 == "" || Extend8 == "") + // { + // action = false; + // } + // } + //} + var dic = new List<param> + { + new param() { name = "From", value = Extend1 }, + new param() { name = "To", value = Extend2 }, + new param() { name = "Func", value = Extend3 }, + new param() { name = "Data", value = Extend4 } + }; if (ConveryTaskList.Contains(taskType) || taskType.Contains("绉诲簱")) { - dic.Add("ItemHeight", Extend5); - dic.Add("CntrType", Extend6); - dic.Add("FromCol", Extend7); - dic.Add("ToCol", Extend8); + dic.Add(new param(){name = "ItemHeight", value = Extend5}); + dic.Add(new param(){name = "CntrType", value = Extend6}); + dic.Add(new param(){name = "FromCol", value = Extend7}); + dic.Add(new param(){name = "ToCol", value = Extend8}); if (taskType.Contains("绉诲簱") || taskType.Contains("鎴愬搧涓嬬嚎") || taskType.Contains("闆跺ご涓嬬嚎")) { LogHelper.Info($"绉诲簱锛欵xtend5:{Extend5},Extend6:{Extend6},Extend7:{Extend7},Extend8:{Extend8},"); @@ -1155,13 +1193,13 @@ } } } - if (action) { - var res = new AGVResult(); - res = NDC.AddNewOrderNew(TsNo,mst.N_PRIORITY,mst.S_CODE, dic); + var res = new AgvApiResult(); + //res = NDC.AddNewOrderNew(TsNo,mst.N_PRIORITY,mst.S_CODE, dic); + res = NDCApi.AddOrderNew(TsNo, mst.N_PRIORITY, mst.S_CODE,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, "宸叉帹閫�); @@ -1506,7 +1544,7 @@ } if (result == null) { - result = TaskProcess.BCPInOrOut(db, true, "鐡惰儦鍗充骇婊℃缂撳瓨鍖�, itemCode); + result = TaskProcess.BCPInOrOut(db, true, "鐡惰儦鍗充骇婊℃缂撳瓨", itemCode); } if(result == null) { -- Gitblit v1.9.1