From 553f7744bedee0685635ed070a4a0e18b796238f Mon Sep 17 00:00:00 2001 From: lss <2538410689@qq.com> Date: 星期四, 24 七月 2025 17:30:36 +0800 Subject: [PATCH] 1111 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs | 212 ++++++++++++++++++++++++++++++++++------------------ 1 files changed, 139 insertions(+), 73 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs index 4e05af9..0fe3945 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs @@ -5,8 +5,11 @@ using Newtonsoft.Json; using System; using System.Collections.Generic; +using System.IdentityModel.Protocols.WSTrust; using System.Linq; +using System.Net.NetworkInformation; using System.Security.Policy; +using System.Threading.Tasks; using static HH.WCS.JiaTong.api.ApiModel; using static HH.WCS.JiaTong.util.Settings; @@ -57,6 +60,7 @@ { TaskProcess.OperateStatus(TN_Task, 6); } + UpdateWait(TN_Task); break; #endregion case 2: @@ -82,89 +86,86 @@ TaskProcess.MESIteminfoback(TN_Task, urlitem); } //浠诲姟鍥炴姤 浠诲姟鏉ユ簮 1.閽笣绔嬪簱 2.鑳剁墖搴� 3.棰勫搴�5.mes涓嬪彂 - if (TN_Task.Z_TYPE == 5) - { - //TN_Task = WCSHelper.GetTask(TN_Task.S_CODE); - string urlstate = Settings.tableUrls.Find(a => a.id == 4).url; - TaskProcess.MESReportback(TN_Task, model.state, urlstate); - } - else - { - //绔嬪簱涓巜ms浠诲姟鍥炴姤 - TableUrl url = null; - switch (TN_Task.Z_TYPE) - { - case 1: - url = Settings.tableUrls.Find(a => a.id == 1); - if (url != null) + //TN_Task = WCSHelper.GetTask(TN_Task.S_CODE); + string urlstate = Settings.tableUrls.Find(a => a.id == 4).url; + TaskProcess.MESReportback(TN_Task, model.state, urlstate); + + //绔嬪簱涓巜ms浠诲姟鍥炴姤 + TableUrl url = null; + switch (TN_Task.Z_TYPE) + { + case 1: + url = Settings.tableUrls.Find(a => a.id == 1); + if (url != null) + { + TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url, "ML"); + } + else + { + LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=1鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); + } + break; + case 3: + url = Settings.tableUrls.Find(a => a.id == 9); + if (url != null) + { + TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url, "YBK"); + } + else + { + LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=9鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); + } + break; + case 4: + url = Settings.tableUrls.Find(a => a.id == 11); + if (url != null) + { + Console.WriteLine($"鍘熸潗鏂欎换鍔″洖鎶TN_Task.S_EQ_NO}"); + if (TN_Task.S_TYPE.Contains("鐢垫")) { - TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url,"ML"); - } - else - { - LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=1鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); - } - break; - case 3: - url = Settings.tableUrls.Find(a => a.id == 9); - if (url != null) - { - TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url,"YBK"); - } - else - { - LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=9鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); - } - break; - case 4: - url = Settings.tableUrls.Find(a => a.id == 11); - if (url != null) - { - Console.WriteLine($"鍘熸潗鏂欎换鍔″洖鎶TN_Task.S_EQ_NO}"); - if (TN_Task.S_TYPE.Contains("鐢垫")) + if (TN_Task.S_TYPE == "鐢垫1") { - if (TN_Task.S_TYPE == "鐢垫1") + if (TN_Task.S_CODE == "1" || TN_Task.S_CODE == "3" || TN_Task.S_CODE == "4") { - if (TN_Task.S_CODE == "1" || TN_Task.S_CODE == "3" || TN_Task.S_CODE == "4") - { - TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); - } - } - else if (TN_Task.S_TYPE == "鐢垫2") - { - if (TN_Task.S_CODE == "5" || TN_Task.S_CODE == "6" || TN_Task.S_CODE == "2") - { - TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); - } + TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); } } - else + else if (TN_Task.S_TYPE == "鐢垫2") { - - var db = new SqlHelper<object>().GetInstance(); - var mstbyEqno = db.Queryable<WCSTask>().Where(a => a.S_EQ_NO.Trim() == TN_Task.S_EQ_NO).ToList(); - TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); + if (TN_Task.S_CODE == "5" || TN_Task.S_CODE == "6" || TN_Task.S_CODE == "2") + { + TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); + } } } else { - LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=11鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); + + var db = new SqlHelper<object>().GetInstance(); + var mstbyEqno = db.Queryable<WCSTask>().Where(a => a.S_EQ_NO.Trim() == TN_Task.S_EQ_NO).ToList(); + TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); } - break; - case 6: - url = Settings.tableUrls.Find(a => a.id == 14); - if (url != null) - { - TaskProcess.WmsReportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); - } - else - { - LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=14鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); - } - break; - } + } + else + { + LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=11鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); + } + break; + case 6: + url = Settings.tableUrls.Find(a => a.id == 14); + if (url != null) + { + TaskProcess.WmsReportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); + } + else + { + LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=14鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); + } + + break; } + } else { @@ -199,7 +200,7 @@ } if (!string.IsNullOrEmpty(url)) { - TaskProcess.OperateReq(model, url, TN_Task,name); + TaskProcess.OperateReq(model, url, TN_Task, name); } else { @@ -208,6 +209,56 @@ } } } + } + + /// <summary> + /// 鍗歌揣瀹屾垚濡傛灉鏈夌浉閭诲簱鍖虹殑鍥炲簱浠诲姟 鎺ㄩ�浠诲姟 + /// </summary> + internal static void UpdateWait(WCSTask mst) + { + var db = new SqlHelper<object>().GetInstance(); + try + { + var area = db.Queryable<Area>().Where(a => a.S_CODE.Trim() == mst.S_END_AREA).First(); + if (area != null) + { + if (!string.IsNullOrEmpty(area.S_GROUP)) + { + int code = int.Parse(area.S_GROUP.Substring(1, 1)); + string areaName = area.S_GROUP.Substring(0, 1); + string[] AreaList = new string[] { areaName + (code - 1), areaName + (code + 1), area.S_GROUP }; + LogHelper.Info($"浠诲姟{mst.S_CODE},缁堢偣鍖哄煙{JsonConvert.SerializeObject(AreaList)}"); + var AreasByGroup = db.Queryable<Area>().Where(a => AreaList.Contains(a.S_GROUP)).ToList(); + if (AreasByGroup.Count > 0) + { + var AreaCodes = AreasByGroup.Select(a => a.S_CODE).ToList(); + LogHelper.Info($"浠诲姟{mst.S_CODE},鏍规嵁缁堢偣鍖哄煙鑾峰彇搴撳尯缂栫爜锛歿JsonConvert.SerializeObject(AreaCodes)}"); + var updateMst = db.Queryable<WCSTask>().Where(a => AreaCodes.Contains(a.S_END_AREA.Trim()) && a.S_B_STATE == "绛夊緟鎺ㄩ�").OrderBy(a => a.T_CREATE).First(); + updateMst.S_B_STATE = "绛夊緟"; + db.Updateable(updateMst).UpdateColumns(it => new { it.S_B_STATE }).ExecuteCommand(); + } + else + { + LogHelper.Info($"浠诲姟{mst.S_CODE},缁堢偣鍖哄煙{JsonConvert.SerializeObject(AreaList)},鏈壘鍒板浜庡垎缁勫簱鍖猴紝璇锋鏌ュ簱鍖鸿〃"); + } + + } + else + { + LogHelper.Info($"浠诲姟{mst.S_CODE},缁堢偣搴撳尯{mst.S_END_AREA}鍒嗙粍涓虹┖"); + } + } + else + { + LogHelper.Info($"浠诲姟{mst.S_CODE},缁堢偣搴撳尯{mst.S_END_AREA}鏈壘鍒板浜庡簱鍖猴紝璇锋鏌ュ簱鍖鸿〃"); + } + } + catch (Exception ex) + { + LogHelper.Info($"UpdateWait Error锛歿ex}"); + + } + } /// <summary> @@ -232,11 +283,26 @@ } }); - - } } + /// <summary> + /// 浠诲姟鍒嗗彂锛屾牴鎹皟搴︾被鍨嬪彂缁欎笉鍚岀殑璋冨害绯荤粺 + /// </summary> + internal static void DispatchWait() + { + //鏌ヨ浠诲姟 + //鑾峰彇鎵�湁绛夊緟鐨勪换鍔�+ // Console.WriteLine("寮�浠诲姟鎺ㄩ�"); + var list = WCSHelper.GetTaskListByState("绛夊緟鎺ㄩ�"); + if (list.Count > 0) + { + list.ForEach(task => + { + TaskProcess.WaitSend(task); + }); + } + } } } -- Gitblit v1.9.1