From c5f01e9a882b16f534166d033312c5c8ba8d94dd Mon Sep 17 00:00:00 2001
From: xiaojiao <xiaojiao@kaokeziliao.com>
Date: 星期六, 24 一月 2026 14:35:21 +0800
Subject: [PATCH] 离开北京前最后的版本,包含打印机程序
---
项目代码/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundRequestAction.cs | 59 ++++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 38 insertions(+), 21 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundRequestAction.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundRequestAction.cs"
index 2ad7646..4aea510 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundRequestAction.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundRequestAction.cs"
@@ -20,24 +20,18 @@
public partial class OutboundAreaDispatch
{
- public static void OutboundCZ_PLC(IDt_TaskWCSinfoRepository taskWCSinfoRepository,IDt_TaskRGVinfoRepository taskRGVinfoRepository, PLCClient client)
+ public static void OutboundCZ_PLC(IDt_TaskWCSinfoRepository taskWCSinfoRepository, IDt_TaskRGVinfoRepository taskRGVinfoRepository, PLCClient client)
{
- //杞﹁酱鍦ㄥ嚭搴撳彛涓嬪彂杈撻�佺嚎浠诲姟
- Dt_TaskWCSinfo hisTask = taskWCSinfoRepository.FindFirst(r => (r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString() || r.wcstask_state == TaskState.TaskState_Empty_Out_RGV_Finished.ToString() || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString())
- && (OutboundStationLayerNo.Contains(r.wcstask_startPoint)));
+ Dt_TaskWCSinfo hisTask = taskWCSinfoRepository.Find(r => r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString() || r.wcstask_state == TaskState.TaskState_Empty_Out_RGV_Finished.ToString() || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString())
+ .Where(r => OutboundStationLayerNo.Contains(r.wcstask_startPoint) && (r.wcstask_type.Equals(TaskType.TaskType_Box_Pallet_Outbound.ToString()) || r.wcstask_type.Equals(TaskType.TaskType_Empty_Pallet_Outbound.ToString()))).OrderBy(x => x.wcstask_dispatcherTime).FirstOrDefault();
if (null != hisTask)
{
- if (hisTask.wcstask_type.Equals(TaskType.TaskType_Box_Pallet_Outbound.ToString()) || hisTask.wcstask_type.Equals(TaskType.TaskType_Empty_Pallet_Outbound.ToString()))
- {
- OutboundRequestAction(taskWCSinfoRepository, client);
- }
-
-
+ OutboundRequestAction(taskWCSinfoRepository, client);
}
}
/// <summary>
- /// 鍑哄簱鍖虹┖鎵樼洏鍑哄簱
+ /// 鍑哄簱鍖虹┖鎵樼洏/瀹炴墭鍑哄簱
/// </summary>
/// <param name="taskWCSinfoRepository"></param>
/// <param name="client"></param>
@@ -50,16 +44,29 @@
//鏌ヨ鍑哄簱寰呬换鍔�
Dt_TaskWCSinfo wcsInfo = null;
if (!string.IsNullOrEmpty(rfidResult) && !"0".Equals(rfidResult))
- wcsInfo = taskWCSinfoRepository.FindFirst(r => r.wcstask_barcode == rfidResult && (r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString()
- || r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString()));
+ wcsInfo = taskWCSinfoRepository.FindFirst(r => r.wcstask_barcode == rfidResult && (r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString()
+ || r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString() || r.wcstask_state == TaskState.TaskState_Empty_Out_RGV_Finished.ToString()));
//wcsInfo = taskWCSinfoRepository.FindFirst(r => r.wcstask_barcode == rfidResult && r.wcstask_state == TaskState.TaskState_Assigned.ToString());
else
{
- wcsInfo = taskWCSinfoRepository.Find(r => r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString()
- && OutboundStationLayerNo.Contains(r.wcstask_startPoint)).OrderBy(r => r.wcstask_createTime).FirstOrDefault();
+ wcsInfo = taskWCSinfoRepository.Find(r =>
+ (r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString()
+ || r.wcstask_state == TaskState.TaskState_Empty_Out_RGV_Finished.ToString()
+ || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString())
+ && OutboundStationLayerNo.Contains(r.wcstask_startPoint)).OrderBy(r => r.wcstask_createTime).FirstOrDefault();
}
if (null == wcsInfo)
return false;
+
+ // 杩欓噷鍔犱竴涓垽鏂�90201 鍒ゆ柇鎵樼洏鏄惁涓�0锛屽垽鏂槸鍚︾┖杞�
+
+ int Barcode = int.Parse(client.ReadValue(CLineInfoDBName.R_Line_Barcode.ToString(), 90201.ToString()).ToString());
+ bool LoadSleep = bool.Parse(client.ReadValue(CLineInfoDBName.R_Line_LoadSleep.ToString(), 90201.ToString()).ToString());
+ if (Barcode != 0 || LoadSleep)
+ {
+ return false;
+ }
+ // 杩欓噷瑕佸姞涓�涓垽鏂� 鎴戝厛鍘�70101鐨� 鑲畾瑕佸厛鍑哄幓锛屽摢鎬曡繖涓厛鐢熸垚鐨勪换鍔″彈鎹㈠眰鐨勫奖鍝�
//璇诲彇閫昏緫鎺у埗鍊� 鏌ョ湅绾夸綋鐘舵�侊紝鍑嗗缁欑嚎浣撲笅鍙戜换鍔′俊鎭�
int logicValue = int.Parse(client.ReadValue(CLineInfoDBName.R_Line_Logic.ToString(), lineCode).ToString());
@@ -77,9 +84,9 @@
else if (logicValue == 3)
{
//鍚姩浠诲姟
- bool plclogicbool=client.WriteValue(CLineInfoDBName.W_Line_Logic.ToString(), lineCode, 1);
- if(plclogicbool)
- {
+ bool plclogicbool = client.WriteValue(CLineInfoDBName.W_Line_Logic.ToString(), lineCode, 1);
+ if (plclogicbool)
+ {
string state = TaskState.TaskState_HoisterExecuting.ToString();
if (wcsInfo.wcstask_state == state)
return true;
@@ -92,9 +99,13 @@
else if (logicValue == 4 || logicValue == 5)
{
string taskplc_Result = client.ReadValue(CLineInfoDBName.W_Line_Barcode.ToString(), lineCode).ToString();
- if(taskplc_Result== wcsInfo.wcstask_barcode)
+ if (taskplc_Result == wcsInfo.wcstask_barcode)
{
string state = TaskState.TaskState_Box_Out_Line_Executing.ToString();
+ if (wcsInfo.wcstask_type == TaskType.TaskType_Empty_Pallet_Outbound.ToString())
+ {
+ state = TaskState.TaskState_Empty_Out_Line_Executing.ToString();
+ }
if (wcsInfo.wcstask_state == state)
return true;
wcsInfo.wcstask_state = state;
@@ -107,6 +118,12 @@
if (wcsInfoPLC != null)
{
string state = TaskState.TaskState_Box_Out_Line_Executing.ToString();
+ if (wcsInfoPLC.wcstask_type == TaskType.TaskType_Empty_Pallet_Outbound.ToString())
+ {
+ state = TaskState.TaskState_Empty_Out_Line_Executing.ToString();
+ }
+
+
if (wcsInfoPLC.wcstask_state == state)
return true;
wcsInfoPLC.wcstask_state = state;
@@ -115,12 +132,12 @@
}
}
-
+
}
}
catch (Exception ex)
{
- WriteLog.Info(lineCode).Write($"{ DateTime.Now }鍑哄簱绔欏彴璋冨害澶辫触:{ex.Message}", lineCode);
+ WriteLog.Info(lineCode).Write($"{DateTime.Now}鍑哄簱绔欏彴璋冨害澶辫触:{ex.Message}", lineCode);
}
return true;
}
--
Gitblit v1.9.3