From b532ba8806996246ab7a0896bf34b884c47dee7e Mon Sep 17 00:00:00 2001
From: xiaojiao <xiaojiao@kaokeziliao.com>
Date: 星期二, 14 四月 2026 14:06:25 +0800
Subject: [PATCH] 试生产版本
---
项目代码/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundAreaDispathAction.cs | 61 +++++++++++++++++++-----------
1 files changed, 39 insertions(+), 22 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..8069b38 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"
@@ -1,5 +1,6 @@
锘縰sing HslCommunication;
using Newtonsoft.Json;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -95,6 +96,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 +230,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();
@@ -303,7 +325,6 @@
return BarcodeLockDict[barcode].Item1;
}
}
-
public static void InboundRequestAction(IDt_TaskWCSinfoRepository taskWCSinfoRepository, IDt_TaskRGVinfoRepository taskRGVinfoRepository, PLCClient client)
{
try
@@ -313,9 +334,6 @@
if (R_Line_PLCDispatch == 1 && load)
{
string barcode = client.ReadValue(CLineInfoDBName.R_Line_Barcode.ToString(), ReInboundRequestStationNo).ToString();
-
- // 杩欓噷瑕佸姞涓�涓垽鏂紝濡傛灉鎷垮洖鏉ョ殑绌烘墭鐩樻槸800001锛屼絾鏄垜鏈変竴鏉¤繖涓墭鐩樼殑浠诲姟鏄�800001杩樻病鏈夊埌鎸囧畾鐨勫帇瑁呭彴锛屾墍浠ユ垜瑕佸畬鎴愯繖涓换鍔�
-
if (!string.IsNullOrEmpty(barcode) && !"0".Equals(barcode))
{
@@ -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)
{
//绉诲姩浠诲姟鍒板巻鍙茶〃
@@ -376,10 +395,6 @@
WebResponseContent content = WMSApi.PostInboundRequstToWMS(barcode);
if (content.Status)
{
- //WmsTaskInfo wmsTask = JsonConvert.DeserializeObject<WmsTaskInfo>(content.Data.ToString());
- //wcsInfo = CommonFunction.AddWCSEmptyInboundTask(wmsTask, taskWCSinfoRepository);
- //taskWCSinfoRepository.Add(wcsInfo, true);
- //client.WriteValue(CLineInfoDBName.W_Line_PLCDispatch.ToString(), ReInboundRequestStationNo, 2);
try
{
WmsTaskInfo wmsTask = JsonConvert.DeserializeObject<WmsTaskInfo>(content.Data.ToString());
@@ -468,6 +483,8 @@
catch (Exception ex)
{
client.WriteValue(CLineInfoDBName.W_Line_PLCDispatch.ToString(), ReInboundRequestStationNo, 3);
+ LogRecord.WriteLog(LogEnum.Errer, DateTime.Now.ToString() + ex.Message.ToString());
+
Console.Out.WriteLine(DateTime.Now + ex.Message);
}
}
--
Gitblit v1.9.3