From 4422008672f79f74841e11f20430c5e76686e293 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周四, 19 12月 2024 10:33:46 +0800 Subject: [PATCH] 修复 hmid更改合格状态,没清理 不合格原因的问题 --- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs | 78 +++++++++++++++++++++++++++----------- 1 files changed, 55 insertions(+), 23 deletions(-) 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..b846ff4 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs @@ -28,6 +28,7 @@ public static readonly string path = ConfigHelper.GetConfigString("OP80QualityData");//OP80鐨勫湴鍧� public static readonly string query_WorkingProcedureCurrent = "OP80"; public static readonly string _DataCapturePointCode = "OP8002"; + public static readonly string _DataCapturePointName = "OP80璐ㄩ噺鏁版嵁閲囬泦"; public static readonly string _EquipmentId = "EOP80"; public static readonly LogType logType = LogType.PLCOP80_QC; @@ -154,7 +155,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 @@ -174,14 +176,17 @@ logMiddle.EquipmentID = _dataCaptureConfig.EquipmentID; ; logMiddle.Remarks = logMiddle.WorkingProcedure; logMiddle.MonitoringPoint = _DataCapturePointCode; + //logMiddle.CreatedUserName = _DataCapturePointCode; + SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref logMiddle, DataCapturePointCode, DataCapturePointCname); logMiddle.CreatedTime = DateTimeHelper.GetDateTime(); - logMiddle.CreatedUserName = _DataCapturePointCode; logMiddle.UpdatedTime = DateTimeHelper.GetDateTime(); logMiddle.UpdatedUserName = Environment.MachineName + "鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); logMiddle.IsDeleted = false; WorkPieceLog loginfo2 = new WorkPieceLog(); loginfo2 = EntityPropHelper.Mapper<WorkPieceLog, WorkPieceLogMiddle>(logMiddle); + loginfo2.DataCapturePointCname = "OP80璐ㄩ噺閲囬泦"; + loginfo2.CreatedUserName = loginfo2.MonitoringPoint; var datatable = CSVHelper.ReadCSVList(file.FullName); List<string> rowFirst = new List<string>(); @@ -319,26 +324,35 @@ } else { - logMiddle.Remarks = (logMiddle.Remarks ?? "") + $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.FullName}寮傚父锛岃鏁颁笉鏄�2琛�"; + logMiddle.Remarks = $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.FullName}寮傚父锛岃鏁颁笉鏄�2琛�"; } //鏇存柊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)QualityStateEnum.NG) + { + isNeedUpdateQualityState = false; + } + if (isNeedUpdateQualityState) + { + info.QualityState = (int)((logMiddle.QualityStateStr.Equals("OK") || logMiddle.QualityStateStr.Equals("0K")) ? QualityStateEnum.OK : QualityStateEnum.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琛� @@ -348,11 +362,22 @@ //淇敼QualityDataInfo琛� //閲嶅鏀跺埌璐ㄩ噺淇℃伅锛屼細瑕嗙洊涔嬪墠鐨� EntityPropHelper<WorkPieceLogMiddle, QualityDataInfo>.CopyProp(logMiddle, qualityData, WorkPieceInfoManager.GetQualityDataInfoUpdate(logMiddle, logMiddle.WorkingProcedure, logMiddle.MonitoringPoint));//鎸囧畾淇敼瀛楁 + //鍗曠嫭澶勭悊 璐ㄩ噺鏁版嵁鐨勭姸鎬� + if (isNeedUpdateQualityState) + { + qualityData.QualityState = (int)((logMiddle.QualityStateStr.Equals("OK") || logMiddle.QualityStateStr.Equals("0K")) ? QualityStateEnum.OK : QualityStateEnum.NG); + } + else + {//蹇呯劧鏄笉鍚堟牸 + qualityData.QualityState = (int)(QualityStateEnum.NG); + } + qualityData.OP80QualityState = qualityData.QualityState.ToString(); + qualityData.EquipmentID = _EquipmentId; qualityData.QualityStateUpdateUser = info.UpdatedUserName; qualityData.QualityReceiveTime = info.UpdatedTime.Value.LocalDateTime; qualityData.QualityStateUpdateMode = info.QualityStateUpdateMode; - qualityData.OP80QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3"; + qualityData.OP80QualityReceiveTime = DateTimeHelper.GetDateTime(); qualityData.OP80QualityFilePath = logMiddle.OP80QualityFilePath; long op80id = qualityData.Id; @@ -360,8 +385,8 @@ { pieceProcess.QualityDataInfoID = op80id; } - loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璐ㄩ噺锛歿logMiddle.QualityStateStr ?? "绌�"}"; - if (!info.QualityState.Equals(((int)QualityState.OK).ToString())) + loginfo2.Remarks = $"璐ㄩ噺锛歿logMiddle.QualityStateStr ?? "绌�"}"; + if (!info.QualityState.Equals(((int)QualityStateEnum.OK).ToString())) { info.QualityErrorInfo = $"{logMiddle.WorkingProcedure}宸ュ簭璐ㄩ噺閲囬泦鏁版嵁涓嶅悎鏍�"; } @@ -374,13 +399,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銆� @@ -487,7 +514,8 @@ WorkingProcedureCurrent = query_WorkingProcedureCurrent, EquipmentID = _EquipmentId, CreatedTime = DateTime.Now, - CreatedUserName = _DataCapturePointCode + CreatedUserName = _DataCapturePointCode, + DataCapturePointCname = _DataCapturePointName }; } @@ -512,13 +540,17 @@ isAdd_WorkPieceProcess = true; process = new WorkPieceProcess(); process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(info); + QualityStateHelper.ResetQualityNoOkForNewProcess(ref process); process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); process.WorkingProcedureCurrent = query_WorkingProcedureCurrent; process.StartTime = DateTimeHelper.GetDateTime(); process.EndTime = file.LastWriteTime; process.CreatedUserName = _DataCapturePointCode; + process.JiaJuGongWei = ""; + process.DataCapturePointCname = DataCapturePointCname; process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); process.UpdatedUserName = _DataCapturePointCode; + process.UpdateDataCapturePointCname = DataCapturePointCname; process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); process.OperationType = OperationType.鐢熶骇.ToString(); process.Remarks = ""; -- Gitblit v1.9.3