public string GetReadingRoomUsageInfoData(DateTime?begin, DateTime?end, string libNo, string readerType) { string result = ""; StringBuilder sb = new StringBuilder(); if (begin >= end) { result = "结束日期必须大于等于开始日期"; return(result); } List <string> libNoList = new List <string>(); libNoList.Add(libNo); List <SeatManage.ClassModel.ReadingRoomInfo> rooms = SeatManage.Bll.T_SM_ReadingRoom.GetReadingRooms(null, libNoList, null); var rrsta = new SeatManageWebV5.Code.ReadingRoomStatistics(); sb.Append("{"); sb.Append("\"form.paginate.pageNo\": 1,"); sb.Append("\"form.paginate.totalRows\": 100,"); sb.Append(" \"rows\": ["); foreach (var item in rooms) { var dt = rrsta.GetReadingRoomUsageInfo(item.No, readerType, begin.Value, end.Value); if (dt != null) { sb.Append("{\"Name\": '" + dt.Rows[0].Cells[0].InnerText + "',\"No\": '" + dt.Rows[1].Cells[1].InnerText + "',\"BeginTime\": \"" + dt.Rows[2].Cells[1].InnerText + "\",\"EndTime\": \"" + dt.Rows[2].Cells[3].InnerText + "\",\"otime\": \"" + dt.Rows[3].Cells[1].InnerText + "\",\"opentime\": \"" + dt.Rows[3].Cells[3].InnerText + "\",\"SeatsCount\": \"" + dt.Rows[4].Cells[1].InnerText + "\",\"staListCount\": \"" + dt.Rows[4].Cells[3].InnerText + "\",\"upSeat\": \"" + dt.Rows[5].Cells[1].InnerText + "\",\"avgSeat\": \"" + dt.Rows[5].Cells[3].InnerText + "\",\"userFun\": \"" + dt.Rows[6].Cells[1].InnerText + "\",\"setting\": \"" + dt.Rows[7].Cells[1].InnerText + "\"}"); sb.Append(","); } } if (rooms.Count > 0) { sb.Remove(sb.Length - 1, 1); } sb.Append("]"); sb.Append("}"); result = sb.ToString(); return(result.Replace("NaN%", "")); }
public JsonResult OutChartDataBinding(DateTime?begin, DateTime?end, string libNo = "", string rbltype = "", string rbleatype = "", string roomStr = "") { if (begin == null || end == null) { return(Json(new { title = "日期错误", msg = "请选择日期!" })); } if (end.Value.Date >= DateTime.Now.Date) { return(Json(new { title = "日期错误", msg = "只能查询当天之前的数据!" })); } if (begin.Value.Date > end.Value.Date) { return(Json(new { title = "日期错误", msg = "开始时间必须小于结束时间!" }));; } if (string.IsNullOrEmpty(libNo)) { return(Json(new { title = "图书馆错误", msg = "请选择图书馆!" })); } Dictionary <string, DataTable> dataTables = new Dictionary <string, DataTable>(); DataTable dtx = new DataTable(); dtx.Columns.Add("EnterOutCount", typeof(int)); dtx.Columns.Add("AttendanceCount", typeof(string)); dtx.Columns.Add("Room", typeof(string)); SeatManageWebV5.Code.ReadingRoomStatistics rrsta = new SeatManageWebV5.Code.ReadingRoomStatistics(); List <string> roomList = new List <string>(); if (!string.IsNullOrEmpty(roomStr)) { var arr = roomStr.Split(','); if (arr != null && arr.Length > 0) { foreach (var item in arr) { if (!string.IsNullOrEmpty(item)) { roomList.Add(item); } } } } StringBuilder sb1 = new StringBuilder(); StringBuilder sb2 = new StringBuilder(); if (roomList.Count == 0) { List <string> libno = new List <string>(); libno.Add(libNo); SeatManage.ClassModel.ReadingRoomUsageStatistics libUsage = rrsta.StatisticsDayLibData(libno, begin.Value, end.Value, ((SeatManage.ClassModel.StatisticsType) int.Parse(rbltype))); DataTable dt = libUsage.StatisticsData; DataView dv = dt.DefaultView; dataTables.Add(libNo, dt); string Title = string.Format("阅览室进出人次统计"); var ztext = ""; var colName = ""; if (rbleatype == "0" || rbleatype == "EnterOutCount") { ztext = "进出人次"; colName = "EnterOutCount"; } else { ztext = "上座率"; colName = "Attendance"; } sb1.Append("{title: {text: '" + Title + "'}, tooltip: {},legend: { data: ['" + ztext + "' ]}, xAxis: {axisLabel: {interval: 0,rotate:45,margin:2,textStyle:{color:\"#222\"}},"); sb1.Append(" data: ["); foreach (DataRow r in dt.Rows) { sb1.Append("'" + r["Date"] + "'"); sb1.Append(","); } sb1.Remove(sb1.Length - 1, 1); sb1.Append("] }, grid: { x: 40,x2: 100,y2: 150}, yAxis: {}, series: [{name: '" + ztext + "',type: 'bar',"); sb1.Append(" data: ["); foreach (DataRow r in dt.Rows) { sb1.Append("" + r[colName] + ""); sb1.Append(","); } sb1.Remove(sb1.Length - 1, 1); sb1.Append("],color: ['#ffff00']}]}"); DataRow dr = dtx.NewRow(); dr["Room"] = libNo; dr["EnterOutCount"] = libUsage.EnterOurCount; dr["AttendanceCount"] = (libUsage.Attendance * 100).ToString("0.00"); dtx.Rows.Add(dr); } else { List <SeatManage.ClassModel.ReadingRoomInfo> rooms = SeatManage.Bll.ClientConfigOperate.GetReadingRooms(roomList); string Title = string.Format("阅览室进出人次统计"); var ztext = ""; var colName = ""; if (rbleatype == "0" || rbleatype == "EnterOutCount") { colName = "EnterOutCount"; } else { colName = "Attendance"; } sb1.Append("{title: {text: '" + Title + "'}, tooltip: {},legend: { data: [%ztext% ]}, xAxis: {axisLabel: {interval: 0,rotate:45,margin:2,textStyle:{color:\"#222\"}},"); sb1.Append(" data: [%Date%] },"); sb1.Append(" grid: { x: 40,x2: 100,y2: 150}, yAxis: {}, series: [%series%]}"); int i = 0; var dateStr = ""; var ztextStr = ""; var series = ""; foreach (SeatManage.ClassModel.ReadingRoomInfo room in rooms) { SeatManage.ClassModel.ReadingRoomUsageStatistics roomUsage = rrsta.StatisticsDayRoomData(room, begin.Value, end.Value, ((SeatManage.ClassModel.StatisticsType) int.Parse(rbltype))); DataTable dt = roomUsage.StatisticsData; DataView dv = dt.DefaultView; dataTables.Add(room.Name, dt); if (i == 0) { foreach (DataRow r in dt.Rows) { dateStr += ("'" + r["Date"] + "'"); dateStr += (","); } } series += ("{name: '" + room.Name + "',type: 'bar', data: ["); foreach (DataRow r in dt.Rows) { series += ("" + r[colName] + ""); series += (","); } series.Remove(series.Length - 1, 1); series += ("]},"); ztext += "'" + room.Name + "'" + ","; DataRow dr = dtx.NewRow(); dr["Room"] = roomUsage.RoomInfo.Name; dr["EnterOutCount"] = roomUsage.EnterOurCount; dr["AttendanceCount"] = (roomUsage.Attendance * 100).ToString("0.00"); dtx.Rows.Add(dr); i++; } sb1.Replace("%Date%", dateStr.TrimEnd(',')); sb1.Replace("%ztext%", ztext.TrimEnd(',')); sb1.Replace("%series%", series.TrimEnd(',')); } Session["DataTables"] = dataTables; /*if (rbleatype == "EnterOutCount") * { * libraryEnterOutInfo.ChartAreas[0].AxisX.Title = "阅览室"; * libraryEnterOutInfo.ChartAreas[0].AxisY.Title = "人次"; * sereo.Name = "EnterOutCount"; * sereo.LegendText = "进出人次"; * sereo.Points.DataBindXY(dtx.DefaultView, "Room", dtx.DefaultView, "EnterOutCount"); * } * else * { * libraryAttendanceInfo.ChartAreas[0].AxisX.Title = "阅览室"; * libraryAttendanceInfo.ChartAreas[0].AxisY.Title = "人次"; * * sera.Name = "EnterOutCount"; * sera.LegendText = "上座率(%)"; * sera.Points.DataBindXY(dtx.DefaultView, "Room", dtx.DefaultView, "AttendanceCount"); * }*/ string Title1 = string.Format("阅览室进出人次统计(总数)"); var ztext1 = ""; var colName1 = ""; if (rbleatype == "0" || rbleatype == "EnterOutCount") { ztext1 = "进出人次"; colName1 = "EnterOutCount"; } else { ztext1 = "上座率"; colName1 = "AttendanceCount"; } sb2.Append("{title: {text: '" + Title1 + "'}, tooltip: {},legend: { data: ['" + ztext1 + "' ]}, xAxis: {axisLabel: {interval: 0,rotate:45,margin:2,textStyle:{color:\"#222\"}},"); sb2.Append(" data: ["); foreach (DataRow r in dtx.Rows) { sb2.Append("'" + r["Room"] + "'"); sb2.Append(","); } sb2.Remove(sb2.Length - 1, 1); sb2.Append("] }, grid: { x: 40,x2: 100,y2: 150}, yAxis: {}, series: [{name: '" + ztext1 + "',type: 'bar',"); sb2.Append(" data: ["); foreach (DataRow r in dtx.Rows) { sb2.Append("" + r[colName1] + ""); sb2.Append(","); } sb2.Remove(sb2.Length - 1, 1); sb2.Append("]}]}"); return(Json(new { title = "", msg = "", data1 = sb1.ToString(), data2 = sb2.ToString() })); }
public JsonResult HourChartDataBinding(DateTime?begin, DateTime?end, string libNo = "", string roomStr = "", string cbselect = "", string cbleave = "", string cbonseat = "") { if (begin == null || end == null) { return(Json(new { title = "日期错误", msg = "请选择日期!" })); } if (end.Value.Date >= DateTime.Now.Date) { return(Json(new { title = "日期错误", msg = "只能查询当天之前的数据!" })); } if (begin.Value.Date > end.Value.Date) { return(Json(new { title = "日期错误", msg = "开始时间必须小于结束时间!" }));; } if (string.IsNullOrEmpty(libNo)) { return(Json(new { title = "图书馆错误", msg = "请选择图书馆!" })); } StringBuilder sb = new StringBuilder(); Dictionary <string, System.Data.DataTable> dataTables = new Dictionary <string, DataTable>(); SeatManageWebV5.Code.ReadingRoomStatistics rrsta = new SeatManageWebV5.Code.ReadingRoomStatistics(); List <string> roomList = new List <string>(); if (!string.IsNullOrEmpty(roomStr)) { var arr = roomStr.Split(','); if (arr != null && arr.Length > 0) { foreach (var item in arr) { if (!string.IsNullOrEmpty(item)) { roomList.Add(item); } } } } if (roomList.Count == 0) { List <string> libno = new List <string>(); libno.Add(libNo); DataTable dt = rrsta.StatisticsHoursLibData(libno, begin.Value, end.Value); DataView dv = dt.DefaultView; dataTables.Add(libNo, dt); sb = GetHourChartJson(dt); } else { List <SeatManage.ClassModel.ReadingRoomInfo> rooms = SeatManage.Bll.ClientConfigOperate.GetReadingRooms(roomList); foreach (SeatManage.ClassModel.ReadingRoomInfo room in rooms) { SeatManage.ClassModel.ReadingRoomUsageStatistics roomUsage = rrsta.StatisticsHoursRoomData(room, begin.Value, end.Value); DataTable dt = roomUsage.StatisticsData; DataView dv = dt.DefaultView; dataTables.Add(room.Name, dt); sb.Append(GetHourChartJson(dt).ToString()); } } Session["DataTables"] = dataTables; return(Json(new { title = "", msg = "", data = sb.ToString() })); }
public JsonResult SeatUseChartDataBinding(DateTime?begin, DateTime?end, string libNo = "", string roomStr = "") { if (begin == null || end == null) { return(Json(new { title = "日期错误", msg = "请选择日期!" })); } /*if (end.Value.Date >= DateTime.Now.Date) * { * return Json(new { title = "日期错误", msg = "只能查询当天之前的数据!" }); * }*/ if (begin.Value.Date > end.Value.Date) { return(Json(new { title = "日期错误", msg = "开始时间必须小于结束时间!" }));; } if (string.IsNullOrEmpty(libNo)) { return(Json(new { title = "图书馆错误", msg = "请选择图书馆!" })); } SeatManageWebV5.Code.ReadingRoomStatistics rrsta = new SeatManageWebV5.Code.ReadingRoomStatistics(); List <string> roomList = new List <string>(); if (!string.IsNullOrEmpty(roomStr)) { var arr = roomStr.Split(','); if (arr != null && arr.Length > 0) { foreach (var item in arr) { if (!string.IsNullOrEmpty(item)) { roomList.Add(item); } } } } List <SeatManage.ClassModel.ReadingRoomInfo> rooms = new List <SeatManage.ClassModel.ReadingRoomInfo>(); if (roomList.Count == 0) { List <string> libno = new List <string>(); libno.Add(libNo); rooms = SeatManage.Bll.T_SM_ReadingRoom.GetReadingRooms(null, libno, null); } else { rooms = SeatManage.Bll.ClientConfigOperate.GetReadingRooms(roomList); } SeatManage.ClassModel.ReadingRoomUsageStatistics roomUsage = rrsta.StatisticsSelectAndLeave(rooms, begin.Value, end.Value); var data1 = GetSeatUseChartJson(roomUsage.SeatSelect, "SelectType"); var data2 = GetSeatUseChartJson(roomUsage.SeatLeave, "LeaveType"); var data3 = GetSeatUseChartJson(roomUsage.SeatTime, "SeatTime"); Dictionary <string, DataTable> dataTables = new Dictionary <string, DataTable>(); dataTables.Add("选座方式", roomUsage.SeatSelect); dataTables.Add("离开方式", roomUsage.SeatLeave); dataTables.Add("在座时长", roomUsage.SeatTime); Session["DataTables"] = dataTables; return(Json(new { title = "", msg = "", data1 = data1, data2 = data2, data3 = data3 })); }