コード例 #1
0
        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%", ""));
        }
コード例 #2
0
        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() }));
        }
コード例 #3
0
        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() }));
        }
コード例 #4
0
        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 }));
        }