schangxiang@126.com
2024-12-19 4422008672f79f74841e11f20430c5e76686e293
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/MonitorHelper.cs
@@ -1,4 +1,5 @@

using iWare.Wms.Core;
using iWare_SCADA_Model;
using log4net;
using Newtonsoft.Json;
@@ -50,7 +51,7 @@
        /// <summary>
        /// 监控上线
        /// 监控点位
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
@@ -65,30 +66,35 @@
                    var str = "";
                    str += $",上线获取二维码值 ,值是{workPieceID}";
                    str += $",获取二维码值 ,值是{workPieceID}";
                    //str += $",整体对象 wplog是{JsonConvert.SerializeObject(wplog)}";
                    Log4NetHelper.WriteInfoLog(_LogType, str);
                    //不正常的码写入数据库
                    var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(workPieceID);
                    PieceLogTypeEnum pieceLogTypeEnum = PieceLogTypeEnum.正常;
                    if (isRight == false)
                    {
                        WorkPieceLog workPieceLog = new WorkPieceLog()
                        {
                            Id = Yitter.IdGenerator.YitIdHelper.NextId(),
                            WorkPieceID = workPieceID,
                            WorkingProcedure = _dataCaptureConfig.WorkingProcedure,
                            CreatedTime = DateTime.Now,
                            CreatedUserName = _dataCaptureConfig.DataCapturePointCode,
                            MyRemarks = "读码值异常",
                            Remarks = "读码值异常"
                        };
                        using (DbModel db = new DbModel())
                        {
                            db.WorkPieceLog.Add(workPieceLog);
                            db.SaveChanges();
                        }
                        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)
@@ -97,5 +103,91 @@
                }
            });
        }
        /// <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(() =>
            {
                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.正常;
                    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);
                }
            });
        }
    }
}