From a3e2b38a895b32ac08bb4acf18a4e57f65651c4a Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周日, 18 8月 2024 08:14:51 +0800 Subject: [PATCH] 清洗机获取采集数据 --- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 111 insertions(+), 8 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 bd08eea..04403fd 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs @@ -182,7 +182,7 @@ } else { - info.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� + info.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� //榛樿鍚堟牸锛孫P05榛樿鏄悎鏍� info.Remarks = "OP05鏂板宸ヤ欢淇℃伅"; } info.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime(); @@ -227,11 +227,13 @@ process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(info); process.StartTime = DateTimeHelper.GetDateTime(); - process.QualityState = info.QualityState.HasValue ? info.QualityState.Value : (int)QualityState.OK; + //涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆� + //process.QualityState = info.QualityState.HasValue ? info.QualityState.Value : (int)QualityState.OK;//榛樿鍚堟牸锛屽凡澶勭悊 + process.QualityState = GetQualityStateValue(info.QualityState); if (process.WorkingProcedureCurrent == WorkingProcedureForHMI.OP70.ToString()) { //鐗规畩澶勭悊OP70锛屽洜涓篛P70娌℃湁娴嬮噺锛岄粯璁ゅ悎鏍� [Editby shaocx,2024-07-03] - process.QualityState = (int)QualityState.OK; + process.QualityState = (int)QualityState.OK;//榛樿鍚堟牸锛孫P70榛樿鏄悎鏍� } process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); @@ -497,7 +499,7 @@ } else { - pieceInfo.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� + pieceInfo.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� //榛樿鍚堟牸锛孫P05榛樿鏄悎鏍� pieceInfo.Remarks = "OP05鏂板宸ヤ欢淇℃伅"; } pieceInfo.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime(); @@ -721,7 +723,12 @@ WorkPieceProcess process = new WorkPieceProcess(); process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(pieceInfo); process.StartTime = DateTimeHelper.GetDateTime(); - process.QualityState = pieceInfo.QualityState.HasValue ? pieceInfo.QualityState.Value : (int)QualityState.OK; + + //涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆� + //process.QualityState = pieceInfo.QualityState.HasValue ? pieceInfo.QualityState.Value : (int)QualityState.OK;//榛樿鍚堟牸锛屽凡澶勭悊 + process.QualityState = WorkPieceInfoManager.GetQualityStateValue(pieceInfo.QualityState); + + //璁板綍璐ㄩ噺涓嶅悎鏍煎師鍥� 銆怑ditby shaocx,2024-06-26銆� //璧嬪�间笉鍚堟牸鍘熷洜 SetQualityNoOk_WorkPieceProcess(logMiddle, ref process); @@ -741,7 +748,11 @@ pro.QualityDataInfoID = qualityData.Id; pro.UpdatedUserName = ResetUpdatedUserName(logMiddle); pro.UpdatedTime = DateTimeHelper.GetDateTime(); - pro.QualityState = pieceInfo.QualityState.HasValue ? pieceInfo.QualityState.Value : 9; + + //涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆� + //pro.QualityState = pieceInfo.QualityState.HasValue ? pieceInfo.QualityState.Value : 9; + pro.QualityState = WorkPieceInfoManager.GetQualityStateValue(pieceInfo.QualityState); + //璧嬪�间笉鍚堟牸鍘熷洜 SetQualityNoOk_WorkPieceProcess(logMiddle, ref pro); @@ -788,6 +799,73 @@ loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璐ㄩ噺锛歿logMiddle.QualityStateStr ?? "绌�"}"; db.WorkPieceLog.Add(GetAddWorkPieceLog(loginfo2));//鎻掑叆宸ヤ欢閲囬泦鏃ュ織琛� db.SaveChanges(); + } + } + } + + /// <summary> + /// 璐ㄩ噺妫�娴嬪畬鎴�-OP70涓撶敤 + /// </summary> + /// <param name="logMiddle"></param> + /// <param name="type"></param> + public static void QualityInfoCompleteForOP70(WorkPieceLogMiddle logMiddle, LogType type) + { + if (string.IsNullOrEmpty(logMiddle.QualityOP70To1) && string.IsNullOrEmpty(logMiddle.QualityOP70To2) && string.IsNullOrEmpty(logMiddle.QualityOP70To3)) + { + Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}宸ュ簭鐩戞帶娓呮礂鏈烘暟鎹� 璇诲彇宸ヤ欢鐮佹暟鎹甗{logMiddle.WorkPieceID ?? "绌�"}]鑾峰彇鐨勪笁涓�奸兘鏄┖鐨勶紝涓嶅鐞嗚繑鍥�"); + return; + } + using (DbModel db = new DbModel()) + { + try + { + bool isAdd = false; + if (logMiddle.WorkPieceID.Length == 22) + { + var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == logMiddle.WorkPieceID).FirstOrDefault(); + if (qualityData == null || qualityData.WorkPieceID.Length < 1 || qualityData.WorkingProcedure.Length < 1) + {//鎻掑叆QualityDataInfo琛� + isAdd = true; + qualityData = EntityPropHelper.Mapper<QualityDataInfo, WorkPieceLog>(logMiddle); + } + + qualityData.QualityStateUpdateUser = "OP7009"; + qualityData.QualityReceiveTime = DateTime.Now; + + //鐗规畩澶勭悊OP70鐨勮川閲忔暟鎹� + if (!string.IsNullOrEmpty(logMiddle.QualityOP70To1) && !string.IsNullOrEmpty(qualityData.QualityOP70To1)) + { + qualityData.QualityOP70To1 = logMiddle.QualityOP70To1; + } + if (!string.IsNullOrEmpty(logMiddle.QualityOP70To2) && !string.IsNullOrEmpty(qualityData.QualityOP70To2)) + { + qualityData.QualityOP70To2 = logMiddle.QualityOP70To2; + } + if (!string.IsNullOrEmpty(logMiddle.QualityOP70To3) && !string.IsNullOrEmpty(qualityData.QualityOP70To3)) + { + qualityData.QualityOP70To3 = logMiddle.QualityOP70To3; + } + + db.QualityDataInfoLog.Add(GetAddQualityDataInfoLog(qualityData));//鎻掑叆鏃ュ織 + + if (isAdd) + { + db.QualityDataInfo.Add(GetAddQualityDataInfo(qualityData)); + } + db.SaveChanges();//淇濆瓨鏁版嵁 + } + else + { + Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}宸ュ簭鐩戞帶娓呮礂鏈烘暟鎹� 璇诲彇宸ヤ欢鐮佹暟鎹甗{logMiddle.WorkPieceID ?? "绌�"}]鏃跺紓甯革細"); + + } + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}宸ュ簭鐩戞帶娓呮礂鏈烘暟鎹� 璇诲彇宸ヤ欢鐮佹暟鎹甗{logMiddle.WorkPieceID ?? "绌�"}]鏃跺紓甯革細", ex); + } + finally + { } } } @@ -1048,7 +1126,7 @@ } else { - info.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� + info.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� //榛樿鍚堟牸锛孫P05榛樿鏄悎鏍� info.Remarks = "OP05鏂板宸ヤ欢淇℃伅"; } info.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime();//WorkPieceInitOnlineTime @@ -1175,7 +1253,9 @@ } else { - process.QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value : (int)QualityState.OK; + //涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆� + //process.QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value : (int)QualityState.OK;//榛樿鍚堟牸锛屽凡澶勭悊 + process.QualityState = WorkPieceInfoManager.GetQualityStateValue(logMiddle.QualityState); } process.CreatedUserName = logMiddle.MonitoringPoint; process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); @@ -2510,6 +2590,29 @@ } + /// <summary> + /// 鑾峰彇璐ㄩ噺鐘舵�佸�� + /// </summary> + /// <param name="qualityState"></param> + /// <returns></returns> + public static int GetQualityStateValue(int? qualityState) + { + if (qualityState.HasValue == false) + { + return (int)QualityState.Suspected; + } + if (qualityState.Value == 1) + { + return (int)QualityState.OK; + } + if (qualityState.Value == 2) + { + return (int)QualityState.NG; + } + return (int)QualityState.Suspected; + } + + #endregion } } -- Gitblit v1.9.3