From 9ddec4808631025d36d3c5a816d55ef77a29d4c7 Mon Sep 17 00:00:00 2001 From: lss <2538410689@qq.com> Date: 星期三, 16 七月 2025 17:30:30 +0800 Subject: [PATCH] 111 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs | 102 +++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 87 insertions(+), 15 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs index 2be6a68..df86253 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs @@ -15,6 +15,7 @@ using System.Diagnostics.Eventing.Reader; using System.IdentityModel.Protocols.WSTrust; using System.Linq; +using System.Net.NetworkInformation; using System.Security.Cryptography; using System.Threading; using System.Threading.Tasks; @@ -47,7 +48,7 @@ else { LogHelper.Info($"浠诲姟{mst.S_CODE} 鎵樼洏涓虹┖ ,鍙В閿佽揣浣�); - LocationHelper.UnlockLoc(mst.S_START_LOC); + LocationHelper.UnlockLocDeleteCntrs(mst.S_START_LOC); } } else @@ -79,6 +80,17 @@ { //鏍规嵁瀹㈡埛鐜板満瑕佹眰锛屽鏋滃彇璐у畬鎴愪换鍔″け璐ヤ汉宸ユ媺鍒扮粓鐐癸紝鎴戜滑灏卞綋鍗歌揣瀹屾垚澶勭悊锛涘鏋滄槸浜哄伐鎷夎蛋鍒板叾瀹冨尯鍩燂紝鎴戜滑灏辫В閿佺粓鐐癸紝鍒犻櫎鎵樼洏銆� //缁堢偣缁戝畾 + //鐗╂枡鍒颁綅閫氱煡 + if (mst.S_TYPE == "鍑哄钩搴� || mst.S_TYPE == "浣欐枡杩斿洖") + { + string urlitem = Settings.tableUrls.Find(a => a.id == 5).url; + TaskProcess.MESIteminfoback(mst, urlitem); + } + if ((mst.S_NOTE == "鍑哄簱" || mst.S_NOTE == "寮傚父搴撳尯鍏ュ簱") && !string.IsNullOrEmpty(mst.S_MES_NO)) + { + string urlitem = Settings.tableUrls.Find(a => a.id == 5).url; + TaskProcess.MESIteminfoback(mst, urlitem); + } CacheBitUpdate(mst, false); LocationHelper.UnLockLoc(mst.S_END_LOC); } @@ -96,7 +108,7 @@ /// <param name="model">璇锋眰鍙傛暟</param> /// <param name="url">鍦板潃</param> /// <param name="TN_Task">浠诲姟</param> - internal static void OperateReq(AgvTaskState model, string url, WCSTask TN_Task) + internal static void OperateReq(AgvTaskState model, string url, WCSTask TN_Task, string name) { try { @@ -184,7 +196,7 @@ } else { - if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state)) + if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name)) { // NDCHelper.ChangeParam(TN_Task.S_CODE.Trim(), 1101, 18); NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); @@ -287,7 +299,7 @@ } else { - if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state)) + if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name)) { NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); } @@ -341,7 +353,6 @@ } catch (Exception ex) { - LogHelper.Info($"OperateReq Error ==銆媨ex.ToString()}"); } @@ -358,7 +369,7 @@ /// <param name="type"></param> /// <param name="taskStatus"></param> /// <returns></returns> - internal static bool OperateReqByPost(string url, string tasknum, string ordernum, string station, int type, int taskStatus) + internal static bool OperateReqByPost(string url, string tasknum, string ordernum, string station, int type, int taskStatus, string name) { bool permit = false; try @@ -383,6 +394,7 @@ LogHelper.Info($"瀹夊叏璇锋眰澶辫触=>msg:{result.msg}"); ApiHelper.AddErrorInfo("瀹夊叏浜や簰澶辫触", result.msg, "", tasknum); } + ApiHelper.AddInfo(name, "瀹夊叏璇锋眰", date, JsonConvert.SerializeObject(result), "Post", url); return permit; } catch (Exception) @@ -433,6 +445,7 @@ LogHelper.Info($"瀹夊叏璇锋眰澶辫触=>msg:{result.err_msg}"); ApiHelper.AddErrorInfo("瀹夊叏浜や簰澶辫触", result.err_msg, "", no); } + ApiHelper.AddInfo("YCL", "瀹夊叏璇锋眰", date, JsonConvert.SerializeObject(result), "Post", url); return permit; } catch (Exception) @@ -487,7 +500,7 @@ { var mst2 = mstbyEqno.Where(a => a.S_TYPE == "鐢垫1").First(); if (mst2 == null) - { + { return result; } else @@ -563,17 +576,17 @@ var start = "0"; var end = "0"; var taskType = mst.S_TYPE.Trim(); var list = db.Queryable<Location>().ToList().Count; - //LogHelper.Info($"鏌ヨ鍏ㄩ儴璐т綅鏁版嵁{list}"); + // if (mst.N_B_STATE == 0) { if (mst.N_SCHEDULE_TYPE == 1) { LogHelper.Info($"浠诲姟鎺ㄩ�鏁版嵁锛歿JsonConvert.SerializeObject(mst)}"); - if (string.IsNullOrEmpty(mst.S_START_LOC)|| string.IsNullOrEmpty(mst.S_END_LOC)) + 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) @@ -671,7 +684,22 @@ // } return result; } - + /// <summary> + /// 绌烘墭绛夊緟浠诲姟 瓒呮椂5鍒嗙粍鐩存帴鎺ㄩ� + /// </summary> + /// <param name="mst"></param> + /// <returns></returns> + internal static void WaitSend(WCSTask mst) + { + // 璁$畻涓庡綋鍓嶆椂闂寸殑宸� + TimeSpan timeDifference = DateTime.Now - mst.T_CREATE; + if (timeDifference.TotalMinutes > 5) + { + var db = new SqlHelper<WCSTask>().GetInstance(); + mst.S_B_STATE = "绛夊緟"; + db.Updateable(mst).UpdateColumns(it => new { it.S_B_STATE }).ExecuteCommand(); + } + } /// <summary> /// 浠诲姟鐘舵�鍥炴姤 /// </summary> @@ -679,7 +707,7 @@ /// <param name="orderNum">鍗曞彿</param> /// <param name="taskStatus">浠诲姟鐘舵�</param> /// <param name="url">涓婃姤鎺ュ彛</param> - public static void Reportback(string taskNum, string orderNum, int taskStatus, string url) + public static void Reportback(string taskNum, string orderNum, int taskStatus, string url, string ly) { LogHelper.Info($"------------寮�浠诲姟鍥炴姤-----------"); try @@ -709,6 +737,7 @@ { LogHelper.Info($"浠诲姟鍥炴姤澶辫触=>msg:{result.msg}"); } + ApiHelper.AddInfo(ly, "浠诲姟鐘舵�鍥炴姤", date, JsonConvert.SerializeObject(result), "Post", url); } catch (Exception ex) { @@ -762,6 +791,7 @@ { LogHelper.Info($"浠诲姟鍥炴姤澶辫触="); } + ApiHelper.AddInfo("Wms", "浠诲姟鐘舵�鍥炴姤", date, JsonConvert.SerializeObject(result), "Post", url); } catch (Exception ex) { @@ -807,6 +837,7 @@ { LogHelper.Info($"浠诲姟鍥炴姤澶辫触=>msg:{result.err_msg}"); } + ApiHelper.AddInfo("YCL", "浠诲姟鐘舵�鍥炴姤", date, JsonConvert.SerializeObject(result), "Post", url); } catch (Exception ex) { @@ -831,7 +862,24 @@ //鑾峰彇鏃堕棿鎴� var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); statusarrive.RequestId = "鏉弶AGV" + time; - + string info = ""; + switch (status) + { + case 1: + info = "agv宸叉帴鍙楀師鏂欏簱涓嬪彂鐨勪换鍔�; + break; + case 4: + info = "agv宸插彇璐у畬鎴�; + break; + case 6: + info = "agv宸插嵏璐у埌鎸囧畾浣嶇疆"; + break; + case 2: + info = "agv宸插畬鎴愰�鏂欎换鍔�; + break; + } + string message = "1"; + if (status == 7) { message = "agv浠诲姟宸插彇娑�; } int flag = 0; if (mst.S_NOTE == "绮夋枡") { @@ -846,6 +894,8 @@ statusArrive.Status = status.ToString(); statusArrive.Rfid = mst.S_CNTR_CODE; statusArrive.Flag = flag; + statusArrive.Info = info; + statusArrive.Message = message; //statusArrives.Add(statusArrive); statusarrive.data = statusArrive; @@ -866,6 +916,7 @@ { LogHelper.Info($"浠诲姟鍥炴姤澶辫触=>msg:{result.imsg}"); } + ApiHelper.AddInfo("Mes", "浠诲姟鐘舵�鍥炴姤", date, JsonConvert.SerializeObject(result), "Post", url); } catch (Exception ex) { @@ -897,6 +948,7 @@ //绮夋枡鍥炲簱涓嶉渶瑕佸洖鎶� if (cntritem != null && mst.S_TYPE == "浣欐枡杩斿洖" && cntritem.S_ITEM_CODE.StartsWith("4X")) { + LogHelper.Info("绮夋枡鍥炲簱涓嶉渶瑕佸埌浣嶅彂閫佺墿鏂欏埌浣�); return; } //鑾峰彇鏃堕棿鎴�@@ -916,8 +968,24 @@ if (cntritem != null) { + string curBagNum = null; + string weightBag = null; + string initBagNum = null; + if ((int)cntritem.F_QTY > 0) + { + curBagNum = cntritem.F_QTY.ToString(); + } + if (!string.IsNullOrEmpty(cntritem.F_WEIGHT1) && int.Parse(cntritem.F_WEIGHT1) > 0) + { + weightBag = cntritem.F_WEIGHT1; + } + if (!string.IsNullOrEmpty(cntritem.F_QTY1) && int.Parse(cntritem.F_QTY1) > 0) + { + initBagNum = cntritem.F_QTY1; + } list.Add(new MesItemBackInfoModel() { + LotNumber = cntritem.S_BATCH_NO, PartNumber = cntritem.S_ITEM_CODE, Subpool = cntritem.Subpool, @@ -928,7 +996,10 @@ Rfid = cntritem.S_CNTR_CODE, Qty = cntritem.F_WEIGHT, PartLevel = cntritem.LEV, - WmsLot = cntritem.WmsLot + WmsLot = cntritem.WmsLot, + WeightBag = weightBag, + CurBagNum = curBagNum, + InitBagNum = initBagNum }); @@ -954,6 +1025,7 @@ { LogHelper.Info($"鐗╂枡鍒颁綅鍥炴姤澶辫触=>msg:{result.imsg}"); } + ApiHelper.AddInfo("Mes", "鐗╂枡鍒颁綅鍥炴姤", date, JsonConvert.SerializeObject(result), "Post", url); } catch (Exception ex) { -- Gitblit v1.9.1