From ec50f98285c1a6eeb0b009b70445cc3ac64737c7 Mon Sep 17 00:00:00 2001 From: czw <selecti@yeah.net> Date: 星期二, 22 七月 2025 18:09:27 +0800 Subject: [PATCH] 1 --- HH.WCS.QingXiNongfu/process/TaskProcess.cs | 134 ++++++++++++++++++++++++++++++++++---------- 1 files changed, 102 insertions(+), 32 deletions(-) diff --git a/HH.WCS.QingXiNongfu/process/TaskProcess.cs b/HH.WCS.QingXiNongfu/process/TaskProcess.cs index 8d25bc1..ab2b0b2 100644 --- a/HH.WCS.QingXiNongfu/process/TaskProcess.cs +++ b/HH.WCS.QingXiNongfu/process/TaskProcess.cs @@ -1,26 +1,14 @@ -锘縰sing HH.WCS.QingXigongchang.api; -using HH.WCS.QingXigongchang.core; -using HH.WCS.QingXigongchang.device; +锘縰sing HH.WCS.QingXigongchang.device; using HH.WCS.QingXigongchang.dispatch; using HH.WCS.QingXigongchang.util; using HH.WCS.QingXigongchang.wms; using Newtonsoft.Json; -using NLog.Fluent; using SqlSugar; using System; -using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Reflection; -using System.Reflection.Emit; -using System.Runtime.InteropServices; -using System.Security.Cryptography; -using System.Security.Policy; using System.Threading; -using System.Threading.Tasks; -using System.Web.Http.Results; using static HH.WCS.QingXigongchang.api.ApiModel; -using static HH.WCS.QingXigongchang.device.OITcpHelper; using Monitor = HH.WCS.QingXigongchang.core.Monitor; namespace HH.WCS.QingXigongchang.process @@ -90,9 +78,11 @@ if (bbbbbbb) { + bbbbbbb = false; //UpdateElevatorTask(mst); //todo锛�濡傛灉鏄數姊嵏璐т换鍔$數姊换鍔′腑闂磋〃鐘舵�锛屽 - if (BeenOver) + bbbbbbb = TaskHelper.CheckActionRecordExist(mst.S_TASK_NO, "5"); + if (BeenOver || (mst.S_TYPE.Contains("鎴愬搧婊℃") && bbbbbbb)) { //if (mst.S_TYPE.Trim().Contains("缈绘枟鏈哄彨婊�)) //{ @@ -321,6 +311,7 @@ return result; } + /// <summary> /// 浠诲姟鐘舵�鏇存柊澶勭悊 /// </summary> @@ -397,6 +388,14 @@ //} } + //缁堢偣璐т綅涓�YWLT1TSJCD 鎴栬� YWLT2TSJCD 鐨�瑕佸彇璐у畬鎴愯В閿佽捣鐐癸紝瑙g粦璧风偣锛岀粦瀹氱粓鐐癸紝鍗歌揣瀹屾垚锛岃В閿佺粓鐐� 2025骞�鏈�0鏃� Plg + //if (mst.S_END_LAREA?.Trim() == "YWLT1TSJCD" || mst.S_END_LAREA?.Trim() == "YWLT2TSJCD") + //{ + // //瑙g粦璧风偣 + // CacheBitUpdate(mst, load: true); + // //缁戝畾缁堢偣 + // CacheBitUpdate(mst, load: false); + //} LocationHelper.UnLockLoc(mst.S_START_LOC.Trim()); } //new List<string> { "鎴愬搧婊℃-鍏ュ簱", "" } @@ -407,18 +406,25 @@ { if (state == 6) goto vvv; } - else if (state == 5) goto vvv; - - if (mst.S_TYPE.Trim() == "J绌虹摱鍧�鍑哄簱") + else if (state == 5) { - mst.S_CNTRS = "J" + Settings.GetTimeStamp(); + ///鍙渶瑕侀噴鏀捐揣浣嶅氨琛屼簡 + //if (mst.S_END_LAREA?.Trim() == "YWLT1TSJCD" || mst.S_END_LAREA?.Trim() == "YWLT2TSJCD") + //{ + // LocationHelper.UnLockLoc(mst.S_END_LOC.Trim()); + // return r; + //} + goto vvv; } - if (mst.S_TYPE.Trim() == "F绌虹摱鍧�鍑哄簱") - { - mst.S_CNTRS = "F" + Settings.GetTimeStamp(); - } - + //if (mst.S_TYPE.Trim() == "J绌虹摱鍧�鍑哄簱") + //{ + // mst.S_CNTRS = "J" + Settings.GetTimeStamp(); + //} + //if (mst.S_TYPE.Trim() == "F绌虹摱鍧�鍑哄簱") + //{ + // mst.S_CNTRS = "F" + Settings.GetTimeStamp(); + //} //鎴愬搧绌烘 涓嶉渶瑕佺粦绛� if (!mst.S_TYPE.Trim().Contains("鎴愬搧-绌烘墭涓婄嚎") && mst.S_TYPE.Trim() != "婊$摱鍧�鍏ュ簱" @@ -426,7 +432,12 @@ && mst.S_TYPE.Trim() != "鐡剁洊绌虹瓙杞繍-J2" && mst.S_TYPE.Trim() != "闈掓邯绾哥鎼繍鐗╂枡" && !mst.S_TYPE.Trim().Contains("鑷敱鐐瑰鐐�)) - CacheBitUpdate(mst, load: false, mst.S_NOTE); + { + if (mst.S_END_LOC != "YWLT1TSJ") + { + CacheBitUpdate(mst, load: false, mst.S_NOTE); + } + } if (mst.S_TYPE.Trim().Contains("鎴愬搧-绌烘墭涓婄嚎")) { @@ -470,7 +481,8 @@ { // to.AlQty += mst.S_CNTRS.Split(',').Length;// mst.S_CNTRS.Substring(1).Split('v').Length; to.OutNum -= mst.S_CNTRS.Split(',').Length; - db.Updateable(to).UpdateColumns(it => new { it.OutNum }).ExecuteCommand(); + var ggi = db.Updateable(to).UpdateColumns(it => new { it.OutNum }).ExecuteCommand(); + LogHelper.Info($"鏇存柊 鎻愬崌鏈轰笂鏂欏伐鍗曡〃鏁伴噺涓�{to.OutNum} 褰卞搷琛屾暟涓�{ggi}"); } } @@ -835,7 +847,6 @@ return true; }); } - } else if (mst.S_TYPE.Trim() == "绌虹摱鍧�鍑哄簱" || mst.S_TYPE.Trim().Contains("鐡剁洊-绌轰笂鏈�) || mst.S_TYPE.Trim().Contains("缈绘枟鏈哄彨婊�)) { @@ -1102,6 +1113,12 @@ { CacheBitCancelUpdate(mst, out r, true); } + if (state == 9) + { + CacheBitUpdate(mst, load: true); + var g = LocationHelper.UnLockLoc(mst.S_END_LOC.Trim()); + var T = LocationHelper.UnLockLoc(mst.S_START_LOC.Trim()); + } return r; } @@ -1292,7 +1309,7 @@ "start DD ", start.ToString(), "-", - TRow + FRow }), ""); } else @@ -1339,6 +1356,48 @@ else return false; } } + else if (taskType.Contains("鐡跺澂缈绘枟鏈虹┖鎵�)) + { + start = LocationHelper.GetAgvSite(mst.S_START_LOC); + end = LocationHelper.GetAgvSite(mst.S_END_LOC, "2"); + LogHelper.Info($"鐡跺澂鏈虹炕鏂楁満浠诲姟 璧风偣缁堢偣瀵瑰簲鐨刟gv绔欑偣 start {start} end {end} 浠诲姟:" + mst.S_TASK_NO); + + } + else if (taskType.Contains("鐡跺澂缈绘枟鏈烘弧鎵�)) + { + start = LocationHelper.GetAgvSite(mst.S_START_LOC, "2"); + end = LocationHelper.GetAgvSite(mst.S_END_LOC); + LogHelper.Info($"鐡跺澂鏈虹炕鏂楁満浠诲姟 璧风偣缁堢偣瀵瑰簲鐨刟gv绔欑偣 start {start} end {end} 浠诲姟:" + mst.S_TASK_NO); + } + //else if (taskType.Contains("鏀剁缉鑶滃弶杩�璐ф灦鍑烘彁鍗囨満")) + //{ + // TSNo = 5; + // FRow = "1"; + // ChgTo = "2"; + // Flow = "0"; + // Tlow = "0"; + // DispInfo = "0"; + // CtrlVal = "1"; + // start = LocationHelper.GetAgvSite(mst.S_START_LOC);//璧风偣绔欑偣 + // end = LocationHelper.GetAgvSite(mst.S_END_LOC);//缁堢偣绔欑偣 + // if (mst.N_START_LAYER == 1) + // { + // CtrlVal = "11"; + // } + // else + // { + // CtrlVal = "21"; + // } + // var db = new SqlHelper<object>().GetInstance(); + // var cirs = ContainerHelper.GetCntrItemRel(mst.S_CNTRS.Split(',').ToList().FirstOrDefault()).First(); + // LogHelper.Info($"鍘熺墿鏂�鏀剁缉鑶滃弶杩�瀹瑰櫒鐗╂枡琛ㄦ暟鎹畕JsonConvert.SerializeObject(cirs)}", "HosttoagvTask"); + // if (cirs != null) + // { + // var ItemF = db.Queryable<ItemInfo>().Where(a => a.S_ITEM_CODE == cirs.S_ITEM_CODE).First(); + // TRow = ItemF.trayHeight.ToString(); + // } + //} + //else if ( mst.S_END_LAREA == "WJBQDDKQ" || mst.S_END_LAREA == "SXBQDDKQ"|| mst.S_START_LAREA == "WJBQDDKQ" ||mst.S_START_LAREA == "SXBQDDKQ" ) //{ // if (start == 0) @@ -1406,6 +1465,7 @@ //} else { + if (start == 0) { //bool flag3 = ; @@ -1421,7 +1481,7 @@ "start DD ", start.ToString(), "-", - TRow + FRow }), ""); } else @@ -1436,7 +1496,7 @@ "start agv鐐�, start.ToString(), "-", - TRow + FRow }), ""); } } @@ -1516,9 +1576,15 @@ } } + //if (Settings.GetDeviceInfoList().Find(x => x.location.Contains(mst.S_END_LOC))?.deviceType == 13 && mst.S_TYPE.Contains("鏀剁缉鑶滃弶杩�)) + //{ + // end = 7027; + //} + LogHelper.Info("SendTask " + mst.S_TASK_NO); Console.WriteLine("start=" + start.ToString()); Console.WriteLine("end= " + end.ToString()); + NDC.AGVResult res = NDC.AddNewOrder(TSNo, new Dictionary<string, string> { { @@ -1569,7 +1635,8 @@ bool flag8 = res != null && (res.Res.ErrCode == 0 || res.Res.ErrCode == 50009); if (flag8) { - TaskHelper.UpdateStatus(mst, "宸叉帹閫�); + var ctr2 = LocationHelper.GetList<CntrItemRel>(x => x.S_CNTR_CODE == mst.S_CNTRS.Split(',').ToList().FirstOrDefault()).FirstOrDefault(); + TaskHelper.UpdateStatus(mst, "宸叉帹閫�, ctr2); result = true; GeneralInterFaceFunc(mst, 8 + ""); } @@ -1593,8 +1660,11 @@ /// <param name="trayCarryCount"></param> /// <param name="priority"></param> /// <returns></returns> - public static bool CreateTransport(string wWorkNo, string start, string end, string taskType, List<string> cntrs, int startLayer, int endLayer, int trayCarryCount = 1, int priority = 1, string note = "") + public static bool CreateTransport(string wWorkNo, string start, string end, string taskType, List<string> cntrs, int startLayer, int endLayer, int trayCarryCount = 1, int priority = 1, string note = "", string TwoEndLoc = "") { + if (string.IsNullOrEmpty(start) || string.IsNullOrEmpty(end)) + return false; + var result = false; //鎵规鍙峰瓨鎵樼洏鍙凤紝1~3涓墭鐩� var trayCodes = string.Join(",", cntrs); @@ -1602,7 +1672,7 @@ LogHelper.Info($"CreateTransport- " + $"{taskNo}-{start}-{end}-{taskType}"); - var res = TaskHelper.CreateTask(wWorkNo, start.Trim(), end.Trim(), taskType, priority, trayCodes, trayCarryCount, startLayer, endLayer, note, lockLoc: true); + var res = TaskHelper.CreateTask(wWorkNo, start.Trim(), end.Trim(), taskType, priority, trayCodes, trayCarryCount, startLayer, endLayer, note, lockLoc: true, TwoEndLoc); if (res) { result = true; -- Gitblit v1.9.1