Exemplo n.º 1
0
        /// <summary>
        /// Submit Nodes
        /// </summary>
        protected void SubmitNodes(object sender, SubmitEventArgs e)
        {
            try {
                var columns = new List <ACVFilterInfo>();
                foreach (var sNode in e.RootNode.Children)
                {
                    var column = new ACVFilterInfo();
                    column.ColName    = sNode.Text;
                    column.FilterItem = sNode.Attributes["filterItem"].ToString();
                    var filterType = Int32.Parse(sNode.Attributes["filterType"].ToString());
                    column.FilterType = Enum.IsDefined(typeof(EnmActiveValuesFiteType), filterType) ? (EnmActiveValuesFiteType)filterType : EnmActiveValuesFiteType.NodeName;
                    var nodeType = Int32.Parse(sNode.Attributes["vNodeType"].ToString());
                    column.NodeType = Enum.IsDefined(typeof(EnmNodeType), nodeType) ? (EnmNodeType)nodeType : EnmNodeType.Null;
                    column.DevName  = sNode.Attributes["devName"].ToString();
                    column.IsNew    = Boolean.Parse(sNode.Attributes["isNew"].ToString());
                    columns.Add(column);
                }

                if (columns.Count > 0 && LscsComboBox.SelectedItem != null)
                {
                    var nodeId = LscsComboBox.SelectedItem.Value;
                    var ids    = WebUtility.ItemSplit(nodeId);
                    if (ids.Length != 2)
                    {
                        WebUtility.ShowNotify(EnmErrType.Warning, "获取客户端参数时发生错误,数据保存失败!");
                        return;
                    }

                    var lscId     = Int32.Parse(ids[0]);
                    var groupId   = Int32.Parse(ids[1]);
                    var lscEntity = new BLsc();
                    var lsc       = lscEntity.GetLsc(lscId);
                    if (lsc == null)
                    {
                        WebUtility.ShowNotify(EnmErrType.Warning, "无法获取客户端信息,数据保存失败!");
                        return;
                    }

                    var userData = UserData;
                    var lscUser  = userData.LscUsers.Find(lui => { return(lui.LscID == lsc.LscID); });
                    if (lscUser == null)
                    {
                        WebUtility.ShowNotify(EnmErrType.Warning, "无法获取用户信息,数据保存失败!");
                        return;
                    }

                    var connectionString    = WebUtility.CreateLscConnectionString(lsc);
                    var reportSettingEntity = new BSetting();
                    columns = reportSettingEntity.UpdateLSCActiveValuesFilterCols(connectionString, lscUser.UID, columns);
                    reportSettingEntity.UpdateCSCActiveValuesFilterCols(lscUser.LscID, lscUser.UID, columns);
                    lscUser.ActiveValuesFiterItem = columns;
                    WebUtility.ShowNotify(EnmErrType.Info, "数据已保存成功!");
                }
            } catch (Exception err) {
                WebUtility.WriteLog(EnmSysLogLevel.Error, EnmSysLogType.Exception, err.ToString(), Page.User.Identity.Name);
                WebUtility.ShowMessage(EnmErrType.Error, err.Message);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// UDGSettingWestPanelSubmitNodes
        /// </summary>
        protected void UDGSettingWestPanelSubmitNodes(object sender, SubmitEventArgs e)
        {
            try {
                var lscId     = LscID;
                var udGroupID = UDGroupID;
                var lscEntity = new BLsc();
                var lsc       = lscEntity.GetLsc(lscId);
                if (lsc == null)
                {
                    WebUtility.ShowNotify(EnmErrType.Warning, "无法获取客户端信息,数据保存失败!");
                    return;
                }

                var userData = UserData;
                var lscUser  = userData.LscUsers.Find(lu => { return(lu.LscID == lsc.LscID); });
                if (lscUser == null)
                {
                    WebUtility.ShowNotify(EnmErrType.Warning, "无法获取用户信息,数据保存失败!");
                    return;
                }

                var cacheKey = WebUtility.GetCacheKeyName(userData, "udg-setting-devs");
                var devNodes = HttpRuntime.Cache[cacheKey] as List <GroupTreeInfo>;
                if (devNodes == null)
                {
                    WebUtility.ShowNotify(EnmErrType.Warning, "无法获取关联设备,数据保存失败!");
                    return;
                }

                var group = new UDGroupInfo();
                group.LscID        = lscId;
                group.UserID       = lscUser.UserID;
                group.UDGroupID    = udGroupID;
                group.UDGroupName  = UDGroupName.Text;
                group.UDGroupNodes = new List <UDGroupTreeInfo>();
                group.Enabled      = true;
                AddUDGSettingWestPanelSubmitNodes(devNodes, group, e.RootNode);

                var    groupEntity      = new BGroup();
                string connectionString = WebUtility.CreateLscConnectionString(lsc);
                group = groupEntity.SaveLSCUDGroupTreeNodes(connectionString, group);
                groupEntity.SaveCSCUDGroupTreeNodes(group);
                lscUser.UDGroups.RemoveAll(udg => { return(udg.UDGroupID == group.UDGroupID); });
                lscUser.UDGroups.Add(group);
                UDGroupID = group.UDGroupID;
                WebUtility.ShowNotify(EnmErrType.Info, "数据已保存成功!");
            } catch (Exception err) {
                WebUtility.WriteLog(EnmSysLogLevel.Error, EnmSysLogType.Exception, err.ToString(), Page.User.Identity.Name);
                WebUtility.ShowMessage(EnmErrType.Error, err.Message);
            }
        }
Exemplo n.º 3
0
        public string GetLscStates()
        {
            var userData  = UserData;
            var lscEntity = new BLsc();
            var newStates = new List <LscInfo>();

            foreach (var lscUser in userData.LscUsers)
            {
                var lsc = lscEntity.GetLsc(lscUser.LscID);
                if (lsc == null)
                {
                    continue;
                }
                if (lsc.Connected)
                {
                    continue;
                }
                newStates.Add(lsc);
            }

            if (newStates.Count == 0)
            {
                Session.Remove("LscStates");
                return(string.Empty);
            }

            var oldStates = new List <LscInfo>();

            if (Session["LscStates"] != null)
            {
                oldStates = Newtonsoft.Json.JsonConvert.DeserializeObject <List <LscInfo> >(Session["LscStates"].ToString());
            }

            var messages = new List <string>();
            var show     = false;

            foreach (var dc in newStates.OrderByDescending(d => d.ChangedTime))
            {
                if (!oldStates.Any(o => o.LscID == dc.LscID && o.ChangedTime == dc.ChangedTime))
                {
                    show = true;
                }
                messages.Add(string.Format("{0}<br/>[{1}] 服务器通信中断", WebUtility.GetDateString(dc.ChangedTime), dc.LscName));
            }

            Session["LscStates"] = Newtonsoft.Json.JsonConvert.SerializeObject(newStates);
            return(show ? Newtonsoft.Json.JsonConvert.SerializeObject(messages) : string.Empty);
        }
Exemplo n.º 4
0
        public void UpdateMarker(int olscId, int ostaId, int lscId, int staId, int mapType, double lng, double lat, string address)
        {
            try {
                var lscEntity = new BLsc();
                var lsc       = lscEntity.GetLsc(lscId);
                if (lsc == null)
                {
                    WebUtility.ShowNotify(EnmErrType.Warning, "无法获取客户端信息,数据更新失败!");
                    return;
                }

                var otherEntity      = new BOther();
                var enmMapType       = Enum.IsDefined(typeof(EnmMapType), mapType) ? (EnmMapType)mapType : EnmMapType.GPS;
                var connectionString = WebUtility.CreateLscConnectionString(lsc);
                otherEntity.UpdateMarker(olscId, ostaId, lscId, staId, enmMapType, lng, lat, address);
                otherEntity.UpdateLocalMarker(connectionString, ostaId, staId, enmMapType, lng, lat, address);
            } catch (Exception err) {
                WebUtility.WriteLog(EnmSysLogLevel.Error, EnmSysLogType.Exception, err.ToString(), Page.User.Identity.Name);
                WebUtility.ShowMessage(EnmErrType.Error, err.Message);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Add data to cache.
        /// </summary>
        private List <Report113Entity> AddDataToCache()
        {
            var userData  = UserData;
            var cacheKey1 = WebUtility.GetCacheKeyName(userData, "kpi-report-113");
            var cacheKey2 = WebUtility.GetCacheKeyName(userData, "kpi-report-113-02");

            HttpRuntime.Cache.Remove(cacheKey1);
            HttpRuntime.Cache.Remove(cacheKey2);

            var lscIds = new List <int>();

            if (LscsComboBox.SelectedIndex > 0)
            {
                var ids = WebUtility.ItemSplit(LscsComboBox.SelectedItem.Value);
                if (ids.Length == 2)
                {
                    var lscId   = Int32.Parse(ids[0]);
                    var groupId = Int32.Parse(ids[1]);
                    lscIds.Add(lscId);
                }
            }
            else
            {
                lscIds.AddRange(userData.LscUsers.Select(l => l.LscID));
            }
            if (lscIds.Count == 0)
            {
                return(null);
            }

            var staTypes = new Dictionary <Int32, String>();

            foreach (var dt in StaTypeMultiCombo.SelectedItems)
            {
                staTypes[Int32.Parse(dt.Value)] = dt.Text;
            }
            if (staTypes.Count == 0)
            {
                return(null);
            }

            var devTypes = new Dictionary <Int32, String>();

            foreach (var dt in DevTypeMultiCombo.SelectedItems)
            {
                devTypes[Int32.Parse(dt.Value)] = dt.Text;
            }
            if (devTypes.Count == 0)
            {
                return(null);
            }

            var otherEntity = new BOther();
            var lscEntity   = new BLsc();
            var source1     = new List <Report113Entity>();
            var source2     = new Dictionary <String, List <DeviceInfo> >();

            var virtualData = WebConfigurationManager.AppSettings["Kpi-HeNan-Virtual-Enable"] != null && WebConfigurationManager.AppSettings["Kpi-HeNan-Virtual-Enable"].Equals("1");
            var lscParms    = new List <LscParamInfo>();

            if (virtualData)
            {
                lscParms.AddRange(otherEntity.GetLscParam());
            }

            foreach (var id in lscIds)
            {
                var lsc = lscEntity.GetLsc(id);
                if (lsc == null)
                {
                    continue;
                }

                var devices1 = otherEntity.GetDevices(lsc.LscID).FindAll(d => staTypes.ContainsKey(d.StaTypeID) && devTypes.ContainsKey(d.DevTypeID));
                var devices2 = Report113Entity.GetDevices(lsc.LscID, lsc.LscName, WebUtility.CreateLscConnectionString(lsc));

                var record = new Report113Entity {
                    LscID     = lsc.LscID,
                    LscName   = lsc.LscName,
                    ThisCount = devices1.Count,
                    LastCount = devices2.Count
                };

                if (virtualData)
                {
                    var parm = lscParms.Find(l => l.LscID == lsc.LscID);
                    if (parm != null && parm.ElecDevTNumber != WebUtility.DefaultInt32)
                    {
                        record.ThisCount = parm.ElecDevTNumber;
                    }
                }

                source1.Add(record);
                source2[String.Format("{0}-ThisCount", lsc.LscID)] = devices1;
                source2[String.Format("{0}-LastCount", lsc.LscID)] = devices2;
            }

            if (source1.Count > 0)
            {
                source1.Add(new Report113Entity {
                    LscID     = -100,
                    LscName   = "汇总",
                    ThisCount = (Int32)source1.Sum(r => r.ThisCount),
                    LastCount = (Int32)source1.Sum(r => r.LastCount)
                });
            }

            int 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);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Add data to cache.
        /// </summary>
        private List <Report014Entity> AddDataToCache()
        {
            var userData = UserData;
            var cacheKey = WebUtility.GetCacheKeyName(userData, "kpi-report-014");

            HttpRuntime.Cache.Remove(cacheKey);

            var lscIds = new List <int>();

            if (LscsComboBox.SelectedIndex > 0)
            {
                var ids = WebUtility.ItemSplit(LscsComboBox.SelectedItem.Value);
                if (ids.Length == 2)
                {
                    var lscId   = Int32.Parse(ids[0]);
                    var groupId = Int32.Parse(ids[1]);
                    lscIds.Add(lscId);
                }
            }
            else
            {
                lscIds.AddRange(userData.LscUsers.Select(l => l.LscID));
            }
            if (lscIds.Count == 0)
            {
                return(null);
            }

            var lscEntity = new BLsc();
            var result    = new List <Report014Entity>();

            foreach (var id in lscIds)
            {
                var lsc = lscEntity.GetLsc(id);
                if (lsc == null)
                {
                    continue;
                }

                var parm   = Report014Entity.GetLscParam(lsc.LscID, WebUtility.CreateLscConnectionString(lsc));
                var record = new Report014Entity {
                    LscID     = lsc.LscID,
                    LscName   = lsc.LscName,
                    ThisCount = parm != null ? parm.StaMNumber : 0,
                    LastCount = parm != null ? parm.StaTNumber : 0,
                };

                result.Add(record);
            }

            if (result.Count > 0)
            {
                result.Add(new Report014Entity {
                    LscID     = -100,
                    LscName   = "汇总(平均值)",
                    ThisCount = (Int32)result.Average(r => r.ThisCount),
                    LastCount = (Int32)result.Average(r => r.LastCount)
                });
            }

            var cacheDuration = Int32.Parse(WebConfigurationManager.AppSettings["DefaultCacheDuration"]);

            HttpRuntime.Cache.Insert(cacheKey, result, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null);
            return(result);
        }
Exemplo n.º 7
0
        /// <summary>
        /// Add data to cache.
        /// </summary>
        private List <Report117Entity> AddDataToCache()
        {
            var userData  = UserData;
            var cacheKey1 = WebUtility.GetCacheKeyName(userData, "kpi-report-117");
            var cacheKey2 = WebUtility.GetCacheKeyName(userData, "kpi-report-117-02");

            HttpRuntime.Cache.Remove(cacheKey1);
            HttpRuntime.Cache.Remove(cacheKey2);

            var lscIds = new List <int>();

            if (LscsComboBox.SelectedIndex > 0)
            {
                var ids = WebUtility.ItemSplit(LscsComboBox.SelectedItem.Value);
                if (ids.Length == 2)
                {
                    var lscId   = Int32.Parse(ids[0]);
                    var groupId = Int32.Parse(ids[1]);
                    lscIds.Add(lscId);
                }
            }
            else
            {
                lscIds.AddRange(userData.LscUsers.Select(l => l.LscID));
            }
            if (lscIds.Count == 0)
            {
                return(null);
            }

            var fromTime = DateTime.Parse(BeginFromDate.Text);
            var toTime   = DateTime.Parse(BeginToDate.Text);

            var staTypes = new Dictionary <Int32, String>();

            foreach (var dt in StaTypeMultiCombo.SelectedItems)
            {
                staTypes[Int32.Parse(dt.Value)] = dt.Text;
            }
            if (staTypes.Count == 0)
            {
                return(null);
            }

            var devTypes = new Dictionary <Int32, String>();

            foreach (var dt in DevTypeMultiCombo.SelectedItems)
            {
                devTypes[Int32.Parse(dt.Value)] = dt.Text;
            }
            if (devTypes.Count == 0)
            {
                return(null);
            }

            var otherEntity = new BOther();
            var lscEntity   = new BLsc();
            var source1     = new List <Report117Entity>();
            var source2     = new Dictionary <String, List <StationInfo> >();

            foreach (var id in lscIds)
            {
                var lsc = lscEntity.GetLsc(id);
                if (lsc == null)
                {
                    continue;
                }

                var stations = new Dictionary <Int32, String>();
                var bats     = otherEntity.GetBatStaticCount(lsc.LscID, fromTime, toTime, null, null, 1d / 24d, Int32.MaxValue);
                if (bats != null && bats.Count > 0)
                {
                    var devices = otherEntity.GetDevices(lsc.LscID).FindAll(d => staTypes.ContainsKey(d.StaTypeID) && devTypes.ContainsKey(d.DevTypeID));
                    var temp    = from dev in devices
                                  join bat in bats on new { dev.LscID, dev.DevID } equals new { LscID = bat.ID, DevID = bat.Value }
                    select dev;

                    foreach (var t in temp)
                    {
                        stations[t.StaID] = t.StaName;
                    }
                }

                var stations1 = otherEntity.GetStations(lsc.LscID).FindAll(s => stations.ContainsKey(s.StaID));
                var stations2 = Report117Entity.GetStations(lsc.LscID, lsc.LscName, WebUtility.CreateLscConnectionString(lsc));

                var record = new Report117Entity {
                    LscID     = lsc.LscID,
                    LscName   = lsc.LscName,
                    ThisCount = stations1.Count,
                    LastCount = stations2.Count
                };

                source1.Add(record);
                source2[String.Format("{0}-ThisCount", lsc.LscID)] = stations1;
                source2[String.Format("{0}-LastCount", lsc.LscID)] = stations2;
            }

            if (source1.Count > 0)
            {
                source1.Add(new Report117Entity {
                    LscID     = -100,
                    LscName   = "汇总",
                    ThisCount = (Int32)source1.Sum(r => r.ThisCount),
                    LastCount = (Int32)source1.Sum(r => r.LastCount)
                });
            }

            int 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);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Add Events To Cache
        /// </summary>
        /// <returns>Operating Events</returns>
        private List <AcEventInfo> AddEventsToCache()
        {
            var userData = UserData;
            var cacheKey = WebUtility.GetCacheKeyName(userData, "netking-events");

            HttpRuntime.Cache.Remove(cacheKey);

            var lscIds = new List <int>();

            if (LscsComboBox.SelectedIndex > 0)
            {
                var ids = WebUtility.ItemSplit(LscsComboBox.SelectedItem.Value);
                if (ids.Length == 2)
                {
                    var lscId   = Int32.Parse(ids[0]);
                    var groupId = Int32.Parse(ids[1]);
                    lscIds.Add(lscId);
                }
            }
            else
            {
                lscIds.AddRange(userData.LscUsers.Select(l => l.LscID));
            }
            if (lscIds.Count == 0)
            {
                return(null);
            }

            var types = new Dictionary <Int32, String>();

            foreach (var dt in EventTypeMultiCombo.SelectedItems)
            {
                types[Int32.Parse(dt.Value)] = dt.Text;
            }

            var ctype    = Convert.ToInt32(CountTypeComboBox.SelectedItem.Value);
            var fromTime = DateTime.Parse(FromDate.Text);
            var toTime   = DateTime.Parse(ToDate.Text);

            var lscEntity   = new BLsc();
            var otherEntity = new BOther();
            var result      = new List <AcEventInfo>();

            foreach (var id in lscIds)
            {
                var lsc = lscEntity.GetLsc(id);
                if (lsc == null)
                {
                    continue;
                }

                List <AcEventInfo> temp = null;
                switch (ctype)
                {
                case 0:
                    temp = otherEntity.GetPubAlertEvent(lsc.LscID, lsc.LscName, WebUtility.CreateLscConnectionString(lsc), fromTime, toTime);
                    break;

                case 1:
                    temp = otherEntity.GetPubGeneralEvent(lsc.LscID, lsc.LscName, WebUtility.CreateLscConnectionString(lsc), fromTime, toTime);
                    break;

                case 2:
                    temp = otherEntity.GetPubInvalidCardEvent(lsc.LscID, lsc.LscName, WebUtility.CreateLscConnectionString(lsc), fromTime, toTime);
                    break;

                case 3:
                    temp = otherEntity.GetPubValidCardEvent(lsc.LscID, lsc.LscName, WebUtility.CreateLscConnectionString(lsc), fromTime, toTime);
                    break;

                default:
                    break;
                }

                if (temp != null)
                {
                    if (types.Count > 0)
                    {
                        temp = temp.FindAll(t => types.ContainsKey(t.MessageID));
                    }

                    result.AddRange(temp);
                }
            }

            var cacheDuration = Int32.Parse(WebConfigurationManager.AppSettings["DefaultCacheDuration"]);

            HttpRuntime.Cache.Insert(cacheKey, result, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null);
            return(result);
        }
Exemplo n.º 9
0
        protected void gvLsc_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try {
                if (String.IsNullOrEmpty(e.CommandArgument.ToString()))
                {
                    return;
                }
                var lscId     = Int32.Parse(e.CommandArgument.ToString());
                var lscEntity = new BLsc();
                switch (e.CommandName)
                {
                case "Select":
                    LscIDTextBox.Text   = String.Empty;
                    LscNameTextBox.Text = String.Empty;
                    LscIPTextBox.Text   = String.Empty;
                    LscPortTextBox.Text = String.Empty;
                    LscUIDTextBox.Text  = String.Empty;
                    LscPwdTextBox.Attributes["value"] = String.Empty;
                    BeatIntervalTextBox.Text          = String.Empty;
                    BeatDelayTextBox.Text             = String.Empty;
                    DBIPTextBox.Text   = String.Empty;
                    DBPortTextBox.Text = String.Empty;
                    DBNameTextBox.Text = String.Empty;
                    DBUIDTextBox.Text  = String.Empty;
                    DBPwdTextBox.Attributes["value"] = String.Empty;
                    HisDBIPTextBox.Text   = String.Empty;
                    HisDBPortTextBox.Text = String.Empty;
                    HisDBNameTextBox.Text = String.Empty;
                    HisDBUIDTextBox.Text  = String.Empty;
                    HisDBPwdTextBox.Attributes["value"] = String.Empty;
                    EnabledCheckBox.Checked             = false;
                    LscIDTextBox.Enabled = false;
                    TitleLabel.Text      = "编辑记录";
                    UpdateBtn.Visible    = true;
                    SaveBtn.Visible      = false;
                    var lsc = lscEntity.GetLsc(lscId);
                    if (lsc != null)
                    {
                        LscIDTextBox.Text   = lsc.LscID.ToString();
                        LscNameTextBox.Text = lsc.LscName;
                        LscIPTextBox.Text   = lsc.LscIP;
                        LscPortTextBox.Text = lsc.LscPort.ToString();
                        LscUIDTextBox.Text  = lsc.LscUID;
                        LscPwdTextBox.Attributes["value"] = lsc.LscPwd;
                        BeatIntervalTextBox.Text          = lsc.BeatInterval.ToString();
                        BeatDelayTextBox.Text             = lsc.BeatDelay.ToString();
                        DBIPTextBox.Text   = lsc.DBServer;
                        DBPortTextBox.Text = lsc.DBPort.ToString();
                        DBNameTextBox.Text = lsc.DBName;
                        DBUIDTextBox.Text  = lsc.DBUID;
                        DBPwdTextBox.Attributes["value"] = lsc.DBPwd;
                        HisDBIPTextBox.Text   = lsc.HisDBServer;
                        HisDBPortTextBox.Text = lsc.HisDBPort.ToString();
                        HisDBNameTextBox.Text = lsc.HisDBName;
                        HisDBUIDTextBox.Text  = lsc.HisDBUID;
                        HisDBPwdTextBox.Attributes["value"] = lsc.HisDBPwd;
                        EnabledCheckBox.Checked             = lsc.Enabled;
                    }
                    ModalPopupExtender.Show();
                    break;

                case "Del":
                    lscEntity.DelLsc(lscId);
                    var lscs = lscEntity.GetLscs();
                    gvLsc.DataSource    = lscs;
                    gvLsc.SelectedIndex = -1;
                    gvLsc.DataBind();
                    break;

                default:
                    break;
                }
            } catch (Exception err) { handleError(err.Message); }
        }
Exemplo n.º 10
0
        /// <summary>
        /// Add data to cache.
        /// </summary>
        private List <Report110Entity> AddDataToCache()
        {
            var userData  = UserData;
            var cacheKey1 = WebUtility.GetCacheKeyName(userData, "kpi-report-110");
            var cacheKey2 = WebUtility.GetCacheKeyName(userData, "kpi-report-110-02");

            HttpRuntime.Cache.Remove(cacheKey1);
            HttpRuntime.Cache.Remove(cacheKey2);

            var lscIds = new List <int>();

            if (LscsComboBox.SelectedIndex > 0)
            {
                var ids = WebUtility.ItemSplit(LscsComboBox.SelectedItem.Value);
                if (ids.Length == 2)
                {
                    var lscId   = Int32.Parse(ids[0]);
                    var groupId = Int32.Parse(ids[1]);
                    lscIds.Add(lscId);
                }
            }
            else
            {
                lscIds.AddRange(userData.LscUsers.Select(l => l.LscID));
            }
            if (lscIds.Count == 0)
            {
                return(null);
            }

            var staTypes = new Dictionary <Int32, String>();

            foreach (var dt in StaTypeMultiCombo.SelectedItems)
            {
                staTypes[Int32.Parse(dt.Value)] = dt.Text;
            }
            if (staTypes.Count == 0)
            {
                return(null);
            }

            var fromTime = DateTime.Parse(BeginDate.Text);
            var toTime   = DateTime.Parse(EndDate.Text);

            var texts      = new List <String>();
            var auxSets    = new List <String>();
            var filterText = WebUtility.StringSplit(NodeText.Text.Trim());

            foreach (var ft in filterText)
            {
                if (String.IsNullOrEmpty(ft.Trim()))
                {
                    continue;
                }
                if (FilterTypeList.SelectedItem.Value.Equals("1"))
                {
                    auxSets.Add(ft.Trim());
                }
                else
                {
                    texts.Add(ft.Trim());
                }
            }

            var lscEntity  = new BLsc();
            var nodeEntity = new BNode();
            var source1    = new List <Report110Entity>();
            var source2    = new Dictionary <String, List <StationInfo> >();

            foreach (var id in lscIds)
            {
                var lsc = lscEntity.GetLsc(id);
                if (lsc == null)
                {
                    continue;
                }

                //var instance = new Dictionary<string, NodeInfo>();
                //var nodes = nodeEntity.GetNodes(lsc.LscID, EnmNodeType.Aic, texts.ToArray(), auxSets.ToArray(), null);
                //foreach (var node in nodes) {
                //    instance[String.Format("{0}-{1}", node.LscID, node.StaID)] = node;
                //}

                var stations = new BOther().GetStations(lsc.LscID).FindAll(s => staTypes.ContainsKey(s.StaTypeID));
                var values   = nodeEntity.GetMaxHisAIV(lsc.LscID, fromTime, toTime);
                //var temp = from n in instance.Values
                //           join s in stations on new { n.LscID, n.StaID } equals new { s.LscID,s.StaID}
                //           join v in values on new { n.LscID, n.NodeID } equals new { v.LscID, v.NodeID }
                //           select new {
                //               Station = s,
                //               Node = n,
                //               Value = v.Value
                //           };

                var temp = from s in stations
                           join v in values on new { s.LscID, s.StaID } equals new { v.LscID, StaID = v.NodeID }
                select new {
                    Station = s,
                    Value   = v.Value
                };

                var correct = temp.Where(n => n.Value >= 1);
                source2[String.Format("{0}-CorrectCount", source1.Count)] = correct.Any() ? correct.Select(n => n.Station).ToList() : new List <StationInfo>();
                source2[String.Format("{0}-AllCount", source1.Count)]     = temp.Any() ? temp.Select(n => n.Station).ToList() : new List <StationInfo>();

                source1.Add(new Report110Entity {
                    LscID        = lsc.LscID,
                    LscName      = lsc.LscName,
                    CorrectCount = correct.Count(),
                    AllCount     = temp.Count()
                });
            }

            int 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);
        }
Exemplo n.º 11
0
        /// <summary>
        /// Add data to cache.
        /// </summary>
        private List <Report111Entity> AddDataToCache()
        {
            var userData = UserData;
            var cacheKey = WebUtility.GetCacheKeyName(userData, "kpi-report-111");

            HttpRuntime.Cache.Remove(cacheKey);

            var lscs = new List <LscUserInfo>();

            if (LscsComboBox.SelectedIndex > 0)
            {
                var ids = WebUtility.ItemSplit(LscsComboBox.SelectedItem.Value);
                if (ids.Length != 2)
                {
                    return(null);
                }
                var lscId   = Int32.Parse(ids[0]);
                var groupId = Int32.Parse(ids[1]);
                var lscUser = userData.LscUsers.Find(lu => { return(lu.LscID == lscId); });
                if (lscUser == null)
                {
                    return(null);
                }
                lscs.Add(lscUser);
            }
            else
            {
                lscs.AddRange(userData.LscUsers);
            }

            var fromTime = DateTime.Parse(BeginFromDate.Text);
            var toTime   = DateTime.Parse(BeginToDate.Text);

            var texts      = new List <String>();
            var auxSets    = new List <String>();
            var filterText = WebUtility.StringSplit(NodeText.Text.Trim());

            foreach (var ft in filterText)
            {
                if (String.IsNullOrEmpty(ft.Trim()))
                {
                    continue;
                }
                if (FilterTypeList.SelectedItem.Value.Equals("1"))
                {
                    auxSets.Add(ft.Trim());
                }
                else
                {
                    texts.Add(ft.Trim());
                }
            }

            var staTypes = new Dictionary <Int32, String>();

            foreach (var dt in StaTypeMultiCombo.SelectedItems)
            {
                staTypes[Int32.Parse(dt.Value)] = dt.Text;
            }
            if (staTypes.Count == 0)
            {
                return(null);
            }

            var devTypes = new Dictionary <Int32, String>();

            foreach (var dt in DevTypeMultiCombo.SelectedItems)
            {
                devTypes[Int32.Parse(dt.Value)] = dt.Text;
            }
            if (devTypes.Count == 0)
            {
                return(null);
            }

            var almNames = new List <String>();
            var almIds   = new Dictionary <String, String>();
            var almText  = WebUtility.StringSplit(AlarmNameText.Text.Trim());

            foreach (var at in almText)
            {
                if (String.IsNullOrEmpty(at.Trim()))
                {
                    continue;
                }
                if (AlmNameList.SelectedItem.Value.Equals("1"))
                {
                    almIds[at.Trim()] = null;
                }
                else
                {
                    almNames.Add(at.Trim());
                }
            }

            var nodeEntity  = new BNode();
            var lscEntity   = new BLsc();
            var alarmEntity = new BAlarm();
            var result      = new List <Report111Entity>();

            var virtualData = WebConfigurationManager.AppSettings["Kpi-HeNan-Virtual-Enable"] != null && WebConfigurationManager.AppSettings["Kpi-HeNan-Virtual-Enable"].Equals("1");
            var lscParms    = new List <LscParamInfo>();

            if (virtualData)
            {
                lscParms.AddRange(new BOther().GetLscParam());
            }

            foreach (var l in lscs)
            {
                var lsc = lscEntity.GetLsc(l.LscID);
                if (lsc == null)
                {
                    continue;
                }

                var stations = Report111Entity.GetStations(lsc.LscID, lsc.LscName, WebUtility.CreateLscConnectionString(lsc));
                var nodes    = nodeEntity.GetNodes(lsc.LscID, EnmNodeType.Dic, texts.ToArray(), auxSets.ToArray(), devTypes.Keys.ToArray());
                if (nodes.Count == 0)
                {
                    result.Add(new Report111Entity {
                        LscID     = lsc.LscID,
                        LscName   = lsc.LscName,
                        BeginTime = fromTime,
                        EndTime   = toTime,
                        Alarms    = new List <AlarmInfo>(),
                        NodeCnt   = stations.Count
                    });
                }
                else
                {
                    var alarms = WebUtility.GetUserAlarms(userData).FindAll(alarm => alarm.LscID == lsc.LscID && alarm.StartTime >= fromTime && alarm.StartTime <= toTime);
                    alarms.AddRange(alarmEntity.GetHisAlarms(lsc.LscID, lsc.LscName, userData.StandardProtocol, l.Group.GroupNodes, fromTime, toTime));

                    var ta = alarms.FindAll(alarm => {
                        return((almNames.Count == 0 || almNames.Any(name => alarm.AlarmName.Contains(name))) &&
                               (almIds.Count == 0 || almIds.ContainsKey(alarm.AlarmID.ToString())));
                    });

                    var temp = from alarm in ta
                               join node in nodes on new { alarm.LscID, alarm.NodeID, alarm.NodeType } equals new { node.LscID, node.NodeID, node.NodeType }
                    select alarm;

                    var record = new Report111Entity {
                        LscID     = lsc.LscID,
                        LscName   = lsc.LscName,
                        BeginTime = fromTime,
                        EndTime   = toTime,
                        Alarms    = temp.ToList(),
                        NodeCnt   = stations.Count
                    };

                    if (virtualData)
                    {
                        var parm = lscParms.Find(s => s.LscID == lsc.LscID);
                        if (parm != null && parm.StaTNumber != WebUtility.DefaultInt32)
                        {
                            record.NodeCnt = parm.StaTNumber;
                        }
                    }

                    result.Add(record);
                }
            }

            int cacheDuration = Int32.Parse(WebConfigurationManager.AppSettings["DefaultCacheDuration"]);

            HttpRuntime.Cache.Insert(cacheKey, result, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null);
            return(result);
        }
Exemplo n.º 12
0
        /// <summary>
        /// Add data to cache.
        /// </summary>
        private List <Report010Entity> AddDataToCache()
        {
            var userData = UserData;
            var cacheKey = WebUtility.GetCacheKeyName(userData, "kpi-report-010");

            HttpRuntime.Cache.Remove(cacheKey);

            var lscIds = new List <int>();

            if (LscsComboBox.SelectedIndex > 0)
            {
                var ids = WebUtility.ItemSplit(LscsComboBox.SelectedItem.Value);
                if (ids.Length == 2)
                {
                    var lscId   = Int32.Parse(ids[0]);
                    var groupId = Int32.Parse(ids[1]);
                    lscIds.Add(lscId);
                }
            }
            else
            {
                lscIds.AddRange(userData.LscUsers.Select(l => l.LscID));
            }
            if (lscIds.Count == 0)
            {
                return(null);
            }

            var fromTime = DateTime.Parse(BeginFromDate.Text);
            var toTime   = DateTime.Parse(BeginToDate.Text);
            var devTypes = new Dictionary <Int32, String>();

            foreach (var dt in DevTypeMultiCombo.SelectedItems)
            {
                devTypes[Int32.Parse(dt.Value)] = dt.Text;
            }
            if (devTypes.Count == 0)
            {
                return(null);
            }

            var lscEntity   = new BLsc();
            var otherEntity = new BOther();
            var result      = new List <Report010Entity>();

            foreach (var id in lscIds)
            {
                var lsc = lscEntity.GetLsc(id);
                if (lsc == null)
                {
                    continue;
                }

                var bats    = otherEntity.GetBatStaticCount(lsc.LscID, fromTime, toTime, null, null, 1d / 24d, Int32.MaxValue);
                var devices = otherEntity.GetDevices(lsc.LscID).FindAll(d => devTypes.ContainsKey(d.AlmDevTypeID));
                var batDev  = from dev in devices
                              join bat in bats on new { dev.DevID } equals new { DevID = bat.Value }
                select dev;

                var parm = Report010Entity.GetLscParam(lsc.LscID, WebUtility.CreateLscConnectionString(lsc));
                result.Add(new Report010Entity {
                    LscID     = lsc.LscID,
                    LscName   = lsc.LscName,
                    ThisCount = batDev == null ? 0 : (fRadio.Checked ? batDev.GroupBy(d => d.StaID).Count() : batDev.GroupBy(d => d.Area3ID).Count()),
                    LastCount = parm != null ? parm.StaTNumber : 0
                });
            }

            if (result.Count > 0)
            {
                result.Add(new Report010Entity {
                    LscID     = -100,
                    LscName   = "汇总(平均值)",
                    ThisCount = (Int32)result.Average(r => r.ThisCount),
                    LastCount = (Int32)result.Average(r => r.LastCount)
                });
            }

            int cacheDuration = Int32.Parse(WebConfigurationManager.AppSettings["DefaultCacheDuration"]);

            HttpRuntime.Cache.Insert(cacheKey, result, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null);
            return(result);
        }
Exemplo n.º 13
0
        /// <summary>
        /// Add data to cache.
        /// </summary>
        private List <Report007Entity> AddDataToCache()
        {
            var userData = UserData;
            var cacheKey = WebUtility.GetCacheKeyName(userData, "kpi-report-007");

            HttpRuntime.Cache.Remove(cacheKey);

            var lscIds = new List <int>();

            if (LscsComboBox.SelectedIndex > 0)
            {
                var ids = WebUtility.ItemSplit(LscsComboBox.SelectedItem.Value);
                if (ids.Length == 2)
                {
                    var lscId   = Int32.Parse(ids[0]);
                    var groupId = Int32.Parse(ids[1]);
                    lscIds.Add(lscId);
                }
            }
            else
            {
                lscIds.AddRange(userData.LscUsers.Select(l => l.LscID));
            }
            if (lscIds.Count == 0)
            {
                return(null);
            }

            var devTypes = new Dictionary <Int32, String>();

            foreach (var dt in DevTypeMultiCombo.SelectedItems)
            {
                devTypes[Int32.Parse(dt.Value)] = dt.Text;
            }
            if (devTypes.Count == 0)
            {
                return(null);
            }

            var lscEntity   = new BLsc();
            var otherEntity = new BOther();
            var result      = new List <Report007Entity>();

            foreach (var id in lscIds)
            {
                var lsc = lscEntity.GetLsc(id);
                if (lsc == null)
                {
                    continue;
                }

                var devices = otherEntity.GetDevices(lsc.LscID).FindAll(d => devTypes.ContainsKey(d.AlmDevTypeID));
                var parm    = Report007Entity.GetLscParam(lsc.LscID, WebUtility.CreateLscConnectionString(lsc));
                result.Add(new Report007Entity {
                    LscID     = lsc.LscID,
                    LscName   = lsc.LscName,
                    ThisCount = devices.Count,
                    LastCount = parm != null && parm.ElecDevTNumber != WebUtility.DefaultInt32 ? parm.ElecDevTNumber : 0
                });
            }

            if (result.Count > 0)
            {
                result.Add(new Report007Entity {
                    LscID     = -100,
                    LscName   = "汇总(平均值)",
                    ThisCount = (Int32)result.Average(r => r.ThisCount),
                    LastCount = (Int32)result.Average(r => r.LastCount)
                });
            }

            int cacheDuration = Int32.Parse(WebConfigurationManager.AppSettings["DefaultCacheDuration"]);

            HttpRuntime.Cache.Insert(cacheKey, result, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null);
            return(result);
        }
Exemplo n.º 14
0
        /// <summary>
        /// Add data to cache.
        /// </summary>
        private List <Report011Entity> AddDataToCache()
        {
            var userData = UserData;
            var cacheKey = WebUtility.GetCacheKeyName(userData, "kpi-report-011");

            HttpRuntime.Cache.Remove(cacheKey);

            var lscs = new List <LscUserInfo>();

            if (LscsComboBox.SelectedIndex > 0)
            {
                var ids = WebUtility.ItemSplit(LscsComboBox.SelectedItem.Value);
                if (ids.Length == 2)
                {
                    var lscId   = Int32.Parse(ids[0]);
                    var groupId = Int32.Parse(ids[1]);
                    var lscUser = userData.LscUsers.Find(lu => { return(lu.LscID == lscId); });
                    if (lscUser != null)
                    {
                        lscs.Add(lscUser);
                    }
                }
            }
            else
            {
                lscs.AddRange(userData.LscUsers);
            }
            if (lscs.Count == 0)
            {
                return(null);
            }

            var staTypes = new Dictionary <Int32, String>();

            foreach (var dt in StaTypeMultiCombo.SelectedItems)
            {
                staTypes[Int32.Parse(dt.Value)] = dt.Text;
            }
            if (staTypes.Count == 0)
            {
                return(null);
            }

            var fromTime = DateTime.Parse(BeginFromDate.Text);
            var toTime   = DateTime.Parse(BeginToDate.Text);

            var alarmNames = new Dictionary <Int32, String>();

            foreach (var item in AlarmNameMultiCombo.SelectedItems)
            {
                alarmNames[Convert.ToInt32(item.Value)] = item.Text;
            }

            var otherEntity = new BOther();
            var nodeEntity  = new BNode();
            var lscEntity   = new BLsc();
            var alarmEntity = new BAlarm();
            var result      = new List <Report011Entity>();

            foreach (var l in lscs)
            {
                var lsc = lscEntity.GetLsc(l.LscID);
                if (lsc == null)
                {
                    continue;
                }

                var stations = otherEntity.GetStations(lsc.LscID, l.Group.GroupID).FindAll(sta => staTypes.ContainsKey(sta.StaTypeID));
                var alarms   = WebUtility.GetUserAlarms(userData).FindAll(alarm => alarm.LscID == lsc.LscID && alarm.StartTime >= fromTime && alarm.StartTime <= toTime && alarmNames.ContainsKey(alarm.AlarmID) && string.IsNullOrEmpty(alarm.ProjName));
                alarms.AddRange(alarmEntity.GetHisAlarms(lsc.LscID, lsc.LscName, userData.StandardProtocol, l.Group.GroupNodes, fromTime, toTime).FindAll(alarm => {
                    return(alarmNames.ContainsKey(alarm.AlarmID) && string.IsNullOrEmpty(alarm.ProjName));
                }));

                var nalm = from alarm in alarms
                           join sta in stations on alarm.StaName equals sta.StaName
                           select alarm;

                var parm   = Report011Entity.GetLscParam(lsc.LscID, WebUtility.CreateLscConnectionString(lsc));
                var record = new Report011Entity {
                    LscID     = lsc.LscID,
                    LscName   = lsc.LscName,
                    BeginTime = fromTime,
                    EndTime   = toTime,
                    Alarms    = nalm.Any() ? nalm.ToList() : new List <AlarmInfo>(),
                    StaCnt    = parm != null ? parm.StaMNumber : 0,
                };

                result.Add(record);
            }

            if (result.Count > 0)
            {
                result.Add(new Report011Entity {
                    LscID     = -100,
                    LscName   = "汇总(平均值)",
                    BeginTime = fromTime,
                    EndTime   = toTime,
                    Alarms    = new List <AlarmInfo>(),
                    StaCnt    = (Int32)result.Average(r => r.StaCnt)
                });
            }

            int cacheDuration = Int32.Parse(WebConfigurationManager.AppSettings["DefaultCacheDuration"]);

            HttpRuntime.Cache.Insert(cacheKey, result, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null);
            return(result);
        }