schangxiang@126.com
2025-11-04 f5ed29dc26c7cd952d56ec5721a2efc43cd25992
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
using DataEntity.Share;
using DataEntity.Sockets.Base;
using DriverLib.Engine;
using Newtonsoft.Json;
using System;
using System.Windows;
using XCommon.Log;
using XCore;
using XImagingXhandler.XDAL;
using static HxEnum.OperationTypeEnum;
 
namespace XHandler.View.Dialog
{
    /// <summary>
    /// OperateDeviceDialog.xaml 的交互逻辑
    /// </summary>
    public partial class OperateDeviceDialog : Window
    {
        #region 变量
        /// <summary>
        /// 节点操作类型(1跳过、2重试、3终止)
        /// </summary>
        public NodeOperationTypeEnum OperMark = NodeOperationTypeEnum.Continue;
        /// <summary>
        /// 错误信息(客户端用)
        /// </summary>
        private ErrorClientData m_errorData = null;
        #endregion
 
        #region 构造函数
        /// <summary>
        /// 构造函数
        /// </summary>
        public OperateDeviceDialog(ErrorClientData errorData)
        {
            InitializeComponent();
            m_errorData = errorData;
            this.Owner = (Window)Shared.Main;
        }
        #endregion
 
        #region 初期表示
        /// <summary>
        /// 初期表示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Window_Load(object sender, RoutedEventArgs e)
        {
            try
            {
                #region 数据表示
                // 设备名称
                tBlockDeviceName.Text = m_errorData.ParameterModel.DeviceName;
                // 设备方法
                tBlockDeviceMethod.Text = m_errorData.ParameterModel.SendData.method;
                // 指令参数
                tBoxRemark.Text = JsonConvert.SerializeObject(m_errorData.ParameterModel.SendData);
                // 错误内容
                tBoxError.Text = m_errorData.Error.error_text;
                #endregion
 
                // 状态6 报错/急停 红闪/蜂鸣5S
                CommonBll.StatusLamp(6, false);
            }
            catch (Exception ex)
            {
                LoggerHelper.ErrorLog("ERROR:", ex);
            }
        }
        #endregion
 
        #region 取消
        /// <summary>
        /// 取消
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnCancel_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                OperMark = NodeOperationTypeEnum.Cancel;
                Close();
            }
            catch (Exception ex)
            {
                LoggerHelper.ErrorLog("ERROR:", ex);
            }
        }
        #endregion
 
        #region 重试
        /// <summary>
        /// 重试
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnRetry_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                // 获取最新参数信息
                m_errorData.ParameterModel.SendData = JsonConvert.DeserializeObject<HxSendBase>(tBoxRemark.Text);
                OperMark = NodeOperationTypeEnum.Retry;
                // 状态4 运行 绿色
                CommonBll.StatusLamp(4, false);
                Close();
            }
            catch (Exception ex)
            {
                LoggerHelper.ErrorLog("ERROR:", ex);
            }
        }
        #endregion
 
        #region 跳过
        /// <summary>
        /// 跳过
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnJump_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                OperMark = NodeOperationTypeEnum.Continue;
                // 状态4 运行 绿色
                CommonBll.StatusLamp(4, false);
                Close();
            }
            catch (Exception ex)
            {
                LoggerHelper.ErrorLog("ERROR:", ex);
            }
        }
        #endregion
    }
}