From 8a9ca879c839467051db1e5d3e7986537ac5afce Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 06 9月 2024 13:54:55 +0800
Subject: [PATCH] 测量岛数据展示
---
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_02.cs | 224 +++++++++++++++++++++++++++++++++++++------------------
1 files changed, 151 insertions(+), 73 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..aae2e7b 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,8 @@
using static System.Net.WebRequestMethods;
using File = System.IO.File;
using Spire.Additions.Xps.Schema;
+using log4net;
+using static Org.BouncyCastle.Math.EC.ECCurve;
namespace iWare_SCADA_BusinessLogical
{
@@ -54,8 +56,10 @@
public override void DataCaptureStart()
{
- if (SystemValue.isStartedModel)
+ if (SystemValue.isStartedImitateModel)
{
+ //妯℃嫙浠g爜娉ㄩ噴
+ /*
var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig);
WorkPieceLogMiddle wplog = new WorkPieceLogMiddle();
wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId();
@@ -89,6 +93,7 @@
//鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛�
WorkPieceInfoManager.QualityInfoComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+ //*/
return;
}
@@ -114,7 +119,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 +135,7 @@
}
if (string.IsNullOrEmpty(pathOP60))
{
- pathOP60 = @"V:\";
+ pathOP60 = @"Q:\Measuring_Data_dfq\";
}
if (DataCapturePointCode.Contains("CH3"))
@@ -202,18 +208,19 @@
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.CreatedUserName = DataCapturePointCode;
+ SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref logMiddle, DataCapturePointCode, DataCapturePointCname);
+ logMiddle.CreatedTime = DateTimeHelper.GetDateTime();
+ 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,28 +228,38 @@
{
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);
}
}
try
{
+ switch (DataCapturePointCode)
+ {
+ case "OP2002A":
+ case "OP2002B":
+ case "OP2002C":
+ //鐩戞帶涓婄嚎
+ MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, logMiddle.WorkPieceID);
+ break;
+ }
+
if (WorkingProcedure.Equals("OP30"))
{
var time = DateTimeHelper.GetDateTime();
@@ -254,7 +271,9 @@
//鑾峰彇鏂囦欢澶瑰悕绉�
List<string> directorylist = new List<string>();
string directory = time.ToString("yyyy-MM-dd_HH");
- string directoryOther = time.AddSeconds(-30).ToString("yyyy-MM-dd_HH");
+ //string directoryOther = time.AddSeconds(-30).ToString("yyyy-MM-dd_HH");
+ //鏀逛负璋冩暣30鍒嗛挓鍓嶇殑鏂囦欢澶� 銆怑ditby shaocx,2024-09-02銆�
+ string directoryOther = time.AddMinutes(-30).ToString("yyyy-MM-dd_HH");
directorylist.Add(directory);
if (!directory.Equals(directoryOther))
{//濡傛灉30绉掑墠鏄彟涓�涓枃浠跺す
@@ -295,27 +314,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 +344,27 @@
}
else if (WorkingProcedure.Equals("OP35"))
{
- if (wplog.OP35OK)
+ if (logMiddle.OP35OK)
{
- wplog.QualityStateStr = "OK";
+ logMiddle.QualityStateStr = "OK";
+ logMiddle.QualityState = (int)QualityStateEnum.OK;
}
else
{
- wplog.QualityStateStr = "NG";
+ logMiddle.QualityStateStr = "NG";
+ logMiddle.QualityState = (int)QualityStateEnum.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 +380,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 +450,63 @@
// 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;
+ SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref logMiddle, logMiddle.MonitoringPoint, DataCapturePointCname);
+
+ Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚锛屾槸鎸囧畾鐨勫伐浠秢logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}锛屾牎楠岄�氳繃锛岃鍙朞p60_Place_Flag:true");
var time = DateTimeHelper.GetDateTime();
if (fileFindTime == null)
@@ -477,21 +521,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 +572,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 +606,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 +628,9 @@
Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}娴嬮噺瀹屾垚璇诲彇鏂囦欢鏁版嵁鏃跺紓甯�,閬垮厤宸ュ簭瀹屾垚寮傚父锛�", ex);
}
+
//鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛�
- WorkPieceInfoManager.QualityInfoComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+ WorkPieceInfoManager.QualityInfoComplete(logMiddle, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
threadStatusMonitor.Threadstatue = 1;
@@ -652,7 +728,7 @@
}
}
- public WorkPieceLogMiddle GetCH4Info(string FullName, WorkPieceLogMiddle wplog)
+ public WorkPieceLogMiddle GetCH4InfoForOP30(string FullName, WorkPieceLogMiddle wplog)
{
try
{
@@ -716,7 +792,7 @@
}
- public WorkPieceLogMiddle GetCH5Info(string FullName, WorkPieceLogMiddle wplog)
+ public WorkPieceLogMiddle GetCH5InfoForOP30(string FullName, WorkPieceLogMiddle wplog)
{
try
{
@@ -809,5 +885,7 @@
}
+
+
}
}
--
Gitblit v1.9.3