/// <summary> /// 获取监测站信息 /// </summary> /// <param name="devId"></param> /// <returns></returns> public static StatInfo GetStatInfo(int devId) { StatInfo model = null; if (_devRelatedStatDic.ContainsKey(devId)) { model = _devRelatedStatDic[devId]; } else { var stat = new ESMonitor.BLL.Devs().GetDevStat(devId); if (stat != null) { var statInfo = new StatInfo { StatId = stat.Id, Country = stat.Country, StatCodeUp = 1 }; _devRelatedStatDic.Add(devId, statInfo); } } return(model); }
private void UpdateDevGps(DevCtrlResponseCmd cmd, int devId) { var statInfo = DevsManage.GetStatInfo(devId); var data = new byte[24]; for (var i = 0; i < 24; i++) { if (cmd.Data[i] == 0x00) { data[i] = 0x30; } else { data[i] = cmd.Data[i]; } } var sourceCoordinate = Encoding.ASCII.GetString(data, 0, 24).Insert(12, ","); var url = $"http://api.map.baidu.com/geoconv/v1/?coords={sourceCoordinate}&from=1&to=5&ak=0DpSiAEhexZzZR7c7pkYFq7E"; var request = (HttpWebRequest)WebRequest.Create(url); var response = request.GetResponse(); // ReSharper disable once AssignNullToNotNullAttribute var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); var result = JsonConvert.DeserializeObject <BaiduCordinateResult>(responseString); var bll = new ESMonitor.BLL.Devs(); var cor = result.result[0]; bll.UpdateGps(statInfo.StatId, cor.y, cor.x); }
public static int GetDevId(uint nodeId)//根据地址获得设备的编号 { var rst = 0; if (_devAddrDic.ContainsKey(nodeId)) { rst = _devAddrDic[nodeId]; } else { var dev = new ESMonitor.BLL.Devs().GetDevByNodeId(nodeId); if (dev != null) { var model = new DevStatus { Id = dev.Id, IsRegistered = false, RecvTime = DateTime.Now, Status = (int)CommStatus.DisConnect, HeartBeatTime = DateTime.Now, SendTime = DateTime.Now }; _devStatusDic.Add(model.Id, model); _devAddrDic.Add(nodeId, dev.Id); rst = dev.Id; } } return(rst); }
protected void btnSave_Click(object sender, EventArgs e) { string strErr = ""; if (this.txtDevCode.Text.Trim().Length == 0) { strErr += "DevCode不能为空!\\n"; } if (this.txtStatCode.Text.Trim().Length == 0) { strErr += "StatCode不能为空!\\n"; } if (!PageValidate.IsDateTime(txtStartTime.Text)) { strErr += "StartTime格式错误!\\n"; } if (!PageValidate.IsDateTime(txtPreEndTime.Text)) { strErr += "PreEndTime格式错误!\\n"; } if (!PageValidate.IsDateTime(txtEndTime.Text)) { strErr += "EndTime格式错误!\\n"; } if (!PageValidate.IsNumber(txtDevStatus.Text)) { strErr += "DevStatus格式错误!\\n"; } if (this.txtVideoURL.Text.Trim().Length == 0) { strErr += "VideoURL不能为空!\\n"; } if (strErr != "") { MessageBox.Show(this, strErr); return; } string DevCode = this.txtDevCode.Text; string StatCode = this.txtStatCode.Text; DateTime StartTime = DateTime.Parse(this.txtStartTime.Text); DateTime PreEndTime = DateTime.Parse(this.txtPreEndTime.Text); DateTime EndTime = DateTime.Parse(this.txtEndTime.Text); int DevStatus = int.Parse(this.txtDevStatus.Text); string VideoURL = this.txtVideoURL.Text; ESMonitor.Model.Devs model = new ESMonitor.Model.Devs(); model.DevCode = DevCode; model.StatCode = StatCode; model.StartTime = StartTime; model.PreEndTime = PreEndTime; model.EndTime = EndTime; model.DevStatus = DevStatus; model.VideoURL = VideoURL; ESMonitor.BLL.Devs bll = new ESMonitor.BLL.Devs(); bll.Add(model); Maticsoft.Common.MessageBox.ShowAndRedirect(this, "保存成功!", "add.aspx"); }
private void BindLocalCtrls() { ESMonitor.BLL.Devs LBll = new ESMonitor.BLL.Devs(); DataSet ds = new DataSet(); ds = LBll.GetList(""); this.ddlLocalCtrls.DataSource = ds; this.ddlLocalCtrls.DataTextField = "DevCode"; this.ddlLocalCtrls.DataValueField = "DevId"; //this.ddlLocalCtrls.DataBind(); }
private void ShowInfo(int Id) { ESMonitor.BLL.Devs bll = new ESMonitor.BLL.Devs(); ESMonitor.Model.Devs model = bll.GetModel(Id); this.lblId.Text = model.Id.ToString(); this.lblDevCode.Text = model.DevCode; this.lblStatCode.Text = model.StatCode; this.lblStartTime.Text = model.StartTime.ToString(); this.lblPreEndTime.Text = model.PreEndTime.ToString(); this.lblEndTime.Text = model.EndTime.ToString(); this.lblDevStatus.Text = model.DevStatus.ToString(); this.lblVideoURL.Text = model.VideoURL; }
protected void Page_Load(object sender, EventArgs e) { ESMonitor.BLL.Devs bll = new ESMonitor.BLL.Devs(); DataSet ds = bll.GetAllList(); foreach (DataRow dr in ds.Tables[0].Rows) { ListItem item = new ListItem { Value = dr["ID"].ToString(), Text = dr["DevCode"].ToString() }; selDevs.Items.Add(item); } selDevs.SelectedIndex = 1; }
public static void UpdateDevStats(int devId) { var stat = new ESMonitor.BLL.Devs().GetDevStat(devId); if (stat != null) { var statInfo = new StatInfo { StatId = stat.Id, Country = stat.Country, StatCodeUp = 1 }; _devRelatedStatDic[devId] = statInfo; } }
public static void Init() { _devStatusDic = new Dictionary <int, DevStatus>(); //初始化这两个结构 _devAddrDic = new Dictionary <uint, int>(); //编号和Id的关系 _devRelatedStatDic = new Dictionary <int, StatInfo>(); var bll = new ESMonitor.BLL.Devs();//生成一个业务层的设备类 var dt = bll.GetDevAddrList().Tables[0]; foreach (DataRow dr in dt.Rows) { var model = new DevStatus { Id = Convert.ToInt32(dr["DevId"]), IsRegistered = false, RecvTime = new DateTime(), Status = (int)CommStatus.DisConnect, HeartBeatTime = new DateTime(), SendTime = new DateTime() }; _devStatusDic.Add(model.Id, model); var addr = (byte[])(dr["NodeId"]); var nodeId = Utility.BytesToUint32(addr, 0, false); _devAddrDic.Add(nodeId, model.Id); } dt = bll.GetDevRelatedStat("").Tables[0]; foreach (DataRow dr in dt.Rows) { var statInfo = new StatInfo(); var devId = Convert.ToInt32(dr["DevId"]); statInfo.StatId = Convert.ToInt32(dr["StatId"]); statInfo.Country = dr["Country"].ToString(); statInfo.StatCodeUp = int.Parse(dr["StatCodeUp"].ToString()); _devRelatedStatDic.Add(devId, statInfo); } }
public static void Init() { devStatusDic = new Dictionary <int, DevStatus>(); //初始化这两个结构 devAddrDic = new Dictionary <UInt32, int>(); //编号和Id的关系 devRelatedStatDic = new Dictionary <int, StatInfo>(); ESMonitor.BLL.Devs bll = new ESMonitor.BLL.Devs();//生成一个业务层的设备类 DevStatus model = null; StatInfo statInfo = null; DataTable dt = bll.GetDevAddrList().Tables[0]; foreach (DataRow dr in dt.Rows) { model = new DevStatus(); //描述设备综合状态的一个model model.Id = Convert.ToInt32(dr["DevId"]); // model.IsRegistered = false; //是否注册 model.RecvTime = new DateTime(); //时间 model.Status = (int)ESMonApp.CommStatus.DisConnect; //设置连接状态为非连接 model.HeartBeatTime = new DateTime(); //心跳时间 model.SendTime = new DateTime(); //发送时间 devStatusDic.Add(model.Id, model); byte[] addr = (byte[])(dr["NodeId"]); UInt32 nodeId = Utility.BytesToUINT32(addr, 0, false); devAddrDic.Add(nodeId, model.Id); } dt = bll.GetDevRelatedStat("").Tables[0]; foreach (DataRow dr in dt.Rows) { statInfo = new StatInfo(); int devId = Convert.ToInt32(dr["DevId"]); statInfo.StatId = Convert.ToInt32(dr["StatId"]); statInfo.Country = dr["Country"].ToString(); statInfo.StatCodeUp = int.Parse(dr["StatCodeUp"].ToString()); devRelatedStatDic.Add(devId, statInfo); } }