From d4443cb0dfa7c7b6719fae621d7cc6d32a502dff Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周日, 18 8月 2024 06:13:49 +0800 Subject: [PATCH] 模拟模式是否启动 --- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_02.cs | 206 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 134 insertions(+), 72 deletions(-) diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_02.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_02.cs index 61d7a8a..5dfed4b 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_02.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_02.cs @@ -19,6 +19,7 @@ using static System.Net.WebRequestMethods; using File = System.IO.File; using Spire.Additions.Xps.Schema; +using log4net; namespace iWare_SCADA_BusinessLogical { @@ -54,7 +55,7 @@ public override void DataCaptureStart() { - if (SystemValue.isStartedModel) + if (SystemValue.isStartedImitateModel) { var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); @@ -114,7 +115,8 @@ string path36 = ConfigHelper.GetConfigString("OP30QualityDataFor36Station");//op30 3宸ヤ綅锛�6宸ヤ綅鍦板潃 string path45 = ConfigHelper.GetConfigString("OP30QualityDataFor45Station");//op30 4宸ヤ綅锛�5宸ヤ綅鍦板潃 string pathOP20 = ConfigHelper.GetConfigString("OP20QualityData"); - string pathOP60 = ConfigHelper.GetConfigString("OP60QualityData"); + //string pathOP60 = ConfigHelper.GetConfigString("OP60QualityData"); + string pathOP60 = @"Q:\Measuring_Data_dfq\";//鍐欐鍦板潃 銆怑ditby shaocx,2024-06-25銆� if (string.IsNullOrEmpty(path36)) { path36 = @"Z:\"; @@ -129,7 +131,7 @@ } if (string.IsNullOrEmpty(pathOP60)) { - pathOP60 = @"V:\"; + pathOP60 = @"Q:\Measuring_Data_dfq\"; } if (DataCapturePointCode.Contains("CH3")) @@ -202,18 +204,18 @@ Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}杩涘叆娴嬮噺瀹屾垚銆恵value_02}銆戙�恵value.ToString()}銆�"); threadStatusMonitor.Threadlastmodifytime = DateTime.Now; - WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); - wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); - wplog.WorkingProcedure = WorkingProcedure; - wplog.EquipmentID = _dataCaptureConfig.EquipmentID; ; - wplog.Remarks = WorkingProcedure; - wplog.MonitoringPoint = DataCapturePointCode; - wplog.CreatedTime = DateTimeHelper.GetDateTime(); - wplog.CreatedUserName = DataCapturePointCode; - wplog.UpdatedUserName = Environment.MachineName + "鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); - wplog.UpdatedTime = DateTimeHelper.GetDateTime(); - wplog.IsDeleted = false; - wplog.QualityType = QualityType.Online.ToString(); + WorkPieceLogMiddle logMiddle = new WorkPieceLogMiddle(); + logMiddle.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + logMiddle.WorkingProcedure = WorkingProcedure; + logMiddle.EquipmentID = _dataCaptureConfig.EquipmentID; ; + logMiddle.Remarks = WorkingProcedure; + logMiddle.MonitoringPoint = DataCapturePointCode; + logMiddle.CreatedTime = DateTimeHelper.GetDateTime(); + logMiddle.CreatedUserName = DataCapturePointCode; + logMiddle.UpdatedUserName = Environment.MachineName + "鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); + logMiddle.UpdatedTime = DateTimeHelper.GetDateTime(); + logMiddle.IsDeleted = false; + logMiddle.QualityType = QualityType.Online.ToString(); foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) { @@ -221,23 +223,23 @@ { var valuecol = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType)); //wplog.GetType().GetProperty(col.DataCaptureColumnTabelName).SetValue(wplog, valuecol);//缁欏姩鎬佸瓧娈佃祴鍊� - var set = wplog.GetType().GetProperty(col.DataCaptureColumnTabelName); + var set = logMiddle.GetType().GetProperty(col.DataCaptureColumnTabelName); if (set == null) { - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺瀹屾垚鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佺敱浜庡瓧娈靛悕娌℃壘鍒帮紝璧嬪�笺�恵WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝け璐wplog.Id}"); + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺瀹屾垚鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佺敱浜庡瓧娈靛悕娌℃壘鍒帮紝璧嬪�笺�恵WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝け璐logMiddle.Id}"); } if (set.PropertyType.FullName.Equals("System.String")) { - set.SetValue(wplog, valuecol.ToString());//缁欏姩鎬佸瓧娈佃祴鍊� + set.SetValue(logMiddle, valuecol.ToString());//缁欏姩鎬佸瓧娈佃祴鍊� } else { - set.SetValue(wplog, valuecol);//缁欏姩鎬佸瓧娈佃祴鍊� + set.SetValue(logMiddle, valuecol);//缁欏姩鎬佸瓧娈佃祴鍊� } } catch (Exception setex) { - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺瀹屾垚鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佽祴鍊笺�恵WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝紓甯竰wplog.Id}", setex); + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺瀹屾垚鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佽祴鍊笺�恵WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝紓甯竰logMiddle.Id}", setex); } } @@ -295,27 +297,27 @@ files = files.OrderByDescending(o => o.LastWriteTime).ToList(); if (files.Count > 0) { - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"宸ヤ綅銆恵DataCapturePointCode}銆戝伐浠躲�恵wplog.WorkPieceID ?? "绌哄瓧绗�"}銆戞枃浠秢files[0].FullName}娴嬮噺瀹屾垚璇诲彇鏂囦欢鏁版嵁寮�濮�"); + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"宸ヤ綅銆恵DataCapturePointCode}銆戝伐浠躲�恵logMiddle.WorkPieceID ?? "绌哄瓧绗�"}銆戞枃浠秢files[0].FullName}娴嬮噺瀹屾垚璇诲彇鏂囦欢鏁版嵁寮�濮�"); switch (DataCapturePointCode) { case "OP3002CH3": - wplog.OP30QualityFilePathCH3 = files[0].FullName; - wplog.QualityStateStr = FileHelper.ReadPdfFileForSpire(files[0].FullName, "Result"); - wplog.QualityOP30To1 = FileHelper.ReadPdfFileForSpire(files[0].FullName, "Y-Maximum");//娑ㄦ柇鍔涚煩 + logMiddle.OP30QualityFilePathCH3 = files[0].FullName; + logMiddle.QualityStateStr = FileHelper.ReadPdfFileForSpire(files[0].FullName, "Result"); + logMiddle.QualityOP30To1 = FileHelper.ReadPdfFileForSpire(files[0].FullName, "Y-Maximum");//娑ㄦ柇鍔涚煩 break; case "OP3002CH4": - wplog = GetCH4Info(files[0].FullName, wplog); - wplog.OP30QualityFilePathCH4 = files[0].FullName; + logMiddle = GetCH4InfoForOP30(files[0].FullName, logMiddle); + logMiddle.OP30QualityFilePathCH4 = files[0].FullName; break; case "OP3002CH5": - wplog = GetCH5Info(files[0].FullName, wplog); - wplog.OP30QualityFilePathCH5 = files[0].FullName; + logMiddle = GetCH5InfoForOP30(files[0].FullName, logMiddle); + logMiddle.OP30QualityFilePathCH5 = files[0].FullName; break; case "OP3002CH6": - wplog.OP30QualityFilePathCH6 = files[0].FullName; - wplog.QualityStateStr = FileHelper.ReadPdfFileForSpire(files[0].FullName, "Result"); - wplog.QualityOP30To6 = FileHelper.ReadPdfFileForSpire(files[0].FullName, "Y-Maximum");//琛鍘嬭鍔涚煩 - wplog.QualityOP30To7 = FileHelper.ReadPdfFileForSpire(files[0].FullName, "Block X");//琛鍘嬭浣嶇Щ + logMiddle.OP30QualityFilePathCH6 = files[0].FullName; + logMiddle.QualityStateStr = FileHelper.ReadPdfFileForSpire(files[0].FullName, "Result"); + logMiddle.QualityOP30To6 = FileHelper.ReadPdfFileForSpire(files[0].FullName, "Y-Maximum");//琛鍘嬭鍔涚煩 + logMiddle.QualityOP30To7 = FileHelper.ReadPdfFileForSpire(files[0].FullName, "Block X");//琛鍘嬭浣嶇Щ break; default: break; @@ -325,25 +327,27 @@ } else if (WorkingProcedure.Equals("OP35")) { - if (wplog.OP35OK) + if (logMiddle.OP35OK) { - wplog.QualityStateStr = "OK"; + logMiddle.QualityStateStr = "OK"; + logMiddle.QualityState = (int)QualityState.OK; } else { - wplog.QualityStateStr = "NG"; + logMiddle.QualityStateStr = "NG"; + logMiddle.QualityState = (int)QualityState.NG; } } else if (WorkingProcedure.Equals("OP60")) { //澧炲姞OP60 璐ㄩ噺淇℃伅璇诲彇鏍¢獙 銆怑ditby shaocx,2024-06-07銆� var gongweiStr = DataCapturePointCode.Substring(DataCapturePointCode.Length - 1, 1); - if (wplog.Op60_Place_Flag == false) + if (logMiddle.Op60_Place_Flag == false) { - Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr}锛屼笉閫氳繃锛岃鍙朞p60_Place_Flag:false"); + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚锛屾槸鎸囧畾鐨勫伐浠秢logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}锛屼笉閫氳繃锛岃鍙朞p60_Place_Flag:false"); continue; }; - Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr}锛屾牎楠岄�氳繃锛岃鍙朞p60_Place_Flag:true"); + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚锛屾槸鎸囧畾鐨勫伐浠秢logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}锛屾牎楠岄�氳繃锛岃鍙朞p60_Place_Flag:true"); var time = DateTimeHelper.GetDateTime(); @@ -359,25 +363,37 @@ { files.Add((FileInfo)file); } + //娉ㄦ剰锛氫竴瀹氳绛涢�夊埗瀹氱殑鏂囦欢鏁版嵁 + files = files.Where(x => x.Name.Contains("SP-" + gongweiStr)).OrderByDescending(o => o.LastWriteTime).ToList();//绛涢�夊彇鏈�鏂扮殑鏂囦欢 銆怑ditby shaocx,2024-06-19銆� if (files.Count() > 0) { - Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢files.Count()}涓紝鏄寚瀹氱殑宸ヤ欢{wplog.WorkPieceID},,宸ヤ綅{gongweiStr}涓婃鑾峰彇灏间集涓佹枃浠堕噷鐨勬椂闂村��:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}"); - files = files.OrderByDescending(o => o.LastWriteTime).ToList();//鍙栨渶鏂扮殑鏂囦欢 銆怑ditby shaocx,2024-06-19銆� + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢files.Count()}涓紝鏄寚瀹氱殑宸ヤ欢{logMiddle.WorkPieceID},,宸ヤ綅{gongweiStr}涓婃鑾峰彇灏间集涓佹枃浠堕噷鐨勬椂闂村��:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}"); List<OP60Info> op60Infos = new List<OP60Info>(); bool isFindFile = false; //娉ㄦ剰锛氬彧鍙栫涓�涓枃浠跺氨鍙互鍟�!!!!!! 銆怑ditby shaocx,2024-06-19銆� - var doFiles = new List<FileInfo>() { files.First() }; + var source_doFile = files.First();//鍘熷璇荤殑鏂囦欢 + + //鎷疯礉鏂囦欢 + //鐩爣鏂囦欢鐨勫畬鏁寸洰褰� + string destFileName = source_doFile.FullName.Replace("Measuring_Data_dfq", "Measuring_Data_df_Copy"); + string source_file_name = source_doFile.Name.Replace(".dfq", "");//涓嶅甫鎵╁睍鍚嶇殑鏂囦欢鍚嶅瓧 + destFileName = destFileName.Replace(source_file_name, source_file_name + "_" + logMiddle.WorkPieceID + "_" + DateTime.Now.ToString("yyyyMMddHHmmss")); + File.Copy(source_doFile.FullName, destFileName, true); + + + FileInfo destFile = new FileInfo(destFileName); + var doFiles = new List<FileInfo>() { destFile }; foreach (var file in doFiles) {//鍙栧�掑簭鍖归厤鐨勬枃浠跺悕涓哄伐浠跺彿鐨勬枃浠� if (file.Name.Contains("SP-" + gongweiStr)) { - Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},,宸ヤ綅{gongweiStr}涓婃鑾峰彇灏间集涓佹枃浠堕噷鐨勬椂闂村��:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}"); + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢logMiddle.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}"); + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.Name}锛屾寚瀹氬伐浠跺彿{logMiddle.WorkPieceID},,宸ヤ綅{gongweiStr}鍙戠幇鏂囦欢琛屾暟{datatable.Count}"); if (datatable.Count < 106) {//璐ㄩ噺鏁版嵁浠�106琛屽紑濮� - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.Name}锛屾寚瀹氬伐浠跺彿{wplog.WorkPieceID},,宸ヤ綅{gongweiStr}鍙戠幇鏂囦欢琛屾暟{datatable.Count}灏忎簬106"); + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.Name}锛屾寚瀹氬伐浠跺彿{logMiddle.WorkPieceID},,宸ヤ綅{gongweiStr}鍙戠幇鏂囦欢琛屾暟{datatable.Count}灏忎簬106"); continue; } datatable.Reverse(); @@ -417,52 +433,62 @@ // Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr}娌¤兘璧嬪�糘P60QualityFilePath绛夊瓧娈�,{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},宸ヤ綅{gongweiStr}鎴愬姛璧嬪�间簡OP60QualityFilePath绛夊瓧娈碉紝璇诲彇鏃堕棿:{op60Infos[0].datetimeHandle.ToString()}"); + logMiddle.QualityOP60To1 = op60Infos[0].value; + logMiddle.QualityOP60To2 = op60Infos[1].value; + logMiddle.OP60QualityFilePath = file.FullName; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}鎴愬姛璧嬪�间簡OP60QualityFilePath绛夊瓧娈碉紝璇诲彇鏃堕棿:{op60Infos[0].datetimeHandle.ToString()}"); if (op60Infos[0].datetimeHandle > op60QualityTime.Value) {//杩欎釜鏃堕棿鍒ゆ柇瑕佷笉瑕佹嬁鎺夛紵锛� 銆怑ditby shaocx,2024-06-19銆� } 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},宸ヤ綅{gongweiStr}娌¤兘璧嬪�糘P60QualityFilePath绛夊瓧娈�,{msg}"); + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}娌¤兘璧嬪�糘P60QualityFilePath绛夊瓧娈�,{msg}"); } } else { - wplog.QualityOP60To1 = op60Infos[0].value; - wplog.QualityOP60To2 = op60Infos[1].value; - wplog.OP60QualityFilePath = file.FullName; - Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},宸ヤ綅{gongweiStr}鎴愬姛璧嬪�间簡OP60QualityFilePath绛夊瓧娈碉紝璇诲彇鏃堕棿:{op60Infos[0].datetimeHandle.ToString()}"); + logMiddle.QualityOP60To1 = op60Infos[0].value; + logMiddle.QualityOP60To2 = op60Infos[1].value; + logMiddle.OP60QualityFilePath = file.FullName; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}鎴愬姛璧嬪�间簡OP60QualityFilePath绛夊瓧娈碉紝璇诲彇鏃堕棿:{op60Infos[0].datetimeHandle.ToString()}"); } op60QualityTime = op60Infos[0].datetimeHandle; + + + break; } } else { - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.Name}涓嶆槸鎸囧畾宸ヤ欢{wplog.WorkPieceID},宸ヤ綅{gongweiStr}"); + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.Name}涓嶆槸鎸囧畾宸ヤ欢{logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}"); } } if (isFindFile == false) { - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚娌℃湁鎵惧埌鏂囦欢,鎸囧畾宸ヤ欢{wplog.WorkPieceID},宸ヤ綅{gongweiStr}"); + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚娌℃湁鎵惧埌鏂囦欢,鎸囧畾宸ヤ欢{logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}"); } + } + else + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚,閫氳繃绛涢�夎繃婊�,娌℃湁鎵惧埌鏂囦欢,鎸囧畾宸ヤ欢{logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}"); } } else if (WorkingProcedure.Equals("OP20")) { + var gongweiStr = DataCapturePointCode.Substring(DataCapturePointCode.Length - 1, 1); //璁板綍鍏敤鍙橀噺锛屼繚瀛樼偣浣峂88鐨勪俊鎭� 銆怑ditby shaocx,2024-06-07銆� if (DataCapturePointCode.Contains("OP2002C")) {//浠嶰P2002C璇诲彇锛屽洜涓洪『搴忔槸 CBA锛岃�屼笉鏄疉BC - string sideValue = GetSideForOP20(plcService, wplog); + string sideValue = GetSideForOP20(plcService, logMiddle); SystemValue.OP20_Side_Value = sideValue; } - wplog.MonitoringPoint += SystemValue.OP20_Side_Value; - wplog.CreatedUserName = wplog.MonitoringPoint; + logMiddle.MonitoringPoint += SystemValue.OP20_Side_Value; + logMiddle.CreatedUserName = logMiddle.MonitoringPoint; + + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚锛屾槸鎸囧畾鐨勫伐浠秢logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}锛屾牎楠岄�氳繃锛岃鍙朞p60_Place_Flag:true"); var time = DateTimeHelper.GetDateTime(); if (fileFindTime == null) @@ -477,21 +503,31 @@ { files.Add((FileInfo)file); } - Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"宸ヤ綅銆恵DataCapturePointCode}銆戝伐浠躲�恵wplog.WorkPieceID ?? "绌哄瓧绗�"}銆戣幏鍙栧埌銆恵files.Count()}銆戜釜鏂囦欢锛屻�恵fileFindTime.Value}銆戙�恵time.AddHours(2)}銆�"); + //娉ㄦ剰锛氫竴瀹氳绛涢�夊埗瀹氱殑鏂囦欢鏁版嵁 + files = files.Where(x => x.Name.Contains("SP-" + gongweiStr)).OrderByDescending(o => o.LastWriteTime).ToList();//绛涢�夊彇鏈�鏂扮殑鏂囦欢 銆怑ditby shaocx,2024-06-19銆� + + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"宸ヤ綅銆恵DataCapturePointCode}銆戝伐浠躲�恵logMiddle.WorkPieceID ?? "绌哄瓧绗�"}銆戣幏鍙栧埌銆恵files.Count()}銆戜釜鏂囦欢锛屻�恵fileFindTime.Value}銆戙�恵time.AddHours(2)}銆�"); if (files.Count() > 0) { + bool isFindFile = false; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢files.Count()}涓紝鏄寚瀹氱殑宸ヤ欢{logMiddle.WorkPieceID},宸ヤ綅{gongweiStr},涓婃鑾峰彇灏间集涓佹枃浠堕噷鐨勬椂闂村��:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}"); files = files.OrderByDescending(o => o.LastWriteTime).ToList(); List<OP60Info> op60Infos = new List<OP60Info>(); - foreach (var file in files) + //娉ㄦ剰锛氬彧鍙栫涓�涓枃浠跺氨鍙互鍟�!!!!!! 銆怑ditby shaocx,2024-06-19銆� + var doFiles = new List<FileInfo>() { files.First() }; + foreach (var file in doFiles) {//鍙栧�掑簭鍖归厤鐨勬枃浠跺悕涓哄伐浠跺彿鐨勬枃浠� - if (file.Name.Contains("SP-" + DataCapturePointCode.Substring(DataCapturePointCode.Length - 1, 1))) + if (file.Name.Contains("SP-" + gongweiStr)) { - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢wplog.WorkPieceID},涓婃鑾峰彇灏间集涓佹枃浠堕噷鐨勬椂闂村��:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}"); + isFindFile = true; + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢logMiddle.WorkPieceID},宸ヤ綅{gongweiStr},涓婃鑾峰彇灏间集涓佹枃浠堕噷鐨勬椂闂村��:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}"); var datatable = CSVHelper.ReadCSVList(file.FullName); + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.Name}锛屾寚瀹氬伐浠跺彿{logMiddle.WorkPieceID},,宸ヤ綅{gongweiStr}鍙戠幇鏂囦欢琛屾暟{datatable.Count}"); if (datatable.Count < 57) {//璐ㄩ噺鏁版嵁浠�106琛屽紑濮� + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.Name}锛屾寚瀹氬伐浠跺彿{logMiddle.WorkPieceID},,宸ヤ綅{gongweiStr}鍙戠幇鏂囦欢琛屾暟{datatable.Count}灏忎簬106"); continue; } datatable.Reverse(); @@ -518,20 +554,32 @@ { if (op60QualityTime.HasValue) { + //if (op60Infos[0].datetimeHandle > op60QualityTime.Value) + //{ + // wplog.QualityOP20To1 = op60Infos[0].value; + // wplog.OP20QualityFilePath = file.FullName; + //} + //else + //{ + // break; + //} + logMiddle.QualityOP20To1 = op60Infos[0].value; + logMiddle.OP20QualityFilePath = file.FullName; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}鎴愬姛璧嬪�间簡OP20QualityFilePath绛夊瓧娈碉紝璇诲彇鏃堕棿:{op60Infos[0].datetimeHandle.ToString()}"); if (op60Infos[0].datetimeHandle > op60QualityTime.Value) - { - wplog.QualityOP20To1 = op60Infos[0].value; - wplog.OP20QualityFilePath = file.FullName; + {//杩欎釜鏃堕棿鍒ゆ柇瑕佷笉瑕佹嬁鎺夛紵锛� 銆怑ditby shaocx,2024-06-19銆� } else { - break; + 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}锛屾槸鎸囧畾鐨勫伐浠秢logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}娌¤兘璧嬪�糘P60QualityFilePath绛夊瓧娈�,{msg}"); } } else { - wplog.QualityOP20To1 = op60Infos[0].value; - wplog.OP20QualityFilePath = file.FullName; + logMiddle.QualityOP20To1 = op60Infos[0].value; + logMiddle.OP20QualityFilePath = file.FullName; + Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}鎴愬姛璧嬪�间簡OP20QualityFilePath绛夊瓧娈碉紝璇诲彇鏃堕棿:{op60Infos[0].datetimeHandle.ToString()}"); } op60QualityTime = op60Infos[0].datetimeHandle; break; @@ -540,9 +588,18 @@ } else { - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.FullName}涓嶆槸鎸囧畾宸ヤ欢{wplog.WorkPieceID}"); + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.FullName}涓嶆槸鎸囧畾宸ヤ欢{logMiddle.WorkPieceID}"); } } + + if (isFindFile == false) + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚娌℃湁鎵惧埌鏂囦欢,鎸囧畾宸ヤ欢{logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}"); + } + } + else + { + Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚,閫氳繃绛涢�夎繃婊�,娌℃湁鎵惧埌鏂囦欢,鎸囧畾宸ヤ欢{logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}"); } } @@ -553,8 +610,11 @@ Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}娴嬮噺瀹屾垚璇诲彇鏂囦欢鏁版嵁鏃跺紓甯�,閬垮厤宸ュ簭瀹屾垚寮傚父锛�", ex); } + //鏍规嵁璐ㄩ噺鏁版嵁鍒ゆ柇鏄惁鍚堟牸/涓嶅悎鏍� 銆怑ditby shaocx,2024-06-25銆� + WorkPieceInfoManager.SetLogMiddleForQuality(ref logMiddle); + //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� - WorkPieceInfoManager.QualityInfoComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + WorkPieceInfoManager.QualityInfoComplete(logMiddle, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); threadStatusMonitor.Threadstatue = 1; @@ -652,7 +712,7 @@ } } - public WorkPieceLogMiddle GetCH4Info(string FullName, WorkPieceLogMiddle wplog) + public WorkPieceLogMiddle GetCH4InfoForOP30(string FullName, WorkPieceLogMiddle wplog) { try { @@ -716,7 +776,7 @@ } - public WorkPieceLogMiddle GetCH5Info(string FullName, WorkPieceLogMiddle wplog) + public WorkPieceLogMiddle GetCH5InfoForOP30(string FullName, WorkPieceLogMiddle wplog) { try { @@ -809,5 +869,7 @@ } + + } } -- Gitblit v1.9.3