//[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)); }
//[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)); }