From fee75dfd690506efb6bb67e1a91a545efb527c1a Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期五, 17 一月 2025 16:00:12 +0800
Subject: [PATCH] Merge branch 'csc'

---
 Wms/Wms/Controllers/DownApiController.cs |  430 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 384 insertions(+), 46 deletions(-)

diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index 558463d..2ddbb5d 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -13,6 +13,11 @@
 using WMS.IBLL.IBllSoServer;
 using WMS.IBLL.ILogServer;
 using Wms.Tools;
+using System.Collections.Generic;
+using Model.ModelVm.PdaVm;
+using WMS.IBLL.IPdaServer;
+using Model.ModelVm;
+using WMS.IBLL.IDataServer;
 
 namespace Wms.Controllers
 {
@@ -28,13 +33,20 @@
         private readonly IPalletBindServer _asnPalletBindSvc;//鎵樼洏缁戝畾Svc 
         private readonly IStockCheckServer _crCheckSvc;//鎵樼洏缁戝畾Svc 
         private readonly ITaskServer _taskSvc;//浠诲姟Svc 
-        public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc)
+        private readonly IPdaSoServer _pdaSoSvc;//绌烘墭鍑哄簱Svc
+        private readonly IPdaAsnServer _paAsnSvc;//绌烘墭璺虹粦瀹�
+        private readonly IStockServer _stockSvc;//AGV浠诲姟瀹屾垚绠�
+
+        public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IPdaSoServer pdaSoSvc,IPdaAsnServer paAsnSvc,IStockServer stockSvc)
         {
             _config = setting.Value;
             _exNoticeSvc = exNoticeSvc;
             _asnPalletBindSvc = asnPalletBindSvc;
             _crCheckSvc = crCheckSvc;
             _taskSvc = taskSvc;
+            _pdaSoSvc = pdaSoSvc;
+            _paAsnSvc = paAsnSvc;
+            _stockSvc = stockSvc; 
         }
 
         #region WMS鎺ュ彛 璋冪敤涓嬫父绯荤粺鎺ュ彛 
@@ -49,7 +61,7 @@
         /// <returns></returns>
         [Authorize]
         [HttpGet]
-        public IActionResult IssueOutHouse(string soNo,string unstackingMode, string outMode,string loadingAddre)
+        public IActionResult IssueOutHouse(string soNo, string unstackingMode, string outMode, string loadingAddre)
         {
             try
             {
@@ -70,10 +82,10 @@
                 //    return Ok(new { code = 1, msg = "璇烽�夋嫨鍑哄簱鍙�" });
                 //}
 
-                var list = _exNoticeSvc.IssueOutHouse(soNo,unstackingMode, outMode,loadingAddre, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl,out string str);
-                
-                return Ok(new { code = 0, msg = str , data = list }); 
-                
+                var list = _exNoticeSvc.IssueOutHouse(soNo, unstackingMode, outMode, loadingAddre, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
+
+                return Ok(new { code = 0, msg = str, data = list });
+
             }
             catch (Exception e)
             {
@@ -87,7 +99,7 @@
         /// <param name="taskNo"></param>
         /// <returns></returns>
         [HttpGet]
-        public IActionResult AgainSendSoTask(string taskNo)
+        public IActionResult AgainSendSoTask(string taskNo,string Receiver)
         {
             try
             {
@@ -102,8 +114,20 @@
                 {
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
-                var list = _exNoticeSvc.AgainSendSoTask(taskNo, int.Parse(userId),_config.WcsHost + _config.IssueComApiUrl2);
-               
+                //var list = _exNoticeSvc.AgainSendSoTask(taskNo, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl2);
+                OutCommandDto list = new OutCommandDto();
+                if (Receiver == "WCS")
+                {
+                    //闇�鍒ゆ柇AGV鎴朩CS鐨勫嚭搴撲换鍔�
+                    //wcs
+                    list = _exNoticeSvc.AgainSendSoTask(taskNo, Receiver, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl2);
+                }
+                else if(Receiver == "AGV")
+                {
+                    //agv
+                    list = _exNoticeSvc.AgainSendSoTask(taskNo, Receiver, int.Parse(userId), _config.WcsHost + _config.ContinueTask);
+                }
+
                 return Ok(new { code = 0, msg = "閲嶆柊涓嬪彂宸插畬鎴�", data = list });
 
 
@@ -122,7 +146,7 @@
         /// <returns></returns>
         [Authorize]
         [HttpGet]
-        public IActionResult CheckOutHouse(string crNo,string outMode)
+        public IActionResult CheckOutHouse(string crNo, string outMode)
         {
             try
             {
@@ -138,7 +162,7 @@
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
 
-                var list = _crCheckSvc.CheckOutHouse(crNo, outMode,int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
+                var list = _crCheckSvc.CheckOutHouse(crNo, outMode, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
 
                 return Ok(new { code = 0, msg = str, data = list });
 
@@ -194,28 +218,42 @@
         public IActionResult RequestRoadWay(RequestLocate model)
         {
             var logStr = "";
-            
+
             logStr = $@".\log\WCS\WCS鐢宠宸烽亾" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
-            
+
             try
             {
-                 
+
                 var jsonData = JsonConvert.SerializeObject(model);
                 LogFile.SaveLogToFile($"WCS鐢宠宸烽亾锛�( {jsonData} ),", logStr);
-                
-                var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, model.HouseNo );
+                if (model.TaskModel == "1")
+                {
+                    var list = _asnPalletBindSvc.RequestRoadWayModel(model.PalletNo, model.HouseNo);
 
-                LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
-                new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), 
-                    "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2);
+                    LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+                    new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo,
+                        "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo}鐨勬垚鍔熶俊鎭�", 2);
 
-                return Ok(new { Success = 0, Message = "鐢宠鍌ㄤ綅鎴愬姛", TaskList = list });
+                    return Ok(new { Success = 0, Message = "鐢宠宸烽亾鎴愬姛", TaskList = list });
+                }
+                else
+                {
+
+                    var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, model.HouseNo);
+
+                    LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+                    new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8),
+                        "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2);
+
+                    return Ok(new { Success = 0, Message = "鐢宠宸烽亾鎴愬姛", TaskList = list });
+                }
+
             }
             catch (Exception e)
             {
                 LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {e.Message} ),", logStr);
-                new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), 
-                    "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勫け璐ヤ俊鎭�", 2);
+                new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo,
+                    "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo}鐨勫け璐ヤ俊鎭�", 2);
 
                 return Ok(new ErpModel { Success = -1, Message = e.Message });
             }
@@ -253,7 +291,7 @@
             {
                 logStr = $@".\log\WCS\WCS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
             }
-            
+
             try
             {
                 if (model.PalletNo.Length == 9)
@@ -265,39 +303,43 @@
                 {
                     var jsonData = JsonConvert.SerializeObject(model);
                     LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅锛�( {jsonData} ),", logStr);
+
                 }
-
                 string pallet = model.PalletNo.Substring(0, 8);
-                var list = _asnPalletBindSvc.RequestLocation(pallet, model.HouseNo,model.RoadwayNo);
-
+                OutCommandDto list;
+                if (model.TaskModel == "1")
+                {
+                    list = _asnPalletBindSvc.RequestLocationModel(pallet, model.HouseNo, model.RoadwayNo);
+                }
+                else
+                {
+                    list = _asnPalletBindSvc.RequestLocation(pallet, model.HouseNo, model.RoadwayNo);
+                }
+                
                 if (model.PalletNo.Length == 9)
                 {
-                    new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�",2);// int.Parse(userId)
+                    new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2);// int.Parse(userId)
                     LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅鎴愬姛锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
                 }
                 else if (model.PalletNo.Length == 8)
                 {
                     LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
                 }
-                if (model.PalletNo.Length == 9)
-                {
-                   
-                }
-
+                
                 return Ok(new { Success = 0, Message = "鐢宠鍌ㄤ綅鎴愬姛", TaskList = list });
             }
             catch (Exception e)
             {
                 if (model.PalletNo.Length == 9)
                 {
-                    new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0,8)}鐨勫け璐ヤ俊鎭�", 2);//int.Parse(userId)
+                    new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勫け璐ヤ俊鎭�", 2);//int.Parse(userId)
                     LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅澶辫触杩斿洖锛�( {e.Message} ),", logStr);
                 }
-                else if(model.PalletNo.Length == 8)
+                else if (model.PalletNo.Length == 8)
                 {
                     LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {e.Message} ),", logStr);
                 }
-                
+
                 return Ok(new ErpModel { Success = -1, Message = e.Message });
             }
         }
@@ -322,20 +364,20 @@
                 }
                 //鎺ユ敹鏃堕棿
                 var time1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
-                var orderType = _taskSvc.GetTaskOrderType(model.TaskNo);// 鍒ゆ柇鍗曟嵁绫诲瀷鍏ュ嚭绉�
+                var orderType = _taskSvc.GetTaskOrderType(model.TaskNo,model.TaskType);// 鍒ゆ柇鍗曟嵁绫诲瀷鍏ュ嚭绉�
                 switch (orderType)
                 {
                     case "0"://鍏ュ簱瀹屾垚浠诲姟
                         if (model.TaskType == "0")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
                         {
-                            _asnPalletBindSvc.ArrivalSuccess(model.TaskNo,0);
-                            return Ok(new WcsModel { StatusCode = 0, Msg = "鍏ュ簱瀹屾垚" });
+                            _asnPalletBindSvc.ArrivalSuccess(model.TaskNo, 0);
+                            return Ok(new WcsModel { StatusCode = 0, Msg = "鍏ュ簱瀹屾垚" });                                               
                         }
                         break;
                     case "1"://鍑哄簱瀹屾垚浠诲姟
                         if (model.TaskType == "1")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
                         {
-                            _exNoticeSvc.ExportSuccess(model.TaskNo,0);
+                            _exNoticeSvc.ExportSuccess(model.TaskNo, 0, _config.AgvHost + _config.GenAgvSchedulingTask);
                             return Ok(new WcsModel { StatusCode = 0, Msg = "鍑哄簱瀹屾垚" });
                         }
                         else if (model.TaskType == "2")
@@ -362,8 +404,8 @@
                             //濉啓绉诲簱瀹屾垚浠g爜
                         }
                         break;
-                    default :
-                        return Ok(new WcsModel { StatusCode = -1, Msg = "浼犻�掔殑浠诲姟鐘舵�佷负澶辫触鐘舵��" });  
+                    default:
+                        return Ok(new WcsModel { StatusCode = -1, Msg = "浼犻�掔殑浠诲姟鐘舵�佷负澶辫触鐘舵��" });
                 }
                 return Ok(new WcsModel { StatusCode = -1, Msg = "浼犻�掔殑浠诲姟鐘舵�佷负澶辫触鐘舵��" });
             }
@@ -379,7 +421,7 @@
         /// </summary>
         /// <returns></returns>
         [HttpPost]
-        public IActionResult EmptyException(ReceiveWcsSignal model) 
+        public IActionResult EmptyException(ReceiveWcsSignal model)
         {
             var logStr = $@".\log\WCS\寮傚父鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
             try
@@ -390,7 +432,7 @@
                 var bl = _exNoticeSvc.EmptyException(model);
 
                 LogFile.SaveLogToFile($"绌哄彇寮傚父锛�(鎵ц缁撴灉鎴愬姛),", logStr);
-                return Ok(new { Success = 0, Message = ""});
+                return Ok(new { Success = 0,StatusCode = 0, Message = "" });
             }
             catch (Exception e)
             {
@@ -404,7 +446,7 @@
         /// </summary>
         /// <returns></returns>
         [HttpPost]
-        public IActionResult FullException(ReceiveWcsSignal model) 
+        public IActionResult FullException(ReceiveWcsSignal model)
         {
             var logStr = $@".\log\WCS\寮傚父鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
             try
@@ -415,7 +457,7 @@
                 var list = _asnPalletBindSvc.FullException(model);
 
                 LogFile.SaveLogToFile($"婊″叆寮傚父锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
-                return Ok(new { Success = 0, Message = "", TaskList = list });
+                return Ok(new { Success = 0, StatusCode = 0, Message = "", TaskList = list });
             }
             catch (Exception e)
             {
@@ -469,13 +511,309 @@
                 throw new Exception(ex.Message);
             }
         }
+        
+        /// <summary>
+        /// 鑷姩鐮佸灈缁戝畾淇℃伅杩斿洖宸烽亾鍙�
+        /// </summary>
+        /// <param name="model">鍏ュ簱鍗曚俊鎭�</param>
+        /// <returns></returns>
+        [AllowAnonymous]
+        [HttpPost]
+        public IActionResult BindRequestRoadWay(BoxPalletBindVm model)
+        {
+            var logStr = $@".\log\WCS\WCS鎵樼洏缁戝畾-鐢宠宸烽亾" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
 
-        //鎵樼洏绠辩爜淇℃伅 鑷姩鐮佸灈 (wcs鎻愪緵)
+            try
+            {
+                var jsonData = JsonConvert.SerializeObject(model);
+                LogFile.SaveLogToFile($"WCS鎵樼洏缁戝畾-鐢宠宸烽亾锛�( {jsonData} ),", logStr);
+
+                _asnPalletBindSvc.BindPalletStock(model, 0);
+                //鐢宠宸烽亾
+                var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, "W01");
+                LogFile.SaveLogToFile($"WCS鎵樼洏缁戝畾-鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+
+                return Ok(new { Success = 0, Message = "鎵樼洏缁戝畾-鐢宠宸烽亾鎴愬姛", TaskList = list });
+            }
+            catch (Exception e)
+            {
+                LogFile.SaveLogToFile($"WCS鎵樼洏缁戝畾-鐢宠宸烽亾杩斿洖锛�( {e.Message} ),", logStr);
+
+                return Ok(new ErpModel { Success = -1, Message = e.Message });
+            }
+        }
+
+        /// <summary>
+        /// WCS鐢宠绌烘墭璺虹粦瀹�
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [AllowAnonymous]
+        [HttpPost]
+        public IActionResult BindPlnInHouseWcs(PalletsBind model)
+        {
+            var logStr = $@".\log\WCS\WCS鐢宠绌烘墭璺虹粦瀹�" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+            try
+            {
+                var strMsg = _paAsnSvc.BindNullPallets(model);
+
+                return Ok(new { Success = 0, Message = "绌烘墭璺虹粦瀹氭垚鍔�", TaskList = strMsg });
+            }
+            catch (Exception e)
+            {
+                LogFile.SaveLogToFile($"WCS鐢宠绌烘墭璺虹粦瀹氬紓甯歌繑鍥烇細( {e.Message} ),", logStr);
+
+                return Ok(new ErpModel { Success = -1, Message = e.Message });
+            }
+        }
+
+        /// <summary>
+        /// WCS鐢宠绌烘墭鍑哄簱
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [AllowAnonymous]
+        [HttpPost]
+        public IActionResult IssuePlnOutHouseWcs(OutModePalletVm model)
+        {
+            var logStr = $@".\log\WCS\WCS鐢宠绌烘墭鍑哄簱" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+            try
+            {
+                List<OutCommandDto> _list = _pdaSoSvc.IssuePlnOutHouseWcs(model,0);
+
+                return Ok(new { Success = 0, Message = "绌烘墭鐩樺嚭搴撴垚鍔�", TaskList = _list });
+            }
+            catch (Exception e)
+            {
+                LogFile.SaveLogToFile($"WCS鐢宠绌烘墭鍑哄簱寮傚父杩斿洖锛�( {e.Message} ),", logStr);
+
+                return Ok(new ErpModel { Success = -1, Message = e.Message });
+            }
+        }
+
+        /// <summary>
+        /// WCS鐢宠鏄惁缂犺啘
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [AllowAnonymous]
+        [HttpPost]
+        public IActionResult RequestPackWcs(RequesIsBale model)
+        {
+            var logStr = $@".\log\WCS\WCS鐢宠缂犺啘鎷嗚啘" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+            try
+            {
+               int t = _asnPalletBindSvc.RequestPackWcs(model.PalletNo);
+                LogFile.SaveLogToFile($"WCS鐢宠缂犺啘鍏ュ簱璇锋眰锛岃姹傛墭鐩樺憟锛�( {model.PalletNo} ),", logStr);
+
+                return Ok(new { Success = t, Message = "缂犺啘鎸囦护鍙戦�佹垚鍔�" });
+            }
+            catch (Exception e)
+            {
+                LogFile.SaveLogToFile($"WCS鐢宠缂犺啘鍏ュ簱寮傚父杩斿洖锛�( {e.Message} ),", logStr);
+
+                return Ok(new ErpModel { Success = -1, Message = e.Message });
+            }
+        }
+
+        /// <summary>
+        /// WCS鐢宠鏄惁鎷嗚啘
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [AllowAnonymous]
+        [HttpPost]
+        public IActionResult RequestUnPackWcs(RequesIsBale model)
+        {
+            var logStr = $@".\log\WCS\WCS鐢宠缂犺啘鎷嗚啘" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+            try
+            {
+                int t = _asnPalletBindSvc.RequestUnPackWcs(model.PalletNo);
+
+                return Ok(new { Success = t, Message = "鎷嗚啘鎸囦护鍙戦�佹垚鍔�" });
+            }
+            catch (Exception e)
+            {
+                LogFile.SaveLogToFile($"WCS鐢宠鎷嗚啘鍑哄簱寮傚父杩斿洖锛�( {e.Message} ),", logStr);
+
+                return Ok(new ErpModel { Success = -1, Message = e.Message });
+            }
+        }
+
+        /// <summary>
+        /// WCS鍙嶉缂犺啘瀹屾垚
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [AllowAnonymous]
+        [HttpPost]
+        public IActionResult RequestPackedWcs(RequesIsBale model)
+        {
+            var logStr = $@".\log\WCS\WCS鐢宠缂犺啘鎷嗚啘" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+            try
+            {
+                int t = _asnPalletBindSvc.RequestPackedWcs(model.PalletNo);
+
+                return Ok(new { Success = t, Message = "缂犺啘瀹屾垚鎸囦护鍙戦�佹垚鍔�" });
+            }
+            catch (Exception e)
+            {
+                LogFile.SaveLogToFile($"WCS鐢宠缂犺啘瀹屾垚寮傚父杩斿洖锛�( {e.Message} ),", logStr);
+
+                return Ok(new ErpModel { Success = -1, Message = e.Message });
+            }
+        }
+
+        ///// <summary>
+        ///// 鎴愬搧绠辩爜鎷嗗灈鎷h揣
+        ///// </summary>
+        ///// <param name="model">鍏ュ簱鍗曚俊鎭�</param>
+        ///// <returns></returns>
+        //[AllowAnonymous]
+        //[HttpPost]
+        //public IActionResult BoxUnstackd(BoxPickList model)
+        //{
+        //    var logStr = $@".\log\WCS\WCS鎴愬搧绠辩爜鎷嗗灈" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+
+        //    try
+        //    {
+
+        //        var jsonData = JsonConvert.SerializeObject(model);
+        //        LogFile.SaveLogToFile($"WCS鎴愬搧绠辩爜鎷嗗灈锛�( {jsonData} ),", logStr);
+
+        //        _comeSvc.BoxUnstackd(model.PalletNo, model.BoxList);
+        //        var list = new { Success = 0, Message = "鎴愬搧绠辩爜鎷嗗灈" };
+        //        LogFile.SaveLogToFile($"WCS鎴愬搧绠辩爜鎷嗗灈杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+
+        //        return Ok(list);
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        LogFile.SaveLogToFile($"WCS鎴愬搧绠辩爜鎷嗗灈锛�( {e.Message} ),", logStr);
+
+        //        return Ok(new ErpModel { Success = -1, Message = e.Message });
+        //    }
+        //}
 
         //鐢宠绌烘墭(鑷姩鐮佺┖鎵樻椂鐢�)
 
         //杞﹂棿鍙枡
 
+        //WCS鐢宠鎷嗗灈淇℃伅
+        /// <summary>
+        /// 鎴愬搧绠辩爜鎷嗗灈鎷h揣
+        /// </summary>
+        /// <param name="model">鍏ュ簱鍗曚俊鎭�</param>
+        /// <returns></returns>
+        [AllowAnonymous]
+        [HttpPost]
+        public IActionResult ResultBoxInfoCheckWcs(BoxInfoCheck model)
+        {
+            var logStr = $@".\log\WCS\WCS鐢宠鎷嗗灈鎵樼洏淇℃伅" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+            try
+            {
+                RequestBoxInfoCheck list = _exNoticeSvc.BoxInfoCheckWcs(model);
+                return Ok(new { Success = 1,Message = "鎷嗗灈淇℃伅鑾峰彇鎴愬姛",data = list});
+            }
+            catch  (Exception e)
+            {
+                LogFile.SaveLogToFile($"WCS鐢宠鎵樼洏鎷嗗灈寮傚父杩斿洖锛�( {e.Message} ),", logStr);
+
+                return Ok(new ErpModel { Success = -1, Message = e.Message});
+            }
+
+        }
+
+        
+        /// <summary>
+        /// 鎴愬搧绠辩爜鎷嗗灈鎷h揣
+        /// </summary>
+        /// <param name="model">鍏ュ簱鍗曚俊鎭�</param>
+        /// <returns></returns>
+        [AllowAnonymous]
+        [HttpPost]
+        public IActionResult ResultBoxInfoExportWcs(BoxInfoCheck model)
+        {
+            var logStr = $@".\log\WCS\WCS鐢宠鎴愬搧绠辩爜鎷嗗灈鎷h揣淇℃伅" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+            try
+            {
+                //杩斿洖鍑哄簱鍒嗘嫞瑁呰溅鍙�
+                var list = _exNoticeSvc.BoxInfoExportWcs(model.BoxNo);
+                return Ok(new { Success = 1, Message = "鎴愬搧绠辩爜鎷嗗灈鎷h揣鎴愬姛", loadubgAddre = list });
+            }
+            catch (Exception e)
+            {
+                LogFile.SaveLogToFile($"WCS鐢宠鎴愬搧绠辩爜鎷嗗灈鎷h揣寮傚父杩斿洖锛�( {e.Message} ),", logStr);
+
+                return Ok(new ErpModel { Success = -1, Message = e.Message });
+            }
+
+        }
+
+
+        #region AGV
+
+        /// <summary>
+        ///  浠诲姟鎵ц閫氱煡鎺ュ彛
+        ///  AGV 鎵ц鍥炶皟鐨勬柟娉曪紝鍖呭惈浠诲姟寮�濮嬶紝璧板嚭鍌ㄤ綅锛屼换鍔″畬鎴愬強浠诲姟鍙栨秷銆�
+        ///  鍙栨秷閫氱煡涓轰换鍔″崟锛屽叾浠栭�氱煡涓哄崟涓换鍔$粍鎴栧瓙浠诲姟銆傛敞鎰忥細鏄惁閫氱煡闇�瑕佸湪浠诲姟妯℃澘閰嶇疆
+        /// </summary>
+        /// <param name="model">鍏ュ簱鍗曚俊鎭�</param>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult AgvCallback(AgvTaskDto model)
+        {
+            try
+            {
+                //璁板綍log
+                var logStr = $@".\log\AGV\浠诲姟鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+                var jsonData = JsonConvert.SerializeObject(model);
+                LogFile.SaveLogToFile($"AGV浠诲姟鍙嶉鎵ц閫氱煡锛�( {jsonData} ),", logStr);
+
+                //鎺ユ敹鏃堕棿
+                var time1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+
+                //娴嬭瘯鎺ュ彛鐢�
+                var orderType = _taskSvc.GetTaskOrderType(model.TaskCode,"0");// 鍒ゆ柇鍗曟嵁绫诲瀷鍏ュ嚭绉�
+
+                var taskType = _taskSvc.GetTaskType(model.TaskCode);//鏍规嵁浠诲姟鍙疯幏鍙栦换鍔$被鍨�
+                switch (orderType)
+                {
+                    case "0"://鍏ュ簱浠诲姟鎵ц
+                        _stockSvc.ArriveFinish(model.TaskCode);
+                        break;
+
+                    case "1"://鍑哄簱浠诲姟鎵ц
+                        _stockSvc.SoFinish(model.TaskCode);
+                        break;
+
+                    case "2"://鐩樺簱浠诲姟鎵ц
+
+                    case "3"://绉诲簱浠诲姟鎵ц
+                        _stockSvc.MoveFinish(model.TaskCode);
+                        break;
+                    // return Ok(new OutCommanAgvDto { Code = "0", Message = "鎴愬姛", ReqCode = model.ReqCode });
+
+                    default:
+                        return Ok(new OutCommanAgvDto { Code = "1", Message = "澶辫触", ReqCode = model.ReqCode });
+                }
+                return Ok(new OutCommanAgvDto { Code = "0", Message = "鎴愬姛", ReqCode = model.ReqCode });
+
+            }
+            catch (Exception ex)
+            {
+                return Ok(new WcsModel
+                {
+                    StatusCode = -1,
+                    Msg = ex.Message
+                });
+            }
+
+        }
+        
+
+        #endregion
+
         #endregion
 
 

--
Gitblit v1.8.0