Example #1
0
        /// <summary>
        ///  更新一条数据
        /// </summary>
        public bool Update(ESMonitor.Model.TaskNotice model)
        {
            int rowsAffected = 0;

            SqlParameter[] parameters =
            {
                new SqlParameter("@TaskId",     SqlDbType.BigInt,    8),
                new SqlParameter("@DevId",      SqlDbType.Int,       4),
                new SqlParameter("@Data",       SqlDbType.Binary, 1000),
                new SqlParameter("@Length",     SqlDbType.Int,       4),
                new SqlParameter("@UpdateTime", SqlDbType.SmallDateTime)
            };
            parameters[0].Value = model.TaskId;
            parameters[1].Value = model.DevId;
            parameters[2].Value = model.Data;
            parameters[3].Value = model.Length;
            parameters[4].Value = model.UpdateTime;

            DbHelperSQL.RunProcedure("T_TaskNotice_Update", parameters, out rowsAffected);
            if (rowsAffected > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #2
0
 /// <summary>
 /// 得到一个对象实体
 /// </summary>
 public ESMonitor.Model.TaskNotice DataRowToModel(DataRow row)
 {
     ESMonitor.Model.TaskNotice model = new ESMonitor.Model.TaskNotice();
     if (row != null)
     {
         if (row["TaskId"] != null && row["TaskId"].ToString() != "")
         {
             model.TaskId = long.Parse(row["TaskId"].ToString());
         }
         if (row["DevId"] != null && row["DevId"].ToString() != "")
         {
             model.DevId = int.Parse(row["DevId"].ToString());
         }
         if (row["Data"] != null && row["Data"].ToString() != "")
         {
             model.Data = (byte[])row["Data"];
         }
         if (row["Length"] != null && row["Length"].ToString() != "")
         {
             model.Length = int.Parse(row["Length"].ToString());
         }
         if (row["UpdateTime"] != null && row["UpdateTime"].ToString() != "")
         {
             model.UpdateTime = DateTime.Parse(row["UpdateTime"].ToString());
         }
     }
     return(model);
 }
Example #3
0
        protected void OnUpdateAES(object sender, EventArgs e)
        {
            ESMonitor.Model.Tasks model = new ESMonitor.Model.Tasks();
            DevCtrlCmd            cmd   = new DevCtrlCmd();

            cmd.NodeId = nodeId;
            cmd.EncodeCMPReadCmd();
            cmd.GetTaskModel(ref model);
            long taskId = 0;

            taskId = TBll.Add(model);
            if (taskId > 0)
            {
                ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert(\"ok\");</script>");
                while (true)
                {
                    byte[] data = new byte[1000];
                    ESMonitor.Model.TaskNotice noticModel = TNBll.GetModel(taskId);
                    if (model != null)
                    {
                        var data1 = noticModel.Data;
                        lblSearchResult.Text = Convert.ToString(data1[2]);
                        break;
                    }
                }
            }
            else
            {
                ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert(\"error\");</script>");
            }
        }
Example #4
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public ESMonitor.Model.TaskNotice GetModel(long TaskId)
        {
            SqlParameter[] parameters =
            {
                new SqlParameter("@TaskId", SqlDbType.BigInt, 8)
            };
            parameters[0].Value = TaskId;

            ESMonitor.Model.TaskNotice model = new ESMonitor.Model.TaskNotice();
            DataSet ds = DbHelperSQL.RunProcedure("T_TaskNotice_GetModel", parameters, "ds");

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(DataRowToModel(ds.Tables[0].Rows[0]));
            }
            else
            {
                return(null);
            }
        }
Example #5
0
        private void GetTaskNotice(HttpContext context)
        {
            if (context.Request.Params["task"] == null)
            {
                _json.error = "非法请求";
                return;
            }

            long taskId = Convert.ToInt64(context.Request.Params["task"]);

            ESMonitor.Model.TaskNotice model = _tnBll.GetModel(taskId);

            if (model != null)
            {
                ResponseCmd(model);
                _json.totalCount = 1;
                _json.success    = true;
            }
            else
            {
                _json.success = false;
                _json.error   = "查询中...";
            }
        }
Example #6
0
        private void ResponseCmd(ESMonitor.Model.TaskNotice model)
        {
            DevCtrlResponseCmd cmd = new DevCtrlResponseCmd();

            bool flag = cmd.DecodeFrame(model.Data, model.Length);

            if (flag)
            {
                switch (cmd.CmdByte)
                {
                case 0x1F:     //读取CMP
                {
                    double cmp = 0;
                    cmd.DecodeCMPReadCmd(ref cmp);
                    _json.AddItem("CMPState", "1");
                    _json.AddItem("CMP", cmp.ToString(CultureInfo.CurrentCulture));
                }

                break;

                case 0x2F:
                {
                    if (cmd.CmdType == 0xFB)
                    {
                        if (cmd.Data[0] == 0xFF)
                        {
                            _json.AddItem("coordinate", "null");
                            break;
                        }
                        byte[] data = new byte[24];
                        for (int i = 0; i < 24; i++)
                        {
                            if (cmd.Data[i] == 0x00)
                            {
                                data[i] = 0x30;
                            }
                            else
                            {
                                data[i] = cmd.Data[i];
                            }
                        }
                        string coordinate     = Encoding.ASCII.GetString(data, 0, 24).Insert(12, ",");
                        string url            = string.Format("http://api.map.baidu.com/geoconv/v1/?coords={0}&from=1&to=5&ak=0DpSiAEhexZzZR7c7pkYFq7E", coordinate);
                        var    request        = (HttpWebRequest)WebRequest.Create(url);
                        var    response       = request.GetResponse();
                        var    responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
                        JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
                        var    obj       = (Dictionary <string, object>)((object[])((Dictionary <string, object>)jsonSerializer.DeserializeObject(responseString))["result"])[0];
                        double longitude = double.Parse(obj["x"].ToString());
                        double latitude  = double.Parse(obj["y"].ToString());
                        coordinate = longitude.ToString("F6") + ";" + latitude.ToString("F6");

                        _json.AddItem("coordinate", coordinate);
                        break;
                    }
                    UInt16 cycleTime = 0;
                    cmd.DecodeCMPCycleSetCmd(ref cycleTime);
                    _json.AddItem("Cycle", cycleTime.ToString());
                }
                break;

                case 0x3F:
                {
                    byte state = 0;
                    cmd.DecodeCMStopCmd(ref state);
                    _json.AddItem("State", state.ToString());
                }
                break;

                case 0x4F:
                {
                    byte state = 0;
                    cmd.DecodeBGTestStartCmd(ref state);
                    _json.AddItem("State", state.ToString());
                }
                break;

                case 0x5F:
                {
                    byte state = 0;
                    cmd.DecodeBGTestStopCmd(ref state);
                    _json.AddItem("State", state.ToString());
                }
                break;

                case 0x6F:
                {
                    byte state = 0;
                    cmd.DecodeBGTestResultCmd(ref state);
                    _json.AddItem("State", state.ToString());
                }
                break;

                case 0x7F:
                {
                    byte state = 0;
                    cmd.DecodeSPANTestStartCmd(ref state);
                    _json.AddItem("State", state.ToString());
                }
                break;

                case 0x8F:
                {
                    byte state = 0;
                    cmd.DecodeSPANTestStopCmd(ref state);
                    _json.AddItem("State", state.ToString());
                }
                break;

                case 0x9F:
                {
                    byte state = 0;
                    cmd.DecodeSPANTestResultCmd(ref state);
                    _json.AddItem("State", state.ToString());
                }
                break;

                case 0xAF:
                {
                    byte state = 0;
                    cmd.DecodeSetOUT1Cmd(ref state);
                    _json.AddItem("State", state.ToString());
                }
                break;

                case 0xBF:
                {
                    byte state = 0;
                    cmd.DecodeSetOUT2Cmd(ref state);
                    _json.AddItem("State", state.ToString());
                }
                break;

                case 0x1D:
                {
                    double noise = 0;
                    cmd.DecodeUpInstNoiseOpenCmd(ref noise);
                    _json.AddItem("Noise", noise.ToString(CultureInfo.CurrentCulture));
                }
                break;

                case 0x2D:
                {
                    cmd.DecodeUpInstNoiseCloseCmd();
                }
                break;

                case 0x3D:
                {
                    double noise = 0;
                    cmd.DecodeUpInstNoiseCmd(ref noise);
                    _json.AddItem("Noise", noise.ToString(CultureInfo.CurrentCulture));
                }
                break;

                case 0x4D:
                {
                    double noise = 0;
                    cmd.DecodeUpOneSecNoiseOpenCmd(ref noise);
                    _json.AddItem("Noise", noise.ToString(CultureInfo.CurrentCulture));
                }
                break;

                case 0x5D:
                {
                    cmd.DecodeUpOneSecNoiseCloseCmd();
                }
                break;

                case 0x6D:
                {
                    double noise = 0;
                    cmd.DecodeUpOneSecNoiseCmd(ref noise);
                    _json.AddItem("NoiseState", "1");
                    _json.AddItem("Noise", noise.ToString(CultureInfo.CurrentCulture));
                }
                break;

                case 0x7D:
                {
                    bool state;
                    state = cmd.DecodeSetZWCmd();
                    _json.AddItem("State", (Convert.ToByte(state)).ToString());
                }
                break;

                case 0x8D:
                {
                    bool state = false;
                    cmd.DecodeSetCWCmd();
                    _json.AddItem("State", (Convert.ToByte(state)).ToString());
                }
                break;

                case 0x9D:
                {
                    bool state = false;
                    cmd.DecodeSetAWCmd();
                    _json.AddItem("State", (Convert.ToByte(state)).ToString());
                }
                break;

                case 0xAD:
                {
                    bool state = false;
                    cmd.DecodeSetFGCmd();
                    _json.AddItem("State", (Convert.ToByte(state)).ToString());
                }
                break;

                case 0xBD:
                {
                    bool state = false;
                    cmd.DecodeSetSGCmd();
                    _json.AddItem("State", (Convert.ToByte(state)).ToString());
                }
                break;

                case 0xCD:
                {
                    bool state = false;
                    cmd.DecodeSetIGCmd();
                    _json.AddItem("State", (Convert.ToByte(state)).ToString());
                }
                break;

                case 0x1B:
                {
                    byte state = 0;
                    flag = cmd.DecodeWindDirWriteDevAddrCmd(ref state);
                    _json.AddItem("State", state.ToString());
                }
                break;

                case 0x2B:
                {
                    byte   addr    = 0;
                    UInt16 windDir = 0;
                    cmd.DecodeReadWindDirCmd(ref addr, ref windDir);
                    _json.AddItem("WindDirState", "1");
                    _json.AddItem("WindDir", windDir.ToString());
                }
                break;

                case 0x1A:
                {
                    byte state = 0;
                    cmd.DecodeWindSpeedWriteDevAddrCmd(ref state);
                    _json.AddItem("State", state.ToString());
                }
                break;

                case 0x2A:
                {
                    byte   addr      = 0;
                    double windSpeed = 0;
                    cmd.DecodeReadWindSpeedCmd(ref addr, ref windSpeed);
                    _json.AddItem("WindSpeedState", "1");
                    _json.AddItem("WindSpeed", windSpeed.ToString());
                }
                break;

                case 0x19:
                {
                    double temperature = 0, humidity = 0;
                    flag = cmd.DecodeReadESDataCmd(ref temperature, ref humidity);
                    _json.AddItem("ESState", "1");
                    _json.AddItem("Temp", temperature.ToString());
                    _json.AddItem("Humidity", "1");
                    _json.AddItem("Humidity", humidity.ToString());
                }
                break;

                case 0x08:
                {
                    ESData esModel = new ESData();

                    cmd.DecodeReadAllDataCmd(ref esModel);

                    _json.AddItem("PMState", esModel.PmState.ToString());
                    _json.AddItem("Pm25", esModel.Pm25.ToString());
                    _json.AddItem("Pm100", esModel.Pm100.ToString());

                    _json.AddItem("CMPState", esModel.CmpState.ToString());
                    _json.AddItem("CMP", esModel.Cmp.ToString());

                    _json.AddItem("NoiseState", esModel.NoiseState.ToString());
                    _json.AddItem("Noise", esModel.Noise.ToString());

                    _json.AddItem("WindDirState", esModel.WindDirState.ToString());
                    _json.AddItem("WindDir", esModel.WindDir.ToString());

                    _json.AddItem("WindSpeedState", esModel.WindSpeedState.ToString());
                    _json.AddItem("WindSpeed", esModel.WindSpeed.ToString());

                    _json.AddItem("ESState", esModel.ESState.ToString());
                    _json.AddItem("Temp", esModel.Temperature.ToString());
                    _json.AddItem("Humidity", esModel.Humidity.ToString());
                    _json.AddItem("Time", model.UpdateTime.ToString());
                }
                break;

                case 0x17:
                {
                    byte state = 0;
                    cmd.DecodeSwitchAutoReport(ref state);
                    _json.AddItem("State", state.ToString());
                }
                break;
                }

                _json.ItemOk();
            }
            else
            {
                _json.success = false;
                _json.error   = "解析命令错误";
            }
        }