|
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
|
{
|
/// <summary>
|
/// 监控帮助类,测试用,后期要去掉
|
/// </summary>
|
public class MonitorHelper
|
{
|
/// <summary>
|
/// 监控OP3501,测试用,后期要去掉
|
/// </summary>
|
/// <param name="value"></param>
|
/// <returns></returns>
|
public static void MonitorTestForOP3501(DataCaptureConfig _dataCaptureConfig, object value, List<DataCaptureColumnConfig> colConfig, WorkPieceLog wplog)
|
{
|
Task.Run(() =>
|
{
|
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 += $",上线获取二维码值 ,值是{workPieceID}";
|
//str += $",整体对象 wplog是{JsonConvert.SerializeObject(wplog)}";
|
|
Log4NetHelper.WriteInfoLog(_LogType, str);
|
|
//不正常的码写入数据库
|
var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(workPieceID);
|
PieceLogTypeEnum pieceLogTypeEnum = PieceLogTypeEnum.正常;
|
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,
|
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, "MonitorTestForLine异常:" + ex.Message, ex);
|
}
|
});
|
}
|
}
|
}
|