From b834b2c0977af30a5040c9b8416d930608fc845d Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期五, 06 三月 2026 16:27:58 +0800
Subject: [PATCH] 优化四向车接口

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs |   52 +++++++++++++++++++++-------------------------------
 1 files changed, 21 insertions(+), 31 deletions(-)

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 e89ac29..86e82b2 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,6 +11,7 @@
 using System.Reflection;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEAWCS_Common;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Communicator;
 using WIDESEAWCS_Core.Helper;
@@ -21,6 +22,7 @@
 using WIDESEAWCS_QuartzJob.DeviceBase;
 using WIDESEAWCS_QuartzJob.DTO;
 using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
+using WIDESEAWCS_TaskInfoService;
 
 namespace WIDESEAWCS_Tasks
 {
@@ -48,25 +50,14 @@
                 // _taskService.Repository 浠撳偍灞傦紝杩涜鏁版嵁搴撹闂�-
                 try
                 {
+                    List<Dt_Task> Uptasks = new List<Dt_Task>();
                     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)
+                        if (device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspection, task.SourceAddress))
                         {
-                            //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);
-                            }
+                            device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, false, task.SourceAddress);
                             //鍐嶈鍙栬川妫�缁撴灉
                             var qualityResult = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspectionInProgress, task.SourceAddress);
                             //宸﹁秴瀹借鍛�
@@ -75,35 +66,34 @@
                             var R_RightWideWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_RightWideWarning, task.SourceAddress);
                             //瓒呴珮璀﹀憡
                             var R_ExtremeWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_ExtremeWarning, task.SourceAddress);
+                            //鍐欏叆鍋滄璐ㄦ淇″彿
+                            device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, true, task.SourceAddress);
                             if (qualityResult)
                             {
                                 //濡傛灉璐ㄦ閫氳繃浜嗭紝灏辨妸浠诲姟鐘舵�佹敼涓鸿川妫�瀹屾垚
                                 task.TaskState = TaskStatusEnum.CheckShapeingOk.ObjToInt();
+                                Uptasks.Add(task);
                             }
-                            else if (R_LeftOverWidthWarning)
+                            else
                             {
-                                task.ExceptionMessage += "璐ㄦ澶辫触锛屽乏瓒呭";
                                 task.TaskState = TaskStatusEnum.CheckShapeingNG.ObjToInt();
-                            }
-                            else if (R_RightWideWarning)
-                            {
-                                task.ExceptionMessage += "璐ㄦ澶辫触锛屽彸瓒呭";
-                            }
-                            else if (R_ExtremeWarning)
-                            {
-                                task.ExceptionMessage += "璐ㄦ澶辫触,瓒呴珮";
-                            }
-                            else if (qualityResult == false) //濡傛灉璐ㄦ澶辫触锛屽氨澶嶄綅
-                            {
+                                task.ExceptionMessage = "璐ㄦ澶辫触";
+                                if (R_LeftOverWidthWarning) task.ExceptionMessage += ",宸﹁秴瀹�";
+                                if (R_RightWideWarning) task.ExceptionMessage += ",鍙宠秴瀹�";
+                                if (R_ExtremeWarning) task.ExceptionMessage += ",瓒呴珮";
+                                Uptasks.Add(task);
                                 //鍐欏叆澶嶄綅淇″彿
                                 device.SetValue(QualityInspectionCommandEnum.FaultReset, true, task.SourceAddress);
                             }
-                            //鍐欏叆鍋滄璐ㄦ淇″彿
-                            device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, true, task.SourceAddress);
                         }
-
+                        else
+                        {
+                            //鍐欏叆鍋滄璐ㄦ淇″彿
+                            device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, false, task.SourceAddress);
+                            device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, true, task.SourceAddress);
+                        }
                     }
-
+                    _taskService.UpdateData(Uptasks);
                     WriteInfo(device.DeviceName, "infoLog");
 
                     WriteDebug(device.DeviceName, "debugLog");

--
Gitblit v1.9.3