From 2b05362eba2f989b7857349cc9a3a1c12f8181b6 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 26 9月 2025 11:35:50 +0800
Subject: [PATCH] 222

---
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/QualityStateHelper.cs |   74 +++++++++++++++++++++++++++++++++++--
 1 files changed, 70 insertions(+), 4 deletions(-)

diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/QualityStateHelper.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/QualityStateHelper.cs
index 5b55b9c..1e6d66c 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/QualityStateHelper.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/QualityStateHelper.cs
@@ -14,6 +14,71 @@
     /// </summary>
     public class QualityStateHelper
     {
+
+        /// <summary>
+        /// 閲嶇疆涓嶅悎鏍煎師鍥狅紝褰撴柊寤哄伐搴忔椂
+        /// </summary>
+        /// <param name="new_process"></param>
+        public static void ResetQualityNoOkForNewProcess(ref WorkPieceProcess new_process)
+        {
+            new_process.QualityNoOk = null;
+            new_process.QualityNoOkReason = "";
+        }
+
+        /// <summary>
+        /// OP80涓撻棬鑾峰彇鏌愪簺鐐逛綅锛岄厤缃川閲忕姸鎬�
+        /// </summary>
+        /// <param name="logMiddle"></param>
+        /// <param name="info"></param>
+        /// <param name="pro"></param>
+        public static void SetQualityStateForOP80(WorkPieceLogMiddle logMiddle, ref WorkPieceInfo info, ref WorkPieceProcess pro)
+        {
+            QualityStateEnum setQualityState = QualityStateEnum.OK;
+            QualityNoOkEnum? qualityNoOkEnum = null;
+
+
+            if (logMiddle.St3_Means_OK == false)
+            {
+                qualityNoOkEnum = QualityNoOkEnum.OP80娴嬮噺涓嶅悎鏍�;
+                setQualityState = QualityStateEnum.NG;
+            }
+            else if (logMiddle.St4_Weight_OK == false)
+            {
+                qualityNoOkEnum = QualityNoOkEnum.OP80绉伴噸涓嶅悎鏍�;
+                setQualityState = QualityStateEnum.NG;
+            }
+            //鍘绘帀杩欎釜楠岃瘉,涓轰簡璁╂満搴婅鏁板拰鏁版嵁閲囬泦璁℃暟鐩稿悓  銆怑dityby shaocx,2024-09-04銆�
+            /*
+            if (logMiddle.St5_Mark_OK == false)
+            {
+                qualityNoOkEnum = QualityNoOkEnum.OP80鎵撴爣涓嶅悎鏍�;
+                setQualityState = QualityState.NG;
+            }
+            else if (logMiddle.ST6_Camera_OK == false)
+            {
+                qualityNoOkEnum = QualityNoOkEnum.OP80鎵撴爣璇嗗埆涓嶅悎鏍�;
+                setQualityState = QualityState.NG;
+            }
+            //*/
+
+            info.QualityState = (int)setQualityState;
+            if (qualityNoOkEnum != null)
+            {
+                info.QualityNoOk = (int)qualityNoOkEnum;
+                info.QualityNoOkReason = qualityNoOkEnum.ToString();
+            }
+
+
+            pro.QualityState = (int)setQualityState;
+            if (qualityNoOkEnum != null)
+            {
+                pro.QualityNoOk = (int)qualityNoOkEnum;
+                pro.QualityNoOkReason = qualityNoOkEnum.ToString();
+            }
+
+
+        }
+
         /// <summary>
         /// NOOK鎺ㄥ嚭鏃讹紝鏇存柊璐ㄩ噺鐘舵�� 銆怑ditby shaocx,2024-08-23銆�
         /// </summary>
@@ -23,8 +88,9 @@
         {
             try
             {
+                QualityStateEnum setQualityState = QualityStateEnum.NG;
                 QualityNoOkEnum? qualityNoOkEnum = null;
-                info.QualityState = (int)QualityState.NG;
+                info.QualityState = (int)setQualityState;
 
                 if (info.QualityNoOk == null)
                 {
@@ -38,7 +104,7 @@
 
                 if (pro != null)
                 {
-                    pro.QualityState = (int)QualityState.NG;
+                    pro.QualityState = (int)setQualityState;
 
                     if (qualityNoOkEnum != null)
                     {
@@ -49,7 +115,7 @@
 
                 if (qualityData != null)
                 {
-                    qualityData.QualityState = (int)QualityState.NG;
+                    qualityData.QualityState = (int)setQualityState;
                 }
             }
             catch (Exception ex)
@@ -89,7 +155,7 @@
             }
             else if (logMiddle.WorkingProcedureCurrent == "OP35")
             {
-                qualityNoOkEnum = QualityNoOkEnum.OP35婊氬帇鍔涗笉鍚堟牸;
+                qualityNoOkEnum = QualityNoOkEnum.OP35婊氬帇鍔涜秴宸�;
                 return;
             }
             else if (logMiddle.WorkingProcedureCurrent == "OP40")

--
Gitblit v1.9.3