From a23691d54a0142ba9a0668788d366638bd82349e Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期二, 26 八月 2025 08:25:41 +0800
Subject: [PATCH] 更新最新代码,码垛,伸缩货叉等

---
 项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs |  106 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 74 insertions(+), 32 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
index f8398a4..8110c69 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -80,6 +80,8 @@
 
         public List<int> TaskOutboundTypes => typeof(TaskTypeEnum).GetEnumIndexList().Where(x => x >= 100 && x < 500).ToList();
 
+        public List<int> TaskRelocationTypes => typeof(TaskTypeEnum).GetEnumIndexList().Where(x => x >= 900 && x < 1000).ToList();
+
         public TaskService(ITaskRepository BaseDal, IMapper mapper, ICacheService cacheService, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IApiInfoRepository apiInfoRepository) : base(BaseDal)
         {
             _mapper = mapper;
@@ -206,6 +208,10 @@
                                 task.CurrentAddress = router.StartPosi;
                                 task.NextAddress = router.NextPosi;
                                 task.DeviceCode = router.ChildPosiDeviceCode;
+                                if (task.TaskType == TaskTypeEnum.ProductMD.ObjToInt())
+                                {
+                                    task.TaskState = TaskStatusEnum.Line_Executing.ObjToInt();
+                                }
                             }
                             else //鍑哄簱
                             {
@@ -312,7 +318,7 @@
         /// <param name="sourceAddress">璧峰鍦板潃</param>
         /// /// <param name="roadWay">宸烽亾</param>
         /// <returns></returns>
-        public WebResponseContent RequestYLWMSTaskSimple(string palletCode, string sourceAddress)
+        public WebResponseContent RequestYLWMSTaskSimple(string palletCode, string sourceAddress,int taskNum=0)
         {
             WebResponseContent content = new WebResponseContent();
             try
@@ -322,7 +328,7 @@
                 {
                     return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
                 }
-                string responseStr = HttpHelper.Get($"{address}/api/Task/RequestYLWMSTaskSimple?stationCode={sourceAddress}&palletCode={palletCode}");
+                string responseStr = HttpHelper.Get($"{address}/api/Task/RequestYLWMSTaskSimple?stationCode={sourceAddress}&palletCode={palletCode}&taskNum{taskNum}");
                 WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
                 if (responseContent != null && responseContent.Status && responseContent.Data != null)
                 {
@@ -340,6 +346,64 @@
             }
             return content;
         }
+
+        // <summary>
+        /// 璇锋眰鎴愬搧鍏ュ簱宸烽亾
+        /// </summary>
+        /// <returns></returns>
+        public WebResponseContent AssignCPRoadwayNo()
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                string address = AppSettings.Get("WMSApiAddress");
+                if (string.IsNullOrEmpty(address))
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
+                }
+                string responseStr = HttpHelper.Get($"{address}/api/Task/AssignCPRoadwayNo");
+                
+                if (!responseStr.IsNullOrEmpty())
+                {
+                    content.OK("鎴愬姛", responseStr);
+                }
+
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error(ex.Message);
+            }
+            return content;
+        }
+
+        // <summary>
+        /// 璇锋眰鍘熸枡鍏ュ簱宸烽亾
+        /// </summary>
+        /// <returns></returns>
+        public WebResponseContent AssignYLRoadwayNo(string palletCode)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                string address = AppSettings.Get("WMSApiAddress");
+                if (string.IsNullOrEmpty(address))
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
+                }
+                string responseStr = HttpHelper.Get($"{address}/api/Task/AssignYLRoadwayNo?palletCode={palletCode}");
+                WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
+                if (responseContent != null && responseContent.Status && responseContent.Data != null)
+                {
+                    content = responseContent;
+                }
+
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error(ex.Message);
+            }
+            return content;
+        }
         // <summary>
         /// 璇锋眰鍏ュ簱浠诲姟
         /// </summary>
@@ -347,7 +411,7 @@
         /// <param name="sourceAddress">璧峰鍦板潃</param>
         /// /// <param name="roadWay">宸烽亾</param>
         /// <returns></returns>
-        public WebResponseContent RequestWMSTaskSimple(string palletCode, string sourceAddress, string roadWay="", int taskType=630)
+        public WebResponseContent RequestWMSTaskSimple(string palletCode, string sourceAddress,string roadWay="", int taskType=630, int taskNum = 0, string targetAddress = "")
         {
             WebResponseContent content = new WebResponseContent();
             try
@@ -366,16 +430,15 @@
                 //    {
                 WMSTaskDTO? taskDTO = new WMSTaskDTO()
                 {
-                    Id = 1,
-                    TaskNum = DateTime.Now.ToString("mmss").ObjToInt(),
+                    TaskNum = taskNum ==0 ? DateTime.Now.ToString("mmss").ObjToInt(): taskNum,
                     PalletCode= palletCode,
-                    RoadWay= roadWay ?? "",
+                    RoadWay= roadWay,
                     TaskType= taskType,
                     PalletType=1,
-                    TaskStatus=TaskStatusEnum.New.ObjToInt(),
+                    TaskStatus= TaskStatusEnum.New.ObjToInt(),
                     SourceAddress= sourceAddress,
-                    TargetAddress="",
-                    WarehouseId=1,
+                    TargetAddress= targetAddress,
+                    WarehouseId=2,
                     Grade=0,
                 };
                 content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
@@ -574,29 +637,6 @@
         }
 
         /// <summary>
-        /// 鍚慦MS鐢宠鍒嗛厤璐т綅
-        /// </summary>
-        /// <param name="taskNum"></param>
-        /// <param name="roadwayNo"></param>
-        /// <param name="heightType"></param>
-        /// <returns></returns>
-        /// <exception cref="Exception"></exception>
-        public string? RequestAssignLocationByHeight(int taskNum, string roadwayNo, int heightType)
-        {
-            string address = AppSettings.Get("WMSApiAddress");
-            if (string.IsNullOrEmpty(address)) throw new Exception("鏈壘鍒癢MSApi鍦板潃");
-            string responseStr = HttpHelper.Get($"{address}/api/Task/AssignInboundTaskLocationByHeight?taskNum={taskNum}&roadwayNo={roadwayNo}&heightType={heightType}");
-
-            WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
-            if (responseContent != null && responseContent.Status && responseContent.Data != null)
-            {
-                return responseContent.Data.ToString();
-            }
-
-            return "";
-        }
-
-        /// <summary>
         /// 鏍规嵁璁惧缂栧彿銆佷换鍔$被鍨嬪垎缁�(鍙��)鎸夌収浼樺厛绾т互鍙婂垱寤烘椂闂存帓搴忔煡璇换鍔℃睜鏂板鐨勪换鍔�
         /// </summary>
         /// <param name="deviceNo">璁惧缂栧彿</param>
@@ -610,6 +650,8 @@
                 return BaseDal.QueryFirst(x => x.DeviceCode == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskStatusEnum.SC_Execute, TaskOrderBy);
             if (taskTypeGroup.Value == TaskTypeGroup.OutbondGroup)
                 return BaseDal.QueryFirst(x => x.DeviceCode == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskStatusEnum.SC_Execute, TaskOrderBy);
+            if (taskTypeGroup.Value == TaskTypeGroup.RelocationGroup)
+                return BaseDal.QueryFirst(x => x.DeviceCode == deviceNo && TaskRelocationTypes.Contains(x.TaskType) && x.TaskState == (int)TaskStatusEnum.SC_Execute, TaskOrderBy);
             return null;
         }
 

--
Gitblit v1.9.3