From bfe84060137f41899d256c2a704228414b2b5219 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周三, 28 8月 2024 08:28:32 +0800 Subject: [PATCH] 2 --- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/Enums.cs | 4 ++ DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs | 46 ++++++++++++++-------- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs | 3 + DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/QualityStateHelper.cs | 39 +++++++++++++++++++ 4 files changed, 75 insertions(+), 17 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 ec6d983..cb9e60a 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs @@ -1250,6 +1250,7 @@ info.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); //*/ + var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == logMiddle.WorkPieceID).FirstOrDefault(); if (qualityData == null || qualityData.WorkPieceID.Length < 1 || qualityData.WorkingProcedure.Length < 1) {//鎻掑叆QualityDataInfo琛� @@ -1335,6 +1336,8 @@ process.EndTime = DateTimeHelper.GetDateTime(); if (logMiddle.WorkingProcedure.Equals("OP80")) {//OP80鐨勮川閲忔暟鎹槸鍚庢潵鑾峰彇鏂囦欢鎼炵殑 + //璐ㄦ鏁版嵁锛屽啀鑰冭檻 鍙﹀涓ょ鐘舵�� 銆怑ditby shaocx,2024-08-27銆� + QualityStateHelper.SetQualityStateForOP80(logMiddle, ref info, ref process); } else { diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs index 1a242ae..aa3780d 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs @@ -154,7 +154,8 @@ } } - private void Do_One(bool isAdd_WorkPieceInfo, bool isAdd_WorkPieceProcess, bool isAdd_QualityDataInfo, List<FileInfo> allFiles, DbModel db, WorkPieceInfo info, WorkPieceProcess pieceProcess, QualityDataInfo qualityData, + private void Do_One(bool isAdd_WorkPieceInfo, bool isAdd_WorkPieceProcess, bool isAdd_QualityDataInfo, List<FileInfo> allFiles, DbModel db, WorkPieceInfo info, + WorkPieceProcess pieceProcess, QualityDataInfo qualityData, List<FileInfo> findFiles) { try @@ -326,19 +327,28 @@ //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� info.OP80NewCode = logMiddle.OP80NewCode;//鏇存柊鎴愬搧鍚� - info.QualityState = (int)((logMiddle.QualityStateStr.Equals("OK") || logMiddle.QualityStateStr.Equals("0K")) ? QualityState.OK : QualityState.NG); - logMiddle.QualityState = info.QualityState; - //鏍规嵁璐ㄩ噺鏁版嵁鍒ゆ柇鏄惁鍚堟牸/涓嶅悎鏍� 銆怑ditby shaocx,2024-06-25銆� - WorkPieceInfoManager.SetLogMiddleForQuality(ref logMiddle); + //濡傛灉OP80涓嬬嚎锛屽凡缁忔洿鏀逛簡璐ㄦ鐘舵�侊紝骞朵笖璐ㄦ鐘舵�佺瓑浜庝笉鍚堟牸锛屽垯杩欓噷灏变笉瑕佺户缁洿鏀硅川妫�鐘舵�佷簡 銆怑ditby shaocx,2024-08-28銆� + bool isNeedUpdateQualityState = true; + var ooDateTime = Convert.ToDateTime("0001-01-01"); + if (pieceProcess.EndTime != ooDateTime && pieceProcess.QualityState == (int)QualityState.NG) + { + isNeedUpdateQualityState = false; + } + if (isNeedUpdateQualityState) + { + info.QualityState = (int)((logMiddle.QualityStateStr.Equals("OK") || logMiddle.QualityStateStr.Equals("0K")) ? QualityState.OK : QualityState.NG); + logMiddle.QualityState = info.QualityState; + //鏍规嵁璐ㄩ噺鏁版嵁鍒ゆ柇鏄惁鍚堟牸/涓嶅悎鏍� 銆怑ditby shaocx,2024-06-25銆� + WorkPieceInfoManager.SetLogMiddleForQuality(ref logMiddle); - //璧嬪�间笉鍚堟牸鍘熷洜 - //TODO:闇�瑕侀厤缃甇P80璐ㄩ噺涓嶅悎鏍肩殑鍘熷洜鏄暐锛燂紵 - WorkPieceInfoManager.SetQualityNoOk_WorkPieceInfo(logMiddle, ref info); + //璧嬪�间笉鍚堟牸鍘熷洜 + WorkPieceInfoManager.SetQualityNoOk_WorkPieceInfo(logMiddle, ref info); - info.QualityStateUpdateUser = logMiddle.UpdatedUserName; - info.QualityStateUpdateTime = logMiddle.UpdatedTime.Value.LocalDateTime; - info.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); + info.QualityStateUpdateUser = logMiddle.UpdatedUserName; + info.QualityStateUpdateTime = logMiddle.UpdatedTime.Value.LocalDateTime; + info.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); + } //var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == wplog.WorkPieceID).FirstOrDefault(); //if (qualityData == null || qualityData.WorkPieceID.Length < 1 || qualityData.WorkingProcedure.Length < 1) //{//鎻掑叆QualityDataInfo琛� @@ -374,13 +384,15 @@ pieceProcess.GetQcDataFlag_Remark = "鎵惧埌鏂囦欢"; pieceProcess.GetQcDataFlag = 1; - //涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆� - //pieceProcess.QualityState = info.QualityState.HasValue ? info.QualityState.Value : (int)QualityState.OK;//榛樿鍚堟牸锛屽凡澶勭悊 - pieceProcess.QualityState = WorkPieceInfoManager.GetQualityStateValue(info.QualityState); + if (isNeedUpdateQualityState) + { + //涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆� + pieceProcess.QualityState = WorkPieceInfoManager.GetQualityStateValue(info.QualityState); - //璧嬪�间笉鍚堟牸鍘熷洜 - //TODO:闇�瑕侀厤缃甇P80璐ㄩ噺涓嶅悎鏍肩殑鍘熷洜鏄暐锛燂紵 - WorkPieceInfoManager.SetQualityNoOk_WorkPieceProcess(logMiddle, ref pieceProcess); + //璧嬪�间笉鍚堟牸鍘熷洜 + //TODO:闇�瑕侀厤缃甇P80璐ㄩ噺涓嶅悎鏍肩殑鍘熷洜鏄暐锛燂紵 + WorkPieceInfoManager.SetQualityNoOk_WorkPieceProcess(logMiddle, ref pieceProcess); + } pieceProcess.EndTime = file.LastWriteTime;//涓嬬嚎鏃堕棿鏀逛负 鏂囦欢鏈�鍚庝慨鏀规椂闂� 銆怑ditby shaocx,2024-06-17銆� 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 f66e2c1..1f591e8 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/QualityStateHelper.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/QualityStateHelper.cs @@ -15,6 +15,45 @@ public class QualityStateHelper { /// <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) + { + QualityState setQualityState = QualityState.OK; + QualityNoOkEnum? qualityNoOkEnum = null; + 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> /// <param name="value"></param> diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/Enums.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/Enums.cs index 903b47c..0fd29e8 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/Enums.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/Enums.cs @@ -114,6 +114,10 @@ OP80澶уご绔噸閲忚秴宸� = 27, OP80灏忓ご绔噸閲忚秴宸� = 28, + + OP80鎵撴爣涓嶅悎鏍� = 30, + OP80鎵撴爣璇嗗埆涓嶅悎鏍� = 31, + } /// <summary> -- Gitblit v1.9.3