1
schangxiang@126.com
2024-08-16 565a8a99d48cacf9ef1f3e749400eee78e21ce56
1
已修改3个文件
82 ■■■■ 文件已修改
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_OP0501.cs 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);