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 |  347 +++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 263 insertions(+), 84 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 d57c64e..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,13 +19,15 @@
 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
 {
     /// <summary>
     /// 娴嬮噺瀹屾垚鏍囪
     /// </summary>
-    public class DataCaptureHandler_02: DataCaptureHandler
+    public class DataCaptureHandler_02 : DataCaptureHandler
     {
         public static readonly DataCaptureHandler_02 Instance = new DataCaptureHandler_02();
 
@@ -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"))
@@ -153,6 +159,7 @@
                 }
                 DateTime? fileFindTime = null;
                 DateTime? op60QualityTime = null;
+
                 //                璐ㄩ噺淇℃伅锛氭定鏂姏鐭�...	棰勬嫥绱у姏鐭� 棰勬嫥绱ц搴�   缁堟嫥绱у姏鐭� 缁堟嫥绱ц搴�
                 //kistler_crack 娑ㄦ柇鍔涚煩 宸ヤ綅3 娑ㄦ柇鍔涚煩锛圷 - Maximum锛�  璐ㄩ噺缁撴灉锛圧esult锛�	
                 //kistler_bush 鍘嬭鍔涚煩 宸ヤ綅6 琛鍘嬭鍔涚煩锛圷 - Maximum锛�  琛鍘嬭浣嶇Щ锛圔lock X锛� 璐ㄩ噺缁撴灉锛圧esult锛�	
@@ -182,27 +189,38 @@
                         }
                         else
                         {
-                            var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType));
+                            object value;
+                            //鍒ゆ柇DBNumber涓嶅悓  銆怑ditby shaocx,2024-06-07銆�
+                            if (_dataCaptureConfig.DbNumber.ToUpper() == "M")
+                            {
+                                value = plcService.ReadValuePointV2(_dataCaptureConfig.DbNumber + _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType));
+                            }
+                            else
+                            {
+                                value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType));
+                            }
+
                             Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}娴嬮噺瀹屾垚銆恵value_02}銆戙�恵value.ToString()}銆戙�恵_dataCaptureConfig.PLCIP}銆戙�恵_dataCaptureConfig.DbNumber}銆戙�恵_dataCaptureConfig.Offset}銆慬{_dataCaptureConfig.DataCapturePLCType}][{plcService.IsConnected.ToString()}]");
                             if (value_02.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
                             {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
                              //瑙﹀彂鎿嶄綔,  骞剁粰闈欐�佸彉閲忚祴鍊间负1
                              //涓氬姟浠g爜
-                             Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}杩涘叆娴嬮噺瀹屾垚銆恵value_02}銆戙�恵value.ToString()}銆�");
+                                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))
                                 {
@@ -210,38 +228,48 @@
                                     {
                                         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"))
+                                        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();
-                                        if (fileFindTime==null)
+                                        if (fileFindTime == null)
                                         {
                                             fileFindTime = time.AddMinutes(-10);
                                         }
-                                        
+
                                         //鑾峰彇鏂囦欢澶瑰悕绉�
-                                        List<string> directorylist = new List<string>();                                        
+                                        List<string> directorylist = new List<string>();
                                         string directory = time.ToString("yyyy-MM-dd_HH");
                                         string directoryOther = time.AddSeconds(-30).ToString("yyyy-MM-dd_HH");
                                         directorylist.Add(directory);
@@ -255,7 +283,7 @@
                                         {
                                             try
                                             {
-                                                if (DataCapturePointCode.Contains("CH3")|| DataCapturePointCode.Contains("CH6"))
+                                                if (DataCapturePointCode.Contains("CH3") || DataCapturePointCode.Contains("CH6"))
                                                 {//宸ヤ綅3 娑ㄦ柇鍔涚煩
                                                  //鎵弿褰撳墠鏃堕棿涓�30绉掑墠鍑虹幇鐨勬枃浠�,涓�鑸妭鎷嶅湪15绉掑乏鍙筹紙涓や釜鏈嶅姟鍣ㄦ椂闂翠笉涓�鏍蜂細瀵艰嚧鍙栦笉鍒版枃浠讹級
                                                     var newFiles = FileHelper.DetectNewFiles(path36 + @"\" + dir, "*.pdf", 10, fileFindTime.Value, time.AddMinutes(120));
@@ -264,7 +292,7 @@
                                                         files.Add((FileInfo)file);
                                                     }
                                                 }
-                                                else if (DataCapturePointCode.Contains("CH4")|| DataCapturePointCode.Contains("CH5"))
+                                                else if (DataCapturePointCode.Contains("CH4") || DataCapturePointCode.Contains("CH5"))
                                                 {//宸ヤ綅4 棰勬嫥绱у姏鐭�  SEQ_04
 
                                                     //鎵弿褰撳墠鏃堕棿涓�30绉掑墠鍑虹幇鐨勬枃浠�,涓�鑸妭鎷嶅湪15绉掑乏鍙筹紙涓や釜鏈嶅姟鍣ㄦ椂闂翠笉涓�鏍蜂細瀵艰嚧鍙栦笉鍒版枃浠讹級
@@ -275,36 +303,36 @@
                                                     }
                                                 }
                                             }
-                                            catch(Exception ex)
+                                            catch (Exception ex)
                                             {
                                                 Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}娴嬮噺瀹屾垚璇诲彇鏂囦欢{dir}鏁版嵁鏃跺紓甯�,閲囬泦鏃堕棿{fileFindTime.Value},閬垮厤宸ュ簭瀹屾垚寮傚父1锛�", ex);
                                             }
 
                                         }
                                         files = files.OrderByDescending(o => o.LastWriteTime).ToList();
-                                        if(files.Count>0)
+                                        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;
@@ -312,19 +340,30 @@
                                             fileFindTime = files[0].LastWriteTime;
                                         }
                                     }
-                                    else if(WorkingProcedure.Equals("OP35"))
+                                    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"))
+                                    else if (WorkingProcedure.Equals("OP60"))
                                     {
+                                        //澧炲姞OP60 璐ㄩ噺淇℃伅璇诲彇鏍¢獙 銆怑ditby shaocx,2024-06-07銆�
+                                        var gongweiStr = DataCapturePointCode.Substring(DataCapturePointCode.Length - 1, 1);
+                                        if (logMiddle.Op60_Place_Flag == false)
+                                        {
+                                            Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚锛屾槸鎸囧畾鐨勫伐浠秢logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}锛屼笉閫氳繃锛岃鍙朞p60_Place_Flag:false");
+                                            continue;
+                                        };
+                                        Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚锛屾槸鎸囧畾鐨勫伐浠秢logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}锛屾牎楠岄�氳繃锛岃鍙朞p60_Place_Flag:true");
+
 
                                         var time = DateTimeHelper.GetDateTime();
                                         if (fileFindTime == null)
@@ -339,19 +378,37 @@
                                         {
                                             files.Add((FileInfo)file);
                                         }
-                                        if(files.Count()>0)
+                                        //娉ㄦ剰锛氫竴瀹氳绛涢�夊埗瀹氱殑鏂囦欢鏁版嵁
+                                        files = files.Where(x => x.Name.Contains("SP-" + gongweiStr)).OrderByDescending(o => o.LastWriteTime).ToList();//绛涢�夊彇鏈�鏂扮殑鏂囦欢 銆怑ditby shaocx,2024-06-19銆�
+                                        if (files.Count() > 0)
                                         {
-                                            files = files.OrderByDescending(o => o.LastWriteTime).ToList();
+                                            Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢files.Count()}涓紝鏄寚瀹氱殑宸ヤ欢{logMiddle.WorkPieceID},,宸ヤ綅{gongweiStr}涓婃鑾峰彇灏间集涓佹枃浠堕噷鐨勬椂闂村��:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}");
                                             List<OP60Info> op60Infos = new List<OP60Info>();
-                                            foreach (var file in files)
-                                            {//鍙栧�掑簭鍖归厤鐨勬枃浠跺悕涓哄伐浠跺彿鐨勬枃浠�
-                                                if (file.Name.Contains("SP-" + DataCapturePointCode.Substring(DataCapturePointCode.Length - 1, 1)))
-                                                {
-                                                    Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠�");
+                                            bool isFindFile = false;
+                                            //娉ㄦ剰锛氬彧鍙栫涓�涓枃浠跺氨鍙互鍟�!!!!!! 銆怑ditby shaocx,2024-06-19銆�
+                                            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}锛屾槸鎸囧畾鐨勫伐浠秢logMiddle.WorkPieceID},,宸ヤ綅{gongweiStr}涓婃鑾峰彇灏间集涓佹枃浠堕噷鐨勬椂闂村��:{(op60QualityTime == null ? "" : op60QualityTime.ToString())}");
+                                                    isFindFile = true;
                                                     var datatable = CSVHelper.ReadCSVList(file.FullName);
+                                                    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}锛屾寚瀹氬伐浠跺彿{logMiddle.WorkPieceID},,宸ヤ綅{gongweiStr}鍙戠幇鏂囦欢琛屾暟{datatable.Count}灏忎簬106");
                                                         continue;
                                                     }
                                                     datatable.Reverse();
@@ -374,41 +431,80 @@
                                                             op60Infos.Add(info);
                                                         }
                                                     }
-                                                    if(op60Infos.Count()>=2)
+                                                    if (op60Infos.Count() >= 2)
                                                     {
-                                                        if(op60QualityTime.HasValue)
+                                                        if (op60QualityTime.HasValue)
                                                         {
-                                                            if(op60Infos[0].datetimeHandle> op60QualityTime.Value)
-                                                            {
-                                                                wplog.QualityOP60To1 = op60Infos[0].value;
-                                                                wplog.QualityOP60To2 = op60Infos[1].value;
-                                                                wplog.OP60QualityFilePath = file.FullName;
+                                                            //if (op60Infos[0].datetimeHandle > op60QualityTime.Value)
+                                                            //{//杩欎釜鏃堕棿鍒ゆ柇瑕佷笉瑕佹嬁鎺夛紵锛� 銆怑ditby 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},宸ヤ綅{gongweiStr}鎴愬姛璧嬪�间簡OP60QualityFilePath绛夊瓧娈�");
+                                                            //}
+                                                            //else
+                                                            //{
+                                                            //    var msg = $"锛屽洜涓哄垽鏂椂闂翠笉绗﹀悎锛宱p60Infos[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}");
+                                                            //    break;
+                                                            //}
+                                                            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
                                                             {
-                                                                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.QualityOP60To1 = op60Infos[0].value;
-                                                            wplog.QualityOP60To2 = op60Infos[1].value;
-                                                            wplog.OP60QualityFilePath = file.FullName;
+                                                            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.FullName}涓嶆槸鎸囧畾宸ヤ欢{wplog.WorkPieceID}");
+                                                    Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.Name}涓嶆槸鎸囧畾宸ヤ欢{logMiddle.WorkPieceID},宸ヤ綅{gongweiStr}");
                                                 }
                                             }
+                                            if (isFindFile == false)
+                                            {
+                                                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, logMiddle);
+                                            SystemValue.OP20_Side_Value = sideValue;
+                                        }
+                                        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)
@@ -423,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}锛屾槸鎸囧畾鐨勫伐浠�");
+                                                    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();
@@ -464,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;
@@ -486,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}");
                                         }
                                     }
 
@@ -499,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;
 
 
@@ -549,7 +677,56 @@
                 Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇粄DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪 涓嶅仛鏍¢獙锛岃纭鏄惁閰嶇疆寮傚父");
             }
         }
-        public WorkPieceLogMiddle GetCH4Info(string FullName, WorkPieceLogMiddle wplog)
+
+
+
+        /// <summary>
+        /// 鑾峰彇OP20鐨勫摢涓潰
+        /// </summary>
+        /// <param name="plcService"></param>
+        /// <returns></returns>
+        private string GetSideForOP20(PLCService plcService, WorkPieceLogMiddle wplog)
+        {
+            try
+            {
+                object value_M88 = plcService.ReadValuePointV2("M88", PLCManger.GetTypeForString("int"));
+                int i_value_M88 = 0;
+                var isRight = int.TryParse(value_M88.ToString(), out i_value_M88);
+                Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁,鑾峰彇OP20鐨勫摢涓潰,i_value_M88:{i_value_M88},宸ヤ欢鍙�:{wplog.WorkPieceID}");
+                if (isRight)
+                {
+                    if (i_value_M88 == 64)
+                    {
+                        return "1";
+                    }
+                    else if (i_value_M88 == 16384)
+                    {//鍘熷畾涓�16384涓烘鍦ㄦ棆杞紝鐩戞帶涓嬫潵锛屽彂鐜� 16384搴旇鏄伐浣�1鐨勯棶棰� 銆怑ditby shaocx,2024-06-12銆�
+                        return "1";
+                    }
+                    else if (i_value_M88 == 256)
+                    {
+                        return "2";
+                    }
+                    else if (i_value_M88 == 1024)
+                    {
+                        return "3";
+                    }
+                    else if (i_value_M88 == 4096)
+                    {
+                        return "4";
+                    }
+                }
+                Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁鏃讹紝鏃犳晥鏁板��,鑾峰彇OP20鐨勫摢涓潰,,i_value_M88:{i_value_M88}锛屽伐浠跺彿:{wplog.WorkPieceID}", null);
+                return "";
+            }
+            catch (Exception ex)
+            {
+                Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"璇诲彇 {DataCapturePointCode}宸ュ簭鐩戞帶娴嬮噺鏍囪鏁版嵁鏃跺紓甯�,鑾峰彇OP20鐨勫摢涓潰,宸ヤ欢鍙�:{wplog.WorkPieceID}", ex);
+                return "";
+            }
+        }
+
+        public WorkPieceLogMiddle GetCH4InfoForOP30(string FullName, WorkPieceLogMiddle wplog)
         {
             try
             {
@@ -562,13 +739,13 @@
                 foreach (string line in lines2)
                 {
                     count++;
-                    if (count==4)
+                    if (count == 4)
                     {//鑾峰彇璐ㄩ噺缁撴灉
                         var list = line.Split(' ');
-                        if(list.Count()>0)
+                        if (list.Count() > 0)
                         {
                             var str = list[list.Count() - 1].ToString().Trim();
-                            wplog.QualityStateStr= str.Equals("OK")?"OK":"NG";
+                            wplog.QualityStateStr = str.Equals("OK") ? "OK" : "NG";
                         }
                     }
                     // 澶勭悊姣忎竴琛岀殑閫昏緫
@@ -613,7 +790,7 @@
 
         }
 
-        public WorkPieceLogMiddle GetCH5Info(string FullName, WorkPieceLogMiddle wplog)
+        public WorkPieceLogMiddle GetCH5InfoForOP30(string FullName, WorkPieceLogMiddle wplog)
         {
             try
             {
@@ -706,5 +883,7 @@
 
         }
 
+
+
     }
 }

--
Gitblit v1.9.3