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/Utils/MonitorHelper.cs | 167 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 157 insertions(+), 10 deletions(-) diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/MonitorHelper.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/MonitorHelper.cs index c3f927a..c202ef8 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/MonitorHelper.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/MonitorHelper.cs @@ -1,11 +1,14 @@ 锘� +using iWare.Wms.Core; using iWare_SCADA_Model; +using log4net; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using static Org.BouncyCastle.Math.EC.ECCurve; namespace iWare_SCADA_BusinessLogical.Utils { @@ -21,26 +24,170 @@ /// <returns></returns> public static void MonitorTestForOP3501(DataCaptureConfig _dataCaptureConfig, object value, List<DataCaptureColumnConfig> colConfig, WorkPieceLog wplog) { - try + Task.Run(() => { - if (_dataCaptureConfig.DataCapturePointCode == "OP3501") + try + { + if (_dataCaptureConfig.DataCapturePointCode == "OP3501") + { + //璁板綍涓� 瑙﹀彂鐨勭偣浣嶅拰鎵惧埌鐨勪簩缁寸爜鍊� + var str = ""; + str = $"OP3501 瑙﹀彂鐨勭偣浣� DbNumber:{_dataCaptureConfig.DbNumber},Offset:{_dataCaptureConfig.Offset},鍊兼槸{value.ToString()}"; + + var col = colConfig.First(o => o.DataCapturePointCode == _dataCaptureConfig.DataCapturePointCode && o.DataCapturePointCname == "浜岀淮鐮�"); + + str += $",鑾峰彇浜岀淮鐮佸�� DbNumber:{col.DbNumber},Offset:{col.Offset},鍊兼槸{wplog.WorkPieceID.ToString()}"; + //str += $",鏁翠綋瀵硅薄 wplog鏄瘂JsonConvert.SerializeObject(wplog)}"; + + Log4NetHelper.WriteInfoLog(LogType.MonitorTest, str); + } + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(LogType.MonitorTest, "MonitorTestForOP3501寮傚父", ex); + } + }); + } + + + /// <summary> + /// 鐩戞帶鐐逛綅 + /// </summary> + /// <param name="value"></param> + /// <returns></returns> + public static void MonitorTestForLine(DataCaptureConfig _dataCaptureConfig, object value, List<DataCaptureColumnConfig> colConfig, string workPieceID) + { + Task.Run(() => + { + LogType _LogType = PLCManger.GetLogTypeForOnLine(_dataCaptureConfig.DataCapturePointCode); + try { //璁板綍涓� 瑙﹀彂鐨勭偣浣嶅拰鎵惧埌鐨勪簩缁寸爜鍊� var str = ""; - str = $"OP3501 瑙﹀彂鐨勭偣浣� DbNumber:{_dataCaptureConfig.DbNumber},Offset:{_dataCaptureConfig.Offset},鍊兼槸{value.ToString()}"; - var col = colConfig.First(o => o.DataCapturePointCode == _dataCaptureConfig.DataCapturePointCode && o.DataCapturePointCname == "浜岀淮鐮�"); - str += $",鑾峰彇浜岀淮鐮佸�� DbNumber:{col.DbNumber},Offset:{col.Offset},鍊兼槸{wplog.WorkPieceID.ToString()}"; + str += $",鑾峰彇浜岀淮鐮佸�� ,鍊兼槸{workPieceID}"; //str += $",鏁翠綋瀵硅薄 wplog鏄瘂JsonConvert.SerializeObject(wplog)}"; - Log4NetHelper.WriteInfoLog(LogType.MonitorTest, str); + Log4NetHelper.WriteInfoLog(_LogType, str); + + //涓嶆甯哥殑鐮佸啓鍏ユ暟鎹簱 + var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(workPieceID); + PieceLogTypeEnum pieceLogTypeEnum = PieceLogTypeEnum.姝e父; + if (isRight == false) + { + pieceLogTypeEnum = PieceLogTypeEnum.璇荤爜鍊煎紓甯�; + } + WorkPieceLog workPieceLog = new WorkPieceLog() + { + Id = Yitter.IdGenerator.YitIdHelper.NextId(), + WorkPieceID = workPieceID, + WorkingProcedure = _dataCaptureConfig.WorkingProcedure, + CreatedTime = DateTime.Now, + CreatedUserName = _dataCaptureConfig.DataCapturePointCode, + DataCapturePointCname = _dataCaptureConfig.DataCapturePointCname, + MyRemarks = "", + Remarks = pieceLogTypeEnum.ToString(), + PieceLogType = (int)pieceLogTypeEnum, + PieceLogTypeName = pieceLogTypeEnum.ToString() + }; + using (DbModel db = new DbModel()) + { + db.WorkPieceLog.Add(workPieceLog); + db.SaveChanges(); + } } - } - catch (Exception ex) + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(_LogType, "MonitorTestForLine寮傚父:" + ex.Message, ex); + } + }); + } + + + /// <summary> + /// 鐩戞帶鐐逛綅OP1004 + /// </summary> + /// <param name="value"></param> + /// <returns></returns> + public static void MonitorTestForOP1004(DataCaptureConfig _dataCaptureConfig, object value, List<DataCaptureColumnConfig> colConfig, string workPieceID, WorkPieceLogMiddle wplog) + { + Task.Run(() => { - Log4NetHelper.WriteErrorLog(LogType.MonitorTest, "MonitorTestForOP3501寮傚父", ex); - } + LogType _LogType = PLCManger.GetLogTypeForOnLine(_dataCaptureConfig.DataCapturePointCode); + try + { + //璁板綍涓� 瑙﹀彂鐨勭偣浣嶅拰鎵惧埌鐨勪簩缁寸爜鍊� + var str = ""; + + + str += $",鑾峰彇浜岀淮鐮佸�� ,鍊兼槸{workPieceID}"; + //str += $",鏁翠綋瀵硅薄 wplog鏄瘂JsonConvert.SerializeObject(wplog)}"; + + Log4NetHelper.WriteInfoLog(_LogType, str); + + //涓嶆甯哥殑鐮佸啓鍏ユ暟鎹簱 + var _MyRemarks = ""; + var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(workPieceID); + PieceLogTypeEnum pieceLogTypeEnum = PieceLogTypeEnum.姝e父; + if (isRight == false) + { + pieceLogTypeEnum = PieceLogTypeEnum.璇荤爜鍊煎紓甯�; + if (wplog.OP10Flag == "5") + { + pieceLogTypeEnum = PieceLogTypeEnum.浜岀淮鐮佽瘑鍒け璐�; + _MyRemarks = $"浜岀淮鐮佽瘑鍒け璐�,鏈哄簥杩斿洖鏍囪:{wplog.OP10Flag}"; + } + } + else + { + + } + switch (wplog.OP10Flag) + { + case "1": + _MyRemarks = $"NOOK鎺ㄥ嚭,鏈哄簥杩斿洖鏍囪:{wplog.OP10Flag}"; + break; + case "2": + case "3": + _MyRemarks = $"SPC鎺ㄥ嚭,鏈哄簥杩斿洖鏍囪:{wplog.OP10Flag}"; + break; + case "4": + pieceLogTypeEnum = PieceLogTypeEnum.鐘舵�佷笉鏄�; + _MyRemarks = $"鐘舵�佷笉鏄�,鏈哄簥杩斿洖鏍囪:{wplog.OP10Flag}"; + break; + case "5": + pieceLogTypeEnum = PieceLogTypeEnum.浜岀淮鐮佽瘑鍒け璐�; + _MyRemarks = $"浜岀淮鐮佽瘑鍒け璐�,鏈哄簥杩斿洖鏍囪:{wplog.OP10Flag}"; + break; + default: + break; + } + + WorkPieceLog workPieceLog = new WorkPieceLog() + { + Id = Yitter.IdGenerator.YitIdHelper.NextId(), + WorkPieceID = workPieceID, + WorkingProcedure = _dataCaptureConfig.WorkingProcedure, + CreatedTime = DateTime.Now, + CreatedUserName = _dataCaptureConfig.DataCapturePointCode, + DataCapturePointCname = _dataCaptureConfig.DataCapturePointCname, + MyRemarks = _MyRemarks, + Remarks = pieceLogTypeEnum.ToString(), + PieceLogType = (int)pieceLogTypeEnum, + PieceLogTypeName = pieceLogTypeEnum.ToString() + }; + using (DbModel db = new DbModel()) + { + db.WorkPieceLog.Add(workPieceLog); + db.SaveChanges(); + } + } + catch (Exception ex) + { + Log4NetHelper.WriteErrorLog(_LogType, "MonitorTestForOP1004寮傚父:" + ex.Message, ex); + } + }); } } } -- Gitblit v1.9.3