schangxiang@126.com
2024-09-10 03de13b2a5357916a7b6ec2f3e8a9ff6ca2e3970
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
 
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,
                        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)
                {
                    Log4NetHelper.WriteErrorLog(_LogType, "MonitorTestForLine异常:" + ex.Message, ex);
                }
            });
        }
    }
}