From 41accee47c8eeb8c6408507f873d68f890092468 Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期四, 10 七月 2025 17:18:14 +0800 Subject: [PATCH] 111 --- ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs | 26 ++++++-- ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs | 98 +++++++++++++++++++++++++++++++- ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs | 7 +- ams/Hanhe.iWCS.JingmenGEMTwoProtocol/EnentListen.cs | 3 + 4 files changed, 118 insertions(+), 16 deletions(-) diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/EnentListen.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/EnentListen.cs index 7be0e86..81e6d42 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/EnentListen.cs +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/EnentListen.cs @@ -444,6 +444,9 @@ } #endregion + #region 鐢熶骇閫�簱 + #endregion + #endregion return bResult; } diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs index 6529bb7..5eb3b3d 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs @@ -3992,15 +3992,27 @@ if (locInfo.state == "1") { CMMLog.Info("DGInWarehouse:" + JsonConvert.SerializeObject(locInfo)); - string wmstaskno = ""; - string trayCode = locInfo.trayCode; - bool req = WMSHelper.WMSIn(locCode, "鐢甸挻鎵撳寘涓嬬嚎", ref wmstaskno, ref trayCode, "", "DGCK"); - if (req) + if (!string.IsNullOrEmpty(locInfo.END_LOC)) { - CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟鎴愬姛锛�); - MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None); + var amsResult = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), locInfo.Bit, locInfo.END_LOC, "鐢甸挻鐢熶骇閫�簱(浜屾)", 0, locInfo.trayCode); + if(amsResult.success) + { + CMMLog.Info($"鐢甸挻鐢熶骇閫�簱(浜屾)娴佺▼锛歐MS鐢熸垚浠诲姟鎴愬姛锛�); + MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None); + } } - else CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟澶辫触锛�); + else + { + string wmstaskno = ""; + string trayCode = locInfo.trayCode; + bool req = WMSHelper.WMSIn(locCode, "鐢甸挻鎵撳寘涓嬬嚎", ref wmstaskno, ref trayCode, "", "DGCK"); + if (req) + { + CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟鎴愬姛锛�); + MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None); + } + else CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟澶辫触锛�); + } } } } diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs index ce7e3bc..3a74ae0 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs @@ -16,10 +16,12 @@ using System.Net.Configuration; using System.Text; using System.Web.UI.WebControls.WebParts; +using static Hanhe.iWCS.JingmenGEMTwoProtocol.ApiHelper; using static Hanhe.iWCS.JingmenGEMTwoProtocol.EnentListen; using static Hanhe.iWCS.JingmenGEMTwoProtocol.MESHelper; using static Hanhe.iWCS.JingmenGEMTwoProtocol.PLCControl; using static Hanhe.iWCS.JingmenGEMTwoProtocol.ProtocolAnalysis; +using static System.Runtime.CompilerServices.RuntimeHelpers; namespace Hanhe.iWCS.JingmenGEMTwoProtocol { @@ -182,11 +184,27 @@ //涓や釜鎺ラ┏骞冲彴 if (mst.CN_S_START_BIT == conn1[0].locCode || mst.CN_S_START_BIT == conn1[1].locCode) { - start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[1]; + if (mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱(浜屾)") + { + start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[0]; + } + else + { + start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[1]; + } + } if (mst.CN_S_END_BIT == conn1[0].locCode || mst.CN_S_END_BIT == conn1[1].locCode) { - end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0]; + if (mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱") + { + end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[1]; + } + else + { + end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0]; + } + } } if (conn1.Count == 1) @@ -194,11 +212,26 @@ //涓�釜鎺ラ┏骞冲彴 if (mst.CN_S_START_BIT == conn1[0].locCode) { - start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[1]; + if(mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱(浜屾)") + { + start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[0]; + } + else + { + start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[1]; + } + } if (mst.CN_S_END_BIT == conn1[0].locCode) { - end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0]; + if(mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱") + { + end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[1]; + } + else + { + end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0]; + } } } #endregion @@ -234,7 +267,7 @@ } } } - if (mst.CN_S_BUSS_TYPE == "缂撳瓨鏋跺叆绔嬪簱" || mst.CN_S_BUSS_TYPE == "鐢甸挻缂撳瓨鏋跺叆绔嬪簱") + if (mst.CN_S_BUSS_TYPE == "缂撳瓨鏋跺叆绔嬪簱" || mst.CN_S_BUSS_TYPE == "鐢甸挻缂撳瓨鏋跺叆绔嬪簱" || mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱") { TRow = "1"; } @@ -529,6 +562,10 @@ result = true; } } + if (mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱") + { + SGTK(mst); + } var bussTypeInfo = Settings.GetHouWeiCodeo().Where(a => a.location == mst.Ext1).FirstOrDefault(); if (bussTypeInfo != null) { @@ -592,6 +629,57 @@ } /// <summary> + /// 鍥涢挻鐢熶骇閫�簱 + /// 灏嗕换鍔℃媶鍒嗘垚涓ゆ浠诲姟锛岀涓�浠诲姟缁堢偣鏀逛负鎺ラ┏骞冲彴 + /// 浜屾浠诲姟浠庢帴椹冲钩鍙板叆搴�+ /// </summary> + /// <param name="mst"></param> + private static void SGTK(TN_I_TASK_MST mst) + { + var CBInfo = Settings.GetDGConnectingbitsList().Where(a => a.enable == 1).ToList(); + if (CBInfo != null) + { + foreach (var a in CBInfo) + { + if (!string.IsNullOrEmpty(a.locCode)) + { + //鍦ㄤ腑闂磋〃涓煡鎵剧偣浣�+ var CBTable = MongoDBSingleton.Instance.FindOne<DGConnectingBits>(Query.EQ("Bit", a.locCode), "DGConnectingBits"); + if (CBTable != null) + { + if (string.IsNullOrEmpty(CBTable.trayCode)) + { + //鏀逛换鍔$殑缁堢偣 + MongoDBSingleton.Instance.Update<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", mst.CN_S_TASK_NO), Update.Set("CN_S_END_BIT", a.locCode), UpdateFlags.None); + + new SqlHelper<object>().ExecuteSql($"update dbo.tn_am_task_mst set CN_S_END_BIT='{a.locCode}',CN_S_END_AGVBIT = '{StockInstance.Instance.GetAGVCodeForBitCode(a.locCode)}' where CN_S_TASK_NO = '{mst.CN_S_TASK_NO}'"); + + CMMLog.Debug($"鐢熶骇閫�簱锛氭洿鏀圭粓鐐规垚鍔燂紒"); + MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", a.locCode), Update.Set("trayCode", mst.CN_S_BATCH_NO).Set("END_LOC",mst.CN_S_END_BIT), UpdateFlags.None); + break; + } + } + else + { + //鏀逛换鍔$殑缁堢偣 + MongoDBSingleton.Instance.Update<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", mst.CN_S_TASK_NO), Update.Set("CN_S_END_BIT", a.locCode), UpdateFlags.None); + + new SqlHelper<object>().ExecuteSql($"update dbo.tn_am_task_mst set CN_S_END_BIT='{a.locCode}',CN_S_END_AGVBIT = '{StockInstance.Instance.GetAGVCodeForBitCode(a.locCode)}' where CN_S_TASK_NO = '{mst.CN_S_TASK_NO}'"); + + CMMLog.Debug($"鐢熶骇閫�簱锛氭洿鏀圭粓鐐规垚鍔燂紒"); + //鎵撳寘涓嬬嚎浠诲姟鐢熸垚鎴愬姛锛屽悜涓棿琛ㄦ彃鍏ユ暟鎹�+ + MongoDBSingleton.Instance.Insert<DGConnectingBits>(new DGConnectingBits { Bit = a.locCode, trayCode = mst.CN_S_BATCH_NO,END_LOC = mst.CN_S_END_BIT, state = "0" }); + break; + } + } + else CMMLog.Debug("鐢熶骇閫�簱鎺ラ┏浣嶇偣浣嶆湭閰嶇疆"); + } + } + else CMMLog.Debug("鐢熶骇閫�簱鎺ラ┏浣嶆湭閰嶇疆"); + } + + /// <summary> /// 杈呮潗鍏ュ簱娴佺▼ /// </summary> /// <param name="mst"></param> diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs index de44725..8341a46 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs @@ -396,7 +396,7 @@ { MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", mst.CN_S_START_BIT), Update.Set("trayCode", "").Set("state", "0"), UpdateFlags.None); } - if (mst.CN_S_BUSS_TYPE == "鐢甸挻缂撳瓨鏋跺叆绔嬪簱") + if (mst.CN_S_BUSS_TYPE == "鐢甸挻缂撳瓨鏋跺叆绔嬪簱" || mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱(浜屾)") { MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", mst.CN_S_START_BIT), Update.Set("trayCode", "").Set("state", "0"), UpdateFlags.None); MongoDBSingleton.Instance.Remove<DGPackingLineFullModel>(Query.EQ("trayCode", mst.CN_S_BATCH_NO), RemoveFlags.None); @@ -446,9 +446,8 @@ if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾� || mst.CN_S_BUSS_TYPE == "PDA鎵撳寘涓嬬嚎") { MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", mst.CN_S_END_BIT), Update.Set("state", "1"), UpdateFlags.None); - } - if (mst.CN_S_BUSS_TYPE == "鍖呰鏈烘弧鎵樹笅绾�) + if (mst.CN_S_BUSS_TYPE == "鍖呰鏈烘弧鎵樹笅绾� || mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱") { MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", mst.CN_S_END_BIT), Update.Set("state", "1"), UpdateFlags.None); @@ -867,7 +866,7 @@ /// <summary> /// 浜屾浠诲姟鐨勭粓鐐硅揣浣� /// </summary> - //public string END_LOC { get; set; } //鍙樻洿娉ㄩ噴 + public string END_LOC { get; set; } } #endregion -- Gitblit v1.9.1