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