From 2b5708d9da762cc01d6dc7cca79b3bce86db7355 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期三, 04 三月 2026 16:56:18 +0800
Subject: [PATCH] 编写四向车job

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs               |   71 ++++++++++++++++++++++-
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs |    2 
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/RgvCommand.cs       |   70 +++++++++++++++++++++++
 3 files changed, 137 insertions(+), 6 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs"
index c2cec70..b5f2ecc 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs"
@@ -61,7 +61,7 @@
                 {
 
                 }
-                else
+                else //鍥涘悜杞�
                 {
 
                 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/RgvCommand.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/RgvCommand.cs"
new file mode 100644
index 0000000..3458fcb
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/RgvCommand.cs"
@@ -0,0 +1,70 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_QuartzJob.DeviceBase;
+
+namespace WIDESEAWCS_Tasks
+{
+
+    public enum QualityInspectionCommandEnum
+    {
+        /// <summary>
+        /// 鍚姩璐ㄦ
+        /// </summary>
+        StartqualityInspection,
+        /// <summary>
+        /// 鍋滄璐ㄦ
+        /// </summary>
+        StopqualityInspection,
+        /// <summary>
+        /// 鏁呴殰澶嶄綅
+        /// </summary>
+        FaultReset,
+
+
+        /// <summary>
+        /// 澶囩敤
+        /// </summary>
+         Spare,
+
+        /// <summary>
+        /// 璐ㄦ鎵ц涓�
+        /// </summary>
+         R_QualityInspection ,
+
+        /// <summary>
+        /// 宸﹁秴瀹借鍛�
+        /// </summary>
+         R_LeftOverWidthWarning,
+
+        /// <summary>
+        /// 鍙宠秴瀹借鍛�
+        /// </summary>
+         R_RightWideWarning,
+
+
+        /// <summary>
+        /// 瓒呴珮璀﹀憡
+        /// </summary>
+        R_ExtremeWarning,
+
+        /// <summary>
+        /// 璐ㄦ閫氳繃
+        /// </summary>
+        R_QualityInspectionInProgress,
+
+        /// <summary>
+        /// 鏈夎揣  
+        /// </summary>
+         R_StockAvailableSymbol,
+
+        /// <summary>
+        /// 澶囩敤
+        /// </summary>
+        R_Spare,
+
+    }
+
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs"
index a5cfe94..8407636 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs"
@@ -11,11 +11,15 @@
 using System.Reflection;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Communicator;
 using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_IBasicInfoService;
 using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
 using WIDESEAWCS_QuartzJob.DeviceBase;
+using WIDESEAWCS_QuartzJob.DTO;
 using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
 
 namespace WIDESEAWCS_Tasks
@@ -24,9 +28,11 @@
     public class TestJob : JobBase, IJob
     {
         private readonly ITaskService _taskService;
-        public TestJob(ITaskService taskService) 
+        private readonly IStationMangerService _stationMangerService;
+        public TestJob(ITaskService taskService, IStationMangerService stationMangerService)
         {
             _taskService = taskService;//娉ㄥ叆
+            _stationMangerService = stationMangerService;
         }
 
         public Task Execute(IJobExecutionContext context)
@@ -36,12 +42,67 @@
             if (flag && value != null)
             {
                 OtherDevice device = (OtherDevice)value;
+                //Example
+                //device.GetValue  璇诲彇
+                //device.SetValue  鍐欏叆
+                // _taskService.Repository 浠撳偍灞傦紝杩涜鏁版嵁搴撹闂�-
                 try
                 {
-                    //Example
-                    //device.GetValue  璇诲彇
-                    //device.SetValue  鍐欏叆
-                    // _taskService.Repository 浠撳偍灞傦紝杩涜鏁版嵁搴撹闂�
+                    var taskList = _taskService.Repository.QueryData(x => x.TaskType == TaskTypeEnum.CPInbound.ObjToInt() && x.TaskState == TaskStatusEnum.CheckShapeing.ObjToInt());
+                    //浠诲姟鐨勭洰鏍囧湴鍧�瀵逛簬绔欏彴鍙凤紱
+                    foreach (var task in taskList)
+                    {
+                        ////鎵惧埌瀵逛簬绔欏彴鐨勭鐞嗕俊鎭紝鐪嬬湅杩欎釜绔欏彴鏈夋病鏈夎揣锛屽鏋滄湁璐х殑璇濓紝灏辫繘琛岃川妫�锛屽鏋滄病鏈夎揣鐨勮瘽锛屽氨涓嶈繘琛岃川妫�
+                        //var  stationMangers = _stationMangerService.Repository.QueryFirst(x => x.StationCode == task.SourceAddress);
+                        //device.SetValue(QualityInspectionCommandEnum.StartqualityInspection,true,task.SourceAddress);
+                        //濡傛灉鏈夎揣鐨勮瘽锛屾墠杩涜璐ㄦ锛屾妸绔欏彴鐘舵�佽涓哄崰鐢�
+                        var R_StockAvailableSymbol = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_StockAvailableSymbol, task.SourceAddress);
+                        if (R_StockAvailableSymbol==true)
+                        {
+                            //stationMangers.IsOccupied=1;//鏀逛负鍗犵敤
+                            //寮�鍚川妫�
+                            device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, true, task.SourceAddress);
+                            //濡傛灉璇诲埌璐ㄦ鎵ц涓负true鐨勮瘽锛屽氨鍏抽棴璐ㄦ
+                            if (device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspection, task.SourceAddress))
+                            {
+                                device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, false, task.SourceAddress);
+                            }
+                            //鍐嶈鍙栬川妫�缁撴灉
+                            var qualityResult = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspectionInProgress, task.SourceAddress);
+                            //宸﹁秴瀹借鍛�
+                           var R_LeftOverWidthWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_LeftOverWidthWarning, task.SourceAddress);
+                            //鍙宠秴瀹借鍛�
+                            var R_RightWideWarning=device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_RightWideWarning, task.SourceAddress);
+                            //瓒呴珮璀﹀憡
+                            var R_ExtremeWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_ExtremeWarning, task.SourceAddress);
+                            if (qualityResult)
+                            {
+                                //濡傛灉璐ㄦ閫氳繃浜嗭紝灏辨妸浠诲姟鐘舵�佹敼涓鸿川妫�瀹屾垚
+                                task.TaskState = TaskStatusEnum.CheckShapeingOk.ObjToInt();
+                            }
+                            else if(R_LeftOverWidthWarning)
+                            {
+                                task.ExceptionMessage= "璐ㄦ澶辫触锛屽乏瓒呭";
+                                task.TaskState = TaskStatusEnum.CheckShapeingNG.ObjToInt();
+                            }
+                            else if (R_RightWideWarning)
+                            {
+                                task.ExceptionMessage = "璐ㄦ澶辫触锛屽彸瓒呭";
+                            }
+                            else if (R_ExtremeWarning)
+                            {
+                                task.ExceptionMessage = "璐ㄦ澶辫触,瓒呴珮";
+                            }
+                            else if (qualityResult==false) //濡傛灉璐ㄦ澶辫触锛屽氨澶嶄綅
+                            {
+                                //鍐欏叆澶嶄綅淇″彿
+                                device.SetValue(QualityInspectionCommandEnum.FaultReset, true, task.SourceAddress);
+                            }
+                            //鍐欏叆鍋滄璐ㄦ淇″彿
+                            device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, true, task.SourceAddress);
+                        }
+
+                    }
 
                     WriteInfo(device.DeviceName, "infoLog");
 

--
Gitblit v1.9.3