ningshuxia
2022-10-27 9d231531d16b2ae2b908c799f99e4189f0b96250
Socket/IStation.DataDockingSocket4NT/control/SendControlJobHelper.cs
@@ -1,4 +1,5 @@
using IStation.Untity;
using IStation.DataDockingSocket.MsgHandle;
using IStation.Untity;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -10,8 +11,11 @@
    /// <summary>
    /// 发送控制指令辅助类
    /// </summary>
    public class SendControlJobHelper
    public class SendControlJobHelper
    {
        /// <summary>
        /// 从MQ里面获取控制指令 辅助类
        /// </summary>
        private static RabbitMqExChangeHelper _queueHelper = null;
        /// <summary>
@@ -43,31 +47,53 @@
                {
                    try
                    {
                        if(paras==null)
                        if (paras == null)
                        {
                            LogHelper.Info("南通控制命令,数据序列化失败");
                            NtLogHelper.Info("南通控制命令,数据序列化失败");
                            return true;
                        }
                        var bts = BitTransfer.FromString(paras.Instruction);
                        if (session != null)
                        switch (paras.ControlType)
                        {
                            if (session.IsConnected)
                            {
                                session.Send(bts, 0, bts.Length);
                                LogHelper.Info(session.SessionName + ":" +paras.Instruction + ", 发送一条请求控制指令");
                            }
                            case Model.MonitorTestControlParas.eControlType.Stop:
                                {
                                    ShunDownMsgHelper.StartJob(session);
                                }
                                break;
                            case Model.MonitorTestControlParas.eControlType.Start:
                                {
                                    if (string.IsNullOrEmpty(paras.Context))
                                        return false;
                                    var context = Model.MonitorTestControlParas.StartContext.ToModel(paras.Context);
                                    if (context == null)
                                        return default;
                                    switch (context.OperatingMode)
                                    {
                                        case Model.MonitorTestControlParas.eOperatingMode.Timing:
                                            break;
                                        case Model.MonitorTestControlParas.eOperatingMode.ConstantFlow:
                                            break;
                                        default:
                                            break;
                                    }
                                    // StartUpMsgHelper.StartJob(session);
                                }
                                break;
                            default:
                                return false;
                        }
                        return true;
                    }
                    catch (Exception ex)
                    {
                        LogHelper.Error("南通控制命令,数据消息队列出错,自动跳过", ex);
                        NtLogHelper.Error("南通控制命令,数据消息队列出错,自动跳过", ex);
                        return true;
                    }
                });
            });
        }
    }
}