From 43df9f774a50dcee98c9ea861b1baa646f6f3ac6 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 26 6月 2024 11:53:27 +0800
Subject: [PATCH] 2

---
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs |  120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 120 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 fb0d3df..5f6a644 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
@@ -625,21 +625,57 @@
                                     qualityData.OP30QualityFilePathCH3 = logMiddle.OP30QualityFilePathCH3;
                                     qualityData.OP30QualityStateCH3 = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3";
                                     qualityData.OP30QualityReceiveTimeCH3 = DateTimeHelper.GetDateTime();
+
+                                    if (qualityData.OP30QualityStateCH3 == ((int)QualityState.NG).ToString())
+                                    {
+                                        logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩澶�;
+                                        logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩澶�.ToString();
+                                        //璧嬪�间笉鍚堟牸鍘熷洜
+                                        SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo);
+                                    }
+
                                     break;
                                 case "OP3002CH4":
                                     qualityData.OP30QualityFilePathCH4 = logMiddle.OP30QualityFilePathCH4;
                                     qualityData.OP30QualityStateCH4 = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3";
                                     qualityData.OP30QualityReceiveTimeCH4 = DateTimeHelper.GetDateTime();
+
+                                    if (qualityData.OP30QualityStateCH4 == ((int)QualityState.NG).ToString())
+                                    {
+                                        logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╁ぇ;
+                                        logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╁ぇ.ToString();
+                                        //璧嬪�间笉鍚堟牸鍘熷洜
+                                        SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo);
+                                    }
+
                                     break;
                                 case "OP3002CH5":
                                     qualityData.OP30QualityFilePathCH5 = logMiddle.OP30QualityFilePathCH5;
                                     qualityData.OP30QualityStateCH5 = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3";
                                     qualityData.OP30QualityReceiveTimeCH5 = DateTimeHelper.GetDateTime();
+
+                                    if (qualityData.OP30QualityStateCH5 == ((int)QualityState.NG).ToString())
+                                    {
+                                        logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╁ぇ;
+                                        logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╁ぇ.ToString();
+                                        //璧嬪�间笉鍚堟牸鍘熷洜
+                                        SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo);
+                                    }
+
                                     break;
                                 case "OP3002CH6":
                                     qualityData.OP30QualityFilePathCH6 = logMiddle.OP30QualityFilePathCH6;
                                     qualityData.OP30QualityStateCH6 = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3";
                                     qualityData.OP30QualityReceiveTimeCH6 = DateTimeHelper.GetDateTime();
+
+                                    if (qualityData.OP30QualityStateCH6 == ((int)QualityState.NG).ToString())
+                                    {
+                                        logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╁ぇ;
+                                        logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╁ぇ.ToString();
+                                        //璧嬪�间笉鍚堟牸鍘熷洜
+                                        SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo);
+                                    }
+
                                     break;
                                 default:
                                     break;
@@ -2197,6 +2233,90 @@
             loginfo.WorkPieceIDTo7 = loginfo.WorkPieceID.Substring(20, 2);
             return loginfo;
         }
+
+
+        /// <summary>
+        /// 璁$畻OP 璐ㄩ噺鏁版嵁鏄惁鍚堟牸
+        /// </summary>
+        public static QualityState CalcQualityStateForOP(WorkPieceLogMiddle logMiddle, ref QualityNoOkEnum? qualityNoOkEnum)
+        {
+            QualityState qualityState = QualityState.Suspected;
+            if (logMiddle.WorkingProcedure == "OP60")
+            {
+                decimal _QualityOP60To1 = SystemHelper.GetDecimal(logMiddle.QualityOP60To1);
+                decimal _QualityOP60To2 = SystemHelper.GetDecimal(logMiddle.QualityOP60To2);
+                var isPass_QualityOP60To1 = false;
+                var isPass_QualityOP60To2 = false;
+
+
+                if (_QualityOP60To1 >= (decimal)53.018 && _QualityOP60To1 <= (decimal)53.030)
+                {
+                    isPass_QualityOP60To1 = true;
+                }
+                else
+                {
+                    qualityNoOkEnum = QualityNoOkEnum.OP60澶уご瀛旂洿寰勮秴宸�;
+                }
+                if (_QualityOP60To2 >= (decimal)22.005 && _QualityOP60To2 <= (decimal)22.011)
+                {
+                    isPass_QualityOP60To2 = true;
+                }
+                else
+                {
+                    qualityNoOkEnum = QualityNoOkEnum.OP60灏忓ご瀛旂洿寰勮秴宸�;
+                }
+
+                if (isPass_QualityOP60To1 && isPass_QualityOP60To2)
+                {
+                    qualityState = QualityState.OK;
+                }
+                else
+                {
+                    qualityState = QualityState.NG;
+                }
+                if (_QualityOP60To1 == 0 || _QualityOP60To2 == 0)
+                {
+                    qualityState = QualityState.Suspected;
+                    return qualityState;
+                }
+                return qualityState;
+            }
+            else if (logMiddle.WorkingProcedure == "OP10")
+            {
+                if (logMiddle.QualityState != (int)QualityState.OK)
+                {
+                    qualityNoOkEnum = QualityNoOkEnum.OP10鍘氬害瓒呭樊;
+                }
+                return qualityState;
+            }
+            else if (logMiddle.WorkingProcedure == "OP20")
+            {
+                if (logMiddle.QualityState != (int)QualityState.OK)
+                {
+                    qualityNoOkEnum = QualityNoOkEnum.OP20灏忓ご瀛旂洿寰勮秴宸�;
+                }
+                return qualityState;
+            }
+            else if (logMiddle.WorkingProcedure == "OP35")
+            {
+                if (logMiddle.QualityState != (int)QualityState.OK)
+                {
+                    qualityNoOkEnum = QualityNoOkEnum.OP35婊氬帇鍔涗笉鍚堟牸;
+                }
+                return qualityState;
+            }
+            else if (logMiddle.WorkingProcedure == "OP40")
+            {
+                if (logMiddle.QualityState != (int)QualityState.OK)
+                {
+                    qualityNoOkEnum = QualityNoOkEnum.OP40鍘氬害瓒呭樊;
+                }
+                return qualityState;
+            }
+            return qualityState;
+        }
+
+
         #endregion
     }
 }

--
Gitblit v1.9.3