From 1293aeec722e06dc11b657455941abbc1c274090 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期日, 16 二月 2025 11:23:46 +0800
Subject: [PATCH] 修改与小车接口

---
 Wms/Wms/Controllers/UpApiController.cs   |    9 ++
 Wms/Wms/Controllers/PdaCrController.cs   |    2 
 Wms/WMS.BLL/LogServer/TaskServer.cs      |   12 +++-
 Wms/Wms/Tools/ApiUrlConfig.cs            |   16 +++++
 Wms/WMS.IBLL/ILogServer/ITaskServer.cs   |    2 
 Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs  |    3 +
 Wms/WMS.BLL/DataServer/StockServer.cs    |   36 +++++++++++-
 Wms/Wms/appsettings.json                 |    5 +
 Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs  |   30 +++++++++
 Wms/Model/InterFaceModel/AsnModels.cs    |    2 
 Wms/Model/InterFaceModel/HttpModel.cs    |    6 +
 Wms/WMS.IBLL/IDataServer/IStockServer.cs |    2 
 Wms/Wms/Controllers/DownApiController.cs |   19 +++--
 13 files changed, 117 insertions(+), 27 deletions(-)

diff --git a/Wms/Model/InterFaceModel/AsnModels.cs b/Wms/Model/InterFaceModel/AsnModels.cs
index eed1ad3..8477289 100644
--- a/Wms/Model/InterFaceModel/AsnModels.cs
+++ b/Wms/Model/InterFaceModel/AsnModels.cs
@@ -149,6 +149,4 @@
         /// </summary>
         public int? QtyCount {  get; set; }
     }
-
-
 }
diff --git a/Wms/Model/InterFaceModel/HttpModel.cs b/Wms/Model/InterFaceModel/HttpModel.cs
index fcb9260..7d88f99 100644
--- a/Wms/Model/InterFaceModel/HttpModel.cs
+++ b/Wms/Model/InterFaceModel/HttpModel.cs
@@ -116,8 +116,10 @@
     /// </summary>
     public class PutModel
     {
-         public string TaskNo { get; set; }
-         
+
+        public string Port { get; set; }
+        public string TaskNo { get; set; }
+
     }
     /// <summary>
     /// Wms涓撶敤 涓嬪彂鎸囦护Dto
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
index 89f5243..a8cc00b 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
@@ -972,13 +972,18 @@
                 //璇锋眰WCS鍏ュ簱鍙f斁璐х‘璁�
                 try
                 {
-                    var res = HttpHelper.DoPost(wcsurl, EndLocat, "璇锋眰WCS鍏ュ簱鍙f槸鍚﹀彲鏀捐揣", "WCS");
+                    var port = new
+                    {
+                        Port = EndLocat
+                    };
+                    var json = JsonConvert.SerializeObject(port);
+                    var res = HttpHelper.DoPost(wcsurl, json, "璇锋眰WCS鍏ュ簱鍙f槸鍚﹀彲鏀捐揣", "WCS");
 
                     //////瑙f瀽杩斿洖鏁版嵁 
                     var ret = JsonConvert.DeserializeObject<WcsModel>(res);
                     if (ret.StatusCode == -1)
                     {
-                        throw new Exception(EndLocat + "鍏ュ簱鍙e凡鏈夊叾浠栦换鍔″崰鐢�,璇烽�夋嫨鍏朵粬鍏ュ簱鍙�");
+                        throw new Exception(EndLocat + "鍙峰叆搴撳彛宸叉湁鍏朵粬浠诲姟鍗犵敤,璇烽�夋嫨鍏朵粬鍏ュ簱鍙�");
                     }
                 }
                 catch (Exception ex)
@@ -1620,6 +1625,27 @@
                 throw new Exception(ex.Message);
             }
         }
+
+        public void AgvContinue(string taskno,string url) 
+        {
+            var data = new { reqCode =taskno  };
+            var jsonData = JsonConvert.SerializeObject(data);
+            try
+            {
+                var response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橝GV缁х画鎵ц鍛戒护", "AGV");
+
+                //////瑙f瀽杩斿洖鏁版嵁 
+                var agvModel = JsonConvert.DeserializeObject<OutCommanAgvDto>(response);
+                if (agvModel.Code == "1")
+                {
+                    throw new Exception(agvModel.Message);
+                }
+            }
+            catch (Exception ex)
+            {
+                throw new Exception(ex.Message);
+            }
+        }
         #endregion
 
         #region 浜哄伐杞繍
diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs
index 89ca694..f15abb3 100644
--- a/Wms/WMS.BLL/DataServer/StockServer.cs
+++ b/Wms/WMS.BLL/DataServer/StockServer.cs
@@ -4,13 +4,17 @@
 using System.Linq;
 using System.Runtime.Intrinsics.X86;
 using System.Security.Claims;
+using System.Security.Policy;
 using System.Text;
 using Model.InterFaceModel;
 using Model.ModelDto;
 using Model.ModelDto.DataDto;
 using Model.ModelDto.SysDto;
 using Model.ModelVm.DataVm;
+using Newtonsoft.Json;
 using SqlSugar;
+using Utility.Tools;
+using WMS.BLL.LogServer;
 using WMS.DAL;
 using WMS.Entity.BllSoEntity;
 using WMS.Entity.Context;
@@ -1031,8 +1035,9 @@
         /// AGV鍏ュ簱瀹屾垚
         /// </summary>
         /// <param name="TaskCode">浠诲姟鍙�</param>
+        /// <param name="wcsurl">涓嬪彂WCS鏀捐揣瀹屾垚鍦板潃</param>
         /// <returns></returns>
-        public void ArriveFinish(string TaskCode)
+        public void ArriveFinish(string TaskCode,string wcsurl)
         {
             try
             {
@@ -1063,7 +1068,32 @@
                 stockDetail.WareHouseNo = "";
                 Db.Updateable(stockDetail).ExecuteCommand();
 
-                //涓嬪彂WCS鐢宠鍏ュ簱
+                #region 涓嬪彂WCS鏀捐揣瀹屾垚
+                var data = new
+                {
+                    Port = palletNo.EndLocat
+                };
+                var jsonData = JsonConvert.SerializeObject(data);
+                string response = "";
+                try
+                {
+                    var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
+                    response = HttpHelper.DoPost(wcsurl, jsonData, "涓嬪彂缁橶CS鏀捐揣瀹屾垚鍛戒护", "WCS");
+                    var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
+
+                    //////瑙f瀽杩斿洖鏁版嵁 
+                    var res = JsonConvert.DeserializeObject<WcsModel>(response);
+                    if (res.StatusCode == -1)
+                    {
+                        throw new Exception("鏀捐揣澶辫触锛學CS杩斿洖淇℃伅閿欒");
+                    }
+                }
+                catch (Exception ex)
+                {
+                    throw new Exception(ex.Message);
+                }
+
+                #endregion
 
 
                 Db.CommitTran();
@@ -1181,7 +1211,7 @@
         /// <summary>
         /// 鍙嶉鏁板瓧瀛敓绯荤粺搴撳瓨淇℃伅
         /// </summary>
-        /// <param name="model"></param>
+        /// <param name=""></param>
         /// <returns></returns>
         public List<ReLocateData> GetLocateList()
         {
diff --git a/Wms/WMS.BLL/LogServer/TaskServer.cs b/Wms/WMS.BLL/LogServer/TaskServer.cs
index 9da8836..ca411ac 100644
--- a/Wms/WMS.BLL/LogServer/TaskServer.cs
+++ b/Wms/WMS.BLL/LogServer/TaskServer.cs
@@ -168,15 +168,21 @@
         /// <param name="port"></param> 鍏ュ簱鍙�
         /// <param name="url"></param>  璇锋眰鍦板潃
         /// <returns></returns>
-        public string  GetWcsPuttype(string port,string url)
+        public string  GetWcsPuttype(string taskno,string port,string url)
         {
             try
             {
-                var res = HttpHelper.DoPost(url, port, "璇锋眰WCS"+ port+"鍏ュ簱鍙f斁璐�", "WCS");
+                var data = new
+                {
+                    Port = port,
+                    TaskNo = taskno
+                };
+                var jsonData = JsonConvert.SerializeObject(data);   
+                var res = HttpHelper.DoPost(url, jsonData, "璇锋眰WCS"+ port+"鍏ュ簱鍙f斁璐�", "WCS");
 
                 //////瑙f瀽杩斿洖鏁版嵁 
                 var ret = JsonConvert.DeserializeObject<WcsModel>(res);
-                return ret.Msg.ToString();
+                return ret.StatusCode.ToString();
             }                                                                                                 
             catch (Exception ex)
             {
diff --git a/Wms/WMS.IBLL/IDataServer/IStockServer.cs b/Wms/WMS.IBLL/IDataServer/IStockServer.cs
index d3b04bf..7cf5723 100644
--- a/Wms/WMS.IBLL/IDataServer/IStockServer.cs
+++ b/Wms/WMS.IBLL/IDataServer/IStockServer.cs
@@ -128,7 +128,7 @@
         /// <param name="skuNo">鐗╂枡缂栫爜</param>
         /// <param name="skuName">鐗╂枡鍚嶇О</param>
         /// <returns></returns>
-        public void ArriveFinish(string TaskCode);
+        public void ArriveFinish(string TaskCode,string wcsrurl);
         /// <summary>
         /// 鍑哄簱浠诲姟瀹屾垚
         /// </summary>
diff --git a/Wms/WMS.IBLL/ILogServer/ITaskServer.cs b/Wms/WMS.IBLL/ILogServer/ITaskServer.cs
index 9f30cc3..24fc617 100644
--- a/Wms/WMS.IBLL/ILogServer/ITaskServer.cs
+++ b/Wms/WMS.IBLL/ILogServer/ITaskServer.cs
@@ -53,6 +53,6 @@
         /// <returns>0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2绉诲簱浠诲姟</returns>
         public string GetTaskType(string taskNo);
 
-        public string GetWcsPuttype(string port,string url);
+        public string GetWcsPuttype(string taskno,string port,string url);
     }
 }
diff --git a/Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs b/Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs
index 780e321..32bb442 100644
--- a/Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs
+++ b/Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs
@@ -151,6 +151,9 @@
         /// </summary>
         /// <param name="model"></param>
         public void cancelTask(string taskno, string url);
+
+        public void AgvContinue(string taskno,string url);
+
         #endregion
 
         #region 浜哄伐杞繍
diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index c513a72..aa08b42 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -36,8 +36,9 @@
         private readonly IPdaSoServer _pdaSoSvc;//绌烘墭鍑哄簱Svc
         private readonly IPdaAsnServer _paAsnSvc;//绌烘墭璺虹粦瀹�
         private readonly IStockServer _stockSvc;//AGV浠诲姟瀹屾垚绠�
+        private readonly IPdaCrServer _pdaCrServer; // PDA浠诲姟璋冨害
 
-        public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IPdaSoServer pdaSoSvc,IPdaAsnServer paAsnSvc,IStockServer stockSvc)
+        public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IPdaSoServer pdaSoSvc,IPdaAsnServer paAsnSvc,IStockServer stockSvc,IPdaCrServer pdaCrServer)
         {
             _config = setting.Value;
             _exNoticeSvc = exNoticeSvc;
@@ -46,7 +47,8 @@
             _taskSvc = taskSvc;
             _pdaSoSvc = pdaSoSvc;
             _paAsnSvc = paAsnSvc;
-            _stockSvc = stockSvc; 
+            _stockSvc = stockSvc;
+            _pdaCrServer = pdaCrServer;
         }
 
         #region WMS鎺ュ彛 璋冪敤涓嬫父绯荤粺鎺ュ彛 
@@ -750,8 +752,7 @@
 
         }
 
-
-
+        
 
         #endregion
 
@@ -787,7 +788,7 @@
                         if (model.TaskTyp == "mid") //AGV鍒拌揪鍏ュ簱鍙o紝璇锋眰鏀捐揣
                         {
                             //涓嬪彂WCS鏀捐揣璇锋眰
-                            var ret = _taskSvc.GetWcsPuttype(model.CurrentCallCode,_config.WcsHost + _config.MesBeiLiaoUrl);
+                            var ret = _taskSvc.GetWcsPuttype(model.TaskCode,model.CurrentCallCode,_config.WcsHost + _config.HttpInRequest);
                             if (ret.Contains("-1"))
                             {
                                 logStr = $@".\log\WCS\浠诲姟鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
@@ -797,7 +798,9 @@
                         }
                         else if (model.TaskTyp == "end")//AGV鏀捐揣鍒板叆搴撳彛瀹屾垚
                         {
-                            _stockSvc.ArriveFinish(model.TaskCode);
+                            _stockSvc.ArriveFinish(model.TaskCode,_config.WcsHost + _config.HttpInFinish);
+
+                            
                         }
 
                         break;
@@ -845,8 +848,8 @@
                 var jsonData = JsonConvert.SerializeObject(model);
                 LogFile.SaveLogToFile($"WCS浠诲姟鍙嶉鎵ц閫氱煡锛�( {jsonData} ),", logStr);
 
-                //涓嬪彂AGV鍏ュ簱浠诲姟
-                var taskType = _taskSvc.GetTaskType(model.TaskNo);
+                //涓嬪彂AGV缁х画鎵ц
+                _pdaCrServer.AgvContinue(model.TaskNo,_config.AgvHost+_config.ContinueTask);
 
                 
                 return Ok(new OutCommanAgvDto { Code = "0", Message = "鎴愬姛"});
diff --git a/Wms/Wms/Controllers/PdaCrController.cs b/Wms/Wms/Controllers/PdaCrController.cs
index 1e65402..b2f5c9f 100644
--- a/Wms/Wms/Controllers/PdaCrController.cs
+++ b/Wms/Wms/Controllers/PdaCrController.cs
@@ -363,7 +363,7 @@
                 }
 
                 var uId = int.Parse(userId);
-                _pdaCrSvc.AgvTransport(model.PalletNo, model.AreaNo, model.Ruku, uId, _config.AgvHost + _config.GenAgvSchedulingTask,_config.WcsHost + _config.BoxHost);
+                _pdaCrSvc.AgvTransport(model.PalletNo, model.AreaNo, model.Ruku, uId, _config.AgvHost + _config.GenAgvSchedulingTask,_config.WcsHost + _config.HttpInConfirm);
 
                 return Ok(new { data = "", code = 0, msg = "鎴愬姛" });
             }
diff --git a/Wms/Wms/Controllers/UpApiController.cs b/Wms/Wms/Controllers/UpApiController.cs
index 3235fe0..1fefa33 100644
--- a/Wms/Wms/Controllers/UpApiController.cs
+++ b/Wms/Wms/Controllers/UpApiController.cs
@@ -224,7 +224,10 @@
         /// <summary>
         /// 涓嬪彂AGV璋冨害浠诲姟
         /// </summary>
-        /// <param name="model"></param>
+        /// <param name="type"></param>
+        ///   <param name="taskno"></param>
+        ///   <param name="positionStart"></param>
+        ///   <param name="positionEnd"></param>
         /// <returns></returns>
         [HttpPost]
         public IActionResult AGVTask(string type, string taskno, string positionStart, string positionEnd)
@@ -250,7 +253,7 @@
         /// <summary>
         /// 涓嬪彂AGV鍙栨秷浠诲姟
         /// </summary>
-        /// <param name="model"></param>
+        /// <param name="taskno"></param>
         /// <returns></returns>
         [HttpPost]
         public IActionResult cancelTask(string taskno)
@@ -377,6 +380,7 @@
         /// <summary>
         /// 閲婃斁澶囨枡鍖哄偍浣嶇姸鎬丣C24
         /// </summary>
+        /// <param name="model">鐘舵�佷俊鎭�</param>
         /// <returns></returns>
         [HttpPost]
         public IActionResult UpLocate(UpLocateModel model)
@@ -433,6 +437,7 @@
         /// <summary>
         /// 鏁板瓧瀛敓绯荤粺搴撳瓨璐ㄩ噺鐘舵�佸弽棣�
         /// </summary>
+        /// <param name="model">鏉ユ簮淇℃伅</param>
         /// <returns></returns>
         public IActionResult ReLocateData(DigitalTwinModel model)
         {
diff --git a/Wms/Wms/Tools/ApiUrlConfig.cs b/Wms/Wms/Tools/ApiUrlConfig.cs
index 2488b98..c05d114 100644
--- a/Wms/Wms/Tools/ApiUrlConfig.cs
+++ b/Wms/Wms/Tools/ApiUrlConfig.cs
@@ -131,7 +131,21 @@
         /// <summary>
         /// //缁橶CS涓嬪彂鍏ュ簱鍗曚俊鎭�
         /// </summary>
-        public string AddOrderTaskUrl { get; set; }     
+        public string AddOrderTaskUrl { get; set; }
+        /// <summary>
+        /// //缁橶CS涓嬪彂灏忚溅鍏ュ簱纭
+        /// </summary>
+
+        public string HttpInConfirm { get; set; }
+        /// <summary>
+        /// //缁橶CS涓嬪彂灏忚溅鍏ュ簱璇锋眰
+        /// </summary>
+        public string HttpInRequest { get; set; }
+        /// <summary>
+        /// //缁橶CS涓嬪彂灏忚溅鍏ュ簱瀹屾垚
+        /// </summary>
+        public string HttpInFinish { get; set; }
+
         #endregion
     }
 }
diff --git a/Wms/Wms/appsettings.json b/Wms/Wms/appsettings.json
index 92bb1cf..ffa076a 100644
--- a/Wms/Wms/appsettings.json
+++ b/Wms/Wms/appsettings.json
@@ -33,6 +33,9 @@
     "IssueComApiUrl": "/api/demo/wcsTasks", //涓嬪彂鍛戒护(鍑哄簱銆佺Щ搴�)
     "IssueComApiUrl2": "/api/demo/wcsTask", //"/api/WCSApi/AddTask", //閲嶆柊涓嬪彂鍛戒护(鍑哄簱銆佺Щ搴�)
     "AddOrderTaskUrl": "/api/demo/orderTask", //WMS缁橶CS涓嬪彂鐨勫叆搴撳崟浠诲姟
+    "HttpInConfirm": "/api/demo/HttpInConfirm", //WMS缁橶CS涓嬪彂AGV鍏ュ簱璇锋眰
+    "HttpInRequest": "/api/demo/HttpInRequest", //WMS缁橶CS涓嬪彂AGV鍏ュ簱纭
+    "HttpInFinish": "/api/demo/HttpInFinish", //WMS缁橶CS涓嬪彂鐨凙GV鍏ュ簱瀹屾垚
 
     // ERP
     "AsnFinishUrl": "/api/wmsInterface/OutStockTask", //鍏ュ簱璁㈠崟鍏抽棴
@@ -50,7 +53,7 @@
 
     // AGV
     "GenAgvSchedulingTask": "/rcms/services/rest/hikRpcService/genAgvSchedulingTask", //鐢熸垚浠诲姟鍗曟帴鍙�
-    "CancelTask": "/rcms/services/rest/hikRpcService/cancelTask",//鍙栨秷浠诲姟鎺ュ彛
+    "CancelTask": "/rcms/services/rest/hikRpcService/cancelTask", //鍙栨秷浠诲姟鎺ュ彛
     "ContinueTask": "/rcms/services/rest/hikRpcService/continueTask", //缁х画鎵ц浠诲姟鎺ュ彛
     "GenPreScheduleTask": "/rcms/services/rest/hikRpcService/genPreScheduleTask" // 棰勮皟搴﹀澶栨帴鍙�
   },

--
Gitblit v1.8.0