From d09a1552e45e6cfc8f83c0249cd296b8706c0dc2 Mon Sep 17 00:00:00 2001 From: zhaowc <526854230@qq.com> Date: 星期二, 20 五月 2025 09:33:27 +0800 Subject: [PATCH] 修改下发AGV任务接口,修改条码增加功能 --- Wms/Utility/Tools/RcsHelper.cs | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 101 insertions(+), 4 deletions(-) diff --git a/Wms/Utility/Tools/RcsHelper.cs b/Wms/Utility/Tools/RcsHelper.cs index 0cd9b43..568bfda 100644 --- a/Wms/Utility/Tools/RcsHelper.cs +++ b/Wms/Utility/Tools/RcsHelper.cs @@ -1,15 +1,19 @@ 锘縰sing Model.InterFaceModel; +using SqlSugar; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Text; using ZXing; using static Model.InterFaceModel.RCSModel; +using WMS.Entity.Context; +using WMS.Entity.SysEntity; namespace Utility.Tools { public static class RcsHelper { + private static readonly SqlSugarScope Db = DataContext.Db; /// <summary> /// 涓嬪彂浠诲姟 /// </summary> @@ -21,12 +25,16 @@ public static bool CreateTaskForAgv(TaskDetial taskDetial, string url, out string agvMsg, string priority = null) { bool result = false; + var tasktype = "F12"; + + //璺ㄦゼ灞備换鍔asktype鍊艰祴鍊尖�︹�� + //tasktype = ""; List<targetRoute> pahtList = new List<targetRoute>(); //璧峰浣嶇疆 targetRoute royte1 = new targetRoute(); royte1.seq = 0; - royte1.type = "ZONE"; + royte1.type = "SITE"; royte1.code = taskDetial.Startport; pahtList.Add(royte1); @@ -34,18 +42,23 @@ //鐩爣浣嶇疆 targetRoute royte2 = new targetRoute(); royte2.seq = 0; - royte2.type = "ZONE"; + royte2.type = "SITE"; royte2.code = taskDetial.Endport; pahtList.Add(royte2); AgvCreateTaskModel taskModel = new AgvCreateTaskModel(); - taskModel.taskType = "PF-LMR-COMMON"; + taskModel.taskType = tasktype; taskModel.targetRoute = pahtList; + + //AGV浠诲姟涓嬪彂鏃跺鍔爃earder:X-LR-REQUEST-ID,鍊间负闅忔満鏁� + long ran = DateTime.Now.Ticks; + Dictionary<string, string> key = new Dictionary<string, string>(); + key.Add("X-LR-REQUEST-ID", ran.ToString()); // 姝e紡杩愯绋嬪簭鏀惧紑 var jsonData = JsonConvert.SerializeObject(taskModel); - string response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橝GV杞繍鍛戒护", "AGV"); + string response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橝GV杞繍鍛戒护", "AGV", key); //瑙f瀽杩斿洖鏁版嵁 var agvModel = JsonConvert.DeserializeObject<OutCommanAgvDto>(response); if (agvModel.Code == "0") @@ -64,5 +77,89 @@ return result; } + /// <summary> + /// 涓嬪彂AGV缁戝畾杞藉叿鍜岀珯鐐� + /// </summary> + /// <param name="palletNo">妗跺彿L</param> + /// <param name="url">璇锋眰鍦板潃</param> + /// <param name="agvMsg">杩斿洖淇℃伅</param> + /// <param name="locateNo">杩斿洖淇℃伅</param> + /// <returns></returns> + public static bool BindPalletAndSite(string palletNo,string locateNo,string url,out string agvMsg) + { + + bool result = false; + carrierInfo carrierInfo = new carrierInfo(); + carrierInfo.carrierCode = palletNo; + carrierInfo.siteCode = locateNo; + + //AGV浠诲姟涓嬪彂鏃跺鍔爃earder:X-LR-REQUEST-ID,鍊间负闅忔満鏁� + long ran = DateTime.Now.Ticks; + Dictionary<string, string> key = new Dictionary<string, string>(); + key.Add("X-LR-REQUEST-ID", ran.ToString()); + + // 姝e紡杩愯绋嬪簭鏀惧紑 + var jsonData = JsonConvert.SerializeObject(carrierInfo); + string response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橝GV缁戝畾杞藉叿鍛戒护", "AGV", key); + //瑙f瀽杩斿洖鏁版嵁 + var agvModel = JsonConvert.DeserializeObject<OutCommanAgvDto>(response); + if (agvModel.Code == "0") + { + result = true;//缁欎笅杞︿笅鍙戜换鍔℃垚鍔� + + agvMsg = ""; + } + else + { + var logStr = $@".\log\AGV\涓嬪彂缁橝GV缁戝畾杞藉叿鍛戒护" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + LogFile.SaveLogToFile($"涓嬪彂缁橝GV缁戝畾杞藉叿鍛戒护寮傚父锛�( {agvModel.Message} ),", logStr); + + agvMsg = agvModel.Message; + } + + return result; + } + + /// <summary> + /// 涓嬪彂AGV瑙g粦杞藉叿鍜岀珯鐐� + /// </summary> + /// <param name="palletType">瀹瑰櫒绫诲瀷1锛�400L锛�2锛�800/1000L</param> + /// <param name="url">璇锋眰鍦板潃</param> + /// <param name="agvMsg">杩斿洖淇℃伅</param> + /// <param name="locateNo">杩斿洖淇℃伅</param> + /// <returns></returns> + public static bool UnBindPalletAndSite(string palletType, string locateNo,string url, out string agvMsg) + { + bool result = false; + carrierInfo carrierInfo = new carrierInfo(); + carrierInfo.carrierCode = palletType; + carrierInfo.siteCode = locateNo; + + //AGV浠诲姟涓嬪彂鏃跺鍔爃earder:X-LR-REQUEST-ID,鍊间负闅忔満鏁� + long ran = DateTime.Now.Ticks; + Dictionary<string, string> key = new Dictionary<string, string>(); + key.Add("X-LR-REQUEST-ID", ran.ToString()); + + // 姝e紡杩愯绋嬪簭鏀惧紑 + var jsonData = JsonConvert.SerializeObject(carrierInfo); + string response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橝GV缁戝畾杞藉叿鍛戒护", "AGV", key); + //瑙f瀽杩斿洖鏁版嵁 + var agvModel = JsonConvert.DeserializeObject<OutCommanAgvDto>(response); + if (agvModel.Code == "0") + { + result = true;//缁欎笅杞︿笅鍙戜换鍔℃垚鍔� + + agvMsg = ""; + } + else + { + var logStr = $@".\log\AGV\涓嬪彂缁橝GV瑙g粦杞藉叿鍛戒护" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + LogFile.SaveLogToFile($"涓嬪彂缁橝GV瑙g粦杞藉叿鍛戒护寮傚父锛�( {agvModel.Message} ),", logStr); + + agvMsg = agvModel.Message; + } + + return result; + } } } -- Gitblit v1.8.0