From 2b05362eba2f989b7857349cc9a3a1c12f8181b6 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周五, 26 9月 2025 11:35:50 +0800 Subject: [PATCH] 222 --- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_04.cs | 125 ++++++++++++++++++++++++++++------------- 1 files changed, 86 insertions(+), 39 deletions(-) diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_04.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_04.cs index a633781..eb6ce9f 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_04.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_04.cs @@ -1,4 +1,5 @@ 锘縰sing iWare_SCADA_BusinessLogical.BLL; +using iWare_SCADA_BusinessLogical.BLL.Important; using iWare_SCADA_BusinessLogical.Utils; using iWare_SCADA_Model; using iWare_SCADA_Model.MiddleModel; @@ -14,7 +15,7 @@ /// <summary> /// SPC鎺ㄥ嚭鏍囪 /// </summary> - public class DataCaptureHandler_04: DataCaptureHandler + public class DataCaptureHandler_04 : DataCaptureHandler { public static readonly DataCaptureHandler_04 Instance = new DataCaptureHandler_04(); @@ -45,6 +46,7 @@ { if (SystemValue.isStartedImitateModel) { + /* var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); @@ -52,8 +54,9 @@ wplog.EquipmentID = WorkingProcedure; wplog.Remarks = WorkingProcedure; wplog.MonitoringPoint = DataCapturePointCode; + //wplog.CreatedUserName = DataCapturePointCode; + SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref wplog, DataCapturePointCode, DataCapturePointCname); wplog.CreatedTime = DateTimeHelper.GetDateTime(); - wplog.CreatedUserName = DataCapturePointCode; wplog.IsDeleted = false; @@ -62,8 +65,8 @@ wplog.UpdatedTime = DateTimeHelper.GetDateTime(); wplog.UpdatedUserName = DataCapturePointCode; //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� - WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); - + WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + //*/ return; } ThreadStatusMonitorMiddle threadStatusMonitor = new ThreadStatusMonitorMiddle(); @@ -82,7 +85,7 @@ //plcService.Close(); //plcService.OpenService(); } - string value_04 = ""; + string value_04 = "FALSE"; while (true) { threadStatusMonitor.ErrorMsg = ""; @@ -108,21 +111,23 @@ else { var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); - if (value_04.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE")) - {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝 - //瑙﹀彂鎿嶄綔, 骞剁粰闈欐�佸彉閲忚祴鍊间负1 - //涓氬姟浠g爜 - threadStatusMonitor.Threadlastmodifytime = DateTime.Now; - WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); + WorkPieceLogMiddle wplog = null; + var value_bool = value.ToString().ToUpper().Equals("TRUE"); + if (value_bool) + { + wplog = new WorkPieceLogMiddle(); wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); wplog.WorkingProcedure = WorkingProcedure; wplog.EquipmentID = _dataCaptureConfig.EquipmentID; ; wplog.Remarks = WorkingProcedure; + + //wplog.WorkPieceID = "123456"; + wplog.MonitoringPoint = DataCapturePointCode; - wplog.WorkPieceID = "123456"; + //wplog.CreatedUserName = DataCapturePointCode; + SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref wplog, DataCapturePointCode, DataCapturePointCname); wplog.CreatedTime = DateTimeHelper.GetDateTime(); - wplog.CreatedUserName = DataCapturePointCode; - wplog.UpdatedUserName = Environment.MachineName+"鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); + wplog.UpdatedUserName = Environment.MachineName + "鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); wplog.UpdatedTime = DateTimeHelper.GetDateTime(); wplog.IsDeleted = false; foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) @@ -143,45 +148,87 @@ Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}宸ュ簭鐩戞帶spc鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佽祴鍊笺�恵WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝紓甯竰wplog.Id}", setex); } } - - if (_dataCaptureConfig.WorkingProcedure.Equals("OP20")|| _dataCaptureConfig.WorkingProcedure.Equals("OP60") - ) - {//op20,op50,op60 浼氬悓鏃舵帹鍑哄浠讹紝鎵�浠ョ壒娈婂鐞� - wplog.WorkPieceID = wplog.WorkPieceIDA; - wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢A"; - WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); - wplog.WorkPieceID = wplog.WorkPieceIDB; - wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢B"; - WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); - wplog.WorkPieceID = wplog.WorkPieceIDC; - wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢C"; - WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); - if(_dataCaptureConfig.WorkingProcedure.Equals("OP60")) + if (_dataCaptureConfig.WorkingProcedure.Equals("OP20") || _dataCaptureConfig.WorkingProcedure.Equals("OP60") + ) + { + MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceIDA); + MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceIDB); + MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceIDC); + if (_dataCaptureConfig.WorkingProcedure.Equals("OP60")) { - wplog.WorkPieceID = wplog.WorkPieceIDD; - wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢D"; - WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceIDD); } } else { - //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� - WorkPieceInfoManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + //鐩戞帶涓婄嚎 + MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID); } - threadStatusMonitor.Threadstatue = 1; + } + else + { + value_04 = value.ToString(); + } + + if (wplog != null) + { + if (_dataCaptureConfig.WorkingProcedure.Equals("OP20") || _dataCaptureConfig.WorkingProcedure.Equals("OP60") + ) + {//op20,op50,op60 浼氬悓鏃舵帹鍑哄浠讹紝鎵�浠ョ壒娈婂鐞� + if (value_04.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE")) + {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝 + //瑙﹀彂鎿嶄綔, 骞剁粰闈欐�佸彉閲忚祴鍊间负1 + //涓氬姟浠g爜 + threadStatusMonitor.Threadlastmodifytime = DateTime.Now; + + //op20,op50,op60 浼氬悓鏃舵帹鍑哄浠讹紝鎵�浠ョ壒娈婂鐞� + wplog.WorkPieceID = wplog.WorkPieceIDA; + wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢A"; + WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + wplog.WorkPieceID = wplog.WorkPieceIDB; + wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢B"; + WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + wplog.WorkPieceID = wplog.WorkPieceIDC; + wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢C"; + WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + if (_dataCaptureConfig.WorkingProcedure.Equals("OP60")) + { + wplog.WorkPieceID = wplog.WorkPieceIDD; + wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢D"; + WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); + } + + threadStatusMonitor.Threadstatue = 1; - //鍒ゆ柇鏄惁璺冲簭锛屼笂涓�宸ュ簭璐ㄩ噺鏄惁鍚堟牸 + } + value_04 = value.ToString(); + } + else + { + var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID); + if (isRight) + { + #region 澶勭悊涓氬姟 + if (value_04.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE")) + {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝 + //瑙﹀彂鎿嶄綔, 骞剁粰闈欐�佸彉閲忚祴鍊间负1 + //涓氬姟浠g爜 + threadStatusMonitor.Threadlastmodifytime = DateTime.Now; + //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� + WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); - //鍙嶉缁橮LC锛屽啓鍏� + threadStatusMonitor.Threadstatue = 1; + } + value_04 = value.ToString(); + #endregion + } + } } - value_04 = value.ToString(); - - } threadStatusMonitor.Remarks = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}"; -- Gitblit v1.9.3