From a0a0df2e824b6fe7e5a3c0afce78127fecf84fc9 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 03 十一月 2025 08:23:05 +0800
Subject: [PATCH] ERP接口代码更新,WCS代码优化,出入库分配优化

---
 项目代码/WMS/WMSServices/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs |  397 +++++++++++++++++++++-----------------------------------
 1 files changed, 149 insertions(+), 248 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
index 2c768e0..00d98e3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
@@ -4,6 +4,7 @@
 using WIDESEA_Common.CommonEnum;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseController;
+using WIDESEA_DTO.Outbound;
 using WIDESEA_DTO.Stock;
 using WIDESEA_DTO.Task;
 using WIDESEA_ITaskInfoService;
@@ -22,64 +23,6 @@
         {
         }
 
-        ///// <summary>
-        ///// 灏哤MS浠诲姟鎺ㄩ�佽嚦WCS
-        ///// </summary>
-        ///// <returns></returns>
-        //[HttpPost, HttpGet, Route("PushTasksToWCS"), AllowAnonymous]
-        //public WebResponseContent PushTasksToWCS()
-        //{
-        //    return Service.PushTasksToWCS();
-        //}
-
-        /// <summary>
-        /// 鐢宠鍏ュ簱浠诲姟
-        /// </summary>
-        /// <param name="saveModel"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("RequestInboundTask"), AllowAnonymous]
-        public WebResponseContent RequestInboundTask([FromBody] SaveModel saveModel)
-        {
-            return Service.RequestInboundTask(saveModel);
-        }
-        
-        /// <summary>
-        /// 绌虹鍏ュ簱
-        /// </summary>
-        /// <param name="barcode">鎵樼洏鍙�</param>
-        /// <param name="address">鍦板潃</param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("InEmpty"), AllowAnonymous]
-        public WebResponseContent InEmpty(string barcode, string address, int WarehouseId)
-        {
-            return Service.InEmpty(barcode, address, WarehouseId);
-        }
-
-        /// <summary>
-        /// 绌虹鍑哄簱
-        /// </summary>
-        /// <param name="qty">鏁伴噺</param>
-        /// <param name="address">鍦板潃</param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("OutEmpty"), AllowAnonymous]
-        public WebResponseContent OutEmpty(int qty, string address, int WarehouseId, string barcode)
-        {
-            return Service.OutEmpty(qty, address, WarehouseId, barcode);
-        }
-
-        /// <summary>
-        /// WCS鐢宠鍏ュ簱浠诲姟(鍒嗛厤璐т綅)
-        /// </summary>
-        /// <param name="stationCode"></param>
-        /// <param name="roadwayNo"></param>
-        /// <param name="palletCode"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("DeviceRequestInboundTask"), AllowAnonymous]
-        public WebResponseContent DeviceRequestInboundTask(string stationCode, string roadwayNo, string palletCode,string materielBoxCode = "")
-        {
-            return Service.DeviceRequestInboundTask(stationCode, roadwayNo, palletCode, materielBoxCode);
-        }
-
         /// <summary>
         /// WCS鐢宠鍏ュ簱浠诲姟(涓嶅垎閰嶈揣浣�)
         /// </summary>
@@ -90,20 +33,6 @@
         public WebResponseContent DeviceRequestInboundTaskSimple(string stationCode, string palletCode)
         {
             return Service.DeviceRequestInboundTaskSimple(stationCode, palletCode);
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="stationCode"></param>
-        /// <param name="palletCode"></param>
-        /// <param name="roadwayNos"></param>
-        /// <param name="heightType"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("DeviceRequestInboundTaskByRoadways"), AllowAnonymous]
-        public WebResponseContent DeviceRequestInboundTaskByRoadways(string stationCode, string palletCode, int heightType, [FromBody] List<string> roadwayNos)
-        {
-            return Service.DeviceRequestInboundTaskByRoadways(stationCode, palletCode, roadwayNos, heightType);
         }
 
         /// <summary>
@@ -119,85 +48,16 @@
         }
 
         /// <summary>
-        /// 
+        /// 鍚慦MS鐢宠鍑哄簱AGV缁堢偣
         /// </summary>
-        /// <param name="taskNum"></param>
-        /// <param name="roadwayNo"></param>
-        /// <param name="heightType"></param>
+        /// <param name="taskNum">浠诲姟鍙�</param>
         /// <returns></returns>
-        [HttpPost, HttpGet, Route("AssignInboundTaskLocationByHeight"), AllowAnonymous]
-        public WebResponseContent AssignInboundTaskLocationByHeight(int taskNum, string roadwayNo, int heightType)
+        [HttpPost, HttpGet, Route("AssignOutTargetAddress"), AllowAnonymous]
+        public WebResponseContent AssignOutTargetAddress(int taskNum)
         {
-            return Service.AssignInboundTaskLocationByHeight(taskNum, roadwayNo, heightType);
+            return Service.AssignOutTargetAddress(taskNum);
         }
 
-        /// <summary>
-        /// 鍏ュ簱浠诲姟瀹屾垚
-        /// </summary>
-        /// <param name="taskNum"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("InboundTaskCompleted"), AllowAnonymous]
-        public WebResponseContent InboundTaskCompleted(int taskNum)
-        {
-            return Service.InboundTaskCompleted(taskNum);
-        }
-
-        /// <summary>
-        /// 鐢熸垚鍑哄簱浠诲姟
-        /// </summary>
-        /// <param name="orderDetailId"></param>
-        /// <param name="stockSelectViews"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("GenerateOutboundTask"), AllowAnonymous]
-        public WebResponseContent GenerateOutboundTask(int orderDetailId, [FromBody] List<StockSelectViewDTO> stockSelectViews)
-        {
-            return Service.GenerateOutboundTask(orderDetailId, stockSelectViews);
-        }
-
-        /// <summary>
-        /// 骞冲簱鐩存帴鍑哄簱
-        /// </summary>
-        /// <param name="orderDetailId"></param>
-        /// <param name="stockSelectViews"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("GeneratePKOutboundTask"), AllowAnonymous]
-        public WebResponseContent GeneratePKOutboundTask(int orderDetailId, [FromBody] List<StockSelectViewDTO> stockSelectViews)
-        {
-            return Service.GeneratePKOutboundTask(orderDetailId, stockSelectViews);
-        }
-
-        /// <summary>
-        /// 鐢熸垚鍑哄簱浠诲姟
-        /// </summary>
-        /// <param name="keys"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("GenerateOutboundTasks"), AllowAnonymous]
-        public WebResponseContent GenerateOutboundTasks([FromBody] int[] keys)
-        {
-            return Service.GenerateOutboundTasks(keys);
-        }
-        /// <summary>
-        /// 鐢熸垚鎴愬搧鍑哄簱浠诲姟
-        /// </summary>
-        /// <param name="ProOutNo">鍑哄簱璁㈠崟鍙�</param>
-        /// <param name="StationCode">绔欏彴鍦板潃</param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("OutProductTask"), AllowAnonymous]
-        public async Task<WebResponseContent> OutProductTask([FromBody] int[] keys, string StationCode, int Grade)
-        {
-            return await Service.OutProductTask(keys, StationCode, Grade);
-        }
-        /// <summary>
-        /// 鎴愬搧浣欐枡閫�搴撳叆浠�
-        /// </summary>
-        /// <param name="barCode"></param>
-        /// <param name="startPoint"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("BackProductTask"), AllowAnonymous]
-        public WebResponseContent BackProductTask(string barCode, string startPoint)
-        {
-            return Service.BackProductTask(barCode, startPoint);
-        }
         /// <summary>
         /// 鎴愬搧绌烘鍥炲簱
         /// </summary>
@@ -209,33 +69,15 @@
         {
             return Service.EmptyBackTask(barCode, startPoint);
         }
+
         /// <summary>
-        /// 鐢熸垚鎴愬搧鎻愬簱浠诲姟
+        /// 杈呮枡/鎴愬搧涓存椂鍏ュ簱
         /// </summary>
-        [HttpPost, HttpGet, Route("OutProRworkTask"), AllowAnonymous]
-        public async Task<WebResponseContent> OutProRworkTask([FromBody] int[] keys, string StationCode, int Grade)
-        {
-            return await Service.OutProductTask(keys, StationCode, Grade);
-        }
-        ///// <summary>
-        ///// 鐢熸垚MESPP浠撳ぇ鍗峰嚭搴撲换鍔�
-        ///// </summary>
-        ///// <param name="keys"></param>
-        ///// <returns></returns>
-        //[HttpPost, HttpGet, Route("MESPPGenerateOutboundTasks"), AllowAnonymous]
-        //public WebResponseContent MESPPGenerateOutboundTasks([FromBody] int[] keys)
-        //{
-        //    return Service.MESPPGenerateOutboundTasks(keys);
-        //}
-        /// <summary>
-        /// 鍑哄簱浠诲姟瀹屾垚
-        /// </summary>
-        /// <param name="taskNum">浠诲姟鍙�</param>
         /// <returns></returns>
-        [HttpPost, HttpGet, Route("OutboundTaskCompleted"), AllowAnonymous]
-        public WebResponseContent OutboundTaskCompleted(int taskNum)
+        [HttpPost, HttpGet, Route("InboundFLTask"), AllowAnonymous]
+        public WebResponseContent InboundFLOrCPTask(string barCode, string startPoint, string matCode, int matCount, int oneCount)
         {
-            return Service.OutboundTaskCompleted(taskNum);
+            return Service.InboundFLOrCPTask(barCode, startPoint, matCode, matCount,oneCount);
         }
 
         /// <summary>
@@ -244,11 +86,11 @@
         /// <param name="taskNum">浠诲姟鍙�</param>
         /// <param name="locationCode"></param>
         /// <returns></returns>
-        [HttpPost, HttpGet, Route("IsRelocation"), AllowAnonymous]
-        public WebResponseContent IsRelocation(int taskNum, string locationCode)
-        {
-            return Service.IsRelocation(taskNum, locationCode);
-        }
+        //[HttpPost, HttpGet, Route("IsRelocation"), AllowAnonymous]
+        //public WebResponseContent IsRelocation(int taskNum, string locationCode)
+        //{
+        //    return Service.IsRelocation(taskNum, locationCode);
+        //}
 
         /// <summary>
         /// 浠诲姟瀹屾垚
@@ -272,75 +114,15 @@
         {
             return Service.PushTasksToWCSSingle(taskNum, agvDescription);
         }
-        /// <summary>
-        /// 閫夋嫨搴撳瓨鐢熸垚鍑哄簱浠诲姟
-        /// </summary>
-        /// <param name="id"></param>
-        /// <returns></returns>
-        [HttpPost, Route("Outbound"), AllowAnonymous]
-        public WebResponseContent Outbound(int id)
-        {
-            return Service.Outbound(id);
-        }
 
         /// <summary>
-        /// 鍒嗛厤宸烽亾(甯︿换鍔″彿鍙婇珮搴�)
+        /// 閫夋嫨搴撳瓨鐢熸垚鑰佸巶鍑哄簱浠诲姟
         /// </summary>
-        /// <param name="roadwayNos"></param>
-        /// <param name="taskNum"></param>
-        /// <param name="heightType"></param>
         /// <returns></returns>
-        [HttpPost, Route("AssignRoadwayByHeight"), AllowAnonymous]
-        public WebResponseContent AssignRoadwayByHeight([FromBody] List<string> roadwayNos, int taskNum, int heightType = 0)
+        [HttpPost, Route("OldYLOutbound"), AllowAnonymous]
+        public WebResponseContent Outbound([FromBody] List<int> ids)
         {
-            return Service.AssignRoadwayByHeight(roadwayNos, taskNum, heightType);
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="roadwayNos"></param>
-        /// <param name="palletCode"></param>
-        /// <param name="heightType"></param>
-        /// <returns></returns>
-        [HttpPost, Route("AssignRoadwayByHeightAndCode"), AllowAnonymous]
-        public WebResponseContent AssignRoadwayByHeightAndCode([FromBody] List<string> roadwayNos, string palletCode, int heightType = 0)
-        {
-            return Service.AssignRoadwayByHeightAndCode(roadwayNos, palletCode, heightType);
-        }
-
-        /// <summary>
-        /// 鍒嗛厤宸烽亾(甯︿换鍔″彿)
-        /// </summary>
-        /// <param name="taskNum"></param>
-        /// <param name="roadwayNos"></param>
-        /// <returns></returns>
-        [HttpPost, Route("AssignRoadway"), AllowAnonymous]
-        public WebResponseContent AssignRoadway(int taskNum, [FromBody] List<string> roadwayNos,int heightType)
-        {
-            return Service.AssignRoadway(taskNum, roadwayNos, heightType);
-        }
-
-        /// <summary>
-        /// 鍒嗛厤宸烽亾
-        /// </summary>
-        /// <param name="roadwayNos"></param>
-        /// <returns></returns>
-        [HttpPost, Route("SingleAssignRoadway"), AllowAnonymous]
-        public WebResponseContent SingleAssignRoadway([FromBody] List<string> roadwayNos)
-        {
-            return Service.SingleAssignRoadway(roadwayNos);
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="orderId"></param>
-        /// <returns></returns>
-        [HttpPost, Route("HandSubstrateOut")]
-        public WebResponseContent HandSubstrateOut(int orderId)
-        {
-            return Service.HandSubstrateOut(orderId);
+            return Service.Outbound(ids);
         }
 
         /// <summary>
@@ -355,24 +137,143 @@
         }
 
         /// <summary>
-        /// PP浠揂GV鎼繍浠诲姟
+        /// 鍘熸枡鍏ュ簱浠诲姟璇锋眰
         /// </summary>
-        /// <param name="task"></param>
+        /// <param name="stationCode">璧风偣</param>
+        /// <param name="palletCode">鎵樼洏</param>
         /// <returns></returns>
-        [HttpPost, Route("AGVTasks"), AllowAnonymous]
-        public WebResponseContent AGVTasks([FromBody] SaveModel saveModel)
+        [HttpPost,HttpGet, Route("RequestYLWMSTaskSimple"), AllowAnonymous]
+        public WebResponseContent RequestYLWMSTaskSimple(string stationCode, string palletCode)
         {
-            return Service.AGVTasks(saveModel);
+            return Service.RequestYLWMSTaskSimple(stationCode,palletCode);
+        }
+
+        /// <summary>
+        /// 鍘熸枡鍏ュ簱鐢宠(骞冲彴/鑰佸巶鍖�)
+        /// </summary>
+        /// <param name="palletCode">鏉$爜</param>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("YLPurchaseBoxing"), AllowAnonymous]
+        public WebResponseContent YLPurchaseBoxing(string palletCode,decimal weight=0,decimal thickness = 0, decimal wide = 0, string stationCode = "")
+        {
+            return Service.YLPurchaseBoxing(palletCode,weight,thickness,wide,stationCode);
+        }
+
+        /// <summary>
+        /// 鍘熸枡閲囪喘缁戝畾RFID
+        /// </summary>
+        /// <param name="palletCode">绾稿嵎鏉$爜</param>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("PurchaseBoxing"), AllowAnonymous]
+        public WebResponseContent PurchaseBoxing(string palletCode)
+        {
+            return Service.PurchaseBoxing(palletCode);
+        }
+
+        /// <summary>
+        /// 鍒嗛厤鍘熸枡鍏ュ簱宸烽亾
+        /// </summary>
+        /// <param name="palletCode"></param>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("AssignYLRoadwayNo"), AllowAnonymous]
+        public WebResponseContent AssignYLRoadwayNo(string palletCode)
+        {
+            string roadWay= Service.AssignYLRoadwayNo(palletCode);
+            if (string.IsNullOrEmpty(roadWay))
+            {
+                return WebResponseContent.Instance.Error("鏈壘鍒板彲鍒嗛厤宸烽亾");
+            }
+            return WebResponseContent.Instance.OK(data: roadWay);
+        }
+
+        /// <summary>
+        /// 鎴愬搧鍑哄簱浠诲姟璇锋眰
+        /// <param name="targetId">
+        ///涓�妤兼湀鍙扮爜澶� = 1,
+        ///涓�妤兼棤绾虹粐甯� = 2,
+        ///涓�妤兼棤绾烘穻鑶� = 3,
+        ///涓�妤兼棤绾虹紦瀛� = 4,
+        ///涓�妤肩焊寮犳穻鑶� = 5,
+        ///涓�妤煎嵃鍒� = 6,
+        ///涓�妤煎垎鍒� = 7,
+        ///涓�妤兼ā鍒� = 8,
+        ///涓�妤煎啿鍒� = 9,
+        ///涓�妤煎師鏂� = 10,
+        ///涓�妤兼垚鍝� = 11,
+        ///浜屾ゼ鍘熸枡 = 12,
+        ///浜屾ゼ鎴愬搧 = 13,
+        ///浜屾ゼ鏃犵汉甯冭 = 14,
+        ///浜屾ゼ绾歌 = 15,
+        ///浜屾ゼ绾告澂 = 16,
+        ///浜屾ゼ闆惧寲 = 17
+        /// </param>
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("RequestCPWMSTaskOut"), AllowAnonymous]
+        public WebResponseContent RequestCPWMSTaskOut(string materialCode,int outCount, string targetId)
+        {
+            return Service.RequestCPWMSTaskOut(materialCode, outCount, targetId);
+        }
+
+        /// <summary>
+        /// 鍘熸枡鍑哄簱浠诲姟
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("RequestYLWMSTaskOut"), AllowAnonymous]
+        public WebResponseContent RequestYLWMSTaskOut([FromBody] YLWMSTaskOutDTO yLWMSTaskOutDTO)
+        {
+            return Service.RequestYLWMSTaskOut(yLWMSTaskOutDTO);
+        }
+
+        /// <summary>
+        /// 鍘熸枡绉诲簱浠诲姟
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("Relocation"), AllowAnonymous]
+        public WebResponseContent IsRelocation(string startAddress, string endAddress, string roadWay)
+        {
+            return Service.IsRelocation(startAddress, endAddress, roadWay);
         }
         /// <summary>
-        /// 鎴愬搧鎸囧畾鍑哄簱
+        /// 鍘熸枡宸烽亾闂寸Щ搴撲换鍔�
         /// </summary>
-        /// <param name="task"></param>
         /// <returns></returns>
-        [HttpPost, Route("OutProductSelect"), AllowAnonymous]
-        public WebResponseContent OutProductSelect(int orderDetailId,[FromBody] List<ProStockViewDTO> proStockViews)
+        [HttpPost, HttpGet, Route("RelocationRoadWay"), AllowAnonymous]
+        public WebResponseContent RelocationRoadWay(string roadWay,int Count)
         {
-            return Service.OutProductSelect(orderDetailId, proStockViews);
+            return Service.RelocationRoadWay(roadWay, Count);
+        }
+
+        /// <summary>
+        /// 鍒嗛厤鎴愬搧宸烽亾
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("AssignCPRoadwayNo"), AllowAnonymous]
+        public string AssignCPRoadwayNo()
+        {
+            return Service.AssignCPRoadwayNo();
+        }
+
+        /// <summary>
+        /// 鍗板埛浣欐枡閫�鏂欎换鍔�
+        /// </summary>
+        /// <param name="saveModel"></param>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("PrintBackInbound"), AllowAnonymous]
+        public WebResponseContent PrintBackInbound([FromBody]SaveModel saveModel)
+        {
+            return Service.PrintBackInbound(saveModel);
+        }
+
+        /// <summary>
+        /// 鍗板埛涓嬫枡浠诲姟
+        /// </summary>
+        /// <param name="saveModel"></param>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("PrintInbound"), AllowAnonymous]
+        public WebResponseContent PrintInbound([FromBody] SaveModel saveModel)
+        {
+            return Service.PrintInbound(saveModel);
         }
     }
 }

--
Gitblit v1.9.3