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 | 53 ++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 36 insertions(+), 17 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 97d65eb..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();
@@ -314,9 +335,6 @@
{
string barcode = client.ReadValue(CLineInfoDBName.R_Line_Barcode.ToString(), ReInboundRequestStationNo).ToString();
- // 杩欓噷瑕佸姞涓�涓垽鏂紝濡傛灉鎷垮洖鏉ョ殑绌烘墭鐩樻槸800001锛屼絾鏄垜鏈変竴鏉¤繖涓墭鐩樼殑浠诲姟鏄�800001杩樻病鏈夊埌鎸囧畾鐨勫帇瑁呭彴锛屾墍浠ユ垜瑕佸畬鎴愯繖涓换鍔�
-
-
if (!string.IsNullOrEmpty(barcode) && !"0".Equals(barcode))
{
if (int.Parse(barcode) < 800000 || int.Parse(barcode) > 890000)
@@ -332,11 +350,12 @@
&& (endStationNo.Contains(x.wcstask_endPoint)));
if (IsTask != null)
{
- //鍦ㄦ瀹屾垚璇ョ┖鎵樺嚭搴撲换鍔�
+ // 杩欓噷瑕佸姞涓�涓垽鏂紝濡傛灉鎷垮洖鏉ョ殑绌烘墭鐩樻槸800001锛屼絾鏄垜鏈変竴鏉¤繖涓墭鐩樼殑浠诲姟鏄�800001杩樻病鏈夊埌鎸囧畾鐨勫帇瑁呭彴锛屾墍浠ユ垜瑕佸畬鎴愯繖涓换鍔�
+ // 鍦ㄦ瀹屾垚璇ョ┖鎵樺嚭搴撲换鍔�
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