示例#1
0
        //[ValidateAntiForgeryToken]
        public ActionResult GetWebSiteAccessToDates()
        {
            string webSiteId              = SysLoginObjHelp.sysLoginObjHelp.GetWebSiteId();
            List <EchartSeries> listData  = new List <EchartSeries>();
            ReportApp           reportApp = new ReportApp();

            List <WebSiteAccessToDayReport> modelsT = reportApp.GetWebSiteAccessToDates(webSiteId);
            List <string> webSiteNames = new List <string>();
            EchartSeries  datas        = new EchartSeries();

            datas.name = "访问量";
            datas.type = "line";
            List <int> datasT = new List <int>();

            for (int i = 0; i < 24; i++)
            {
                WebSiteAccessToDayReport model = modelsT.Find(m => m.Hours == i);
                if (model != null)
                {
                    datasT.Add(model.Nums);
                }
                else
                {
                    datasT.Add(0);
                }
            }
            datas.data = datasT;
            listData.Add(datas);

            var jsons = new { data = listData, name = webSiteNames };

            return(Json(jsons));
        }
        /// <summary>
        ///按照时间统计事件来源统计上报数量(折线图)
        /// </summary>
        /// <param name="startTime">开始事件</param>
        /// <param name="endTime">结束事件</param>
        /// <returns></returns>
        public MessageEntity EChatLineEventFromStatistics(DateTime?startTime = null, DateTime?endTime = null)
        {
            string EChatX   = "";
            string Distinct = "";//折线图类型组,字符串
            //1.按照事件和事件来源统计数量
            DataTable eventFromdt = _mainTainStatisticsDAL.EventFromStatisticsbyDate(startTime, endTime);
            //2.查询唯一时间(事件上报时间)
            DataTable DtDatedt = _mainTainStatisticsDAL.DtDateByEventfromStatistics(startTime, endTime);
            //3.查找折线图类型(事件来源名称)
            DataTable      EventFromNamedt = _mainTainStatisticsDAL.EventFromNameStatistics(startTime, endTime);
            List <dynamic> seriesList      = new List <dynamic>();

            //遍历时间类别,电话上报,巡检上报等
            for (int i = 0; i < EventFromNamedt.Rows.Count; i++)
            {
                List <double> EChatValue = new List <double>();
                Distinct += EventFromNamedt.Rows[i]["EventFromName"].ToString();
                if (i != EventFromNamedt.Rows.Count - 1)
                {
                    Distinct += ",";
                }
                //使用唯一时间进行遍历查询
                for (int j = 0; j < DtDatedt.Rows.Count; j++)
                {
                    DataRow[] drEventInfoByDate = eventFromdt.Select(" EventFromName =  '" + EventFromNamedt.Rows[i]["EventFromName"].ToString() + "' and  LineDate = '" + DtDatedt.Rows[j]["LineDate"] + "'");
                    if (drEventInfoByDate.Length > 0)
                    {
                        EChatValue.Add(Convert.ToDouble(drEventInfoByDate[0]["CCount"]));
                    }
                    else
                    {
                        EChatValue.Add(0);
                    }
                }
                //series += "  {   name: '" + DistinctDT.Rows[i]["PersonName"].ToString() + "',   type: 'line',   data: [" + EChatValue + "],     },|";
                EchartSeries s = new EchartSeries();
                s.name = EventFromNamedt.Rows[i]["EventFromName"].ToString();
                s.type = "line";
                s.data = EChatValue;
                seriesList.Add(s);
            }
            //获取X轴坐标
            for (int x = 0; x < DtDatedt.Rows.Count; x++)
            {
                EChatX += DtDatedt.Rows[x]["LineDate"].ToString();
                if (x != DtDatedt.Rows.Count - 1)
                {
                    EChatX += ",";
                }
            }
            var returnJson = new { p1 = EChatX, p2 = Distinct, p3 = seriesList };

            return(MessageEntityTool.GetMessage(1, returnJson));
        }
示例#3
0
        //[ValidateAntiForgeryToken]
        public ActionResult GetWebSiteAccessDates()
        {
            List <EchartSeries> listData  = new List <EchartSeries>();
            ReportApp           reportApp = new ReportApp();

            List <WebSiteAccessReport> modelsT = reportApp.GetWebSiteAccessDates();
            List <string> webSiteNames         = new List <string>();

            if (modelsT != null && modelsT.Count > 0)
            {
                webSiteNames = (from list in modelsT
                                select list.ShortName).Distinct().ToList();
            }
            if (webSiteNames != null && webSiteNames.Count > 0)
            {
                foreach (var webSiteName in webSiteNames)
                {
                    EchartSeries datas = new EchartSeries();
                    datas.name = webSiteName;
                    datas.type = "line";
                    List <int> datasT = new List <int>();
                    for (int i = 1; i <= 12; i++)
                    {
                        WebSiteAccessReport model = modelsT.Find(m => m.ShortName == webSiteName && m.Mont == i);
                        if (model != null && !string.IsNullOrEmpty(model.ShortName))
                        {
                            datasT.Add(model.Nums);
                        }
                        else
                        {
                            datasT.Add(0);
                        }
                    }
                    datas.data = datasT;
                    listData.Add(datas);
                }
            }

            var jsons = new { data = listData, name = webSiteNames };

            return(Json(jsons));
        }