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