From b8198b21e00eb2de03c513d89938f1b256edf72d Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 05 7月 2024 17:07:11 +0800
Subject: [PATCH] 2

---
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
index d277c64..bd08eea 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
@@ -2168,15 +2168,49 @@
 
         public static void SetQualityNoOk_WorkPieceInfo(WorkPieceLogMiddle logMiddle, ref WorkPieceInfo pieceInfo)
         {
+            if (!IsWirteQualityNoOk(logMiddle, pieceInfo.QualityNoOk)) return;
+
             pieceInfo.QualityNoOk = logMiddle.QualityNoOk;
             pieceInfo.QualityNoOkReason = logMiddle.QualityNoOkReason;
         }
         public static void SetQualityNoOk_WorkPieceProcess(WorkPieceLogMiddle logMiddle, ref WorkPieceProcess pieceProcess)
         {
+            if (!IsWirteQualityNoOk(logMiddle, pieceProcess.QualityNoOk)) return;
+
             pieceProcess.QualityNoOk = logMiddle.QualityNoOk;
             pieceProcess.QualityNoOkReason = logMiddle.QualityNoOkReason;
         }
 
+        /// <summary>
+        /// 鏄惁闇�瑕侀噸鍐� NOOK鍘熷洜
+        /// </summary>
+        /// <param name="logMiddle"></param>
+        /// <param name="pieceInfo"></param>
+        /// <returns></returns>
+        public static bool IsWirteQualityNoOk(WorkPieceLogMiddle logMiddle, int? qualityNoOk)
+        {
+            if (logMiddle.WorkingProcedure == (WorkingProcedureForHMI.OP30).ToString())
+            {
+                //鐗规畩閫昏緫锛氭寜鐓P30鐨勯『搴忓垽鏂�
+                if (logMiddle.QualityNoOk != null && qualityNoOk != null
+                    && (
+                      qualityNoOk == (int)QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╁ぇ
+                      || qualityNoOk == (int)QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩澶�
+                      || qualityNoOk == (int)QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╁ぇ
+                      || qualityNoOk == (int)QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╁ぇ
+                    )
+                    )
+                {
+                    if ((int)logMiddle.QualityNoOk > (int)qualityNoOk)
+                    {//涓嶉渶瑕侀噸鏂拌祴鍊�
+                        return false;
+                    }
+                }
+            }
+
+            return true;
+        }
+
 
         /// <summary>
         /// 鍒ゆ柇鏄惁璺冲簭

--
Gitblit v1.9.3