From aeb971fe12b73d83d31a83b00f0a6e2876b24a00 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期四, 09 四月 2026 21:21:51 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/RuiShengZhiNeng/GaoPuLiTiKu

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/HKTaskExtend.cs |   98 ++++++++++++------------------------------------
 1 files changed, 25 insertions(+), 73 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/HKTaskExtend.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/HKTaskExtend.cs"
index 07b97b6..ba18d44 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/HKTaskExtend.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/HKTaskExtend.cs"
@@ -50,10 +50,10 @@
             foreach (var item in tasks)
             {
                 // 鍑哄簱浠诲姟澶勭悊 (浠�1妤煎嚭搴撳埌6妤�)
-                if (item.TaskType == (int)TaskTypeEnum.Q3CK)
+                if (item.TaskType == (int)TaskTypeEnum.Q3CK || item.TaskType == (int)TaskTypeEnum.Q3RK)
                 {
                     // 璋冪敤鎺ュ彛鑾峰彇灏忚溅淇℃伅
-                    var result = _agvcartInfoService.CheckTheCar();
+                    var result = _agvcartInfoService.CheckTheCar("MR-Q3-600LE-D(M)(YWGP)");
                     if (result != null && result.Status)
                     {
                         var dataList = result.Data as List<HIKROBOTQueryData>;
@@ -61,7 +61,8 @@
                         {
                             // 鍑哄簱浠诲姟锛氭鏌ユ槸鍚︽湁鍦�1妤�(AA)鐨勫皬杞�
                             // Q3CK 鏄疉A鈫扚F鐨勮法妤煎眰浠诲姟锛屽彧鑳戒娇鐢ㄤ笓鐢ㄥ皬杞�
-                            var specialCarInAA = dataList.FirstOrDefault(d => d.mapCode == "AA" && d.CarType == "MR-Q3-600LE-D(M)(YWGP)");
+                            var code = item.TaskType == (int)TaskTypeEnum.Q3CK ? "AA" : "FF";
+                            var specialCarInAA = dataList.FirstOrDefault(d => d.mapCode == code);
 
                             if (specialCarInAA != null)
                             {
@@ -75,11 +76,11 @@
                             else
                             {
                                 // 娌℃湁涓撶敤灏忚溅鍦�1妤硷紝闇�瑕佸懠鍙笓鐢ㄥ皬杞︽潵鍒�1妤�
-                                var anySpecialCar = dataList.FirstOrDefault(d => d.CarType == "MR-Q3-600LE-D(M)(YWGP)");
+                                var anySpecialCar = dataList.FirstOrDefault();
                                 if (anySpecialCar != null)
                                 {
                                     // 璧风偣锛氬皬杞﹀綋鍓嶆墍鍦ㄦゼ灞傜殑鐐逛綅锛岀洰鏍囷細1妤肩偣浣�
-                                    var callCarResult = AddAGVCartInfo(item, anySpecialCar.mapCode, "AA");
+                                    var callCarResult = AddAGVCartInfo(item, anySpecialCar.mapCode, code);
                                     if (callCarResult.Status)
                                     {
                                         // 鍘熶换鍔$姸鎬佹敼涓虹瓑寰呯┖杞�
@@ -98,54 +99,10 @@
                         item.ExceptionMessage = "鑾峰彇AGV灏忚溅淇℃伅澶辫触";
                     }
                 }
-                // 鍏ュ簱浠诲姟澶勭悊 (浠�6妤煎叆搴撳埌1妤�)
-                else if (item.TaskType == (int)TaskTypeEnum.Q3RK)
-                {
-                    var result = _agvcartInfoService.CheckTheCar();
-
-                    if (result != null && result.Status)
-                    {
-                        var dataList = result.Data as List<HIKROBOTQueryData>;
-                        if (dataList != null && dataList.Any())
-                        {
-                            // Q3RK 鏄疐F鈫扐A鐨勮法妤煎眰浠诲姟锛屽彧鑳戒娇鐢ㄤ笓鐢ㄥ皬杞�
-                            var specialCarInFF = dataList.FirstOrDefault(d => d.mapCode == "FF" && d.CarType == "MR-Q3-600LE-D(M)(YWGP)");
-
-                            if (specialCarInFF!=null)
-                            {
-                                // 鏈夊湪1妤肩殑灏忚溅锛岀洿鎺ユ墽琛屼换鍔�
-                                var content = _taskService.SendHIKROBOTTask(item);
-                                item.TaskState = (int)TaskStatusEnum.Execut;
-                            }
-                            else
-                            {
-                                // 娌℃湁涓撶敤灏忚溅鍦�6妤硷紝闇�瑕佸懠鍙笓鐢ㄥ皬杞︽潵鍒�6妤�
-                                var anySpecialCar = dataList.FirstOrDefault(d => d.CarType == "MR-Q3-600LE-D(M)(YWGP)");
-                                if (anySpecialCar != null)
-                                {
-                                    // 璧风偣锛氬皬杞﹀綋鍓嶆墍鍦ㄦゼ灞傜殑鐐逛綅锛岀洰鏍囷細6妤肩偣浣�
-                                    var callCarResult = AddAGVCartInfo(item, anySpecialCar.mapCode, "FF");
-                                    if (callCarResult.Status)
-                                    {
-                                        item.TaskState = (int)TaskStatusEnum.WaitingHkAGVMovePosition;
-                                    }
-                                }
-                                else
-                                {
-                                    item.ExceptionMessage = "鏈壘鍒板彲鐢ˋGV灏忚溅";
-                                }
-                            }
-                        }
-                    }
-                    else
-                    {
-                        item.ExceptionMessage = "鑾峰彇AGV灏忚溅淇℃伅澶辫触";
-                    }
-                }
                 else if (item.TaskType == (int)TaskTypeEnum.F01)
                 {
                     // F01浠诲姟澶勭悊锛氭牴鎹洰鏍囧湴鍧�鍒ゆ柇闇�瑕佸摢涓ゼ灞傜殑灏忚溅
-                    var result = _agvcartInfoService.CheckTheCar();
+                    var result = _agvcartInfoService.CheckTheCar("MR-Q3-600LE-D(M)");
 
                     if (result != null && result.Status)
                     {
@@ -162,9 +119,9 @@
                             }
 
                             // 妫�鏌ユ槸鍚︽湁鍦ㄧ洰鏍囨ゼ灞傜殑灏忚溅
-                            var hasRequiredCar = dataList.FirstOrDefault(d => d.mapCode == requiredMapCode&&d.CarType== "MR-Q3-600LE-D(M)");
+                            var hasRequiredCar = dataList.FirstOrDefault(d => d.mapCode == requiredMapCode);
 
-                            if (hasRequiredCar!=null)
+                            if (hasRequiredCar != null)
                             {
                                 // 鏈夊湪鐩爣妤煎眰鐨勫皬杞︼紝鐩存帴鎵ц浠诲姟
                                 var content = _taskService.SendHIKROBOTTask(item);
@@ -193,7 +150,7 @@
                             }
                         }
                     }
-                    }
+                }
                 _taskService.UpdateData(item);
             }
         }
@@ -239,7 +196,7 @@
 
                 Dt_Task newTask = new Dt_Task
                 {
-                    WMSTaskNum="HKkc"+ DateTime.Now.ToString("yyyyMMddHHmmss"), // 鐢熸垚鍞竴鐨刉MS浠诲姟鍙�
+                    WMSTaskNum = "HK_" + task.WMSTaskNum, // 鐢熸垚鍞竴鐨刉MS浠诲姟鍙�
                     TaskNum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
                     SourceAddress = currentFloorInfo.PointCode,
                     CurrentAddress = currentFloorInfo.PointCode,
@@ -247,16 +204,16 @@
                     NextAddress = targetFloorInfo.PointCode,
                     TaskType = (int)TaskTypeEnum.MOVE,
                     Grade = task.Grade,
-                    PalletCode = null,
+                    PalletCode = "",
                     TaskState = (int)TaskStatusEnum.CallingHKtransportation,
                     // 澶嶅埗鍏朵粬蹇呰瀛楁
                     CreateDate = DateTime.Now,
                     Creater = "System"
                 };
-                _taskService.AddData(newTask);  // 娣诲姞鏂颁换鍔�
                 var result = _taskService.SendHIKROBOTTask(newTask);
                 if (result.Status)
                 {
+                    _taskService.AddData(newTask);  // 娣诲姞鏂颁换鍔�
                     content.OK("绌鸿溅鍛煎彨浠诲姟鍒涘缓鎴愬姛", newTask);
                 }
                 else
@@ -274,26 +231,22 @@
         #endregion
 
         #region 澶勭悊agv寰呯┖杞︽惉杩愪换鍔�
-        public void SendHKWaitTask()
+        public void SendHKWaitTask(List<Dt_Task> Tasks)
         {
             try
             {
-                List<Dt_Task> reslut = _taskService.Repository.QueryData(x => x.TaskType == (int)TaskTypeEnum.MOVE);
-                if (reslut.Count<=0)
+                List<Dt_Task> Uptasks = new List<Dt_Task>();
+                foreach (var item in Tasks)
                 {
-                    List<Dt_Task> reslut2 = _taskService.Repository.QueryData(x => x.TaskType == (int)TaskTypeEnum.Q3RK||x.TaskType==(int)TaskTypeEnum.Q3CK || x.TaskType == (int)TaskTypeEnum.F01);
-                    foreach (var item in reslut2)
+                    var content = _taskService.SendHIKROBOTTask(item);
+                    if (content.Status)
                     {
-                        var content = _taskService.SendHIKROBOTTask(item);
-                    }   
-                    reslut.ForEach(x =>
-                    {
-                        x.TaskState =(int)TaskStatusEnum.Execut;
-                    });
-
+                        item.TaskState = (int)TaskStatusEnum.Execut;
+                        Uptasks.Add(item);
+                    }
                 }
-                _taskService.UpdateData(reslut);
-               
+                _taskService.UpdateData(Uptasks);
+
             }
             catch (Exception ex)
             {
@@ -314,14 +267,13 @@
 
             // 鍦板潃鏍煎紡绀轰緥 锛欰A 瀵瑰簲 0339050AA0309145
             // keys 鏄� AA銆丅B銆丆C銆丏D銆丒E銆丗F锛寁ule鏄搴旂殑鐐逛綅淇℃伅
-            foreach (var floorCode in FloorMapping.FloorMap.Keys) 
+            foreach (var floorCode in FloorMapping.FloorMap.Keys)
             {
-                if (address.Contains(floorCode)) 
+                if (address.Contains(floorCode))
                 {
                     return floorCode;//杩斿洖鐨勫氨鏄疉A銆丅B銆丆C銆丏D銆丒E銆丗F涓殑涓�涓紝浠h〃瀵瑰簲鐨勬ゼ灞�
                 }
             }
-
             return null;
         }
 

--
Gitblit v1.9.3