From 71d1dcdf796f08fa01cbc2d3faab86eea28b295b Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期三, 17 十二月 2025 08:59:03 +0800
Subject: [PATCH] 物料管理页面修改

---
 Wms/Wms/Controllers/DownApiController.cs |  205 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 179 insertions(+), 26 deletions(-)

diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index 75d7a71..c21314f 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -22,6 +22,8 @@
 using ZXing.QrCode.Internal;
 using Model.ModelVm.BllCheckVm;
 using Model.ModelVm.SysVm;
+using System.Security.Policy;
+using Model.ModelVm.DataVm;
 
 namespace Wms.Controllers
 {
@@ -857,7 +859,7 @@
         {
             //璁板綍log
             var logStr = $@".\log\AGV\浠诲姟鎵ц閫氱煡" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
-            AgvResultModel resultModel = null;//杩斿洖淇℃伅
+            AgvResultModel2 resultModel = null;//杩斿洖淇℃伅
             try
             {
                 var jsonData = JsonConvert.SerializeObject(model);
@@ -867,7 +869,9 @@
 
 
 
-                resultModel = new AgvResultModel { code = "0", message = "鎴愬姛", reqCode = model.reqCode };
+                resultModel.code = "0";
+                resultModel.message = "鎴愬姛";
+                resultModel.da.robotTaskCode = model.robotTaskCode;
                 var jsonData2 = JsonConvert.SerializeObject(resultModel);
                 LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟寮�濮�-杩斿洖鎶ユ枃锛�( {jsonData2} ),", logStr);
                 return Ok(resultModel);
@@ -876,7 +880,9 @@
             {
                 LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟寮�濮�-寮傚父锛�( {ex.Message} ),", logStr);
 
-                resultModel = new AgvResultModel { code = "1", message = ex.Message, reqCode = model.reqCode };
+                resultModel.code = "1";
+                resultModel.message = ex.Message;
+                resultModel.da.robotTaskCode = model.robotTaskCode;
                 var jsonData2 = JsonConvert.SerializeObject(resultModel);
                 LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟寮�濮�-杩斿洖鎶ユ枃锛�( {jsonData2} ),", logStr);
                 return Ok(resultModel);
@@ -892,17 +898,25 @@
         {
             //璁板綍log
             var logStr = $@".\log\AGV\浠诲姟鎵ц閫氱煡" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
-            AgvResultModel resultModel = null;//杩斿洖淇℃伅
+            AgvResultModel2 resultModel = null;//杩斿洖淇℃伅
             try
             {
+                var extraValue = new ExtraModel();
+                extraValue = model.extra;
+                if (!(extraValue.values.method == "outbin"))                                               
+                {
+                    throw new Exception("灏忚溅璋冪敤鏂规硶閿欒");
+                }
                 var jsonData = JsonConvert.SerializeObject(model);
                 LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-璧板嚭鍌ㄤ綅-璇锋眰鎶ユ枃锛�( {jsonData} ),", logStr);
 
                 //鍏蜂綋澶勭悊鏂规硶
+                _hopper.OutBinAgv(model.robotTaskCode, _config.AgvHost + _config.GenAgvSchedulingTask,_config.AgvHost+_config.AGVBindPallets);
 
 
-
-                resultModel = new AgvResultModel { code = "0", message = "鎴愬姛", reqCode = model.reqCode };
+                Data data = new Data();
+                data.robotTaskCode = model.robotTaskCode;
+                resultModel = new AgvResultModel2 { code = "0", message = "鎴愬姛", da =data };
                 var jsonData2 = JsonConvert.SerializeObject(resultModel);
                 LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-璧板嚭鍌ㄤ綅-杩斿洖鎶ユ枃锛�( {jsonData2} ),", logStr);
                 return Ok(resultModel);
@@ -911,7 +925,10 @@
             {
                 LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-璧板嚭鍌ㄤ綅-寮傚父锛�( {ex.Message} ),", logStr);
 
-                resultModel = new AgvResultModel { code = "1", message = ex.Message, reqCode = model.reqCode };
+                Data data = new Data();
+                data.robotTaskCode = model.robotTaskCode;
+                resultModel = new AgvResultModel2 { code = "1", message = ex.Message, da = data };
+               
                 var jsonData2 = JsonConvert.SerializeObject(resultModel);
                 LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-璧板嚭鍌ㄤ綅-杩斿洖鎶ユ枃锛�( {jsonData2} ),", logStr);
                 return Ok(resultModel);
@@ -927,17 +944,25 @@
         {
             //璁板綍log
             var logStr = $@".\log\AGV\浠诲姟鎵ц閫氱煡" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
-            AgvResultModel resultModel = null;//杩斿洖淇℃伅
+            AgvResultModel2 resultModel = null;//杩斿洖淇℃伅
             try
             {
+                var extraValue = new ExtraModel();
+                extraValue = model.extra;
+                if (!(extraValue.values.method == "end"))
+                {
+                    throw new Exception("灏忚溅璋冪敤鏂规硶閿欒");
+                }
                 var jsonData = JsonConvert.SerializeObject(model);
                 LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟缁撴潫-璇锋眰鎶ユ枃锛�( {jsonData} ),", logStr);
 
                 //鍏蜂綋澶勭悊鏂规硶
-                _rcsserver.RCSFinishTask(model.taskCode, "1", "AGV");
+                _hopper.RCSFinishTask(model.robotTaskCode, extraValue.values.slotName, "1", "AGV");
 
+                Data data = new Data();
+                data.robotTaskCode = model.robotTaskCode;
+                resultModel = new AgvResultModel2 { code = "0", message = "鎴愬姛", da = data };
 
-                resultModel = new AgvResultModel { code = "0", message = "鎴愬姛", reqCode = model.reqCode };
                 var jsonData2 = JsonConvert.SerializeObject(resultModel);
                 LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟缁撴潫-杩斿洖鎶ユ枃锛�( {jsonData2} ),", logStr);
                 return Ok(resultModel);
@@ -946,7 +971,9 @@
             {
                 LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟缁撴潫-寮傚父锛�( {ex.Message} ),", logStr);
 
-                resultModel = new AgvResultModel { code = "1", message = ex.Message, reqCode = model.reqCode };
+                Data data = new Data();
+                data.robotTaskCode = model.robotTaskCode;
+                resultModel = new AgvResultModel2 { code = "1", message = ex.Message, da = data };
                 var jsonData2 = JsonConvert.SerializeObject(resultModel);
                 LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟缁撴潫-杩斿洖鎶ユ枃锛�( {jsonData2} ),", logStr);
                 return Ok(resultModel);
@@ -962,31 +989,86 @@
         {
             //璁板綍log
             var logStr = $@".\log\AGV\浠诲姟鎵ц閫氱煡" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
-            AgvResultModel resultModel = null;//杩斿洖淇℃伅
+            AgvResultModel2 resultModel = null;//杩斿洖淇℃伅
             try
             {
+                var extraValue = new ExtraModel();
+                extraValue = model.extra;
+                if (!(extraValue.values.method == "cancel"))
+                {
+                    throw new Exception("灏忚溅璋冪敤鏂规硶閿欒");
+                }
                 var jsonData = JsonConvert.SerializeObject(model);
-                LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟鍗曞彇娑�-璇锋眰鎶ユ枃锛�( {jsonData} ),", logStr);
-
+                LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟鍙栨秷-璇锋眰鎶ユ枃锛�( {jsonData} ),", logStr);
                 //鍏蜂綋澶勭悊鏂规硶
+                //_rcsserver.CancelTask(model.robotTaskCode, _config.AgvHost + _config.CancelTask, 0);
 
-
-
-                resultModel = new AgvResultModel { code = "0", message = "鎴愬姛", reqCode = model.reqCode };
+                Data data = new Data();
+                //data.robotTaskCode = model.robotTaskCode;
+                resultModel = new AgvResultModel2 { code = "0", message = "鎴愬姛", da = data };
                 var jsonData2 = JsonConvert.SerializeObject(resultModel);
-                LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟鍗曞彇娑�-杩斿洖鎶ユ枃锛�( {jsonData2} ),", logStr);
+                LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟鍙栨秷-杩斿洖鎶ユ枃锛�( {jsonData2} ),", logStr);
                 return Ok(resultModel);
             }
             catch (Exception ex)
             {
                 LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟鍗曞彇娑�-寮傚父锛�( {ex.Message} ),", logStr);
 
-                resultModel = new AgvResultModel { code = "1", message = ex.Message, reqCode = model.reqCode };
+                resultModel.code = "1";
+                resultModel.message = ex.Message;
+                resultModel.da.robotTaskCode = model.robotTaskCode;
                 var jsonData2 = JsonConvert.SerializeObject(resultModel);
                 LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟鍗曞彇娑�-杩斿洖鎶ユ枃锛�( {jsonData2} ),", logStr);
                 return Ok(resultModel);
             }
-        }        
+        }
+
+        /// <summary>
+        /// 璧板嚭鍌ㄤ綅
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult AGVCallback(AgvTaskDto model)
+        {
+            //璁板綍log
+            var logStr = $@".\log\AGV\浠诲姟鎵ц閫氱煡" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+            AgvResultModel2 resultModel = null;//杩斿洖淇℃伅
+            try
+            {
+                var extraValue = new ExtraModel();
+                extraValue = model.extra;
+                switch (extraValue.values.method)
+                {
+                    case "outbin":
+                        var a = outbin(model);
+                        break;
+                    case "end":
+                        var b = end(model);
+                        break;
+                    case "cancel":
+                        var c = cancel(model);
+                        break;
+                    default:
+                        break;
+                }
+                Data data = new Data();
+                data.robotTaskCode = model.robotTaskCode;
+                resultModel = new AgvResultModel2 { code = "0", message = "鎴愬姛", da = data };
+                var jsonData2 = JsonConvert.SerializeObject(resultModel);
+                LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-杩斿洖鎶ユ枃锛�( {jsonData2} ),", logStr);
+                return Ok(resultModel);
+            }
+            catch (Exception ex)
+            {
+                Data data = new Data();
+                data.robotTaskCode = model.robotTaskCode;
+                resultModel = new AgvResultModel2 { code = "1", message = ex.Message, da = data };
+                var jsonData2 = JsonConvert.SerializeObject(resultModel);
+                LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-杩斿洖鎶ユ枃锛�( {jsonData2} ),", logStr);
+                return Ok(resultModel);
+            }
+        }
 
         #endregion
 
@@ -1043,7 +1125,7 @@
                 {
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
-                _rcsserver.DownTask(model.taskNo, int.Parse(userId), _config.AgvHost + _config.GenAgvSchedulingTask);
+                _rcsserver.DownTask(model.taskNo, int.Parse(userId), _config.AgvHost + _config.GenAgvSchedulingTask,_config.AgvHost + _config.AGVBindPallets);
 
                 return Ok(new { code = 0, msg = "閲嶆柊涓嬪彂宸插畬鎴�", data = "" });
             }
@@ -1077,7 +1159,7 @@
                 //鍏蜂綋澶勭悊鏂规硶
                 _rcsserver.RCSFinishTask(model.taskNo, "1", "WMS");
 
-                return Ok(new { code = 0, msg = "閲嶆柊涓嬪彂宸插畬鎴�", data = "" });
+                return Ok(new { code = 0, msg = "浠诲姟宸叉墜鍔ㄥ畬鎴�", data = "" });
             }
             catch (Exception e)
             {
@@ -1106,7 +1188,7 @@
                 {
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
-                _rcsserver.CancelTask(model.taskNo, int.Parse(userId));
+                _rcsserver.CancelTask(model.taskNo, _config.AgvHost + _config.CancelTask, int.Parse(userId));
 
                 return Ok(new { code = 0, msg = "鎴愬姛鍙栨秷浠诲姟", data = "" });
             }
@@ -1271,7 +1353,7 @@
                 {
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
-                _hopper.jiaoLiaoHopper(model.AreaNo,model.LocateNo,model.PlnStatus,model.Standard,model.SkuNo,model.LotNo,"", int.Parse(userId));
+                _hopper.jiaoLiaoHopper(model.AreaNo,model.LocateNo,model.PlnStatus,model.Standard,model.SkuNo,model.LotNo,_config.AgvHost+_config.GenAgvSchedulingTask,_config.AgvHost+_config.AGVBindPallets, int.Parse(userId));
 
                 return Ok(new { data = model, code = 0, msg = "" });
             }
@@ -1302,7 +1384,7 @@
                 {
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
-                _hopper.jiaoCheHopper(model.AreaNo, model.LocateNo,model.PlnNo, model.PlnStatus, model.Weight , model.SkuNo, model.LotNo,"", int.Parse(userId));
+                _hopper.jiaoCheHopper(model.AreaNo, model.LocateNo,model.PlnNo, model.PlnStatus, model.Weight , model.SkuNo, model.LotNo, _config.AgvHost + _config.GenAgvSchedulingTask,_config.AgvHost+_config.AGVBindPallets, int.Parse(userId));
 
                 return Ok(new { data = model, code = 0, msg = "" });
             }
@@ -1327,7 +1409,7 @@
                 LogFile.SaveLogToFile($"娓呮礂鏈哄彨鏂�-璇锋眰鎶ユ枃锛�( {jsonData} ),", logStr);
 
                 //鍏蜂綋澶勭悊鏂规硶
-                _hopper.RCSCleanRequest(model.deviceID,model.deviceStation,model.status, _config.AgvHost + _config.GenAgvSchedulingTask);
+                _hopper.RCSCleanRequest(model.deviceID,model.deviceStation,model.status, _config.AgvHost + _config.GenAgvSchedulingTask,_config.AgvHost+_config.AGVBindPallets);
 
                 resultModel = new AgvResultModel { code = "0", message = "璇锋眰鎴愬姛!"};
                 var jsonData2 = JsonConvert.SerializeObject(resultModel);
@@ -1344,6 +1426,77 @@
                 return Ok(resultModel);
             }
         }
+
+        /// <summary>
+        /// 鐐瑰鐐逛换鍔�
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult PointToPointRequest(PointTask model)
+        {
+            var logStr = $@".\log\AGV\鐐瑰鐐逛换鍔′笅鍙�" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+            AgvResultModel resultModel = null;//杩斿洖淇℃伅
+            try
+            {
+                var jsonData = JsonConvert.SerializeObject(model);
+                LogFile.SaveLogToFile($"浠诲姟涓嬪彂锛�( {jsonData} ),", logStr);
+                //鍏蜂綋澶勭悊鏂规硶
+                _hopper.PointToPointRequest(model.ID, model.BeginPoint, model.EndPoint, _config.AgvHost + _config.GenAgvSchedulingTask, _config.AgvHost + _config.AGVBindPallets);
+
+                resultModel = new AgvResultModel { code = "0", message = "璇锋眰鎴愬姛!" };
+               
+                return Ok(resultModel);
+            }
+            catch (Exception e)
+            {
+                LogFile.SaveLogToFile($"涓嬪彂鐐瑰鐐逛换鍔″紓甯革細( {e.Message} ),", logStr);
+                resultModel = new AgvResultModel { code = "1", message = e.Message, data = "", reqCode = "" };
+                return Ok(resultModel);
+            }
+        }
+
+        /// <summary>
+        /// 鍒犻櫎褰撳墠搴撳瓨淇℃伅
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult DelStockWms(DelStockInfo model)
+        {
+            try
+            {
+                //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D
+                var claimsIdentity = this.User.Identity as ClaimsIdentity;
+                if (claimsIdentity == null)
+                {
+                    return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
+                }
+                var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
+                if (string.IsNullOrWhiteSpace(userId))
+                {
+                    return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
+                }
+                string errMsg = "";
+                bool t = _rcsserver.DelStockWms(model.StockId, _config.AgvHost + _config.AGVUnBindPallets, int.Parse(userId),out errMsg);
+                if (t)
+                {
+                    return Ok(new { code = 0, msg = "鍒犻櫎鎴愬姛", data = "" });
+                }
+                else
+                {
+                    return Ok(new { code = 1, msg = "鍒犻櫎澶辫触", data = errMsg });
+                }
+
+
+                }
+            catch (Exception e)
+            {
+                return Ok(new { code = 1, msg = e.Message });
+            }
+        }
+
+
         #endregion
 
     }

--
Gitblit v1.8.0