/// <summary>
        /// 获取阅览室可预约的座位
        /// </summary>
        /// <param name="roomNo">阅览室编号</param>
        /// <param name="bespeakTime"></param>
        /// <returns></returns>
        public string GetRoomBesapeakState(string roomNo, string bespeakTime)
        {
            AJM_HandleResult result = new AJM_HandleResult();

            try
            {
                if (string.IsNullOrEmpty(roomNo) || string.IsNullOrEmpty(bespeakTime))
                {
                    result.Result = false;
                    result.Msg    = "阅览室编号或预约时间不能为空!";
                    return(JSONSerializer.Serialize(result));
                }
                //如果预约日期是当天,获取当天可用座位(排除已被预约座位)
                DateTime besppeakDate;
                if (!DateTime.TryParse(bespeakTime, out besppeakDate))
                {
                    result.Result = false;
                    result.Msg    = "日期格式不正确!";
                    return(JSONSerializer.Serialize(result));
                }
                if (besppeakDate.Date < DateTime.Now.Date)
                {
                    result.Result = false;
                    result.Msg    = "查询日期不能早于当天日期!";
                    return(JSONSerializer.Serialize(result));
                }
                List <ReadingRoomInfo> readingRoomInfos = SeatManageDateService.GetReadingRoomInfo(new List <string> {
                    roomNo
                });
                if (readingRoomInfos.Count < 1)
                {
                    result.Result = false;
                    result.Msg    = "阅览室不存在!";
                    return(JSONSerializer.Serialize(result));
                }
                if (!readingRoomInfos[0].Setting.SeatBespeak.Used)
                {
                    result.Result = false;
                    result.Msg    = "当前阅览室不提供预约!";
                    return(JSONSerializer.Serialize(result));
                }
                if ((besppeakDate.Date - DateTime.Now.Date).Days > readingRoomInfos[0].Setting.SeatBespeak.BespeakBeforeDays)
                {
                    result.Result = false;
                    result.Msg    = "您选择的日期尚未开放预约!";
                    return(JSONSerializer.Serialize(result));
                }
                if (besppeakDate.Date == DateTime.Now.Date && !readingRoomInfos[0].Setting.SeatBespeak.NowDayBespeak)
                {
                    result.Result = false;
                    result.Msg    = "当前阅览室未开放当天预约!";
                    return(JSONSerializer.Serialize(result));
                }
                if (besppeakDate.Date != DateTime.Now.Date && !readingRoomInfos[0].Setting.IsCanBespeakSeat(besppeakDate))
                {
                    result.Result = false;
                    result.Msg    = "当前时间暂未开放预约!";
                    return(JSONSerializer.Serialize(result));
                }
                List <AJM_BespeakSeat> ajmSeats = new List <AJM_BespeakSeat>();
                //获取当天可预约座位
                if (besppeakDate.Date == DateTime.Now.Date)
                {
                    SeatLayout seatLayout = SeatManageDateService.GetRoomSeatLayOut(roomNo);
                    foreach (Seat seat in seatLayout.Seats.Values)
                    {
                        if (!seat.IsSuspended && seat.SeatUsedState == EnterOutLogType.Leave)
                        {
                            AJM_BespeakSeat ajmSeat = new AJM_BespeakSeat();
                            ajmSeat.SeatNo      = seat.SeatNo;
                            ajmSeat.SeatShortNo = seat.ShortSeatNo;
                            ajmSeats.Add(ajmSeat);
                        }
                    }
                }
                else
                {
                    //获取选择日期提供预约的座位
                    SeatLayout seats = SeatManageDateService.GetBeseakSeatLayout(roomNo, besppeakDate);
                    foreach (Seat seat in seats.Seats.Values)
                    {
                        if (seat.CanBeBespeak && seat.SeatUsedState != EnterOutLogType.BookingConfirmation && !seat.IsSuspended)
                        {
                            AJM_BespeakSeat ajmSeat = new AJM_BespeakSeat();
                            ajmSeat.SeatNo      = seat.SeatNo;
                            ajmSeat.SeatShortNo = seat.ShortSeatNo;
                            ajmSeats.Add(ajmSeat);
                        }
                    }
                }
                if (ajmSeats.Count < 1)
                {
                    result.Result = false;
                    result.Msg    = "当前时间没有可预约的座位!";
                    return(JSONSerializer.Serialize(result));
                }

                AJM_BesapeakRoom ajmroom = new AJM_BesapeakRoom();
                ajmroom.RoomNo          = readingRoomInfos[0].No;
                ajmroom.RoomName        = readingRoomInfos[0].Name;
                ajmroom.BespeakDate     = besppeakDate.ToShortDateString();
                ajmroom.SeatList        = ajmSeats;
                ajmroom.IsCanSelectTime = readingRoomInfos[0].Setting.SeatBespeak.SpecifiedBespeak || besppeakDate.Date != DateTime.Now.Date;
                ajmroom.CheckBeforeTime = int.Parse(readingRoomInfos[0].Setting.SeatBespeak.ConfirmTime.BeginTime);
                ajmroom.CheckLastTime   = int.Parse(readingRoomInfos[0].Setting.SeatBespeak.ConfirmTime.EndTime);
                ajmroom.CheckKeepTime   = (int)readingRoomInfos[0].Setting.SeatBespeak.SeatKeepTime;
                //if (!ajmroom.IsCanSelectTime)
                //{
                //    ajmroom.CheckBeforeTime = 0;
                //    ajmroom.CheckLastTime = (int)readingRoomInfos[0].Setting.SeatBespeak.SeatKeepTime;
                //}
                if (readingRoomInfos[0].Setting.SeatBespeak.SpecifiedBespeak)
                {
                    List <DateTime> timeSpans = readingRoomInfos[0].Setting.GetSelectTimeList(besppeakDate);
                    foreach (var time in timeSpans)
                    {
                        ajmroom.TimeList.Add(time.ToShortTimeString());
                    }
                }
                else
                {
                    ajmroom.TimeList.Add(readingRoomInfos[0].Setting.DateOpenTime(besppeakDate).ToShortTimeString());
                }

                result.Result = true;
                result.Msg    = JSONSerializer.Serialize(ajmroom);
                return(JSONSerializer.Serialize(result));
            }
            catch (Exception ex)
            {
                WriteLog.Write(string.Format("获取当前可预约座位列表遇到异常:{0}", ex.Message));
                result.Result = false;
                result.Msg    = "获取当前阅览室可预约座位执行越到异常!";
                return(JSONSerializer.Serialize(result));
            }
        }