From 733c975cd8647f6d006736f1863bad731e32e6fb Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期日, 26 十月 2025 17:15:52 +0800
Subject: [PATCH] 上传最新代码,ERP接口,MES接口优化,WMS业务优化等

---
 项目代码/WCS/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs |  107 +++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 79 insertions(+), 28 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
index 7e56cfb..7169de3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
@@ -2,12 +2,19 @@
 using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
+using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseController;
+using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_DTO.TaskInfo;
+using WIDESEAWCS_IBasicInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
 using WIDESEAWCS_Tasks;
+using WIDESEAWCS_Tasks.ConveyorLineJob;
+using WIDESEAWCS_Tasks.DBNames;
+using WIDESEAWCS_Tasks.StackPlateJob;
 
 namespace WIDESEAWCS_WCSServer.Controllers.Task
 {
@@ -18,11 +25,13 @@
         private readonly IHttpContextAccessor _httpContextAccessor;
         private readonly IRouterExtension _routerExtension;
         //private readonly WebSocketServer _webSocketServer;
+        private readonly IStationMangerRepository _stationMangerRepository;
 
-        public TaskController(ITaskService service, IHttpContextAccessor httpContextAccessor, IRouterExtension routerExtension/*, WebSocketServer webSocketServer*/) : base(service)
+        public TaskController(ITaskService service, IHttpContextAccessor httpContextAccessor, IRouterExtension routerExtension/*, WebSocketServer webSocketServer*/, IStationMangerRepository stationMangerRepository) : base(service)
         {
             _httpContextAccessor = httpContextAccessor;
             _routerExtension = routerExtension;
+            _stationMangerRepository=stationMangerRepository;
             //_webSocketServer = webSocketServer;
         }
 
@@ -62,44 +71,86 @@
             return Service.RollbackTaskStatusToLast(taskNum);
         }
 
-        /// <summary>
-        /// 鍥炲AGV瀹夊叏淇″彿
-        /// </summary>
-        /// <param name="taskNum"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("SendSecureReplyToAgv")]
-        public WebResponseContent SendSecureReplyToAgv(int taskNum)
-        {
-            return Service.SendSecureReplyToAgv(taskNum);
-        }
-
         [HttpPost, HttpGet, Route("GetRouteEndPoint"), AllowAnonymous]
         public WebResponseContent GetRouteEndPoint(string startPoint, int routeType)
         {
             return WebResponseContent.Instance.OK(data: _routerExtension.GetEndPoint(startPoint, routeType));
         }
-        [HttpPost, HttpGet, Route("AgvCarrying"), AllowAnonymous]
-        public WebResponseContent AgvCarrying(int row, int startColumn, int endColumn, int layer, int targetLayer)
+        /// <summary>
+        /// 娴嬭瘯鍫嗗灈鏈哄嚭搴�
+        /// </summary>
+        [HttpPost, HttpGet, Route("SCOUT"), AllowAnonymous]
+        public WebResponseContent SCCarrying(string sourceAddress, string roadWay, int taskType)
         {
-            return Service.AgvCarrying(row, startColumn, endColumn, layer, targetLayer);
+            WMSTaskDTO taskDTO = new WMSTaskDTO()
+            {
+                Id = 1,
+                SourceAddress = sourceAddress,
+                TaskNum = DateTime.Now.ToString("mmss").ObjToInt(),
+                PalletCode= roadWay+ DateTime.Now.ToString("mmss"),
+                RoadWay = roadWay,
+                TaskType = taskType,
+                TaskStatus = TaskStatusEnum.New.ObjToInt(),
+                TargetAddress = "",
+                Grade = 0,
+                WarehouseId = 1,
+                PalletType = 1
+            };
+            return Service.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
         }
-        //[HttpPost, HttpGet, Route("WebSocketPushMessage"), AllowAnonymous]
-        //public WebResponseContent WebSocketPushMessage(string message)
-        //{
-        //    try
-        //    {
-        //         _webSocketServer.PublishAllClientPayload(message);
-        //        return WebResponseContent.Instance.OK();
-        //    }
-        //    catch(Exception ex)
-        //    {
-        //        return WebResponseContent.Instance.Error(ex.Message);
-        //    }
-        //}
+        [HttpPost, HttpGet, Route("AssignCPRoadwayNo"), AllowAnonymous]
+        public WebResponseContent AssignCPRoadwayNo()
+        {
+            return Service.AssignCPRoadwayNo();
+        }
+        /// <summary>
+        /// 璇锋眰鍏ュ簱浠诲姟
+        /// </summary>
+        /// <param name="palletCode">鎵樼洏鍙�</param>
+        /// <param name="sourceAddress">璧峰鍦板潃</param>
+        /// <param name="roadWay">宸烽亾</param>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("SCIN"), AllowAnonymous]
+        public WebResponseContent RequestWMSTaskSimple(string palletCode, string sourceAddress, string roadWay, int taskType = 0)
+        {
+            return Service.RequestWMSTaskSimple(palletCode,sourceAddress, roadWay, taskType);
+        }
+        /// <summary>
+        /// WMS浠诲姟瀹屾垚鍚屾
+        /// </summary>
+        /// <param name="taskNum"></param>
+        /// <returns></returns>
         [HttpPost, HttpGet, Route("RecWMSTaskCompleted"), AllowAnonymous]
         public WebResponseContent RecWMSTaskCompleted(int taskNum)
         {
             return Service.RecWMSTaskCompleted(taskNum);
         }
+        [HttpPost, HttpGet, Route("YLPurchasePush"), AllowAnonymous]
+        public WebResponseContent YLPurchasePush(string code)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == code);
+
+                IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
+                if (device == null)
+                {
+                    return content.Error($"鏈壘鍒板搴旇澶�");
+                }
+                OtherDevice otherDevice = (OtherDevice)device;
+                short request = otherDevice.GetValue<WR_CLineYLDB, short>(WR_CLineYLDB.WR_Request, stationManger.StationCode);
+                if (request!=86)
+                {
+                    return content.Error($"璁惧鐘舵�佷笉鍏佽鍚姩");
+                }
+                otherDevice.SetValue(WR_CLineYLDB.WR_Reresult, 86, stationManger.StationCode);
+                return content.OK();
+            }
+            catch (Exception ex)
+            {
+                return content.Error(ex.Message);
+            }
+        }
     }
 }

--
Gitblit v1.9.3