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 |   35 ++++++++++++++++++++++++-----------
 1 files changed, 24 insertions(+), 11 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 4d9bc32..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,7 +20,7 @@
     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.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();
@@ -44,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() 
+                    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() || 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();
+                    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());
@@ -71,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;
@@ -86,7 +99,7 @@
                 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())
@@ -110,7 +123,7 @@
                                 state = TaskState.TaskState_Empty_Out_Line_Executing.ToString();
                             }
 
-                            
+
                             if (wcsInfoPLC.wcstask_state == state)
                                 return true;
                             wcsInfoPLC.wcstask_state = state;
@@ -119,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