From 2a55eedc9ba903c6a0b9cab8fa5ddc8fee9682aa Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周一, 02 9月 2024 09:22:26 +0800
Subject: [PATCH] 显示  [StringLength(50)]         public string DataCapturePointCname { get; set; }

---
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_02.cs |  217 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 146 insertions(+), 71 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 684bfcf..481e4fd 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();
@@ -295,27 +312,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 +342,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();
@@ -363,22 +382,33 @@
                                         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())}");
+                                            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();
@@ -418,52 +448,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)
@@ -478,21 +519,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();
@@ -519,20 +570,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;
@@ -541,9 +604,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}");
                                         }
                                     }
 
@@ -554,8 +626,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;
 
 
@@ -653,7 +726,7 @@
             }
         }
 
-        public WorkPieceLogMiddle GetCH4Info(string FullName, WorkPieceLogMiddle wplog)
+        public WorkPieceLogMiddle GetCH4InfoForOP30(string FullName, WorkPieceLogMiddle wplog)
         {
             try
             {
@@ -717,7 +790,7 @@
 
         }
 
-        public WorkPieceLogMiddle GetCH5Info(string FullName, WorkPieceLogMiddle wplog)
+        public WorkPieceLogMiddle GetCH5InfoForOP30(string FullName, WorkPieceLogMiddle wplog)
         {
             try
             {
@@ -810,5 +883,7 @@
 
         }
 
+
+
     }
 }

--
Gitblit v1.9.3