From 2c53ddfdef7167fed7d777ee72e6e445c0ed91d3 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 06 9月 2024 07:30:08 +0800
Subject: [PATCH] 优化 op05上线

---
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_OP0501.cs |   38 ++++++++++++++++++++++++++++++++------
 1 files changed, 32 insertions(+), 6 deletions(-)

diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_OP0501.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_OP0501.cs
index 484a428..042948c 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_OP0501.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_OP0501.cs
@@ -59,6 +59,8 @@
                 //    plcService.OpenService();
                 //}
 
+                string lastHandlerWorkPileIDForOP0501 = "";//鏈�鍚庝竴娆″鐞嗙殑宸ヤ欢鍙�
+
                 while (true)
                 {
                     ThreadStatusMonitor threadStatusMonitor = new ThreadStatusMonitor();
@@ -189,7 +191,8 @@
                                                             }
                                                         }
                                                         var oldTime = DateTime.Now.AddMinutes(-10);
-                                                        if (currrentTime <= oldTime)
+                                                        // if (currrentTime <= oldTime)
+                                                        if (lastHandlerWorkPileIDForOP0501 == Convert.ToString(dt.Rows[i]["鎵撴爣鍐呭"]))
                                                         {//濡傛灉excel閲岀殑鏃堕棿瑕佹瘮 褰撳墠鍓�10鍒嗛挓鏃堕棿瑕佹棭锛岄偅涔堟垜灏卞拷鐣ヤ笉澶勭悊銆�
                                                             break;
                                                         }
@@ -198,7 +201,8 @@
                                                     else
                                                     {
                                                         var cacheTime = Convert.ToDateTime(cache);
-                                                        if (currrentTime <= cacheTime)
+                                                        //if (currrentTime <= cacheTime)
+                                                        if (lastHandlerWorkPileIDForOP0501 == Convert.ToString(dt.Rows[i]["鎵撴爣鍐呭"]))
                                                         {//濡傛灉excel閲岀殑鏃堕棿瑕佹瘮 鎴戠紦瀛樹腑鐨勬椂闂磋鏃╋紝閭d箞鎴戝氨蹇界暐涓嶅鐞嗐��
                                                             break;
                                                         }
@@ -292,22 +296,44 @@
                                         wplog.KnifeToolEarlyWarningLife = 3;
                                         wplog.KnifeToolSurplusLife = 10;
 
+                                        //蹇�熷鐞�
+                                        List<WorkPieceLog> wplogs = new List<WorkPieceLog>();
+
                                         foreach (var item in filteredRows)
                                         {
-                                            Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure),
-                                                   $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭璇诲彇宸ユ帶鏈轰腑浜岀淮鐮佷俊鎭�,璇诲彇宸ヤ欢浜岀淮鐮�:{item["鎵撴爣鍐呭"].ToString()}");
-
                                             if (item == null) break;
                                             wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                                             wplog.WorkPieceID = item["鎵撴爣鍐呭"].ToString();
                                             wplog.OfflineTime = Convert.ToDateTime(dataTime);
                                             wplog.Remarks = item["鏃堕棿"].ToString() + "|" + item["鎵撴爣鍐呭"].ToString() + "|" + item["鎵撴爣鍐呭"].ToString() + "|" + item["鎵爜绛夌骇"].ToString() + "|" + item["鎵爜缁撴灉"].ToString();
+                                            //杞崲
+                                            WorkPieceLog newLog = EntityPropHelper.Mapper<WorkPieceLog, WorkPieceLog>(wplog);
+                                            wplogs.Add(newLog);
+                                        }
+                                        //鏌ヨ鏁版嵁锛岃繃婊�
+                                        var queryList = wplogs.Select(x => x.WorkPieceID).ToList();
+                                        List<WorkPieceProcess> new_exist_WorkPieceProcess = new List<WorkPieceProcess>();
+                                        using (DbModel db = new DbModel())
+                                        {
+                                            //鎵惧埌鏁版嵁搴撲腑宸叉湁杩欎釜宸ュ簭鐨勬暟鎹�
+                                            new_exist_WorkPieceProcess = db.WorkPieceProcess.Where(o => queryList.Contains(o.WorkPieceID)
+                                            && o.WorkingProcedureCurrent == _dataCaptureConfig.WorkingProcedure).ToList();
+                                        }
+                                        var querynew__exist_WorkPieceProcessList = new_exist_WorkPieceProcess.Select(x => x.WorkPieceID).ToList();
+                                        //鎵惧埌闇�瑕佹柊澧炵殑鏁版嵁
+                                        wplogs = wplogs.Where(x => !querynew__exist_WorkPieceProcessList.Contains(x.WorkPieceID)).ToList();
+                                        foreach (var item in wplogs)
+                                        {
+                                            Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure),
+                                                   $"{_dataCaptureConfig.WorkingProcedure}宸ュ簭璇诲彇宸ユ帶鏈轰腑浜岀淮鐮佷俊鎭�,璇诲彇宸ヤ欢浜岀淮鐮�:{item.WorkPieceID.ToString()}");
+                                           
                                             WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), null, _dataCaptureConfig.IsFeedback);
 
                                             threadStatusMonitor.Threadstatue = 1;
                                         }
 
-
+                                        //璁板綍涓嬫渶鍚庝竴涓爜
+                                        lastHandlerWorkPileIDForOP0501 = Convert.ToString(dt.Rows[dt.Rows.Count - 1]["鎵撴爣鍐呭"]);
                                     }
                                 }
 

--
Gitblit v1.9.3