From 1c2541b283ce6ba855e67c476412dffe2c693480 Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期三, 11 六月 2025 13:56:23 +0800
Subject: [PATCH] Merge branch 'csc'

---
 Wms/Wms/Controllers/DownApiController.cs |  383 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 293 insertions(+), 90 deletions(-)

diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index c1f00c4..1a8c847 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -19,6 +19,9 @@
 using Utility;
 using System.Threading.Tasks;
 using Model.ModelVm.BllCheckVm;
+using System.Collections.Generic;
+using System.Security.Policy;
+using WMS.IBLL;
 
 namespace Wms.Controllers
 {
@@ -36,7 +39,8 @@
         private readonly ITaskServer _taskSvc;//浠诲姟Svc
         private readonly IBllTaskSyncServer _taskSyncSvc;//浠诲姟鍚屾Svc
         private readonly IWaveMageServer _waveSvc;//浠诲姟鍚屾Svc
-        public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IBllTaskSyncServer taskSyncSvc, IWaveMageServer waveSvc)
+        private readonly IHttpServer _http; 
+        public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IBllTaskSyncServer taskSyncSvc, IWaveMageServer waveSvc,IHttpServer http)
         {
             _config = setting.Value;
             _exNoticeSvc = exNoticeSvc;
@@ -45,6 +49,7 @@
             _taskSvc = taskSvc;
             _taskSyncSvc = taskSyncSvc;
             _waveSvc = waveSvc;
+            _http = http;
         }
 
         #region WMS鎺ュ彛 璋冪敤涓嬫父绯荤粺鎺ュ彛 
@@ -101,7 +106,7 @@
         /// <returns></returns>
         [Authorize]
         [HttpGet]
-        public IActionResult IssueOutHouse(string soNo, string unstackingMode, string outMode, string loadingAddre)
+        public IActionResult IssueOutHouse(string soNo, string outMode)
         {
             try
             {
@@ -121,11 +126,24 @@
                 //{
                 //    return Ok(new { code = 1, msg = "璇烽�夋嫨鍑哄簱鍙�" });
                 //}
+                var house = _exNoticeSvc.GetHouseBySo(soNo);
+                if (house == "W01")
+                {
+                    var list = _exNoticeSvc.IssueOutHouseMk(soNo, outMode, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
 
-                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 });
+                }
+                else if (house == "W02")
+                {
+                    var list = _exNoticeSvc.IssueOutHouseLk(soNo, outMode, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
 
-                return Ok(new { code = 0, msg = str, data = list });
-
+                    return Ok(new { code = 0, msg = str, data = list });
+                }
+                else
+                {
+                    return Ok(new { code = 1, msg = "浠撳簱淇℃伅閿欒锛岃鏍稿疄鍗曟嵁淇℃伅"});
+                }
+                
             }
             catch (Exception e)
             {
@@ -133,6 +151,58 @@
             }
         }
 
+        /// <summary>
+        /// PDA涓嬪彂鍑哄簱
+        /// </summary>
+        /// <param name="soNo"></param>
+        /// <param name="soDetailId">鍑哄簱鍗曟槑缁咺D</param>
+        /// <param name="outMode">鍑哄簱鍦板潃锛堝钩搴撴嫞璐т綅锛�</param>
+        /// <returns></returns>
+        [HttpGet]
+        public IActionResult PDAIssueOut(string soNo, string soDetailId,string palletNo,string outMode)
+        {
+            try
+            {
+                //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D
+                var claimsIdentity = this.User.Identity as ClaimsIdentity;
+                if (claimsIdentity == null)
+                {
+                    return Ok(new HttpReturnModel { Success = "-1", Message = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�"});
+                }
+                var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
+                if (string.IsNullOrWhiteSpace(userId))
+                {
+                    return Ok(new HttpReturnModel { Success = "-1", Message = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�"});
+                }
+                //楠岃瘉鍑哄簱鍙�
+                if (string.IsNullOrWhiteSpace(outMode))
+                {
+                    return Ok(new HttpReturnModel { Success = "-1", Message = "璇烽�夋嫨鍑哄簱鍦板潃" });
+                }
+                var house = _exNoticeSvc.GetHouseBySo(soNo);
+                if (house == "W01")
+                {
+                    //var list = _exNoticeSvc.IssueOutHouseMk(soNo, outMode, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
+
+                    return Ok(new HttpReturnModel { Success = "0", Message = "str", Data = "list" });
+                }
+                else if (house == "W02")
+                {
+                    var list = _http.IssueOutHouseLk(soNo,soDetailId, outMode,palletNo, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
+
+                    return Ok(new HttpReturnModel { Success = "0", Message = str, Data = list});
+                }
+                else
+                {
+                    return Ok(new HttpReturnModel { Success = "-1", Message = "浠撳簱淇℃伅閿欒锛岃鏍稿疄鍗曟嵁淇℃伅" });
+                }
+
+            }
+            catch (Exception e)
+            {
+                return Ok(new HttpReturnModel { Success = "-1", Message = e.Message });
+            }
+        }
 
         /// <summary>
         /// 閲嶆柊涓嬪彂鍑哄簱浠诲姟
@@ -259,36 +329,38 @@
         #region WMS鎺ュ彛 琚笅娓哥郴缁熸帴鍙h皟鐢�
 
         /// <summary>
-        /// 缁戝畾淇℃伅杩斿洖宸烽亾鍙�
+        /// WCS鐢宠绌烘墭璺虹粍鎵樺叆搴� 锛堝彔鎵樼洏鏈猴級
         /// </summary>
         /// <param name="model">鍏ュ簱鍗曚俊鎭�</param>
         /// <returns></returns>
         [AllowAnonymous]
         [HttpPost]
-        public IActionResult BindRequestRoadWay(BoxPalletBindVm model)
+        public IActionResult RequestPalletIn(RequestLocate model)
         {
-            var logStr = $@".\log\WCS\WCS鎵樼洏缁戝畾-鐢宠宸烽亾" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+            var logStr = "";
+
+            logStr = $@".\log\WCS\WCS鐢宠绌烘墭璺虹粍鎵樺叆搴�" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
 
             try
             {
 
                 var jsonData = JsonConvert.SerializeObject(model);
-                LogFile.SaveLogToFile($"WCS鎵樼洏缁戝畾-鐢宠宸烽亾锛�( {jsonData} ),", logStr);
+                LogFile.SaveLogToFile($"WCS鐢宠绌烘墭璺虹粍鎵樺叆搴擄細( {jsonData} ),", logStr);
 
-                _asnPalletBindSvc.BindPalletStock(model, 0);
-                //鐢宠宸烽亾
-                var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, "W01");
-                LogFile.SaveLogToFile($"WCS鎵樼洏缁戝畾-鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+                var list = _http.RequestPalletIn(model.PalletNo, model.HouseNo, model.palletNum,model.locate);
 
-                return Ok(new { Success = 0, Message = "鎵樼洏缁戝畾-鐢宠宸烽亾鎴愬姛", TaskList = list });
+                LogFile.SaveLogToFile($"WCS鐢宠绌烘墭璺虹粍鎵樺叆搴撹繑鍥烇細( {JsonConvert.SerializeObject(list)} ),", logStr);
+
+                return Ok(new { Success = 0, Message = "鐢宠宸烽亾鎴愬姛", TaskList = list });
             }
             catch (Exception e)
             {
-                LogFile.SaveLogToFile($"WCS鎵樼洏缁戝畾-鐢宠宸烽亾杩斿洖锛�( {e.Message} ),", logStr);
+                LogFile.SaveLogToFile($"WCS鐢宠绌烘墭璺虹粍鎵樺叆搴撹繑鍥烇細( {e.Message} ),", logStr);
 
                 return Ok(new ErpModel { Success = -1, Message = e.Message });
             }
         }
+
 
         /// <summary>
         /// PDA 浜哄伐鐢宠鍌ㄤ綅 锛堢珛浣撳簱锛�
@@ -315,16 +387,16 @@
 
             try
             {
-                var list = _asnPalletBindSvc.RequestLocation(model.PalletNo, model.HouseNo);
-                _asnPalletBindSvc.IssueAsnTask(list, _config.ErpHost+ _config.AsnFinishUrl);//agv璺緞
+                var list = _http.RequestLocation(model.PalletNo, model.HouseNo,model.Ceng);
+                _asnPalletBindSvc.IssueAsnTask(list, _config.WcsHost+ _config.IssueComApiUrl2);//WCS璺緞
                 
-                new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo, "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo}鐨勬垚鍔熶俊鎭�", int.Parse(userId));
+                new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "鐢宠鍏ュ簱", model.PalletNo, "娣诲姞", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo}鐨勬垚鍔熶俊鎭�", int.Parse(userId));
 
                 return Ok(new HttpReturnModel { Success = "0", Message = "鐢宠鍌ㄤ綅鎴愬姛", Data = list });
             }
             catch (Exception e)
             {
-                new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo, "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo}鐨勫け璐ヤ俊鎭�", int.Parse(userId));
+                new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "鐢宠鍏ュ簱", model.PalletNo, "娣诲姞", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo}鐨勫け璐ヤ俊鎭�", int.Parse(userId));
 
                 return Ok(new HttpReturnModel { Success = "-1", Message = e.Message });
             }
@@ -337,7 +409,7 @@
         /// <returns></returns>
         [AllowAnonymous]
         [HttpPost]
-        public IActionResult RequestRoadWay(RequestLocate model)
+        public IActionResult RequestMiJiRoadWay(RequestLocate model)
         {
             var logStr = "";
 
@@ -349,19 +421,15 @@
                 var jsonData = JsonConvert.SerializeObject(model);
                 LogFile.SaveLogToFile($"WCS鐢宠宸烽亾锛�( {jsonData} ),", logStr);
 
-                var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, model.HouseNo);
+                var list = _http.RequestMiJiRoadWay(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);
 
                 return Ok(new ErpModel { Success = -1, Message = e.Message });
             }
@@ -376,74 +444,26 @@
         [HttpPost]
         public IActionResult RequestMiJiLocation(RequestLocate model)
         {
-
-            //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩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 palletno = model.PalletNo;
             var logStr = "";
-            if (model.PalletNo.Length == 9)
-            {
-                logStr = $@".\log\WCS\WMS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
-            }
-            else if (model.PalletNo.Length == 8)
-            {
-                logStr = $@".\log\WCS\WCS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
-            }
-
+            
+            logStr = $@".\log\WCS\WCS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+            
             try
             {
-                if (model.PalletNo.Length == 9)
-                {
-                    var jsonData = JsonConvert.SerializeObject(model);
-                    LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅锛�( {jsonData} ),", logStr);
-                }
-                else if (model.PalletNo.Length == 8)
-                {
-                    var jsonData = JsonConvert.SerializeObject(model);
-                    LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅锛�( {jsonData} ),", logStr);
-                }
-
+                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);
+                var list = _http.RequestMiJiLocation(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)
-                    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)
-                {
-
-                }
-
+                LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+                
                 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)
-                    LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅澶辫触杩斿洖锛�( {e.Message} ),", logStr);
-                }
-                else if (model.PalletNo.Length == 8)
-                {
-                    LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {e.Message} ),", logStr);
-                }
-
+                LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {e.Message} ),", logStr);
+                
                 return Ok(new ErpModel { Success = -1, Message = e.Message });
             }
         }
@@ -474,7 +494,7 @@
                     case "0"://鍏ュ簱瀹屾垚浠诲姟
                         if (model.TaskType == "0")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
                         {
-                            _asnPalletBindSvc.ArrivalSuccess(model.TaskNo, 0);
+                            _http.ArrivalSuccess2(model.TaskNo, 0);
                             return Ok(new WcsModel { StatusCode = 0, Msg = "鍏ュ簱瀹屾垚" });
                         }
                         break;
@@ -486,26 +506,36 @@
                         }
                         else if (model.TaskType == "2")
                         {
-                            _exNoticeSvc.RelocationSuccess(model.TaskNo, 0);
+                            _http.ExMoveSuccess(model.TaskNo, 0);
                             return Ok(new WcsModel { StatusCode = 0, Msg = "绉诲簱瀹屾垚" });
                         }
                         break;
                     case "2"://鐩樺簱瀹屾垚浠诲姟
-                        if (model.TaskType == "1")//0锛氬叆搴� 1锛氬嚭搴� 3锛氱Щ搴�
+                        if (model.TaskType == "1")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
                         {
                             _crCheckSvc.CheckSuccess(model.TaskNo, 0);
                             return Ok(new WcsModel { StatusCode = 0, Msg = "鐩樼偣鍑哄簱瀹屾垚" });
                         }
                         else if (model.TaskType == "0")// 鐩樼偣鍑哄簱鎵樼洏鍥炲簱瀹屾垚
                         {
-                            _asnPalletBindSvc.ArrivalSuccess(model.TaskNo, 0);
+                            _http.ArrivalSuccess2(model.TaskNo, 0);
                             return Ok(new WcsModel { StatusCode = 0, Msg = "鍏ュ簱瀹屾垚" });
                         }
                         break;
-                    case "3"://绉诲簱瀹屾垚浠诲姟銆佷紭鍖栧偍浣�
-                        if (model.TaskType == "3") //0锛氬叆搴� 1锛氬嚭搴� 3锛氱Щ搴�
+                    case "3"://绉诲簱鍗�  AGV璧拌繖
+                        if (model.TaskType == "2") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
                         {
                             //濉啓绉诲簱瀹屾垚浠g爜
+                            _http.MoveSuccess(model.TaskNo, 0);
+                            return Ok(new WcsModel { StatusCode = 0, Msg = "绉诲簱瀹屾垚" });
+                        }
+                        break;
+                    case "4"://璐ㄦ鍑哄簱
+                        if (model.TaskType == "2") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
+                        {
+                            //濉啓绉诲簱瀹屾垚浠g爜
+                            _http.ExMoveSuccess(model.TaskNo, 0);
+                            return Ok(new WcsModel { StatusCode = 0, Msg = "绉诲簱瀹屾垚" });
                         }
                         break;
                     default:
@@ -519,6 +549,145 @@
             }
         }
 
+        /// <summary>
+        /// 鎺ュ彈wcs杩斿洖鐨勪俊鍙� 骞冲簱鍙栬揣瀹屾垚浠诲姟鍙嶉
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult UpLocateByAgvOut(ReceiveWcsSignal model)
+        {
+            try
+            {
+                //璁板綍log
+                var logStr = $@".\log\WCS\鍙栬揣瀹屾垚浠诲姟鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+                var jsonData = JsonConvert.SerializeObject(model);
+                LogFile.SaveLogToFile($"AGV鍙栬揣瀹屾垚WCS浠诲姟鍙嶉锛�( {jsonData} ),", logStr);
+
+                if (string.IsNullOrEmpty(model.TaskNo))
+                {
+                    return Ok(new WcsModel { StatusCode = -1, Msg = "鎺ュ彛鏁版嵁涓嶆纭紝浠诲姟鍙蜂负绌�" });
+                }
+                _http.UpLocateByAgvOut(model.TaskNo,0); 
+                
+                return Ok(new WcsModel { StatusCode = 0, Msg = "鎺ユ敹鎴愬姛" });
+            }
+            catch (Exception ex)
+            {
+                return Ok(new WcsModel { StatusCode = -1, Msg = ex.Message });
+            }
+        }
+
+
+        /// <summary>
+        /// 鎵嬪姩瀹屾垚鐨勪俊鍙� //鎸囦护鍙嶉锛堟槸鍚﹀畬鎴愶級
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult ReceiveRenGongSignal(ReceiveWcsSignal model)
+        {
+            //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D
+            var claimsIdentity = this.User.Identity as ClaimsIdentity;
+            if (claimsIdentity == null)
+            {
+                return Ok(new HttpReturnModel { Success = "1", Message = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
+            }
+            var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
+            if (string.IsNullOrWhiteSpace(userId))
+            {
+                return Ok(new HttpReturnModel { Success = "1", Message = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
+            }
+            try
+            {
+                if (string.IsNullOrEmpty(model.TaskNo) || string.IsNullOrEmpty(model.TaskStatus) || string.IsNullOrEmpty(model.TaskType))
+                {
+                    return Ok(new HttpReturnModel { Success = "-1", Message = "鍙傛暟閿欒" });
+                }
+                //鎺ユ敹鏃堕棿
+                 
+                var orderType = _taskSvc.GetTaskOrderType(model.TaskNo);// 鍒ゆ柇鍗曟嵁绫诲瀷鍏ュ嚭绉�
+                switch (orderType)
+                {
+                    case "0"://鍏ュ簱瀹屾垚浠诲姟
+                        if (model.TaskType == "0")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
+                        {
+                            _http.ArrivalSuccess2(model.TaskNo, 0);
+                            return Ok(new HttpReturnModel { Success = "0", Message = "鍏ュ簱瀹屾垚" });
+                        }
+                        break;
+                    case "1"://鍑哄簱瀹屾垚浠诲姟
+                        if (model.TaskType == "1")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
+                        {
+                            _exNoticeSvc.ExportSuccess(model.TaskNo, 0);
+                            return Ok(new HttpReturnModel { Success = "0", Message = "鍑哄簱瀹屾垚" });
+                        }
+                        else if (model.TaskType == "2")
+                        {
+                            _http.ExMoveSuccess(model.TaskNo, 0);
+                            return Ok(new HttpReturnModel { Success = "0", Message = "绉诲簱瀹屾垚" });
+                        }
+                        break;
+                    case "2"://鐩樺簱瀹屾垚浠诲姟
+                        if (model.TaskType == "1")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
+                        {
+                            _crCheckSvc.CheckSuccess(model.TaskNo, 0);
+                            return Ok(new HttpReturnModel { Success = "0", Message = "鐩樼偣鍑哄簱瀹屾垚" });
+                        }
+                        else if (model.TaskType == "0")// 鐩樼偣鍑哄簱鎵樼洏鍥炲簱瀹屾垚
+                        {
+                            _http.ArrivalSuccess2(model.TaskNo, 0);
+                            return Ok(new HttpReturnModel { Success = "0", Message = "鍏ュ簱瀹屾垚" });
+                        }
+                        break;
+                    case "3"://绉诲簱鍗�
+                        if (model.TaskType == "2") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
+                        {
+                            //濉啓绉诲簱瀹屾垚浠g爜
+                            _http.MoveSuccess(model.TaskNo, 0);
+                            return Ok(new HttpReturnModel { Success = "0", Message = "绉诲簱瀹屾垚" });
+                        }
+                        break;
+                    case "4"://璐ㄦ鍑哄簱
+                        if (model.TaskType == "2") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
+                        {
+                            _http.ExMoveSuccess(model.TaskNo, 0);
+                            return Ok(new HttpReturnModel { Success = "0", Message = "绉诲簱瀹屾垚" });
+                        }
+                        break;
+                    default:
+                        return Ok(new HttpReturnModel { Success = "-1", Message = "浼犻�掔殑浠诲姟鐘舵�佷负澶辫触鐘舵��" });
+                }
+                return Ok(new HttpReturnModel { Success = "-1", Message = "浼犻�掔殑浠诲姟鐘舵�佷负澶辫触鐘舵��" });
+            }
+            catch (Exception ex)
+            {
+                return Ok(new HttpReturnModel { Success = "-1", Message = ex.Message });
+            }
+        }
+
+        /// <summary>
+        /// WCS鍙嶉AGV浠诲姟鍙栬揣瀹屾垚
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult AGVQuHuoSuccess(ReceiveWcsSignal model)
+        {
+            var logStr = $@".\log\WCS\AGV鍙栬揣瀹屾垚鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+            try
+            {
+                var jsonData = JsonConvert.SerializeObject(model);
+                LogFile.SaveLogToFile($"AGV鍙栬揣瀹屾垚鍙嶉锛�( {jsonData} ),", logStr);
+
+                _exNoticeSvc.AGVQuHuoSuccess(model.TaskNo);
+                var data = new HttpReturnModel { Success = "0", Message = "鎴愬姛" };
+                LogFile.SaveLogToFile($"AGV鍙栬揣瀹屾垚鍙嶉锛�({JsonConvert.SerializeObject(data)}),", logStr);
+                return Ok(data);
+            }
+            catch (Exception e)
+            {
+                LogFile.SaveLogToFile($"AGV鍙栬揣瀹屾垚鍙嶉锛�( {e.Message} ),", logStr);
+                return Ok(new HttpReturnModel { Success = "-1", Message = e.Message });
+            }
+        }
 
         /// <summary>
         /// 绌哄彇寮傚父
@@ -704,5 +873,39 @@
 
         #endregion
 
+        /// <summary>
+        /// PDA 浜哄伐鐢宠鍌ㄤ綅 锛堢珛浣撳簱锛�
+        /// </summary>
+        /// <param name="model">鍏ュ簱鍗曚俊鎭�</param>
+        /// <returns></returns>
+        [AllowAnonymous]
+        [HttpPost]
+        public IActionResult ceshiapi()
+        {
+            try
+            {
+                var url = "https://10.26.200.25/rcs/rtas/api/robot/controller/carrier/unbind";
+
+                var requestId = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
+                var dic = new Dictionary<string, string>()
+                    {
+                        {"X-lr-request-id",requestId },
+                        {"X-lr-version","4.2" },
+                    };
+                var mod = new
+                {
+                    carrierCode = "palletNo",
+                    siteCode = "locateNo"
+                };
+                var jsonData = JsonConvert.SerializeObject(mod);
+                HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橝GV瑙g粦", "AGV",dic);
+
+                return Ok(new HttpReturnModel { Success = "0", Message = "鐢宠鍌ㄤ綅鎴愬姛", Data = "list" });
+            }
+            catch (Exception e)
+            { 
+                return Ok(new HttpReturnModel { Success = "-1", Message = e.Message });
+            }
+        }
     }
 }

--
Gitblit v1.8.0