From fd9ce381b904a22593de2ab242fb8f65cee45efa Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期四, 22 五月 2025 15:27:48 +0800
Subject: [PATCH] 修改问题

---
 Wms/Wms/Controllers/DownApiController.cs |  190 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 159 insertions(+), 31 deletions(-)

diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index 7e9adf6..5446a99 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -39,7 +39,7 @@
         private readonly ITaskServer _taskSvc;//浠诲姟Svc
         private readonly IBllTaskSyncServer _taskSyncSvc;//浠诲姟鍚屾Svc
         private readonly IWaveMageServer _waveSvc;//浠诲姟鍚屾Svc
-        private readonly IHttpServer _http;//浠诲姟鍚屾Svc
+        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;
@@ -129,6 +129,7 @@
                 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 { code = 0, msg = "str" });
                 }
@@ -150,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 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 = _exNoticeSvc.IssueOutHouseLk(soNo, outMode, 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>
         /// 閲嶆柊涓嬪彂鍑哄簱浠诲姟
@@ -300,7 +353,7 @@
 
             try
             {
-                var list = _asnPalletBindSvc.RequestLocation(model.PalletNo, model.HouseNo);
+                var list = _http.RequestLocation(model.PalletNo, model.HouseNo,model.Ceng);
                 _asnPalletBindSvc.IssueAsnTask(list, _config.WcsHost+ _config.IssueComApiUrl2);//WCS璺緞
                 
                 new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "鐢宠鍏ュ簱", model.PalletNo, "娣诲姞", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo}鐨勬垚鍔熶俊鎭�", int.Parse(userId));
@@ -334,19 +387,15 @@
                 var jsonData = JsonConvert.SerializeObject(model);
                 LogFile.SaveLogToFile($"WCS鐢宠宸烽亾锛�( {jsonData} ),", logStr);
 
-                var list = _asnPalletBindSvc.RequestMiJiRoadWay(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 });
             }
@@ -361,37 +410,19 @@
         [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 = "";
             
             logStr = $@".\log\WCS\WCS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
             
-
             try
             {
-                
                 var jsonData = JsonConvert.SerializeObject(model);
                 LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅锛�( {jsonData} ),", logStr);
                 
                 string pallet = model.PalletNo.Substring(0, 8);
-                var list = _asnPalletBindSvc.RequestMiJiLocation(pallet, model.HouseNo, model.RoadwayNo);
+                var list = _http.RequestMiJiLocation(pallet, model.HouseNo, model.RoadwayNo);
 
                 LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
-                //new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2);// int.Parse(userId)
-                //LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅鎴愬姛锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
                 
                 return Ok(new { Success = 0, Message = "鐢宠鍌ㄤ綅鎴愬姛", TaskList = list });
             }
@@ -429,7 +460,7 @@
                     case "0"://鍏ュ簱瀹屾垚浠诲姟
                         if (model.TaskType == "0")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
                         {
-                            _asnPalletBindSvc.ArrivalSuccess2(model.TaskNo, 0);
+                            _http.ArrivalSuccess2(model.TaskNo, 0);
                             return Ok(new WcsModel { StatusCode = 0, Msg = "鍏ュ簱瀹屾垚" });
                         }
                         break;
@@ -441,7 +472,7 @@
                         }
                         else if (model.TaskType == "2")
                         {
-                            _exNoticeSvc.RelocationSuccess(model.TaskNo, 0);
+                            _http.ExMoveSuccess(model.TaskNo, 0);
                             return Ok(new WcsModel { StatusCode = 0, Msg = "绉诲簱瀹屾垚" });
                         }
                         break;
@@ -453,14 +484,24 @@
                         }
                         else if (model.TaskType == "0")// 鐩樼偣鍑哄簱鎵樼洏鍥炲簱瀹屾垚
                         {
-                            _asnPalletBindSvc.ArrivalSuccess2(model.TaskNo, 0);
+                            _http.ArrivalSuccess2(model.TaskNo, 0);
                             return Ok(new WcsModel { StatusCode = 0, Msg = "鍏ュ簱瀹屾垚" });
                         }
                         break;
-                    case "3"://绉诲簱瀹屾垚浠诲姟銆佷紭鍖栧偍浣�
-                        if (model.TaskType == "3") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
+                    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:
@@ -502,6 +543,93 @@
             }
         }
 
+
+        /// <summary>
+        /// 鎺ュ彈wcs杩斿洖鐨勪俊鍙� //鎸囦护鍙嶉锛堟槸鍚﹀畬鎴愶級
+        /// </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>

--
Gitblit v1.8.0