From f02d3a8ffc05a10a64859b2a16d5d43c8abb0fb9 Mon Sep 17 00:00:00 2001
From: xiaojiao <xiaojiao@kaokeziliao.com>
Date: 星期一, 23 三月 2026 11:13:36 +0800
Subject: [PATCH] 北京回长沙的最终版

---
 项目代码/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundAreaDispathAction.cs |   47 ++++++++++++++++++++++++++++++++++-------------
 1 files changed, 34 insertions(+), 13 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundAreaDispathAction.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundAreaDispathAction.cs"
index edd0f9a..28c3593 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundAreaDispathAction.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundAreaDispathAction.cs"
@@ -95,6 +95,30 @@
                     LogRecord.WriteLog(LogEnum.Errer, str.ToString());
                 }
             }
+
+            // 杩欓噷瑕佸啓涓�涓� 鏈変竴浜涙墭鐩樺凡缁忓嚭鍒板闈㈠幓浜� 浣嗙姸鎬佽繕鏄彁鍗囨満杩愯涓� 瀵艰嚧鍚庨潰鐨勫彂涓嶅嚭鍘�
+            Dt_TaskWCSinfo OutTask = taskWCSinfoRepository.Find(r =>
+            r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString()
+            && endStationNo.Contains(r.wcstask_endPoint)
+            ).FirstOrDefault();
+            if (OutTask != null)
+            {
+                double secondsPassend = (DateTime.Now - OutTask.wcstask_dispatcherTime.Value).TotalSeconds;
+                if (secondsPassend > 38) // 濡傛灉澶т簬38绉� 杩樻病鐢ㄦ彁鍗囨満瀹屾垚 灏辫鎵嬪姩
+                {
+                    string state = TaskState.TaskState_Box_Out_Line_Executing.ToString();
+                    if (OutTask.wcstask_type == TaskType.TaskType_Empty_Pallet_Outbound.ToString())
+                    {
+                        state = TaskState.TaskState_Empty_Out_Line_Executing.ToString();
+                    }
+                    OutTask.wcstask_state = state;
+                    OutTask.wcstask_dispatcherTime = DateTime.Now;
+                    taskWCSinfoRepository.Update(OutTask, true);
+                    string str = $"鍑哄簱鍖� 鍑哄簱 鎻愬崌鏈哄凡缁忓唴鐨勬墭鐩樺凡缁忓嚭鍘� 浣嗙姸鎬佽繕鏄彁鍗囨満鎵ц涓�... {DateTime.Now}锛屾墭鐩樺彿:{OutTask.wcstask_barcode},浠诲姟鍙凤細{OutTask.wcstask_taskNumber}";
+                    LogRecord.WriteLog(LogEnum.Errer, str.ToString());
+                }
+            }
+
         }
         public static void OutboundAreaDispathAction(IDt_TaskWCSinfoRepository taskWCSinfoRepository, IDt_TaskRGVinfoRepository taskRGVinfoRepository, PLCClient client)
         {
@@ -205,23 +229,20 @@
                         continue;
 
                     //鍚屼竴灞傛湁鎵ц涓殑浠诲姟涓嶆坊鍔�
-                    Dt_TaskWCSinfo executingTask = taskWCSinfoRepository.FindFirst(r => 
-                    (r.wcstask_startPoint == wcsTask.wcstask_startPoint || r.wcstask_endPoint == wcsTask.wcstask_endPoint)
-                    && (r.wcstask_state == TaskState.TaskState_RGV_Received.ToString() || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString()));
+                    //Dt_TaskWCSinfo executingTask = taskWCSinfoRepository.FindFirst(r => 
+                    //(r.wcstask_startPoint == wcsTask.wcstask_startPoint || r.wcstask_endPoint == wcsTask.wcstask_endPoint)
+                    //&& (r.wcstask_state == TaskState.TaskState_RGV_Received.ToString() || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString()));
+                    //if (null != executingTask)
+                    //    continue;
+                    // 鑲栦郊 灏嗕笂闈慨鏀规垚涓嬮潰
+                    Dt_TaskWCSinfo executingTask = taskWCSinfoRepository.FindFirst(r =>
+                    (r.wcstask_startPoint == wcsTask.wcstask_startPoint)
+                    && (r.wcstask_state == TaskState.TaskState_RGV_Received.ToString()));
                     if (null != executingTask)
                         continue;
 
                     List<Dt_TaskWCSinfo> listTarget = taskWCSinfoRepository.Find(r => r.wcstask_endPoint == wcsTask.wcstask_endPoint &&
                     r.wcstask_state != TaskState.TaskState_Assigned.ToString());
-
-                    //if (listTarget != null && listTarget.Count > 1)
-                    //{
-                    //    continue;
-                    //}
-                    //else
-                    //{
-                    //    wcsInfo = wcsTask;
-                    //}
 
                     string barcode = client.ReadValue(CLineInfoDBName.R_Line_Barcode.ToString(), wcsTask.wcstask_endPoint).ToString();
 
@@ -334,7 +355,7 @@
                                 WebResponseContent content = taskWCSinfoRepository.DbContextBeginTransaction(() =>
                                 {
                                     //涓婃姤WMS浠诲姟瀹屾垚
-                                    content = WMSApi.TellWmsTaskFinished(IsTask.wcstask_barcode);
+                                    content = WMSApi.TellWmsTaskFinished(IsTask.wcstask_barcode,IsTask.wcstask_backUp_2);
                                     if (content.Status)
                                     {
                                         //绉诲姩浠诲姟鍒板巻鍙茶〃

--
Gitblit v1.9.3