Example #1
0
 /// <summary>
 /// 根据学号获取读者信息
 /// </summary>
 /// <param name="cardNum"></param>
 /// <returns></returns>
 public string GetBaseReaderInfo(string cardNum)
 {
     try
     {
         SeatManage.ClassModel.ReaderInfo reader = seatDataService.GetReader(cardNum, false);
         if (reader != null)
         {
             JM_ReaderInfo jm_Reader = new JM_ReaderInfo();
             jm_Reader.CardId = reader.CardID;
             jm_Reader.CardNo = reader.CardNo;
             jm_Reader.Name   = reader.Name;
             jm_Reader.Sex    = reader.Sex;
             return(SeatManage.SeatManageComm.JSONSerializer.Serialize(jm_Reader));
         }
         else
         {
             JM_HandleResult result = new JM_HandleResult();
             result.Result = false;
             result.Msg    = "对不起,此读者信息不存在";
             return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
         }
     }
     catch (Exception ex)
     {
         SeatManage.SeatManageComm.WriteLog.Write("根据学号获取读者信息遇到异常:" + ex.Message);
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "执行遇到异常!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
 }
 /// <summary>
 /// 座位解锁操作
 /// </summary>
 /// <param name="seatNum"></param>
 /// <returns></returns>
 public string SeatUnLock(string seatNum)
 {
     try
     {
         if (seatDataService.SeatUnLocked(seatNum) != SeatLockState.UnLock)
         {
             JM_HandleResult result = new JM_HandleResult();
             result.Result = false;
             result.Msg    = "座位解锁失败。";
             return(SeatManageComm.JSONSerializer.Serialize(result));
         }
         else
         {
             JM_HandleResult result = new JM_HandleResult();
             result.Result = true;
             result.Msg    = "";
             return(SeatManageComm.JSONSerializer.Serialize(result));
         }
     }
     catch (Exception ex)
     {
         SeatManage.SeatManageComm.WriteLog.Write("座位解锁遇到异常:" + ex.Message);
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "执行遇到异常!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
 }
 public string ChangeSeat(string cardNo, string seatNo, string roomNo)
 {
     if (!verify.Verify(myHeader.UserName, myHeader.PassWord, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, System.Reflection.MethodBase.GetCurrentMethod().Name))
     {
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "权限验证失败!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
     return(server.ChangeSeat(cardNo, seatNo, roomNo));
 }
 public string CancelBespeakLogByCardNo(string cardNum, string bespeakDate)
 {
     if (!verify.Verify(myHeader.UserName, myHeader.PassWord, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, System.Reflection.MethodBase.GetCurrentMethod().Name))
     {
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "权限验证失败!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
     return(server.CancelBespeakLogByCardNo(cardNum, bespeakDate));
 }
Example #5
0
 public string GetSeatsLayoutByRoomNum(string roomNum)
 {
     if (!verify.Verify(myHeader.UserName, myHeader.PassWord, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, System.Reflection.MethodBase.GetCurrentMethod().Name))
     {
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "权限验证失败!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
     return(server.GetSeatsLayoutByRoomNum(roomNum));
 }
Example #6
0
        /// <summary>
        /// 获取读者的预约记录
        /// </summary>
        /// <param name="cardNum"></param>
        /// <param name="beforeDays"></param>
        /// <returns></returns>
        public string GetReaderBespeakRecord(string cardNum, int pageIndex, int pageSize)
        {
            try
            {
                if (string.IsNullOrEmpty(cardNum))
                {
                    JM_HandleResult result = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "输入的学号不能空";
                    return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
                }
                if (pageIndex < 0 || pageSize < 0)
                {
                    JM_HandleResult result = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "页面和每行显示数目必须大于等于0";
                    return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
                }
                List <SeatManage.ClassModel.BespeakLogInfo> logs = seatDataService.GetBespeakLogsByPage(cardNum, pageIndex, pageSize);
                List <JM_BespeakLog> jm_logs = new List <JM_BespeakLog>();
                for (int i = 0; i < logs.Count; i++)
                {
                    JM_BespeakLog log = new JM_BespeakLog();
                    log.Id       = logs[i].BsepeaklogID;
                    log.DateTime = logs[i].BsepeakTime.ToString("yyyy-MM-dd HH:mm:ss");
                    switch (logs[i].BsepeakState)
                    {
                    case BookingStatus.Waiting:
                        log.IsValid = true;
                        break;

                    default:
                        log.IsValid = false;
                        break;
                    }
                    log.Remark         = logs[i].Remark;
                    log.RoomName       = logs[i].ReadingRoomName;
                    log.RoomNum        = logs[i].ReadingRoomNo;
                    log.SeatId         = logs[i].SeatNo;
                    log.SeatNum        = logs[i].ShortSeatNum;
                    log.SubmitDateTime = logs[i].SubmitTime.ToString("yyyy-MM-dd HH:mm:ss");
                    jm_logs.Add(log);
                }
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(jm_logs));
            }
            catch (Exception ex)
            {
                SeatManage.SeatManageComm.WriteLog.Write("选择座位遇到异常:" + ex.Message);
                JM_HandleResult result = new JM_HandleResult();
                result.Result = false;
                result.Msg    = "执行遇到异常!";
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
            }
        }
 public string SubmitBespeakInfo(string cardNo, string roomNum, string seatNum, string bespeakDatetime, string remark)
 {
     if (!verify.Verify(myHeader.UserName, myHeader.PassWord, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, System.Reflection.MethodBase.GetCurrentMethod().Name))
     {
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "权限验证失败!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
     return(server.SubmitBespeakInfoCustomTime(cardNo, roomNum, seatNum, bespeakDatetime, remark));
 }
Example #8
0
        /// <summary>
        /// 获取读者违规记录
        /// </summary>
        /// <param name="cardNum"></param>
        /// <param name="beforeDays"></param>
        /// <returns></returns>
        public string GetReaderBlacklistRecord(string cardNum, int pageIndex, int pageSize)
        {
            try
            {
                if (string.IsNullOrEmpty(cardNum))
                {
                    JM_HandleResult result = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "输入的学号不能空";
                    return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
                }
                if (pageIndex < 0 || pageSize < 0)
                {
                    JM_HandleResult result = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "页面和每行显示数目必须大于等于0";
                    return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
                }
                List <BlackListInfo> logs    = seatDataService.GetBlacklistInfosByPage(cardNum, pageIndex, pageSize);
                List <JM_Blacklist>  jm_logs = new List <JM_Blacklist>();
                for (int i = 0; i < logs.Count; i++)
                {
                    JM_Blacklist log = new JM_Blacklist();
                    log.AddTime = logs[i].AddTime.ToString("yyyy-MM-dd HH:mm:ss");
                    log.CardNo  = logs[i].CardNo;
                    log.ID      = logs[i].ID;
                    switch (logs[i].BlacklistState)
                    {
                    case LogStatus.Valid:
                        log.IsValid = true;
                        break;

                    default:
                        log.IsValid = false;
                        break;
                    }
                    log.OutBlacklistMode = logs[i].OutBlacklistMode.ToString();
                    log.OutTime          = logs[i].OutTime.ToString("yyyy-MM-dd HH:mm:ss");
                    log.ReMark           = logs[i].ReMark;
                    jm_logs.Add(log);
                }
                return(SeatManageComm.JSONSerializer.Serialize(jm_logs));
            }
            catch (Exception ex)
            {
                SeatManage.SeatManageComm.WriteLog.Write("选择座位遇到异常:" + ex.Message);
                JM_HandleResult result = new JM_HandleResult();
                result.Result = false;
                result.Msg    = "执行遇到异常!";
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
            }
        }
Example #9
0
        public string GetReaderBlacklistRecord(string cardNum, string beforeDays)
        {
            IAuthorizeVerify verify = new WebAuthorizeVerify();

            if (!verify.Verify(myHeader.UserName, myHeader.PassWord, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, System.Reflection.MethodBase.GetCurrentMethod().Name))
            {
                JM_HandleResult result = new JM_HandleResult();
                result.Result = false;
                result.Msg    = "权限验证失败!";
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
            }
            throw new NotImplementedException();
        }
Example #10
0
        public string GetOpenBespeakRooms(string strDate)
        {
            IAuthorizeVerify verify = new WebAuthorizeVerify();

            if (!verify.Verify(myHeader.UserName, myHeader.PassWord, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, System.Reflection.MethodBase.GetCurrentMethod().Name))
            {
                JM_HandleResult result = new JM_HandleResult();
                result.Result = false;
                result.Msg    = "权限验证失败!";
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
            }
            return(server.GetOpenBespeakRooms(strDate));
        }
Example #11
0
        public string SeatOperation(string seatNoList, string operateType, string loginId)
        {
            IAuthorizeVerify verify = new WebAuthorizeVerify();

            if (!verify.Verify(myHeader.UserName, myHeader.PassWord, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, System.Reflection.MethodBase.GetCurrentMethod().Name))
            {
                JM_HandleResult result = new JM_HandleResult();
                result.Result = false;
                result.Msg    = "权限验证失败!";
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
            }
            return(server.SeatOperation(seatNoList, operateType, loginId));
        }
Example #12
0
        public string CancelBespeakLog(int bespeakId, string remark)
        {
            IAuthorizeVerify verify = new WebAuthorizeVerify();

            if (!verify.Verify(myHeader.UserName, myHeader.PassWord, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, System.Reflection.MethodBase.GetCurrentMethod().Name))
            {
                JM_HandleResult result = new JM_HandleResult();
                result.Result = false;
                result.Msg    = "权限验证失败!";
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
            }
            return(server.CancelBespeakLog(bespeakId, remark));
        }
Example #13
0
        public string GetReaderActualTimeRecord(string cardNum, string getItemsParameter)
        {
            IAuthorizeVerify verify = new WebAuthorizeVerify();

            if (!verify.Verify(myHeader.UserName, myHeader.PassWord, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, System.Reflection.MethodBase.GetCurrentMethod().Name))
            {
                JM_HandleResult result = new JM_HandleResult();
                result.Result = false;
                result.Msg    = "权限验证失败!";
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
            }
            return(server.GetReaderActualTimeRecord(cardNum, getItemsParameter));
        }
Example #14
0
        public string GetViolateDiscipline(string cardNum, int pageIndex, int pageSize)
        {
            IAuthorizeVerify verify = new WebAuthorizeVerify();

            if (!verify.Verify(myHeader.UserName, myHeader.PassWord, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, System.Reflection.MethodBase.GetCurrentMethod().Name))
            {
                JM_HandleResult result = new JM_HandleResult();
                result.Result = false;
                result.Msg    = "权限验证失败!";
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
            }
            return(server.GetViolateDiscipline(cardNum, pageIndex, pageSize));
        }
Example #15
0
 /// <summary>
 /// 获取帐号、需要在客户端验证密码。验证成功返回用户基础信息,否则返回空
 /// </summary>
 /// <param name="cardNum"></param>
 /// <param name="beforeDays"></param>
 /// <returns></returns>
 public string GetReaderAccount(string cardNum, string password)
 {
     try
     {
         if (string.IsNullOrEmpty(cardNum.Trim()) || string.IsNullOrEmpty(password.Trim()))
         {
             JM_HandleResult result = new JM_HandleResult();
             result.Result = false;
             result.Msg    = "用户名或密码不能为空!";
             return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
         }
         JM_ReaderInfo reader = null;
         SeatManage.ClassModel.UserInfo user = seatDataService.GetUserInfo(cardNum);
         if (user != null)
         {
             string strPwd = SeatManageComm.MD5Algorithm.GetMD5Str32(password);
             if (strPwd.Equals(user.Password))
             {
                 reader        = new JM_ReaderInfo();
                 reader.CardNo = user.LoginId;
                 reader.Name   = user.UserName;
                 return(SeatManageComm.JSONSerializer.Serialize(reader));
             }
             else
             {
                 JM_HandleResult result = new JM_HandleResult();
                 result.Result = false;
                 result.Msg    = "用户名或密码错误!";
                 return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
             }
         }
         else
         {
             JM_HandleResult result = new JM_HandleResult();
             result.Result = false;
             result.Msg    = "用户名或密码错误!";
             return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
         }
     }
     catch (Exception ex)
     {
         SeatManage.SeatManageComm.WriteLog.Write("选择座位遇到异常:" + ex.Message);
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "执行遇到异常!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
 }
Example #16
0
 /// <summary>
 /// 获取座位使用状态
 /// </summary>
 /// <param name="seatNum"></param>
 /// <returns></returns>
 public string GetSeatUsage(string seatNum)
 {
     try
     {
         if (seatNum.Length < 9)
         {
             JM_HandleResult result = new JM_HandleResult();
             result.Result = false;
             result.Msg    = "座位编号错误!";
             return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
         }
         SeatManage.ClassModel.Seat seat = seatDataService.GetSeatInfoBySeatNum(seatNum);
         if (seat == null)
         {
             JM_HandleResult result = new JM_HandleResult();
             result.Result = false;
             result.Msg    = "该座位不存在!";
             return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
         }
         if (seat.SeatUsedState == EnterOutLogType.Leave && seatDataService.GetBespeakLogInfoBySeatNo(seatNum, DateTime.Now).Count > 0)
         {
             seat.SeatUsedState = EnterOutLogType.BespeakWaiting;
         }
         JM_Seat jm_seat = new JM_Seat();
         jm_seat.CanBeBespeak    = seat.CanBeBespeak;
         jm_seat.HavePower       = seat.HavePower;
         jm_seat.IsSuspended     = seat.IsSuspended;
         jm_seat.ReadingRoomNum  = seat.ReadingRoom.No;
         jm_seat.ReadingRoomName = seat.ReadingRoom.Name;
         jm_seat.SeatNo          = seat.SeatNo;
         jm_seat.SeatUsedState   = seat.SeatUsedState.ToString();
         jm_seat.ShortSeatNo     = seat.ShortSeatNo;
         jm_seat.BaseHeight      = seat.BaseHeight;
         jm_seat.BaseWidth       = seat.BaseWidth;
         jm_seat.PositionX       = seat.PositionX;
         jm_seat.PositionY       = seat.PositionY;
         jm_seat.RotationAngle   = seat.RotationAngle;
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(jm_seat));
     }
     catch (Exception ex)
     {
         SeatManage.SeatManageComm.WriteLog.Write("根据座位号获座位者预约信息遇到异常:" + ex.Message);
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "执行遇到异常!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
 }
Example #17
0
        public string GetReaderChooseSeatRecord(string cardNum, int pageIndex, int pageSize)
        {
            try
            {
                if (string.IsNullOrEmpty(cardNum))
                {
                    JM_HandleResult result = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "输入的学号不能空";
                    return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
                }
                if (pageIndex < 0 || pageSize < 0)
                {
                    JM_HandleResult result = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "页面和每行显示数目必须大于等于0";
                    return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
                }
                DateTime endDate = DateTime.Now;
                List <SeatManage.ClassModel.EnterOutLogInfo> logs = seatDataService.GetEnterOutLogsByPage(cardNum, pageIndex, pageSize);
                List <JM_EnterOutLog> jm_logs = new List <JM_EnterOutLog>();
                for (int i = 0; i < logs.Count; i++)
                {
                    JM_EnterOutLog log = new JM_EnterOutLog();

                    log.EnterOutState = logs[i].EnterOutState.ToString();
                    log.EnterOutTime  = logs[i].EnterOutTime.ToString("yyyy-MM-dd HH:mm:ss");
                    log.Id            = logs[i].EnterOutLogID;
                    log.Remark        = logs[i].Remark;
                    log.RoomName      = logs[i].ReadingRoomName;
                    log.RoomNum       = logs[i].ReadingRoomNo;
                    log.SeatId        = logs[i].SeatNo;
                    log.SeatNum       = logs[i].ShortSeatNo;

                    jm_logs.Add(log);
                }
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(jm_logs));
            }
            catch (Exception ex)
            {
                SeatManage.SeatManageComm.WriteLog.Write("选择座位遇到异常:" + ex.Message);
                JM_HandleResult result = new JM_HandleResult();
                result.Result = false;
                result.Msg    = "执行遇到异常!";
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
            }
        }
Example #18
0
 public string GetAllRoomSeatUsedInfo()
 {
     if (myHeader.UserName.Equals(soapUserName) && SeatManage.SeatManageComm.MD5Algorithm.GetMD5Str32(myHeader.PassWord).Equals(soapPwd))
     {
         SeatManage.MobileAppDataObtainProxy.IMobileAppDataObtianProxy obtainProxy = new SeatManage.MobileAppDataObtainProxy.MobileAppDataObtainProxy(myHeader.SchoolNum);
         string r = obtainProxy.GetAllRoomSeatUsedInfo();
         obtainProxy.Dispose();
         return(r);
     }
     else
     {
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "权限验证失败!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
 }
Example #19
0
 public string SubmitBespeakInfoCustomTime(string cardNo, string roomNum, string seatNum, string bespeakDatetime, string remark)
 {
     if (myHeader.UserName.Equals(soapUserName) && SeatManage.SeatManageComm.MD5Algorithm.GetMD5Str32(myHeader.PassWord).Equals(soapPwd))
     {
         SeatManage.MobileAppDataObtainProxy.IMobileAppDataObtianProxy obtainProxy = new SeatManage.MobileAppDataObtainProxy.MobileAppDataObtainProxy(myHeader.SchoolNum);
         string r = obtainProxy.SubmitBespeakInfoCustomTime(cardNo, roomNum, seatNum, bespeakDatetime, remark);
         obtainProxy.Dispose();
         return(r);
     }
     else
     {
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "权限验证失败!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
 }
Example #20
0
 public string GetViolateDiscipline(string cardNum, int pageIndex, int pageSize)
 {
     if (myHeader.UserName.Equals(soapUserName) && SeatManage.SeatManageComm.MD5Algorithm.GetMD5Str32(myHeader.PassWord).Equals(soapPwd))
     {
         SeatManage.MobileAppDataObtainProxy.IMobileAppDataObtianProxy obtainProxy = new SeatManage.MobileAppDataObtainProxy.MobileAppDataObtainProxy(myHeader.SchoolNum);
         string r = obtainProxy.GetViolateDiscipline(cardNum, pageIndex, pageSize);
         obtainProxy.Dispose();
         return(r);
     }
     else
     {
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "权限验证失败!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
 }
Example #21
0
 public string GetReaderActualTimeRecord(string cardNum, string getItemsParameter)
 {
     if (myHeader.UserName.Equals(soapUserName) && SeatManage.SeatManageComm.MD5Algorithm.GetMD5Str32(myHeader.PassWord).Equals(soapPwd))
     {
         SeatManage.MobileAppDataObtainProxy.IMobileAppDataObtianProxy obtainProxy = new SeatManage.MobileAppDataObtainProxy.MobileAppDataObtainProxy(myHeader.SchoolNum);
         string r = obtainProxy.GetReaderActualTimeRecord(cardNum, getItemsParameter);
         obtainProxy.Dispose();
         return(r);
     }
     else
     {
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "权限验证失败!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
 }
Example #22
0
 /// <summary>
 /// 根据阅览室编号获取当前座位使用情况的布局图(包括预约)。
 /// </summary>
 /// <param name="roomNum">阅览室编号</param>
 /// <returns></returns>
 public string GetSeatsUsedInfoByRoomNum(string roomNum)
 {
     try
     {
         if (string.IsNullOrEmpty(roomNum))
         {
             JM_HandleResult result = new JM_HandleResult();
             result.Result = false;
             result.Msg    = "阅览室编号不能为空!";
             return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
         }
         List <JM_Seat> seats             = new List <JM_Seat>();
         SeatLayout     bespeakSeatLayout = seatDataService.GetRoomSeatLayOut(roomNum);
         foreach (Seat seat in bespeakSeatLayout.Seats.Values)
         {
             if (!seat.IsSuspended)
             {
                 JM_Seat jm_seat = new JM_Seat();
                 jm_seat.CanBeBespeak    = true;
                 jm_seat.HavePower       = seat.HavePower;
                 jm_seat.IsSuspended     = seat.IsSuspended;
                 jm_seat.ReadingRoomNum  = seat.ReadingRoom.No;
                 jm_seat.ReadingRoomName = seat.ReadingRoom.Name;
                 jm_seat.SeatNo          = seat.SeatNo;
                 jm_seat.SeatUsedState   = seat.SeatUsedState.ToString();
                 jm_seat.ShortSeatNo     = seat.ShortSeatNo;
                 jm_seat.BaseHeight      = seat.BaseHeight;
                 jm_seat.BaseWidth       = seat.BaseWidth;
                 jm_seat.PositionX       = seat.PositionX;
                 jm_seat.PositionY       = seat.PositionY;
                 jm_seat.RotationAngle   = seat.RotationAngle;
                 seats.Add(jm_seat);
             }
         }
         return(SeatManageComm.JSONSerializer.Serialize(seats));
     }
     catch (Exception ex)
     {
         SeatManage.SeatManageComm.WriteLog.Write("获取阅览室座位使用情况布局图遇到异常:" + ex.Message);
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "执行遇到异常!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
 }
Example #23
0
 /// <summary>
 /// 获取违规记录
 /// </summary>
 /// <param name="cardNum"></param>
 /// <param name="beforeDays"></param>
 /// <returns></returns>
 public string GetViolateDiscipline(string cardNum, int pageIndex, int pageSize)
 {
     try
     {
         if (string.IsNullOrEmpty(cardNum))
         {
             JM_HandleResult result = new JM_HandleResult();
             result.Result = false;
             result.Msg    = "输入的学号不能空";
             return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
         }
         if (pageIndex < 0 || pageSize < 0)
         {
             JM_HandleResult result = new JM_HandleResult();
             result.Result = false;
             result.Msg    = "页面和每行显示数目必须大于等于0";
             return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
         }
         List <ViolationRecordsLogInfo> logs    = seatDataService.GetViolationRecordsLogsByPage(cardNum, pageIndex, pageSize);
         List <JM_ViolationRecordsLog>  jm_logs = new List <JM_ViolationRecordsLog>();
         for (int i = 0; i < logs.Count; i++)
         {
             JM_ViolationRecordsLog log = new JM_ViolationRecordsLog();
             log.CardNo          = logs[i].CardNo;
             log.EnterOutTime    = logs[i].EnterOutTime;
             log.ReadingRoomName = logs[i].ReadingRoomName;
             log.Remark          = logs[i].Remark;
             log.SeatID          = logs[i].SeatID;
             jm_logs.Add(log);
         }
         return(SeatManageComm.JSONSerializer.Serialize(jm_logs));
     }
     catch (Exception ex)
     {
         SeatManage.SeatManageComm.WriteLog.Write("选择座位遇到异常:" + ex.Message);
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "执行遇到异常!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
 }
Example #24
0
        /// <summary>
        /// 获取所有阅览室座位使用信息(使用数/座位总数)
        /// </summary>
        /// <returns></returns>
        public string GetAllRoomSeatUsedInfo()
        {
            try
            {
                // seatDataService.GetLibraryList(null, null, null);
                Dictionary <string, ReadingRoomSeatUsedState> rooms = seatDataService.GetRoomSeatUsedState(null);//阅览室座位使用状态
                List <JM_RoomSeatUsedState> seatUsedStateList       = new List <JM_RoomSeatUsedState>();

                Dictionary <string, JM_LibrarySeatsInfo> librarys = new Dictionary <string, JM_LibrarySeatsInfo>();
                foreach (ReadingRoomSeatUsedState seatUsedState in rooms.Values)
                {
                    JM_RoomSeatUsedState jm_seatUsedState = new JM_RoomSeatUsedState();
                    jm_seatUsedState.RoomName           = seatUsedState.RoomName;
                    jm_seatUsedState.RoomNum            = seatUsedState.RoomNum;
                    jm_seatUsedState.SeatAmountAll      = seatUsedState.SeatAmountAll;
                    jm_seatUsedState.SeatAmountUsed     = seatUsedState.SeatAmountUsed;
                    jm_seatUsedState.RoomSeatUsingState = seatUsedState.RoomSeatUsingState.ToString();
                    if (!librarys.ContainsKey(seatUsedState.LibraryNum))//如果图书馆列表中存在阅览室所在图书馆的编号,则把当前阅览室添加到该图书馆下
                    {
                        JM_LibrarySeatsInfo library = new JM_LibrarySeatsInfo();
                        library.LibraryName = seatUsedState.LibraryName;
                        library.LibraryNum  = seatUsedState.LibraryNum;
                        librarys.Add(seatUsedState.LibraryNum, library);
                    }
                    librarys[seatUsedState.LibraryNum].ReadingRoomSeatUsedState.Add(jm_seatUsedState);
                    librarys[seatUsedState.LibraryNum].SeatAmountAll  += jm_seatUsedState.SeatAmountAll;
                    librarys[seatUsedState.LibraryNum].SeatAmountUsed += jm_seatUsedState.SeatAmountUsed;
                }
                List <JM_LibrarySeatsInfo> resultList = librarys.Values.ToList();
                return(SeatManageComm.JSONSerializer.Serialize(resultList));
            }
            catch (Exception ex)
            {
                SeatManage.SeatManageComm.WriteLog.Write("获取阅览室使用情况遇到异常:" + ex.Message);
                JM_HandleResult result = new JM_HandleResult();
                result.Result = false;
                result.Msg    = "执行遇到异常!";
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
            }
        }
Example #25
0
        /// <summary>
        /// 获取所有阅览室的基础信息
        /// </summary>
        /// <returns></returns>
        public string GetAllReadingRoomBaseInfo()
        {
            try
            {
                List <JM_ReadingRoom> rooms = new List <JM_ReadingRoom>();
                List <SeatManage.ClassModel.ReadingRoomInfo> roomListModel = seatDataService.GetReadingRooms(null, null, null);
                for (int i = 0; i < roomListModel.Count; i++)
                {
                    JM_ReadingRoom roomInfo = new JM_ReadingRoom();
                    roomInfo.RoomNum  = roomListModel[i].No;
                    roomInfo.RoomName = roomListModel[i].Name;
                    //TODO:添加阅览室设置属性

                    //if (!String.IsNullOrEmpty(dr["ReadingSetting"].ToString()))
                    //{
                    //    roomInfo.Setting = new ReadingRoomSetting(dr["ReadingSetting"].ToString());
                    //}
                    //else
                    //{
                    //    roomInfo.Setting = new ReadingRoomSetting();
                    //}

                    roomInfo.LibraryName = roomListModel[i].Libaray.Name;
                    roomInfo.SchoolName  = roomListModel[i].Libaray.School.Name;

                    roomInfo.AreaName = roomListModel[i].Area.AreaName;
                    rooms.Add(roomInfo);
                }
                return(SeatManageComm.JSONSerializer.Serialize(rooms));
            }
            catch (Exception ex)
            {
                SeatManage.SeatManageComm.WriteLog.Write("获取全部阅览室信息遇到异常:" + ex.Message);
                JM_HandleResult result = new JM_HandleResult();
                result.Result = false;
                result.Msg    = "执行遇到异常!";
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
            }
        }
 /// <summary>
 /// 判断读者是否可以进入阅览室
 /// </summary>
 /// <param name="cardNo"></param>
 /// <param name="roomNum"></param>
 /// <returns></returns>
 public string VerifyCanDoIt(string cardNo, string roomNum)
 {
     try
     {
         JM_HandleResult result = new JM_HandleResult();
         result.Result = true;
         result.Msg    = "";
         if (string.IsNullOrEmpty(cardNo))
         {
             result.Result = false;
             result.Msg    = "对不起,输入的学号不能为空。";
             return(SeatManageComm.JSONSerializer.Serialize(result));
         }
         List <ReadingRoomInfo> rooms = seatDataService.GetReadingRooms(new List <string>()
         {
             roomNum
         }, null, null);
         if (rooms.Count < 1)
         {
             result.Result = false;
             result.Msg    = "对不起,此阅览室不存在。";
             return(SeatManageComm.JSONSerializer.Serialize(result));
         }
         //判断阅览室是否开放
         if (ReadingRoomOpenState(rooms[0].Setting.RoomOpenSet, seatDataService.GetServerDateTime()) == ReadingRoomStatus.Close)
         {
             result.Result = false;
             result.Msg    = "对不起,此阅览室尚未开放。";
             return(SeatManageComm.JSONSerializer.Serialize(result));
         }
         //判断阅览室是否已满
         ReadingRoomSeatUsedState roomStatus = GetRoomSeatUsedState(roomNum);
         if (roomStatus != null && roomStatus.SeatAmountFree <= 0 && !rooms[0].Setting.NoManagement.Used)
         {
             result.Result = false;
             result.Msg    = "对不起,此阅览室座位已满。";
             return(SeatManageComm.JSONSerializer.Serialize(result));
         }
         //判断黑名单
         if (!string.IsNullOrEmpty(checkBlacklist(cardNo, rooms[0])))
         {
             result.Result = false;
             result.Msg    = "对不起,您在黑名单中存在记录。";
             return(SeatManageComm.JSONSerializer.Serialize(result));
         }
         //判断选座次数
         if (rooms[0].Setting.PosTimes.IsUsed && seatDataService.GetReaderChooseSeatTimes(cardNo, rooms[0].Setting.PosTimes.Minutes) >= rooms[0].Setting.PosTimes.Times)
         {
             result.Result = false;
             result.Msg    = "操作失败,选座频繁。";
             return(SeatManageComm.JSONSerializer.Serialize(result));
         }
         //判断读者类型
         ReaderInfo reader = seatDataService.GetReader(cardNo, false);
         if (reader == null)
         {
             reader            = new ReaderInfo();
             reader.CardNo     = cardNo;
             reader.ReaderType = "未指定";
         }
         if (!ProvenReaderType(reader, rooms[0].Setting))
         {
             result.Result = false;
             result.Msg    = "对不起,您的用户类型'" + reader.ReaderType + "'不允许在此阅览室选座。";
             return(SeatManageComm.JSONSerializer.Serialize(result));
         }
         return(SeatManageComm.JSONSerializer.Serialize(result));
     }
     catch (Exception ex)
     {
         SeatManage.SeatManageComm.WriteLog.Write("判断读者是否允许进入阅览室遇到异常:" + ex.Message);
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "执行遇到异常!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
 }
        /// <summary>
        /// 选座
        /// </summary>
        /// <param name="cardNum"></param>
        /// <param name="seatNum"></param>
        /// <param name="roomNum"></param>
        /// <returns></returns>
        public string SubmitChooseResult(string cardNum, string seatNum, string roomNum)
        {
            try
            {
                JM_HandleResult result = new JM_HandleResult();
                result.Result = true;
                result.Msg    = "";
                if (string.IsNullOrEmpty(cardNum))
                {
                    result        = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "读者的学号不能为空";
                    return(SeatManageComm.JSONSerializer.Serialize(result));
                }
                if (seatNum.Length != 9)
                {
                    result        = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "座位编号不正确";
                    return(SeatManageComm.JSONSerializer.Serialize(result));
                }
                string roomNo = seatNum.Substring(0, 6);
                //验证读者是否可以选择座位
                result = SeatManageComm.JSONSerializer.Deserialize <JM_HandleResult>(VerifyCanDoIt(cardNum, roomNo));
                if (!result.Result)
                {
                    return(SeatManageComm.JSONSerializer.Serialize(result));
                }
                SeatManage.ClassModel.Seat seatInfo = seatDataService.GetSeatInfoBySeatNum(seatNum);
                if (seatInfo == null)
                {
                    result        = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "此座位不存在";
                    return(SeatManageComm.JSONSerializer.Serialize(result));
                }
                if (seatInfo.IsSuspended)
                {
                    result        = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "座位已停用";
                    return(SeatManageComm.JSONSerializer.Serialize(result));
                }
                if (seatInfo.SeatUsedState != EnterOutLogType.Leave)
                {
                    result        = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "座位正在被使用";
                    return(SeatManageComm.JSONSerializer.Serialize(result));
                }
                List <BespeakLogInfo> bespeaklogList = seatDataService.GetBespeakLogInfoBySeatNo(seatNum, DateTime.Now);
                if (bespeaklogList.Count > 0)
                {
                    if (!seatInfo.ReadingRoom.Setting.SeatBespeak.SelectBespeakSeat)
                    {
                        result        = new JM_HandleResult();
                        result.Result = false;
                        result.Msg    = "此座位座位已被预约";
                        return(SeatManageComm.JSONSerializer.Serialize(result));
                    }
                    if (bespeaklogList[0].BsepeakTime == bespeaklogList[0].SubmitTime)
                    {
                        result        = new JM_HandleResult();
                        result.Result = false;
                        result.Msg    = "此座位座位已被预约";
                        return(SeatManageComm.JSONSerializer.Serialize(result));
                    }
                    if (bespeaklogList[0].BsepeakTime.AddMinutes(-double.Parse(seatInfo.ReadingRoom.Setting.SeatBespeak.ConfirmTime.BeginTime)) <= DateTime.Now)
                    {
                        result        = new JM_HandleResult();
                        result.Result = false;
                        result.Msg    = "此座位座位已被预约";
                        return(SeatManageComm.JSONSerializer.Serialize(result));
                    }
                }

                EnterOutLogInfo enterOutlog = seatDataService.GetEnterOutLogInfoByCardNo(cardNum);
                if (enterOutlog != null && enterOutlog.EnterOutState != EnterOutLogType.Leave)
                {
                    result.Result = false;
                    result.Msg    = "对不起,您已有正在使用中的座位。";
                    return(SeatManageComm.JSONSerializer.Serialize(result));
                }
                if (seatDataService.GetSingleBespeakLogForWait(cardNum) != null)
                {
                    result        = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "您有等待签到的预约记录。";
                    return(SeatManageComm.JSONSerializer.Serialize(result));
                }
                if (seatDataService.GetWaitLogList(cardNum, null, null, null, new List <EnterOutLogType>()
                {
                    EnterOutLogType.Waiting
                }).Count > 0)
                {
                    result        = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "您有正在等待的座位。";
                    return(SeatManageComm.JSONSerializer.Serialize(result));
                }

                if (enterOutlog == null)
                {
                    enterOutlog = new EnterOutLogInfo();
                }
                enterOutlog.CardNo        = cardNum;
                enterOutlog.ReadingRoomNo = seatInfo.ReadingRoomNum;
                enterOutlog.Remark        = string.Format("通过移动终端,选择{0} {1}号座位", seatInfo.ReadingRoom.Name, seatInfo.ShortSeatNo);
                enterOutlog.SeatNo        = seatInfo.SeatNo;
                enterOutlog.Flag          = EnumType.Operation.Reader;
                enterOutlog.EnterOutType  = EnumType.LogStatus.Valid;
                enterOutlog.EnterOutState = EnumType.EnterOutLogType.SelectSeat;
                enterOutlog.EnterOutLogNo = SeatManage.SeatManageComm.SeatComm.RndNum();
                int newLogId = -1;
                if (seatDataService.AddEnterOutLogInfo(enterOutlog, ref newLogId) == HandleResult.Successed)
                {
                    result.Result = false;
                    result.Msg    = "选座成功。";
                    return(SeatManageComm.JSONSerializer.Serialize(result));
                }
                else
                {
                    result.Result = false;
                    result.Msg    = "对不起,选座失败,请重新尝试。";
                    return(SeatManageComm.JSONSerializer.Serialize(result));
                }
            }
            catch (Exception ex)
            {
                SeatManage.SeatManageComm.WriteLog.Write("选择座位遇到异常:" + ex.Message);
                JM_HandleResult result = new JM_HandleResult();
                result.Result = false;
                result.Msg    = "执行遇到异常!";
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
            }
        }
Example #28
0
        public string FreeSeat(string cardNo)
        {
            try
            {
                ReaderInfo reader = null;
                JsonModel.JM_HandleResult result = new JsonModel.JM_HandleResult();
                try
                {
                    reader = seatDataService.GetReader(cardNo, true);
                }
                catch (Exception ex)
                {
                    result.Result = false;
                    result.Msg    = "获取读者状态遇到异常";
                }
                if (reader != null)
                {
                    if (reader.EnterOutLog == null)
                    {
                        result.Result = false;
                        result.Msg    = "释放座位失败,您还没有选座。";
                        return(SeatManageComm.JSONSerializer.Serialize(result));
                    }
                    switch (reader.EnterOutLog.EnterOutState)
                    {
                    case EnterOutLogType.BookingConfirmation: //预约入座
                    case EnterOutLogType.SelectSeat:          //选座
                    case EnterOutLogType.ContinuedTime:       //续时
                    case EnterOutLogType.ComeBack:            //暂离回来
                    case EnterOutLogType.ReselectSeat:        //重新选座
                    case EnterOutLogType.WaitingSuccess:      //读者通过等待座位入座
                    case EnterOutLogType.ShortLeave:          //读者暂离
                        reader.EnterOutLog.EnterOutState = EnterOutLogType.Leave;
                        reader.EnterOutLog.Remark        = "读者通过手机客户端释放座位。";
                        reader.EnterOutLog.Flag          = Operation.Reader;
                        reader.EnterOutLog.EnterOutTime  = DateTime.Now;

                        int          newId        = -1;
                        HandleResult returnResult = seatDataService.AddEnterOutLogInfo(reader.EnterOutLog, ref newId);
                        if (returnResult == HandleResult.Successed)
                        {
                            result.Result = true;
                            result.Msg    = "座位释放成功。";
                        }
                        else
                        {
                            result.Result = false;
                            result.Msg    = "未知原因释放座位失败";
                        }
                        break;

                    case EnterOutLogType.Leave:
                    default:
                        result.Result = false;
                        result.Msg    = "您当前没有座位。";
                        break;
                    }
                }
                else
                {
                    result.Result = false;
                    result.Msg    = "执行遇到错误。";
                }
                return(SeatManageComm.JSONSerializer.Serialize(result));
            }
            catch (Exception ex)
            {
                SeatManage.SeatManageComm.WriteLog.Write("释放座位遇到异常:" + ex.Message);
                JM_HandleResult result = new JM_HandleResult();
                result.Result = false;
                result.Msg    = "执行遇到异常!";
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
            }
        }
Example #29
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="cardNo"></param>
 /// <returns></returns>
 public string ComeBack(string cardNo)
 {
     try
     {
         JsonModel.JM_HandleResult result = new JsonModel.JM_HandleResult();
         if (string.IsNullOrEmpty(cardNo))
         {
             result.Result = false;
             result.Msg    = "读者学号为空。";
             return(SeatManageComm.JSONSerializer.Serialize(result));
         }
         ReaderInfo reader = seatDataService.GetReader(cardNo, true);
         if (reader == null)
         {
             result.Result = false;
             result.Msg    = "获取读者信息失败。";
             return(SeatManageComm.JSONSerializer.Serialize(result));
         }
         if (reader.EnterOutLog == null || reader.EnterOutLog.EnterOutState == EnterOutLogType.Leave)
         {
             result.Result = false;
             result.Msg    = "您还没有选座。";
             return(SeatManageComm.JSONSerializer.Serialize(result));
         }
         if (reader.EnterOutLog.EnterOutState != EnterOutLogType.ShortLeave)
         {
             result.Result = false;
             result.Msg    = "您当前不是暂离状态。";
             return(SeatManageComm.JSONSerializer.Serialize(result));
         }
         reader.EnterOutLog.EnterOutState = EnterOutLogType.ComeBack;
         reader.EnterOutLog.Remark        = "读者通过移动客户端设置暂离回来。";
         reader.EnterOutLog.Flag          = Operation.Reader;
         reader.EnterOutLog.EnterOutTime  = DateTime.Now;
         result.Result = true;
         int newId = -1;
         if (seatDataService.AddEnterOutLogInfo(reader.EnterOutLog, ref newId) != HandleResult.Successed)
         {
             result.Result = false;
             result.Msg    = "执行遇到异常!";
             return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
         }
         else
         {
             result.Result = true;
             result.Msg    = "欢迎回来";
             List <WaitSeatLogInfo> waitSeatLogs = seatDataService.GetWaitLogList("", reader.EnterOutLog.EnterOutLogID, null, null, null);
             if (waitSeatLogs.Count > 0)
             {
                 WaitSeatLogInfo waitSeatLog = waitSeatLogs[0];
                 waitSeatLog.NowState     = LogStatus.Fail;
                 waitSeatLog.OperateType  = Operation.OtherReader;
                 waitSeatLog.WaitingState = EnterOutLogType.WaitingCancel;
                 seatDataService.UpdateWaitLog(waitSeatLog);
             }
         }
         return(SeatManageComm.JSONSerializer.Serialize(result));
     }
     catch (Exception ex)
     {
         SeatManage.SeatManageComm.WriteLog.Write("暂离回来遇到异常:" + ex.Message);
         JM_HandleResult result = new JM_HandleResult();
         result.Result = false;
         result.Msg    = "执行遇到异常!";
         return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
     }
 }
Example #30
0
        /// <summary>
        /// 获取实时记录
        /// 预约记录
        ///选座记录
        ///等待记录
        ///黑名单记录
        /// </summary>
        /// <param name="cardNum"></param>
        /// <param name="getItemsParameter"></param>
        /// <returns></returns>
        public string GetReaderActualTimeRecord(string cardNum, string getItemsParameter)
        {
            try
            {
                if (string.IsNullOrEmpty(cardNum) || string.IsNullOrEmpty(getItemsParameter))
                {
                    JM_HandleResult result = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "输入的数据数据不能为空!";
                    return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
                }
                JsonModel.JM_ActualTimeRecordParam param   = SeatManageComm.JSONSerializer.Deserialize <JsonModel.JM_ActualTimeRecordParam>(getItemsParameter);
                JsonModel.JM_ActualTimeRecords     records = new JsonModel.JM_ActualTimeRecords();
                if (param.GetEnterOutLog)//获取进出记录
                {
                    SeatManage.ClassModel.EnterOutLogInfo enterOutLog = seatDataService.GetEnterOutLogInfoByCardNo(cardNum);
                    JsonModel.JM_EnterOutLog jm_enterOutLog           = null;
                    if (enterOutLog != null)
                    {
                        jm_enterOutLog = new JsonModel.JM_EnterOutLog();
                        jm_enterOutLog.EnterOutTime  = enterOutLog.EnterOutTime.ToString("yyyy-MM-dd HH:mm:ss");
                        jm_enterOutLog.EnterOutState = enterOutLog.EnterOutState.ToString();
                        jm_enterOutLog.Id            = enterOutLog.EnterOutLogID;
                        jm_enterOutLog.SeatId        = enterOutLog.SeatNo;
                        jm_enterOutLog.SeatNum       = enterOutLog.ShortSeatNo;
                        jm_enterOutLog.RoomName      = enterOutLog.ReadingRoomName;
                        jm_enterOutLog.RoomNum       = enterOutLog.ReadingRoomNo;
                        SeatManage.ClassModel.ReadingRoomInfo room = seatDataService.GetReadingRoomInfo(new List <string>()
                        {
                            enterOutLog.ReadingRoomNo
                        })[0];
                        if (enterOutLog.EnterOutState == EnterOutLogType.ShortLeave)
                        {
                            String seatInfo       = enterOutLog.Remark;
                            double saveTimeLength = 0;
                            if (enterOutLog.Flag == Operation.Admin)
                            {
                                if (room.Setting.AdminShortLeave.IsUsed)
                                {
                                    saveTimeLength = room.Setting.AdminShortLeave.HoldTimeLength;
                                }
                                else
                                {
                                    saveTimeLength = SeatManage.ClassModel.ReadingRoomSetting.GetSeatHoldTime(room.Setting.SeatHoldTime, enterOutLog.EnterOutTime);
                                }
                            }
                            else
                            {
                                saveTimeLength = SeatManage.ClassModel.ReadingRoomSetting.GetSeatHoldTime(room.Setting.SeatHoldTime, enterOutLog.EnterOutTime);
                            }
                            string saveTime = enterOutLog.EnterOutTime.AddMinutes(saveTimeLength).ToShortTimeString();
                            jm_enterOutLog.Remark = string.Format("座位将为您保留至{2}。", enterOutLog.ReadingRoomName, enterOutLog.ShortSeatNo, saveTime);
                        }
                        else
                        {
                            switch (enterOutLog.EnterOutState)
                            {
                            case EnterOutLogType.BookingConfirmation:
                            case EnterOutLogType.SelectSeat:
                            case EnterOutLogType.ContinuedTime:
                            case EnterOutLogType.ComeBack:
                            case EnterOutLogType.ReselectSeat:
                            case EnterOutLogType.WaitingSuccess:
                                List <SeatManage.ClassModel.BespeakLogInfo> bespeaklist = seatDataService.GetBespeakLogInfoBySeatNo(enterOutLog.SeatNo, DateTime.Now);
                                DateTime dt = new DateTime();
                                if (bespeaklist.Count > 0)
                                {
                                    dt = bespeaklist[0].BsepeakTime.AddMinutes(-double.Parse(room.Setting.SeatBespeak.ConfirmTime.BeginTime));
                                }
                                else if (room.Setting.SeatUsedTimeLimit.Used)
                                {
                                    if (room.Setting.SeatUsedTimeLimit.Mode == "Free")
                                    {
                                        dt = enterOutLog.EnterOutTime.AddMinutes(room.Setting.SeatUsedTimeLimit.UsedTimeLength);
                                        if (dt > room.Setting.RoomOpenSet.NowCloseTime(enterOutLog.EnterOutTime))
                                        {
                                            dt = room.Setting.RoomOpenSet.NowCloseTime(enterOutLog.EnterOutTime);
                                        }
                                    }
                                    else
                                    {
                                        for (int i = 0; i < room.Setting.SeatUsedTimeLimit.FixedTimes.Count; i++)
                                        {
                                            if (enterOutLog.EnterOutTime < room.Setting.SeatUsedTimeLimit.FixedTimes[i])
                                            {
                                                if (room.Setting.SeatUsedTimeLimit.IsCanContinuedTime && enterOutLog.EnterOutTime > room.Setting.SeatUsedTimeLimit.FixedTimes[i].AddMinutes(-room.Setting.SeatUsedTimeLimit.CanDelayTime))
                                                {
                                                    if (i + 1 < room.Setting.SeatUsedTimeLimit.FixedTimes.Count)
                                                    {
                                                        dt = room.Setting.SeatUsedTimeLimit.FixedTimes[i + 1];
                                                    }
                                                    else
                                                    {
                                                        dt = room.Setting.RoomOpenSet.NowCloseTime(enterOutLog.EnterOutTime);
                                                    }
                                                }
                                                else
                                                {
                                                    dt = room.Setting.SeatUsedTimeLimit.FixedTimes[i];
                                                }
                                                break;
                                            }
                                        }
                                    }
                                }
                                //TODO:如果是续时模式,提示续时时间。
                                jm_enterOutLog.Remark = string.Format("您的座位可以使用到{0}。", dt.ToShortTimeString());
                                break;
                            }
                        }
                    }
                    records.EnterOutLog = jm_enterOutLog;
                }
                if (param.GetBespeakLog)
                {
                    JsonModel.JM_BespeakLog jm_bespeakLog            = null;
                    SeatManage.ClassModel.BespeakLogInfo bespeakLogs = seatDataService.GetSingleBespeakLogForWait(cardNum);
                    if (bespeakLogs != null)
                    {
                        jm_bespeakLog          = new JM_BespeakLog();
                        jm_bespeakLog.DateTime = bespeakLogs.BsepeakTime.ToString("yyyy-MM-dd HH:mm:ss");
                        jm_bespeakLog.Id       = bespeakLogs.BsepeaklogID;
                        if (bespeakLogs.BsepeakState == EnumType.BookingStatus.Waiting)
                        {
                            jm_bespeakLog.IsValid = true;
                        }
                        jm_bespeakLog.RoomName = bespeakLogs.ReadingRoomName;
                        jm_bespeakLog.RoomNum  = bespeakLogs.ReadingRoomNo;
                        jm_bespeakLog.SeatId   = bespeakLogs.SeatNo;
                        jm_bespeakLog.SeatNum  = bespeakLogs.ShortSeatNum;
                        jm_bespeakLog.Remark   = bespeakLogs.Remark;
                        records.BespeakLog     = jm_bespeakLog;
                    }
                }
                if (param.GetWaitLog)
                {
                    List <EnterOutLogType> logType = new List <EnterOutLogType>();
                    logType.Add(EnterOutLogType.Waiting);
                    List <SeatManage.ClassModel.WaitSeatLogInfo> waitSeatlogs = seatDataService.GetWaitLogList(cardNum, null, null, null, logType);
                    if (waitSeatlogs.Count > 0)
                    {
                        EnterOutLogInfo waitEnterOutLog = seatDataService.GetEnterOutLogInfoById(waitSeatlogs[0].EnterOutLogID);
                        if (waitEnterOutLog != null)
                        {
                            JsonModel.JM_WaitSeatLog jm_waitSeatLog = new JM_WaitSeatLog();
                            jm_waitSeatLog.CardNo        = waitSeatlogs[0].CardNo;
                            jm_waitSeatLog.CardNoB       = waitSeatlogs[0].CardNoB;
                            jm_waitSeatLog.RoomName      = waitEnterOutLog.ReadingRoomName;
                            jm_waitSeatLog.RoomNum       = waitEnterOutLog.ReadingRoomNo;
                            jm_waitSeatLog.SeatId        = waitEnterOutLog.SeatNo;
                            jm_waitSeatLog.SeatNum       = waitEnterOutLog.ShortSeatNo;
                            jm_waitSeatLog.SeatWaitTime  = waitSeatlogs[0].SeatWaitTime.ToString("yyyy-MM-dd HH:mm:ss");
                            jm_waitSeatLog.SeatWaitingID = waitSeatlogs[0].SeatWaitingID;
                            records.WaitSeatLog          = jm_waitSeatLog;
                        }
                    }
                }
                if (param.GetBlackList)
                {
                    List <BlackListInfo> blacklist = seatDataService.GetBlacklistInfo(cardNum);
                    if (blacklist.Count > 0)
                    {
                        JM_Blacklist jm_blacklist = new JM_Blacklist();
                        jm_blacklist.AddTime = blacklist[0].AddTime.ToString("yyyy-MM-dd HH:mm:ss");
                        jm_blacklist.CardNo  = blacklist[0].CardNo;
                        jm_blacklist.ID      = blacklist[0].ID;
                        switch (blacklist[0].BlacklistState)
                        {
                        case LogStatus.Valid:
                            jm_blacklist.IsValid = true;
                            break;

                        default:
                            jm_blacklist.IsValid = false;
                            break;
                        }
                        jm_blacklist.OutBlacklistMode = blacklist[0].OutBlacklistMode.ToString();
                        jm_blacklist.OutTime          = blacklist[0].OutTime.ToString("yyyy-MM-dd HH:mm:ss");
                        jm_blacklist.ReMark           = blacklist[0].ReMark;
                        records.BlacklistLog          = jm_blacklist;
                    }
                }

                return(SeatManageComm.JSONSerializer.Serialize(records));
            }
            catch (Exception ex)
            {
                SeatManage.SeatManageComm.WriteLog.Write("选择座位遇到异常:" + ex.Message);
                JM_HandleResult result = new JM_HandleResult();
                result.Result = false;
                result.Msg    = "执行遇到异常!";
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
            }
        }