Exemple #1
0
        // 批量下发命令
        public APIRst YdBatchControlOfSsr(string v0Fun, string dataValue, string pStr)
        {
            APIRst rst = new APIRst();
            YdToGw gw  = new YdToGw(user.Ledger, user.Uid);
            V0Fun  fun = V0Fun.E;

            if (Enum.TryParse <V0Fun>(v0Fun, out fun) == false)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = "控制命令错误";
                return(rst);
            }
            //V0Fun fun = V0Fun.Ssr;
            try
            {
                foreach (string s in pStr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    gw.YdToGwCmd(CommFunc.ConvertDBNullToInt32(s), fun, dataValue);
                }
                rst.data = "";
            }
            catch (Exception ex)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = ex.Message;
                FileLog.WriteLog("批量下发命令错误(YdBatchControlOfSsr)", ex.Message + ex.StackTrace);
            }
            return(rst);
        }
Exemple #2
0
        // 批量下发命令
        private bool YdBatchControlOfSsr(string v0Fun, string dataValue, string pStr)
        {
            string msg = "";
            YdToGw gw  = new YdToGw(user.Ledger, user.Uid);
            V0Fun  fun = V0Fun.E;

            if (Enum.TryParse <V0Fun>(v0Fun, out fun) == false)
            {
                return(false);
            }
            //V0Fun fun = V0Fun.Ssr;
            try
            {
                foreach (string s in pStr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    gw.YdToGwCmd(CommFunc.ConvertDBNullToInt32(s), fun, dataValue);
                }
                return(true);
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                FileLog.WriteLog("获取状态列表错误 (GetYdBatchControlOfList)", ex.Message + ex.StackTrace);
            }
            return(false);
        }
Exemple #3
0
        /// <summary>
        /// 下发继电器状态
        /// </summary>
        /// <returns></returns>
        public APIRst YdMonitorOfIsRelay(string v0Fun, string dataValue, int module_id)
        {
            APIRst rst = new APIRst();
            YdToGw gw  = new YdToGw(user.Ledger, user.Uid);
            V0Fun  fun = V0Fun.E;

            if (Enum.TryParse <V0Fun>(v0Fun, out fun) == false)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = "控制命令错误";
                return(rst);
            }
            try
            {
                //根据Module_id找到对应的表v0_fun中继电器状态,保存设置的继电器状态
                DataTable dt  = bll.GetMm_idBymodule_id(module_id);
                int       cnt = 0;
                if (dt.Rows.Count != 0)
                {
                    int mm_id  = CommFunc.ConvertDBNullToInt32(dt.Rows[0]["Mm_id"]);
                    int fun_id = CommFunc.ConvertDBNullToInt32(dt.Rows[0]["Fun_id"]);
                    cnt = bll.SaveIsRelayInfo(module_id, fun_id, dataValue);
                }
                else
                {
                    rst.rst      = false;
                    rst.err.code = (int)ResultCodeDefine.Error;
                    rst.err.msg  = "该功能不存在与这个类型的电表中。";
                    return(rst);
                }
                if (cnt == 0)
                {
                    rst.rst      = false;
                    rst.err.code = (int)ResultCodeDefine.Error;
                    rst.err.msg  = "更新继电器状态错误";
                    return(rst);
                }
                //向网关下发指令
                gw.YdToGwCmd(module_id, fun, dataValue);
                rst.data = "";
            }
            catch (Exception ex)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = ex.Message;
                FileLog.WriteLog("获取下发继电器状态错误 (YdMonitorOfIsRelay)", ex.Message + ex.StackTrace);
            }
            return(rst);
        }
Exemple #4
0
        /// <summary>
        /// 下发控制
        /// </summary>
        /// <param name="pStr">module_id</param>
        /// <param name="fun_id"></param>
        /// <returns></returns>
        public APIRst SendCtrl(string pStr, int fun_id)
        {
            APIRst rst = new APIRst();
            YdToGw gw  = new YdToGw(user.Ledger, user.Uid);

            try
            {
                foreach (string s in pStr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    gw.YdToGwCmd(CommFunc.ConvertDBNullToInt32(s), fun_id);
                }
                rst.data = "";
            }
            catch (Exception ex)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = ex.Message;
                FileLog.WriteLog("批量下发命令错误(SendCtrl)", ex.Message + ex.StackTrace);
            }
            return(rst);
        }