From b0b5deb5825684bca5b3fa7c2ab59f60ce0e799f Mon Sep 17 00:00:00 2001
From: xiazhengtongxue <133085197+xiazhengtongxue@users.noreply.github.com>
Date: 星期二, 07 四月 2026 16:36:57 +0800
Subject: [PATCH] fix: 修复移库任务号重复问题,优化策略优先处理正常任务,避免任务堵塞

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs |   36 ++++++++++++++++++++++++++++++++++--
 1 files changed, 34 insertions(+), 2 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index 7e7ff22..14d38a2 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -690,7 +690,13 @@
         //浠诲姟鑾峰彇
         public List<Dt_Task> GetaskQueue(string deviceId)
         {
-            return BaseDal.QueryData(x => x.Roadway == deviceId && (x.TaskStatus == (int)InTaskStatusEnum.PLC_InFinish || x.TaskStatus == (int)OutTaskStatusEnum.OutNew) && x.NumberSsuances==0);
+            return BaseDal.QueryData(x => x.Roadway == deviceId
+                           && (x.TaskStatus == (int)InTaskStatusEnum.PLC_InFinish
+                               || x.TaskStatus == (int)OutTaskStatusEnum.OutNew)
+                           && x.NumberSsuances == 0)
+               .OrderBy(x => x.Remark == null ? 0 : 1)
+               .ToList();
+            //return BaseDal.QueryData(x => x.Roadway == deviceId && (x.TaskStatus == (int)InTaskStatusEnum.PLC_InFinish || x.TaskStatus == (int)OutTaskStatusEnum.OutNew) && x.NumberSsuances==0);
         }
 
         //鑾峰彇褰撳墠鍫嗗灈鏈烘墽琛岀殑浠诲姟
@@ -755,7 +761,8 @@
                             TaskNum = t.TaskId,
                             TaskType = t.TaskType,
                             CreateDate = t.CreateDate,
-                            TaskStatus = t.TaskStatus
+                            TaskStatus = t.TaskStatus,
+                            TargetAddress = t.TargetAddress
                         })
                         .ToList();
             return WebResponseContent.Instance.OK("鎴愬姛", tasks);
@@ -768,5 +775,30 @@
             /// </summary>
             return _task_HtyService.GetWarehouseOperationStatistics();
         }
+
+        public WebResponseContent GetTaskDestination(string targetAddress)
+        {
+            WebResponseContent content = new WebResponseContent();
+            // 鍙傛暟鏍¢獙
+            if (string.IsNullOrWhiteSpace(targetAddress))
+            {
+                return content.Error("鐩爣鍦板潃涓嶈兘涓虹┖");
+            }
+            try
+            {
+                // 鏌ヨ鏁版嵁
+                var queryResult = BaseDal.QueryData(x => x.TargetAddress == targetAddress);
+                // 鍒ゆ柇鏌ヨ缁撴灉
+                if (queryResult == null || !queryResult.Any())
+                {
+                    return content.Error($"鏈壘鍒扮洰鏍囧湴鍧�涓篬{targetAddress}]鐨勪换鍔�");
+                }
+                return content.OK($"鏈夌洰鏍囧湴鍧�涓篬{targetAddress}]鐨勪换鍔★紝璇锋嫤鎴�");
+            }
+            catch (Exception ex)
+            {
+                return content.Error($"鑾峰彇浠诲姟鐩殑鍦板け璐�: {ex.Message}");
+            }
+        }
     }
 }

--
Gitblit v1.9.3