| | |
| | | } |
| | | DateTime? fileFindTime = null; |
| | | DateTime? op60QualityTime = null; |
| | | |
| | | // 质量信息:涨断力矩... 预拧紧力矩 预拧紧角度 终拧紧力矩 终拧紧角度 |
| | | //kistler_crack 涨断力矩 工位3 涨断力矩(Y - Maximum) 质量结果(Result) |
| | | //kistler_bush 压装力矩 工位6 衬套压装力矩(Y - Maximum) 衬套压装位移(Block X) 质量结果(Result) |
| | |
| | | else if (WorkingProcedure.Equals("OP60")) |
| | | { |
| | | //增加OP60 质量信息读取校验 【Editby shaocx,2024-06-07】 |
| | | if (wplog.Op60_Place_Flag == false) continue; |
| | | var gongweiStr = DataCapturePointCode.Substring(DataCapturePointCode.Length - 1, 1); |
| | | if (wplog.Op60_Place_Flag == false) |
| | | { |
| | | Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成,是指定的工件{wplog.WorkPieceID},工位{gongweiStr},读取Op60_Place_Flag:false"); |
| | | continue; |
| | | }; |
| | | |
| | | |
| | | |
| | | var time = DateTimeHelper.GetDateTime(); |
| | | if (fileFindTime == null) |
| | |
| | | { |
| | | files.Add((FileInfo)file); |
| | | } |
| | | files = files.OrderByDescending(o => o.LastWriteTime).ToList();//取最新的文件 【Editby shaocx,2024-06-19】 |
| | | if (files.Count() > 0) |
| | | { |
| | | Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成读取到文件{files.Count()}个,是指定的工件{wplog.WorkPieceID},上次获取尼伯丁文件里的时间值:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}"); |
| | | Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成读取到文件{files.Count()}个,是指定的工件{wplog.WorkPieceID},,工位{gongweiStr}上次获取尼伯丁文件里的时间值:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}"); |
| | | files = files.OrderByDescending(o => o.LastWriteTime).ToList(); |
| | | List<OP60Info> op60Infos = new List<OP60Info>(); |
| | | bool isFindFile = false; |
| | | foreach (var file in files) |
| | | {//取倒序匹配的文件名为工件号的文件 |
| | | if (file.Name.Contains("SP-" + DataCapturePointCode.Substring(DataCapturePointCode.Length - 1, 1))) |
| | | if (file.Name.Contains("SP-" + gongweiStr)) |
| | | { |
| | | Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成读取到文件{file.Name},是指定的工件{wplog.WorkPieceID},上次获取尼伯丁文件里的时间值:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}"); |
| | | Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成读取到文件{file.Name},是指定的工件{wplog.WorkPieceID},,工位{gongweiStr}上次获取尼伯丁文件里的时间值:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}"); |
| | | isFindFile = true; |
| | | var datatable = CSVHelper.ReadCSVList(file.FullName); |
| | | Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成读取文件{file.Name},指定工件号{wplog.WorkPieceID},,工位{gongweiStr}发现文件行数{datatable.Count}"); |
| | | if (datatable.Count < 106) |
| | | {//质量数据从106行开始 |
| | | Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成读取文件{file.Name},指定工件号{wplog.WorkPieceID},发现文件行数{datatable.Count}小于106"); |
| | | Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成读取文件{file.Name},指定工件号{wplog.WorkPieceID},,工位{gongweiStr}发现文件行数{datatable.Count}小于106"); |
| | | continue; |
| | | } |
| | | datatable.Reverse(); |
| | |
| | | if (op60QualityTime.HasValue) |
| | | { |
| | | if (op60Infos[0].datetimeHandle > op60QualityTime.Value) |
| | | { |
| | | {//这个时间判断要不要拿掉?? 【Editby shaocx,2024-06-19】 |
| | | wplog.QualityOP60To1 = op60Infos[0].value; |
| | | wplog.QualityOP60To2 = op60Infos[1].value; |
| | | wplog.OP60QualityFilePath = file.FullName; |
| | | Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成读取到文件{file.Name},是指定的工件{wplog.WorkPieceID},成功赋值了OP60QualityFilePath等字段"); |
| | | Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成读取到文件{file.Name},是指定的工件{wplog.WorkPieceID},工位{gongweiStr}成功赋值了OP60QualityFilePath等字段"); |
| | | } |
| | | else |
| | | { |
| | | var msg = $",因为判断时间不符合,op60Infos[0].datetimeHandle:{(op60Infos[0].datetimeHandle == null ? "" : op60Infos[0].datetimeHandle.ToString())}小于等于op60QualityTime:{(op60QualityTime.Value == null ? "" : op60QualityTime.Value.ToString())}"; |
| | | Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成读取到文件{file.Name},是指定的工件{wplog.WorkPieceID},没能赋值OP60QualityFilePath等字段,{msg}"); |
| | | Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成读取到文件{file.Name},是指定的工件{wplog.WorkPieceID},工位{gongweiStr}没能赋值OP60QualityFilePath等字段,{msg}"); |
| | | break; |
| | | } |
| | | } |
| | |
| | | wplog.QualityOP60To1 = op60Infos[0].value; |
| | | wplog.QualityOP60To2 = op60Infos[1].value; |
| | | wplog.OP60QualityFilePath = file.FullName; |
| | | Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成读取到文件{file.Name},是指定的工件{wplog.WorkPieceID},成功赋值了OP60QualityFilePath等字段"); |
| | | Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成读取到文件{file.Name},是指定的工件{wplog.WorkPieceID},工位{gongweiStr}成功赋值了OP60QualityFilePath等字段"); |
| | | } |
| | | op60QualityTime = op60Infos[0].datetimeHandle; |
| | | break; |
| | |
| | | } |
| | | else |
| | | { |
| | | Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成读取文件{file.Name}不是指定工件{wplog.WorkPieceID}"); |
| | | Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成读取文件{file.Name}不是指定工件{wplog.WorkPieceID},工位{gongweiStr}"); |
| | | } |
| | | } |
| | | if (isFindFile == false) |
| | | { |
| | | Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成没有找到文件,指定工件{wplog.WorkPieceID}"); |
| | | Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}下线完成没有找到文件,指定工件{wplog.WorkPieceID},工位{gongweiStr}"); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 获取OP20的哪个面 |
| | | /// </summary> |