From 7afc439ba32e234ebc455c98fa084ae6eef8a621 Mon Sep 17 00:00:00 2001 From: lss <2538410689@qq.com> Date: 星期四, 03 七月 2025 17:24:04 +0800 Subject: [PATCH] 优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs | 79 +++++++++++++++++++++++++++++++++------ 1 files changed, 67 insertions(+), 12 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 d6064c0..e0d65e5 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs @@ -8,6 +8,7 @@ using HH.WCS.JiaTong.wms; using Microsoft.Owin.BuilderProperties; using Newtonsoft.Json; +using Newtonsoft.Json.Linq; using SqlSugar; using System; using System.Collections.Generic; @@ -46,7 +47,7 @@ else { LogHelper.Info($"浠诲姟{mst.S_CODE} 鎵樼洏涓虹┖ ,鍙В閿佽揣浣�); - LocationHelper.UnlockLoc(mst.S_START_LOC); + LocationHelper.UnlockLocDeleteCntrs(mst.S_START_LOC); } } else @@ -83,13 +84,10 @@ } else { - //璧风偣缁堢偣瑙i攣 LocationHelper.UnLockLoc(mst.S_START_LOC); LocationHelper.UnLockLoc(mst.S_END_LOC); - } - } /// <summary> @@ -214,13 +212,25 @@ if (Device != null) { //鍐欏叆澶辫触閲嶆柊鍐欏叆 - while (!S7Helper.WriteDpj(Device.address, 1001, 1)) + if (!S7Helper.WriteDpj(Device.address, 1001, 1)) { - Thread.Sleep(1000); + Task.Run(() => + { + while (!S7Helper.WriteDpj(Device.address, 1001, 1)) + { + Thread.Sleep(1000); + } + }); } - while (!S7Helper.WriteDpj(Device.address, 1002, 0)) + if (!S7Helper.WriteDpj(Device.address, 1002, 0)) { - Thread.Sleep(1000); + Task.Run(() => + { + while (!S7Helper.WriteDpj(Device.address, 1002, 0)) + { + Thread.Sleep(1000); + } + }); } } else @@ -476,12 +486,16 @@ else if (mst.S_TYPE == "鐢垫2") { var mst2 = mstbyEqno.Where(a => a.S_TYPE == "鐢垫1").First(); - if (mst2.S_B_STATE == "鍗歌揣瀹屾垚" || mst2.S_B_STATE == "瀹屾垚") + if (mst2 == null) { return result; } else { + if (mst2.S_B_STATE == "鍗歌揣瀹屾垚" || mst2.S_B_STATE == "瀹屾垚") + { + return result; + } result = false; } } @@ -544,14 +558,22 @@ internal static bool SendTask(WCSTask mst) { - + var db = new SqlHelper<object>().GetInstance(); var result = false; var start = "0"; var end = "0"; var taskType = mst.S_TYPE.Trim(); + var list = db.Queryable<Location>().ToList().Count; + // 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)) + { + 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) @@ -809,7 +831,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 == "绮夋枡") { @@ -824,6 +863,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; @@ -894,8 +935,19 @@ if (cntritem != null) { + string curBagNum = null; + string weightBag = null; + if (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; + } list.Add(new MesItemBackInfoModel() { + LotNumber = cntritem.S_BATCH_NO, PartNumber = cntritem.S_ITEM_CODE, Subpool = cntritem.Subpool, @@ -906,7 +958,10 @@ Rfid = cntritem.S_CNTR_CODE, Qty = cntritem.F_WEIGHT, PartLevel = cntritem.LEV, - WmsLot = cntritem.WmsLot + WmsLot = cntritem.WmsLot, + WeightBag = weightBag, + CurBagNum = curBagNum, + InitBagNum = cntritem.F_QTY1 }); -- Gitblit v1.9.1