protected void Page_Load(object sender, EventArgs e) { try { if (!Page.IsPostBack && !X.IsAjaxRequest) { var parms = new BUser().GetSysParams(30000001); if (parms.Count > 0) { var param1 = parms.Find(p => p.ParaData == 0); if (param1 != null && !String.IsNullOrEmpty(param1.ParaDisplay)) { var ip = param1.ParaDisplay; if (!ip.ToLower().StartsWith("http://")) { ip = String.Format("http://{0}", ip); } var param2 = parms.Find(p => p.ParaData == 1); if (param2 != null && !String.IsNullOrEmpty(param2.ParaDisplay)) { ip = String.Format("{0}:{1}", ip, param2.ParaDisplay); } Response.Redirect(ip, true); } } } } catch (Exception err) { WebUtility.WriteLog(EnmSysLogLevel.Error, EnmSysLogType.Exception, err.ToString(), Page.User.Identity.Name); WebUtility.ShowMessage(EnmErrType.Error, err.Message); } }
/// <summary> /// Show Group Nodes Display Window /// </summary> protected void ShowGroupNodeDisplayWindow(object sender, DirectEventArgs e) { try { GroupNodeDisplayFormPanel.Reset(); var parms = new BUser().GetSysParams(50000001); if (parms.Count > 0) { var param1 = parms.Find(p => p.ParaData == 0); if (param1 != null && param1.ParaDisplay != null && !string.IsNullOrEmpty(param1.ParaDisplay.Trim())) { var displays = Newtonsoft.Json.JsonConvert.DeserializeObject <List <IDValuePair <string, int> > >(param1.ParaDisplay); if (displays != null && displays.Count > 0) { var current = displays.Find(d => d.ID.Equals(Page.User.Identity.Name, StringComparison.CurrentCultureIgnoreCase)); if (current != null) { middisplay.Checked = (current.Value & 1) > 0; stafeaturesdisplay.Checked = (current.Value & 2) > 0; statypedisplay.Checked = (current.Value & 4) > 0; productordisplay.Checked = (current.Value & 8) > 0; } } } } GroupNodeDisplayWindow.Show(); } catch (Exception err) { WebUtility.WriteLog(EnmSysLogLevel.Error, EnmSysLogType.Exception, err.ToString(), Page.User.Identity.Name); WebUtility.ShowMessage(EnmErrType.Error, err.Message); } }
public void ShowVideoWindow() { try { VideoIPField.Clear(); VideoPortField.Clear(); VideoUIDField.Clear(); VideoPwdField.Clear(); VideoStatusBar.ClearStatus(); VideoWindow.Title = "云视讯设置"; var parms = new BUser().GetSysParams(30000001); if (parms.Count > 0) { var param1 = parms.Find(p => p.ParaData == 0); if (param1 != null) { VideoIPField.Text = param1.ParaDisplay; } var param2 = parms.Find(p => p.ParaData == 1); if (param2 != null) { VideoPortField.Text = param2.ParaDisplay; } var param3 = parms.Find(p => p.ParaData == 2); if (param3 != null) { VideoUIDField.Text = param3.ParaDisplay; } var param4 = parms.Find(p => p.ParaData == 3); if (param4 != null) { VideoPwdField.Text = param4.ParaDisplay; } } VideoWindow.Show(); } catch (Exception err) { WebUtility.WriteLog(EnmSysLogLevel.Error, EnmSysLogType.Exception, err.ToString(), Page.User.Identity.Name); WebUtility.ShowMessage(EnmErrType.Error, err.Message); } }
/// <summary> /// Show Alarm Exception Setting Window /// </summary> protected void ShowAlmExceptionSettingWindow(object sender, DirectEventArgs e) { try { var parms = new BUser().GetSysParams(40000001); if (parms.Count > 0) { var param1 = parms.Find(p => p.ParaData == 0); if (param1 != null) { AlmExSpinnerField1.Text = param1.ParaDisplay; } var param2 = parms.Find(p => p.ParaData == 1); if (param2 != null) { AlmExSpinnerField2.Text = param2.ParaDisplay; } var param3 = parms.Find(p => p.ParaData == 2); if (param3 != null) { AlmExSpinnerField3.Text = param3.ParaDisplay; } var param4 = parms.Find(p => p.ParaData == 3); if (param4 != null) { AlmExSpinnerField4.Text = param4.ParaDisplay; } var param5 = parms.Find(p => p.ParaData == 4); if (param5 != null) { AlmExSpinnerField5.Text = param5.ParaDisplay; } var param6 = parms.Find(p => p.ParaData == 5); if (param6 != null) { AlmExTextField1.Text = param6.ParaDisplay; } } AlmExceptionParamWindow.Show(); } catch (Exception err) { WebUtility.WriteLog(EnmSysLogLevel.Error, EnmSysLogType.Exception, err.ToString(), Page.User.Identity.Name); WebUtility.ShowMessage(EnmErrType.Error, err.Message); } }
/// <summary> /// Add Data To Cache /// </summary> private DataTable AddDataToCache() { var userData = UserData; var cacheKey1 = WebUtility.GetCacheKeyName(userData, "important-alarm-source1"); var cacheKey2 = WebUtility.GetCacheKeyName(userData, "important-alarm-source2"); HttpRuntime.Cache.Remove(cacheKey1); HttpRuntime.Cache.Remove(cacheKey2); if (String.IsNullOrEmpty(CountItemField.RawValue.ToString())) { return(null); } var values = WebUtility.StringSplit(CountItemField.RawValue.ToString()); var beginTime = Convert.ToDateTime(BeginFromDate.Text); var endTime = Convert.ToDateTime(BeginToDate.Text); var levels = new Dictionary <Int32, String>(); var len = AlarmLevelMultiCombo.SelectedItems.Count; if (len == 0) { return(null); } for (int i = 0; i < len; i++) { var key = Int32.Parse(AlarmLevelMultiCombo.SelectedItems[i].Value); var value = AlarmLevelMultiCombo.SelectedItems[i].Text; levels[key] = value; } var parms = new BUser().GetSysParams(40000001); var parm0 = parms.Find(p => p.ParaData == 0); var parm1 = parms.Find(p => p.ParaData == 1); var parm2 = parms.Find(p => p.ParaData == 2); var parm3 = parms.Find(p => p.ParaData == 3); var parm4 = parms.Find(p => p.ParaData == 4); var parm5 = parms.Find(p => p.ParaData == 5); if (parm5 == null) { return(null); } var colcnt = MainGridPanel.ColumnModel.Columns.Count; var countType = CountTypeComboBox.SelectedItem.Value; var condition = new List <GroupTreeInfo>(); var source1 = CreateCustomizeTable(colcnt); var source2 = new Dictionary <String, List <AlarmInfo> >(); if (countType.Equals("0")) { #region Lsc foreach (var v in values) { var ids = WebUtility.ItemSplit(v); if (ids.Length != 5) { continue; } var lscId = Int32.Parse(ids[0]); var groupId = Int32.Parse(ids[1]); var nodeId = Int32.Parse(ids[2]); var nodeType = Int32.Parse(ids[3]); var remark = ids[4]; var enmNodeType = Enum.IsDefined(typeof(EnmNodeType), nodeType) ? (EnmNodeType)nodeType : EnmNodeType.Null; if (enmNodeType == EnmNodeType.LSC) { condition.Add(new GroupTreeInfo() { LscID = lscId, GroupID = groupId, NodeID = nodeId, NodeType = enmNodeType, Remark = remark }); } } var ls = from c in condition group c by new { c.LscID } into g select new { g.Key.LscID }; foreach (var l in ls) { var lscUser = userData.LscUsers.Find(lu => { return(lu.LscID == l.LscID); }); if (lscUser == null) { continue; } var dr1 = source1.NewRow(); dr1[1] = lscUser.LscName; var alarms = WebUtility.GetUserAlarms(userData).FindAll(alarm => alarm.LscID == lscUser.LscID && alarm.StartTime >= beginTime && alarm.StartTime <= endTime); alarms.AddRange(new BAlarm().GetHisAlarms(lscUser.LscID, lscUser.LscName, userData.StandardProtocol, lscUser.Group.GroupNodes, beginTime, endTime)); alarms = alarms.FindAll(a => levels.ContainsKey((Int32)a.AlarmLevel)); if (alarms.Count > 0) { alarms = (from a in alarms join n in new BNode().GetNodes(lscUser.LscID, EnmNodeType.Img, null, new string[] { parm5.ParaDisplay }, null) on a.NodeID equals n.NodeID select a).ToList(); } dr1[2] = alarms.Count; source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[2].ColumnName)] = alarms; if (parm0 != null) { var alarm0 = (from a in alarms group a by new { a.NodeID } into g where g.Count() >= Int32.Parse(parm0.ParaDisplay) select new { Alarms = g }).SelectMany(a => a.Alarms).ToList(); dr1[3] = alarm0.Count; dr1[4] = String.Format("{0:P2}", alarms.Count > 0 ? (double)alarm0.Count / (double)alarms.Count : 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[3].ColumnName)] = alarm0; } else { dr1[3] = 0; dr1[4] = String.Format("{0:P2}", 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[3].ColumnName)] = new List <AlarmInfo>(); } if (parm1 != null) { var interval = Double.Parse(parm1.ParaDisplay); var alarm1 = alarms.FindAll(a => (a.EndTime == WebUtility.DefaultDateTime ? endTime.Subtract(a.StartTime) : a.EndTime.Subtract(a.StartTime)).TotalSeconds <= interval); dr1[5] = alarm1.Count; dr1[6] = String.Format("{0:P2}", alarms.Count > 0 ? (double)alarm1.Count / (double)alarms.Count : 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[5].ColumnName)] = alarm1; } else { dr1[5] = 0; dr1[6] = String.Format("{0:P2}", 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[5].ColumnName)] = new List <AlarmInfo>(); } source1.Rows.Add(dr1); } #endregion } else if (countType.Equals("1")) { #region Area=2 foreach (var v in values) { var ids = WebUtility.ItemSplit(v); if (ids.Length != 5) { continue; } var lscId = Int32.Parse(ids[0]); var groupId = Int32.Parse(ids[1]); var nodeId = Int32.Parse(ids[2]); var nodeType = Int32.Parse(ids[3]); var remark = ids[4]; var enmNodeType = Enum.IsDefined(typeof(EnmNodeType), nodeType) ? (EnmNodeType)nodeType : EnmNodeType.Null; if (enmNodeType == EnmNodeType.Area && remark.Equals("2")) { condition.Add(new GroupTreeInfo() { LscID = lscId, GroupID = groupId, NodeID = nodeId, NodeType = enmNodeType, Remark = remark }); } } var ls = from c in condition group c by new { c.LscID } into g select new { g.Key.LscID }; foreach (var l in ls) { var lscUser = userData.LscUsers.Find(lu => { return(lu.LscID == l.LscID); }); if (lscUser == null) { continue; } var alarms = WebUtility.GetUserAlarms(userData).FindAll(alarm => alarm.LscID == lscUser.LscID && alarm.StartTime >= beginTime && alarm.StartTime <= endTime); alarms.AddRange(new BAlarm().GetHisAlarms(lscUser.LscID, lscUser.LscName, userData.StandardProtocol, lscUser.Group.GroupNodes, beginTime, endTime)); alarms = alarms.FindAll(a => levels.ContainsKey((Int32)a.AlarmLevel)); var temp0 = from a in alarms join n in new BNode().GetNodes(lscUser.LscID, EnmNodeType.Img, null, new string[] { parm5.ParaDisplay }, null) on a.NodeID equals n.NodeID select new { Node = n, Alarm = a }; var areas = from a in new BOther().GetAreas(lscUser.LscID, lscUser.Group.GroupID, 2) join c in condition on new { a.LscID, a.Area2ID } equals new { c.LscID, Area2ID = c.NodeID } select a; foreach (var area in areas) { var dr1 = source1.NewRow(); dr1[1] = area.LscName; dr1[2] = area.Area2Name; var temp3 = temp0.Where(a => a.Node.Area2ID == area.Area2ID); var temp4 = temp3.Any() ? temp3.Select(a => a.Alarm).ToList() : new List <AlarmInfo>(); dr1[3] = temp4.Count; source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[3].ColumnName)] = temp4; if (parm0 != null) { var alarm0 = (from a in temp4 group a by new { a.NodeID } into g where g.Count() >= Int32.Parse(parm0.ParaDisplay) select new { Alarms = g }).SelectMany(a => a.Alarms).ToList(); dr1[4] = alarm0.Count; dr1[5] = String.Format("{0:P2}", temp4.Count > 0 ? (double)alarm0.Count / (double)temp4.Count : 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[4].ColumnName)] = alarm0; } else { dr1[4] = 0; dr1[5] = String.Format("{0:P2}", 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[4].ColumnName)] = new List <AlarmInfo>(); } if (parm1 != null) { var interval = Double.Parse(parm1.ParaDisplay); var alarm1 = temp4.FindAll(a => (a.EndTime == WebUtility.DefaultDateTime ? endTime.Subtract(a.StartTime) : a.EndTime.Subtract(a.StartTime)).TotalSeconds <= interval); dr1[6] = alarm1.Count; dr1[7] = String.Format("{0:P2}", temp4.Count > 0 ? (double)alarm1.Count / (double)temp4.Count : 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[6].ColumnName)] = alarm1; } else { dr1[6] = 0; dr1[7] = String.Format("{0:P2}", 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[6].ColumnName)] = new List <AlarmInfo>(); } source1.Rows.Add(dr1); } } #endregion } else if (countType.Equals("2")) { #region Area=3 foreach (var v in values) { var ids = WebUtility.ItemSplit(v); if (ids.Length != 5) { continue; } var lscId = Int32.Parse(ids[0]); var groupId = Int32.Parse(ids[1]); var nodeId = Int32.Parse(ids[2]); var nodeType = Int32.Parse(ids[3]); var remark = ids[4]; var enmNodeType = Enum.IsDefined(typeof(EnmNodeType), nodeType) ? (EnmNodeType)nodeType : EnmNodeType.Null; if (enmNodeType == EnmNodeType.Area && remark.Equals("3")) { condition.Add(new GroupTreeInfo() { LscID = lscId, GroupID = groupId, NodeID = nodeId, NodeType = enmNodeType, Remark = remark }); } } var ls = from c in condition group c by new { c.LscID } into g select new { g.Key.LscID }; foreach (var l in ls) { var lscUser = userData.LscUsers.Find(lu => { return(lu.LscID == l.LscID); }); if (lscUser == null) { continue; } var alarms = WebUtility.GetUserAlarms(userData).FindAll(alarm => alarm.LscID == lscUser.LscID && alarm.StartTime >= beginTime && alarm.StartTime <= endTime); alarms.AddRange(new BAlarm().GetHisAlarms(lscUser.LscID, lscUser.LscName, userData.StandardProtocol, lscUser.Group.GroupNodes, beginTime, endTime)); alarms = alarms.FindAll(a => levels.ContainsKey((Int32)a.AlarmLevel)); var temp0 = from a in alarms join n in new BNode().GetNodes(lscUser.LscID, EnmNodeType.Img, null, new string[] { parm5.ParaDisplay }, null) on a.NodeID equals n.NodeID select new { Node = n, Alarm = a }; var areas = from a in new BOther().GetAreas(lscUser.LscID, lscUser.Group.GroupID, 3) join c in condition on new { a.LscID, a.Area3ID } equals new { c.LscID, Area3ID = c.NodeID } select a; foreach (var area in areas) { var dr1 = source1.NewRow(); dr1[1] = area.LscName; dr1[2] = area.Area2Name; dr1[3] = area.Area3Name; var temp3 = temp0.Where(a => a.Node.Area3ID == area.Area3ID); var temp4 = temp3.Any() ? temp3.Select(a => a.Alarm).ToList() : new List <AlarmInfo>(); dr1[4] = temp4.Count; source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[4].ColumnName)] = temp4; if (parm0 != null) { var alarm0 = (from a in temp4 group a by new { a.NodeID } into g where g.Count() >= Int32.Parse(parm0.ParaDisplay) select new { Alarms = g }).SelectMany(a => a.Alarms).ToList(); dr1[5] = alarm0.Count; dr1[6] = String.Format("{0:P2}", temp4.Count > 0 ? (double)alarm0.Count / (double)temp4.Count : 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[5].ColumnName)] = alarm0; } else { dr1[5] = 0; dr1[6] = String.Format("{0:P2}", 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[5].ColumnName)] = new List <AlarmInfo>(); } if (parm1 != null) { var interval = Double.Parse(parm1.ParaDisplay); var alarm1 = temp4.FindAll(a => (a.EndTime == WebUtility.DefaultDateTime ? endTime.Subtract(a.StartTime) : a.EndTime.Subtract(a.StartTime)).TotalSeconds <= interval); dr1[7] = alarm1.Count; dr1[8] = String.Format("{0:P2}", temp4.Count > 0 ? (double)alarm1.Count / (double)temp4.Count : 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[7].ColumnName)] = alarm1; } else { dr1[7] = 0; dr1[8] = String.Format("{0:P2}", 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[7].ColumnName)] = new List <AlarmInfo>(); } source1.Rows.Add(dr1); } } #endregion } else if (countType.Equals("3")) { #region Station foreach (var v in values) { var ids = WebUtility.ItemSplit(v); if (ids.Length != 5) { continue; } var lscId = Int32.Parse(ids[0]); var groupId = Int32.Parse(ids[1]); var nodeId = Int32.Parse(ids[2]); var nodeType = Int32.Parse(ids[3]); var remark = ids[4]; var enmNodeType = Enum.IsDefined(typeof(EnmNodeType), nodeType) ? (EnmNodeType)nodeType : EnmNodeType.Null; if (enmNodeType == EnmNodeType.Area && remark.Equals("3")) { condition.Add(new GroupTreeInfo() { LscID = lscId, GroupID = groupId, NodeID = nodeId, NodeType = enmNodeType, Remark = remark }); } } var ls = from c in condition group c by new { c.LscID } into g select new { g.Key.LscID }; foreach (var l in ls) { var lscUser = userData.LscUsers.Find(lu => { return(lu.LscID == l.LscID); }); if (lscUser == null) { continue; } var alarms = WebUtility.GetUserAlarms(userData).FindAll(alarm => alarm.LscID == lscUser.LscID && alarm.StartTime >= beginTime && alarm.StartTime <= endTime); alarms.AddRange(new BAlarm().GetHisAlarms(lscUser.LscID, lscUser.LscName, userData.StandardProtocol, lscUser.Group.GroupNodes, beginTime, endTime)); alarms = alarms.FindAll(a => levels.ContainsKey((Int32)a.AlarmLevel)); var temp0 = from a in alarms join n in new BNode().GetNodes(lscUser.LscID, EnmNodeType.Img, null, new string[] { parm5.ParaDisplay }, null) on a.NodeID equals n.NodeID select new { Node = n, Alarm = a }; var stations = from c in condition join s in new BOther().GetStations(lscUser.LscID, lscUser.Group.GroupID) on new { c.LscID, Area3ID = c.NodeID } equals new { s.LscID, s.Area3ID } select s; foreach (var sta in stations) { var dr1 = source1.NewRow(); dr1[1] = sta.LscName; dr1[2] = sta.Area2Name; dr1[3] = sta.Area3Name; dr1[4] = sta.StaName; var temp3 = temp0.Where(a => a.Node.StaID == sta.StaID); var temp4 = temp3.Any() ? temp3.Select(a => a.Alarm).ToList() : new List <AlarmInfo>(); dr1[5] = temp4.Count; source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[5].ColumnName)] = temp4; if (parm0 != null) { var alarm0 = (from a in temp4 group a by new { a.NodeID } into g where g.Count() >= Int32.Parse(parm0.ParaDisplay) select new { Alarms = g }).SelectMany(a => a.Alarms).ToList(); dr1[6] = alarm0.Count; dr1[7] = String.Format("{0:P2}", temp4.Count > 0 ? (double)alarm0.Count / (double)temp4.Count : 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[6].ColumnName)] = alarm0; } else { dr1[6] = 0; dr1[7] = String.Format("{0:P2}", 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[6].ColumnName)] = new List <AlarmInfo>(); } if (parm1 != null) { var interval = Double.Parse(parm1.ParaDisplay); var alarm1 = temp4.FindAll(a => (a.EndTime == WebUtility.DefaultDateTime ? endTime.Subtract(a.StartTime) : a.EndTime.Subtract(a.StartTime)).TotalSeconds <= interval); dr1[8] = alarm1.Count; dr1[9] = String.Format("{0:P2}", temp4.Count > 0 ? (double)alarm1.Count / (double)temp4.Count : 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[8].ColumnName)] = alarm1; } else { dr1[8] = 0; dr1[9] = String.Format("{0:P2}", 0); source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[8].ColumnName)] = new List <AlarmInfo>(); } source1.Rows.Add(dr1); } } #endregion } var cacheDuration = Int32.Parse(WebConfigurationManager.AppSettings["DefaultCacheDuration"]); HttpRuntime.Cache.Insert(cacheKey1, source1, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null); HttpRuntime.Cache.Insert(cacheKey2, source2, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null); return(source1); }