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;//此处需要注意,判断所有工序质量,然后再赋值 //默认合格,OP05默认是合格 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; //不再默认赋值为合格 【Editby 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,因为OP70没有测量,默认合格 [Editby shaocx,2024-07-03] process.QualityState = (int)QualityState.OK; process.QualityState = (int)QualityState.OK;//默认合格,OP70默认是合格 } process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); @@ -497,7 +499,7 @@ } else { pieceInfo.QualityState = (int)QualityState.OK;//此处需要注意,判断所有工序质量,然后再赋值 pieceInfo.QualityState = (int)QualityState.OK;//此处需要注意,判断所有工序质量,然后再赋值 //默认合格,OP05默认是合格 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; //不再默认赋值为合格 【Editby shaocx,2024-08-16】 //process.QualityState = pieceInfo.QualityState.HasValue ? pieceInfo.QualityState.Value : (int)QualityState.OK;//默认合格,已处理 process.QualityState = WorkPieceInfoManager.GetQualityStateValue(pieceInfo.QualityState); //记录质量不合格原因 【Editby 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; //不再默认赋值为合格 【Editby shaocx,2024-08-16】 //pro.QualityState = pieceInfo.QualityState.HasValue ? pieceInfo.QualityState.Value : 9; pro.QualityState = WorkPieceInfoManager.GetQualityStateValue(pieceInfo.QualityState); //赋值不合格原因 SetQualityNoOk_WorkPieceProcess(logMiddle, ref pro); @@ -1048,7 +1059,7 @@ } else { info.QualityState = (int)QualityState.OK;//此处需要注意,判断所有工序质量,然后再赋值 info.QualityState = (int)QualityState.OK;//此处需要注意,判断所有工序质量,然后再赋值 //默认合格,OP05默认是合格 info.Remarks = "OP05新增工件信息"; } info.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime();//WorkPieceInitOnlineTime @@ -1175,7 +1186,9 @@ } else { process.QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value : (int)QualityState.OK; //不再默认赋值为合格 【Editby 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 +2523,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 } } DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_OP0501.cs
@@ -91,7 +91,7 @@ var path = ConfigHelper.GetConfigString("WorkPeiceIDPath");//打码机打码二维码路径 //扫描共享目录并将新的文件扫描返回 一般节拍在15秒左右(可以确认一下) //扫描修改时间在上次扫描时间之前10秒到当前时间的之间的文件 var dataTime = CommonManager.Instance.CheackPath(Environment.CurrentDirectory + "\\LastModifyTime\\OP05-LastScapTime.txt", 4,-10); var dataTime = CommonManager.Instance.CheackPath(Environment.CurrentDirectory + "\\LastModifyTime\\OP05-LastScapTime.txt", 4, -10); var scapEndTime = DateTimeHelper.GetDateTime(); var newFiles = FileHelper.DetectNewFilesCSV(path, 60, Convert.ToDateTime(dataTime), scapEndTime); @@ -104,7 +104,7 @@ threadStatusMonitor.Threadlastmodifytime = DateTime.Now; Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{_dataCaptureConfig.WorkingProcedure}工序读取工控机中二维码信息,文件名:{file.FullName}"); DataTable dt = null; DataTable dt = null; dt = CSVHelper.ReadCSV(file.FullName); if (dt == null) { @@ -166,7 +166,7 @@ } Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{_dataCaptureConfig.WorkingProcedure}工序读取工控机中二维码信息,工件最新时间:{(cache==null?"无缓存":cache.ToString())}"); $"{_dataCaptureConfig.WorkingProcedure}工序读取工控机中二维码信息,工件最新时间:{(cache == null ? "无缓存" : cache.ToString())}"); for (int i = dt.Rows.Count - 1; i >= 0; i--) { string timeValue = " "; @@ -183,7 +183,7 @@ { if (j == 0) { if(currrentTime>DateTimeHelper.GetDateTime().AddHours(-10)) if (currrentTime > DateTimeHelper.GetDateTime().AddHours(-10)) { lasttime = currrentTime; } @@ -221,7 +221,7 @@ } } filteredRows = filteredRows.Where(item=>item!=null).ToArray(); filteredRows = filteredRows.Where(item => item != null).ToArray(); // 设置缓存值 DateTime absoluteExpiration = DateTime.Now.AddDays(30); TimeSpan slidingExpiration = TimeSpan.FromMinutes(20); @@ -244,7 +244,7 @@ dataTime = file.LastAccessTime.ToString(); writer.Write(dataTime); } Log4NetHelper.WriteInfoLog(LogType.PLCOP05, $"读取到{filteredRows.Count()}行数据,时间范围是{filteredRows[j-1]["时间"]}-{filteredRows[0]["时间"]}"); Log4NetHelper.WriteInfoLog(LogType.PLCOP05, $"读取到{filteredRows.Count()}行数据,时间范围是{filteredRows[j - 1]["时间"]}-{filteredRows[0]["时间"]}"); } //// 工件号(二维码值) @@ -269,13 +269,15 @@ wplog.CreatedTime = DateTimeHelper.GetDateTime(); wplog.CreatedUserName = DataCapturePointCode; wplog.UpdatedTime = DateTimeHelper.GetDateTime(); wplog.UpdatedUserName = Environment.MachineName+"自动" + Thread.CurrentThread.ManagedThreadId.ToString(); wplog.UpdatedUserName = Environment.MachineName + "自动" + Thread.CurrentThread.ManagedThreadId.ToString(); wplog.IsDeleted = false; wplog.EquipmentID = _dataCaptureConfig.EquipmentID; wplog.OnlineTime = DateTimeHelper.GetDateTime();//给上线时间用 wplog.QualityState = 1; //wplog.QualityState = 1; wplog.QualityState = (int)QualityState.OK;//默认合格,OP05默认合格 wplog.ProcessingDuration = 1; wplog.MachineToolState = 1; wplog.AlertType = 1; @@ -314,7 +316,7 @@ //Log4NetHelper.WriteInfoLog(LogType.PLCOP05, $"扫描完成,共扫描到:({fileCount.Count()})个文件"); } //SystemValue.value_OP0501 = value.ToString(); } } } catch (Exception ex) { @@ -343,7 +345,7 @@ SystemValue.lbl_Alert_OP0501 = $"{_dataCaptureConfig.WorkingProcedure}工序打标完成标记,读取工控机中打印二维码信息,不做校验,请确认配置信息!"; Log4NetHelper.WriteInfoLog(LogType.PLCOP05, $"{_dataCaptureConfig.WorkingProcedure}工序打标完成标记,读取工控机中打印二维码信息,不做校验,请确认配置异常"); } } } DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs
@@ -330,7 +330,7 @@ logMiddle.QualityState = info.QualityState; //根据质量数据判断是否合格/不合格 【Editby shaocx,2024-06-25】 WorkPieceInfoManager.SetLogMiddleForQuality(ref logMiddle); //赋值不合格原因 //TODO:需要配置OP80质量不合格的原因是啥?? WorkPieceInfoManager.SetQualityNoOk_WorkPieceInfo(logMiddle, ref info); @@ -373,7 +373,11 @@ pieceProcess.GetQcDataCount = (pieceProcess.GetQcDataCount ?? 0) + 1; pieceProcess.GetQcDataFlag_Remark = "找到文件"; pieceProcess.GetQcDataFlag = 1; pieceProcess.QualityState = info.QualityState.HasValue ? info.QualityState.Value : (int)QualityState.OK; //不再默认赋值为合格 【Editby shaocx,2024-08-16】 //pieceProcess.QualityState = info.QualityState.HasValue ? info.QualityState.Value : (int)QualityState.OK;//默认合格,已处理 pieceProcess.QualityState = WorkPieceInfoManager.GetQualityStateValue(info.QualityState); //赋值不合格原因 //TODO:需要配置OP80质量不合格的原因是啥?? WorkPieceInfoManager.SetQualityNoOk_WorkPieceProcess(logMiddle, ref pieceProcess);