/// <summary> /// 增加一条数据 /// </summary> public bool Add(SeatManage.ClassModel.Seat model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into T_SM_Seat("); strSql.Append("SeatNo,ReadingRoomNo,IsUsing,SeatUI,IsLock)"); strSql.Append(" values ("); strSql.Append("@SeatNo,@ReadingRoomNo,@IsUsing,@SeatUI,@IsLock)"); SqlParameter[] parameters = { new SqlParameter("@SeatNo", SqlDbType.NVarChar, 100), new SqlParameter("@ReadingRoomNo", SqlDbType.NVarChar, 100), new SqlParameter("@IsUsing", SqlDbType.Bit), new SqlParameter("@SeatUI", SqlDbType.NVarChar, 100), new SqlParameter("@IsLock", SqlDbType.Int, 4) }; parameters[0].Value = model.SeatNo; parameters[1].Value = model.ReadingRoomNum; parameters[2].Value = false; parameters[3].Value = string.Format("{0},{1}", model.PositionX, model.PositionY); parameters[4].Value = false; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <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)); } }
/// <summary> /// 根据座位号获取座位信息 /// </summary> /// <param name="seatNum"></param> /// <returns></returns> public SeatManage.ClassModel.Seat GetSeatInfoBySeatNum(string seatNum) { string strWhere = string.Format(" SeatNo='{0}' ", seatNum); DataSet ds = t_sm_seat.GetList(strWhere.ToString(), null); if (ds.Tables[0].Rows.Count > 0) { SeatManage.ClassModel.Seat seat = DataRowToSeatModel(ds.Tables[0].Rows[0]); if (!string.IsNullOrEmpty(seat.ReadingRoomNum)) { List <SeatManage.ClassModel.ReadingRoomInfo> room = GetReadingRoomInfo(new List <string>() { seat.ReadingRoomNum }); if (room.Count > 0 && room[0].SeatList.Seats.ContainsKey(seat.SeatNo)) { seat.IsSuspended = room[0].SeatList.Seats[seat.SeatNo].IsSuspended; seat.HavePower = room[0].SeatList.Seats[seat.SeatNo].HavePower; seat.ReadingRoom = room[0]; } } SeatManage.ClassModel.EnterOutLogInfo enteroutlog = GetEnterOutLogInfoBySeatNum(seatNum); if (enteroutlog != null) { seat.SeatUsedState = enteroutlog.EnterOutState; seat.UserCardNo = enteroutlog.CardNo; seat.UserName = enteroutlog.ReaderName; seat.ShortSeatNo = enteroutlog.ShortSeatNo; seat.BeginUsedTime = enteroutlog.EnterOutTime; } else { seat.SeatUsedState = EnterOutLogType.Leave; seat.UserCardNo = ""; seat.UserName = ""; seat.ShortSeatNo = SeatManage.SeatManageComm.SeatComm.SeatNoToShortSeatNo(seat.ReadingRoom.Setting.SeatNumAmount, seat.SeatNo); } return(seat); } else { return(null); } }
protected void Page_Load(object sender, EventArgs e) { seatNo = Request.QueryString["seatNo"]; string seatShortNo = Request.QueryString["seatShortNo"]; string seatUsed = Request.QueryString["used"]; if (!IsPostBack) { if (Request.ServerVariables["HTTP_REFERER"] != null) { string url = Request.ServerVariables["HTTP_REFERER"].Trim(); string pageName = SeatManage.SeatManageComm.SeatComm.GetPageName(url); if (pageName != "SeatGraph.aspx" && pageName != "FormSYS.aspx" && pageName != "MonitorListMode.aspx") { WriteLogs(url); Response.Write("请通过正确方式访问网站!"); Response.End(); return; //PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } } else { WriteLogs(HttpContext.Current.Request.Url.AbsoluteUri); Response.Write("请通过正确方式访问网站!"); Response.End(); return; //PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } BindUIElement(seatNo, seatShortNo, seatUsed); } SeatManage.ClassModel.Seat seat = SeatManage.Bll.T_SM_Seat.GetSeatInfoBySeatNo(seatNo); SeatManage.ClassModel.RegulationRulesSetting rulesSet = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting(); SeatManage.ClassModel.ReadingRoomInfo readingroom = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(seat.ReadingRoomNum); if ((!rulesSet.BlacklistSet.Used) && (!readingroom.Setting.BlackListSetting.Used)) { btnAddBlackList.Enabled = false; } }
/// <summary> /// 绑定UI元素 /// </summary> private void BindUIElement(string seatNo, string seatShortNo, string seatUsed) { if (!string.IsNullOrEmpty(seatNo)) { lblSeatNo.Text = seatShortNo; if (seatUsed == "0") { lblCardNo.Text = "无"; lblName.Text = "无"; lblSeatStatus.Text = "空闲"; lblTimeLength.Text = ""; txtSeat.Text = seatShortNo; btnAddBlackList.Enabled = false; btnShortLeave.Enabled = false; btnShortLeave.Text = "暂离"; btnShortLeave.ConfirmText = "是否确定把该读者设置为暂离?"; btnLeave.Enabled = false; btnAllotSeat.Enabled = true; } else if (seatUsed == "2") { List <SeatManage.ClassModel.BespeakLogInfo> list = SeatManage.Bll.T_SM_SeatBespeak.GetBespeakLogInfoBySeatNo(seatNo, SeatManage.Bll.ServiceDateTime.Now); if (list == null) { FineUI.Alert.ShowInTop("没有获取到相关的座位信息", "错误"); } else { txtSeat.Text = seatShortNo; lblCardNo.Text = list[0].CardNo; lblName.Text = list[0].ReaderName; lblSeatStatus.Text = "已被预约"; lblTimeLength.Text = string.Format("{0:MM月dd日 HH:mm:ss}", list[0].BsepeakTime); btnAddBlackList.Enabled = false; btnShortLeave.Enabled = false; btnShortLeave.Text = "暂离"; btnShortLeave.ConfirmText = "是否确定把该读者设置为暂离?"; btnLeave.Enabled = false; btnAllotSeat.Enabled = false; } } else if (seatUsed == "3") { FineUI.Alert.ShowInTop("此座位已暂停使用", "提示"); btnAddBlackList.Enabled = false; btnShortLeave.Enabled = false; btnShortLeave.ConfirmText = "此座位已暂停使用,请重新选择"; btnLeave.Enabled = false; btnAllotSeat.Enabled = false; } else { SeatManage.ClassModel.Seat seat = SeatManage.Bll.T_SM_Seat.GetSeatInfoBySeatNo(seatNo); if (seat == null) { FineUI.Alert.ShowInTop("没有获取到相关的座位信息", "错误"); } else { if (seat.SeatUsedState == SeatManage.EnumType.EnterOutLogType.Leave) { lblCardNo.Text = "无"; lblName.Text = "无"; lblSeatStatus.Text = "空闲"; lblTimeLength.Text = ""; txtSeat.Text = seat.ShortSeatNo; btnAddBlackList.Enabled = false; btnShortLeave.Enabled = false; btnShortLeave.Text = "暂离"; btnShortLeave.ConfirmText = "是否确定把该读者设置为暂离?"; btnLeave.Enabled = false; btnAllotSeat.Enabled = true; } else if (seat.SeatUsedState == SeatManage.EnumType.EnterOutLogType.ShortLeave) { txtCardNo.Text = seat.UserCardNo; txtCardNo1.Text = seat.UserCardNo; txtReaderName.Text = seat.UserName; txtSeat.Text = seat.ShortSeatNo; lblCardNo.Text = seat.UserCardNo; lblName.Text = seat.UserName; lblSeatStatus.Text = SeatManage.SeatManageComm.SeatComm.ConvertReaderState(seat.SeatUsedState); lblTimeLength.Text = string.Format("{0:MM月dd日 HH:mm:ss}", seat.BeginUsedTime); btnAddBlackList.Enabled = true; btnShortLeave.Enabled = true; btnShortLeave.Text = "取消暂离"; btnShortLeave.ConfirmText = "是否取消此读者的暂离状态,并还原为在座状态?"; btnLeave.Enabled = true; btnAllotSeat.Enabled = false; } else { txtCardNo.Text = seat.UserCardNo; txtCardNo1.Text = seat.UserCardNo; txtReaderName.Text = seat.UserName; txtSeat.Text = seat.ShortSeatNo; lblCardNo.Text = seat.UserCardNo; lblName.Text = seat.UserName; lblSeatStatus.Text = SeatManage.SeatManageComm.SeatComm.ConvertReaderState(seat.SeatUsedState); lblTimeLength.Text = string.Format("{0:MM月dd日 HH:mm:ss}", seat.BeginUsedTime); btnAddBlackList.Enabled = true; btnShortLeave.Enabled = true; btnShortLeave.Text = "暂离"; btnShortLeave.ConfirmText = "是否确定把该读者设置为暂离?"; btnLeave.Enabled = true; btnAllotSeat.Enabled = false; } } } } else { FineUI.Alert.ShowInTop("座位号不能为空", "错误"); } }
protected void btnSureAllotSeat_Click(object sender, EventArgs e) { SeatManage.ClassModel.Seat seat = SeatManage.Bll.T_SM_Seat.GetSeatInfoBySeatNo(seatNo); SeatManage.ClassModel.ReadingRoomInfo roomInfo = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(seat.ReadingRoomNum); if (seat == null) { FineUI.Alert.ShowInTop("座位号错误,没有找到座位的相关信息"); return; } //判断当前座位上是否有读者在座。 SeatManage.ClassModel.EnterOutLogInfo enterOutLogByseatNo = SeatManage.Bll.T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo); if (enterOutLogByseatNo != null && enterOutLogByseatNo.EnterOutState != SeatManage.EnumType.EnterOutLogType.Leave) { FineUI.Alert.ShowInTop("座位已经被其他读者选择"); return; } //判断读者是否有座位 string strCardNo = txtCardNo1.Text; List <SeatManage.ClassModel.BlackListInfo> blacklistInfoByCardNo = SeatManage.Bll.T_SM_Blacklist.GetBlackListInfo(strCardNo); SeatManage.ClassModel.RegulationRulesSetting rulesSet = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting(); if (roomInfo.Setting.UsedBlacklistLimit && blacklistInfoByCardNo.Count > 0) { if (roomInfo.Setting.BlackListSetting.Used) { bool isblack = false; foreach (SeatManage.ClassModel.BlackListInfo blinfo in blacklistInfoByCardNo) { if (blinfo.ReadingRoomID == roomInfo.No) { isblack = true; break; } } if (isblack) { FineUI.Alert.ShowInTop("该读者已进入黑名单,不能在该阅览室为其分配座位"); return; } } else { FineUI.Alert.ShowInTop("该读者已进入黑名单,不能在该阅览室为其分配座位"); return; } } SeatManage.ClassModel.EnterOutLogInfo enterOutLogByCardNo = SeatManage.Bll.T_SM_EnterOutLog.GetEnterOutLogInfoByCardNo(strCardNo); if (enterOutLogByCardNo != null && enterOutLogByCardNo.EnterOutState != SeatManage.EnumType.EnterOutLogType.Leave) { FineUI.Alert.ShowInTop(string.Format("读者已经在{0},{1}号座位就做", enterOutLogByCardNo.ReadingRoomName, enterOutLogByCardNo.ShortSeatNo)); return; } SeatManage.ClassModel.EnterOutLogInfo enterOutLogModel = new SeatManage.ClassModel.EnterOutLogInfo(); enterOutLogModel.CardNo = strCardNo; enterOutLogModel.EnterOutLogNo = SeatManage.SeatManageComm.SeatComm.RndNum(); enterOutLogModel.EnterOutState = SeatManage.EnumType.EnterOutLogType.SelectSeat; enterOutLogModel.EnterOutTime = SeatManage.Bll.ServiceDateTime.Now; enterOutLogModel.EnterOutType = SeatManage.EnumType.LogStatus.Valid; enterOutLogModel.Flag = SeatManage.EnumType.Operation.Admin; enterOutLogModel.ReadingRoomNo = seat.ReadingRoomNum; enterOutLogModel.Remark = string.Format("在后台管理网站被管理员{0},分配{1},{2}座位", this.LoginId, roomInfo.Name, seat.SeatNo.Substring(seat.SeatNo.Length - roomInfo.Setting.SeatNumAmount)); enterOutLogModel.SeatNo = seatNo; int newId = -1; SeatManage.EnumType.HandleResult result = SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLogModel, ref newId); if (result == SeatManage.EnumType.HandleResult.Successed) { FineUI.Alert.ShowInTop("分配座位成功", "成功"); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } else { FineUI.Alert.ShowInTop("分配座位失败", "失败"); } }
protected void btn_SureAddBlacklist(object sender, EventArgs e) { SeatManage.ClassModel.Seat seat = SeatManage.Bll.T_SM_Seat.GetSeatInfoBySeatNo(seatNo); SeatManage.ClassModel.RegulationRulesSetting rulesSet = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting(); SeatManage.ClassModel.BlacklistSetting blacklistSet = rulesSet.BlacklistSet; SeatManage.ClassModel.ReadingRoomInfo readingroom = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(seat.ReadingRoomNum); int i = -1; if (readingroom != null && readingroom.Setting.BlackListSetting.Used) { SeatManage.ClassModel.BlackListInfo blacklistModel = new SeatManage.ClassModel.BlackListInfo(); blacklistModel.AddTime = SeatManage.Bll.ServiceDateTime.Now; blacklistModel.ReadingRoomID = readingroom.No; blacklistModel.BlacklistState = SeatManage.EnumType.LogStatus.Valid; blacklistModel.CardNo = txtCardNo.Text; blacklistModel.OutBlacklistMode = readingroom.Setting.BlackListSetting.LeaveBlacklist; if (blacklistModel.OutBlacklistMode == SeatManage.EnumType.LeaveBlacklistMode.AutomaticMode) { blacklistModel.ReMark = string.Format("管理员{0}把读者加入黑名单,记录黑名单{1}天,备注:{2}", this.LoginId, readingroom.Setting.BlackListSetting.LimitDays, txtRemark.Text); blacklistModel.OutTime = blacklistModel.AddTime.AddDays(readingroom.Setting.BlackListSetting.LimitDays); } else { blacklistModel.ReMark = string.Format("管理员{0}把读者加入黑名单,手动离开黑名单,备注:{1}", this.LoginId, txtRemark.Text); } blacklistModel.ReadingRoomID = seat.ReadingRoomNum; i = SeatManage.Bll.T_SM_Blacklist.AddBlackList(blacklistModel); } else if (blacklistSet.Used) { SeatManage.ClassModel.BlackListInfo blacklistModel = new SeatManage.ClassModel.BlackListInfo(); blacklistModel.AddTime = SeatManage.Bll.ServiceDateTime.Now; blacklistModel.OutTime = blacklistModel.AddTime.AddDays(blacklistSet.LimitDays); blacklistModel.BlacklistState = SeatManage.EnumType.LogStatus.Valid; blacklistModel.CardNo = txtCardNo.Text; blacklistModel.OutBlacklistMode = blacklistSet.LeaveBlacklist; if (blacklistModel.OutBlacklistMode == SeatManage.EnumType.LeaveBlacklistMode.AutomaticMode) { blacklistModel.ReMark = string.Format("管理员{0}把读者加入黑名单,记录黑名单{1}天,备注:{2}", this.LoginId, blacklistSet.LimitDays, txtRemark.Text); blacklistModel.OutTime = blacklistModel.AddTime.AddDays(blacklistSet.LimitDays); } else { blacklistModel.ReMark = string.Format("管理员{0}把读者加入黑名单,手动离开黑名单,备注:{1}", this.LoginId, txtRemark.Text); } blacklistModel.ReadingRoomID = seat.ReadingRoomNum; i = SeatManage.Bll.T_SM_Blacklist.AddBlackList(blacklistModel); } else { FineUI.Alert.ShowInTop("对不起,此阅览室以及图书馆没有启用黑名单功能", "失败"); return; } if (i > 0) { SeatManage.ClassModel.EnterOutLogInfo enterOutLogModel = SeatManage.Bll.T_SM_EnterOutLog.GetEnterOutLogInfoByCardNo(txtCardNo.Text); SeatManage.EnumType.EnterOutLogType type = enterOutLogModel.EnterOutState; enterOutLogModel.EnterOutState = SeatManage.EnumType.EnterOutLogType.Leave; enterOutLogModel.Flag = SeatManage.EnumType.Operation.Admin; enterOutLogModel.Remark = string.Format("在{0},{1}号座位,被管理员{2},在后台管理网站加入黑名单并释放座位", enterOutLogModel.ReadingRoomName, enterOutLogModel.ShortSeatNo, this.LoginId); SeatManage.EnumType.HandleResult result = SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLogModel, ref i); if (result == SeatManage.EnumType.HandleResult.Successed) { //SeatManage.ClassModel.ReaderNoticeInfo rni = new SeatManage.ClassModel.ReaderNoticeInfo(); //rni.CardNo = enterOutLogModel.CardNo; //rni.Type = SeatManage.EnumType.NoticeType.ManagerFreeSetWarning; //rni.Note = enterOutLogModel.Remark; //SeatManage.Bll.T_SM_ReaderNotice.AddReaderNotice(rni); //PushMsgInfo msg = new PushMsgInfo(); //msg.Title = "您好,您的座位已被释放"; //msg.MsgType = MsgPushType.AdminOperation; //msg.StudentNum = enterOutLogModel.CardNo; //msg.Message = enterOutLogModel.Remark; //SeatManage.Bll.T_SM_ReaderNotice.SendPushMsg(msg); if (type == SeatManage.EnumType.EnterOutLogType.ShortLeave) { List <SeatManage.ClassModel.WaitSeatLogInfo> waitSeatLogs = SeatManage.Bll.T_SM_SeatWaiting.GetWaitSeatList("", enterOutLogModel.EnterOutLogID, null, null, null); SeatManage.ClassModel.WaitSeatLogInfo waitSeatLog = null; if (waitSeatLogs.Count > 0) { waitSeatLog = waitSeatLogs[0]; waitSeatLog.NowState = SeatManage.EnumType.LogStatus.Fail; waitSeatLog.OperateType = SeatManage.EnumType.Operation.OtherReader; waitSeatLog.WaitingState = SeatManage.EnumType.EnterOutLogType.WaitingCancel; if (SeatManage.Bll.T_SM_SeatWaiting.UpdateWaitLog(waitSeatLog)) { //rni = new SeatManage.ClassModel.ReaderNoticeInfo(); //rni.CardNo = waitSeatLog.CardNo; //rni.Type = SeatManage.EnumType.NoticeType.WaitSeatFail; //rni.Note = "您所等待的座位已被管理员释放,您的等待已被取消"; //SeatManage.Bll.T_SM_ReaderNotice.AddReaderNotice(rni); //msg = new PushMsgInfo(); //msg.Title = "您好,您已被取消等待"; //msg.MsgType = MsgPushType.AdminOperation; //msg.StudentNum = waitSeatLog.CardNo; //msg.Message = "您所等待的座位已被管理员释放,您的等待已被取消"; //SeatManage.Bll.T_SM_ReaderNotice.SendPushMsg(msg); } } } FineUI.Alert.ShowInTop("黑名单添加成功", "成功"); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } else { FineUI.Alert.ShowInTop("黑名单添加失败", "失败"); } } else { FineUI.Alert.ShowInTop("黑名单添加失败", "失败"); } }
/// <summary> /// 绑定UI元素 /// </summary> /// <param name="seatNo"></param> /// <param name="seatShortNo"></param>GetBespeakLogInfoBySeatNo void BindUIElement(string seatNo, string seatShortNo, DateTime date) { SeatManage.ClassModel.ReadingRoomInfo room = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(roomNo); SeatManage.Bll.T_SM_ReadingRoom bllReadingRoom = new SeatManage.Bll.T_SM_ReadingRoom(); foreach (DateTime dt in room.Setting.SeatBespeak.SpecifiedTimeList) { if (dt <= date) { continue; } DropDownList_Time.Items.Add(new FineUI.ListItem(dt.ToShortTimeString(), dt.ToShortTimeString())); } DateTime minTime = date.AddMinutes(10 - date.Minute % 10); while (true) { minTime = minTime.AddMinutes(10); if (minTime.Date > date.Date) { break; } if (Code.NowReadingRoomState.ReadingRoomOpenState(room.Setting.RoomOpenSet, minTime) == SeatManage.EnumType.ReadingRoomStatus.Close) { continue; } DropDownList_FreeTime.Items.Add(new FineUI.ListItem(minTime.ToShortTimeString(), minTime.ToShortTimeString())); } if (!room.Setting.SeatBespeak.SpecifiedBespeak) { rblModel.Hidden = true; } if (rblModel.SelectedValue == "0") { DropDownList_FreeTime.Hidden = true; DropDownList_Time.Hidden = true; } else { if (!room.Setting.SeatBespeak.SpecifiedTime) { DropDownList_Time.Hidden = true; DropDownList_FreeTime.Hidden = false; } else { DropDownList_FreeTime.Hidden = true; DropDownList_Time.Hidden = false; } } lblbeginDate.Text = date.ToShortDateString(); this.lblSeatNo.Text = seatShortNo; this.lblRoomName.Text = room.Name; //判断自己是否已经预约座位 List <SeatManage.EnumType.BookingStatus> bespeakStatus = new List <SeatManage.EnumType.BookingStatus>(); bespeakStatus.Add(SeatManage.EnumType.BookingStatus.Waiting); List <SeatManage.ClassModel.BespeakLogInfo> readerBespeaklist = SeatManage.Bll.T_SM_SeatBespeak.GetBespeakLogInfoByCardNo(this.LoginId, date);//.GetBespeakList(this.LoginId, null, date, 0, bespeakStatus); if (readerBespeaklist.Count > 0) { FineUI.Alert.ShowInTop("您今天已有预约的座位,请先取消原来的预约。"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } //判断可预约次数是否超过 readerBespeaklist = SeatManage.Bll.T_SM_SeatBespeak.GetBespeakList(this.LoginId, null, date, 0, new List <SeatManage.EnumType.BookingStatus> { SeatManage.EnumType.BookingStatus.Confinmed }); //.GetBespeakList(this.LoginId, null, date, 0, bespeakStatus); if (readerBespeaklist.Count >= room.Setting.SeatBespeak.BespeakSeatCount) { FineUI.Alert.ShowInTop("您一天只能预约" + room.Setting.SeatBespeak.BespeakSeatCount + "次座位。"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } //判断读者是否有座位 if (!room.Setting.SeatBespeak.BespeatWithOnSeat) { SeatManage.ClassModel.EnterOutLogInfo eol = SeatManage.Bll.T_SM_EnterOutLog.GetEnterOutLogInfoByCardNo(this.LoginId); if (eol != null && eol.EnterOutState != SeatManage.EnumType.EnterOutLogType.Leave) { FineUI.Alert.ShowInTop("您已有座位,不能再预约座位"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); return; } } //判断操作次数 if (SeatManage.Bll.EnterOutOperate.CheckReaderChooseSeatTimesByReadingRoom(this.LoginId, room.Setting.PosTimes, room.No)) { FineUI.Alert.ShowInTop("您的选座/预约操作过于频繁,请稍后重试"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); return; } //判断座位是否被别人使用 SeatManage.ClassModel.Seat seat = SeatManage.Bll.T_SM_Seat.GetSeatInfoBySeatNo(seatNo); if (seat.SeatUsedState != SeatManage.EnumType.EnterOutLogType.Leave) { FineUI.Alert.ShowInTop("座位已经被别人选择,请预约其他座位"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); return; } //判断座位是否被预约 List <SeatManage.ClassModel.BespeakLogInfo> list = SeatManage.Bll.T_SM_SeatBespeak.GetBespeakLogInfoBySeatNo(seatNo, date); seatKeepTime.Value = room.Setting.SeatBespeak.SeatKeepTime.ToString(); this.lblEndDate.Text = string.Format("{0}至{1}", date.ToShortTimeString(), date.AddMinutes(room.Setting.SeatBespeak.SeatKeepTime).ToShortTimeString()); for (int i = 0; i < list.Count; i++) { if (list[i].BsepeakState == SeatManage.EnumType.BookingStatus.Waiting) { FineUI.Alert.ShowInTop("座位已经被别人预约,请预约其他座位"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); return; } } //判断是否已加入黑名单 List <SeatManage.ClassModel.BlackListInfo> blacklistInfoByCardNo = SeatManage.Bll.T_SM_Blacklist.GetBlackListInfo(this.LoginId); SeatManage.ClassModel.RegulationRulesSetting rulesSet = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting(); if (room.Setting.UsedBlacklistLimit && blacklistInfoByCardNo.Count > 0) { if (room.Setting.BlackListSetting.Used) { bool isblack = false; foreach (SeatManage.ClassModel.BlackListInfo blinfo in blacklistInfoByCardNo) { if (blinfo.ReadingRoomID == room.No) { isblack = true; break; } } if (isblack) { FineUI.Alert.ShowInTop("你已进入黑名单,不能在该阅览室预约座位"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } else { FineUI.Alert.ShowInTop("你已进入黑名单,不能在该阅览室预约座位"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } if (room.Setting.LimitReaderEnter.Used) { SeatManage.ClassModel.ReaderInfo readerInfo = SeatManage.Bll.EnterOutOperate.GetReaderInfo(this.LoginId); string[] litype = room.Setting.LimitReaderEnter.ReaderTypes.Split(';'); if (!room.Setting.LimitReaderEnter.CanEnter) { foreach (string type in litype) { if (type == readerInfo.ReaderType) { FineUI.Alert.ShowInTop("你的读者类型不能在该阅览室预约座位"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } } else { bool isintype = false; foreach (string type in litype) { if (type == readerInfo.ReaderType) { isintype = true; break; } } if (!isintype) { FineUI.Alert.ShowInTop("你的读者类型不能在该阅览室预约座位"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } } btnBespeak.Enabled = true; }
/// <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)); } }
public JsonResult SureAllotSeat(string seatNo, string seatShortNo, string used, string cardNo) { JsonResult ret = null; SeatManage.ClassModel.Seat seat = SeatManage.Bll.T_SM_Seat.GetSeatInfoBySeatNo(seatNo); SeatManage.ClassModel.ReadingRoomInfo roomInfo = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(seat.ReadingRoomNum); if (seat == null) { ret = Json(new { status = "no", message = "座位号错误,没有找到座位的相关信息" }, JsonRequestBehavior.AllowGet); } //判断当前座位上是否有读者在座。 SeatManage.ClassModel.EnterOutLogInfo enterOutLogByseatNo = SeatManage.Bll.T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo); if (enterOutLogByseatNo != null && enterOutLogByseatNo.EnterOutState != SeatManage.EnumType.EnterOutLogType.Leave) { ret = Json(new { status = "no", message = "座位已经被其他读者选择" }, JsonRequestBehavior.AllowGet); } //判断读者是否有座位 string strCardNo = cardNo;// txtCardNo1.Text; List <SeatManage.ClassModel.BlackListInfo> blacklistInfoByCardNo = SeatManage.Bll.T_SM_Blacklist.GetBlackListInfo(strCardNo); SeatManage.ClassModel.RegulationRulesSetting rulesSet = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting(); if (roomInfo.Setting.UsedBlacklistLimit && blacklistInfoByCardNo.Count > 0) { if (roomInfo.Setting.BlackListSetting.Used) { bool isblack = false; foreach (SeatManage.ClassModel.BlackListInfo blinfo in blacklistInfoByCardNo) { if (blinfo.ReadingRoomID == roomInfo.No) { isblack = true; break; } } if (isblack) { ret = Json(new { status = "no", message = "该读者已进入黑名单,不能在该阅览室为其分配座位" }, JsonRequestBehavior.AllowGet); } } else { ret = Json(new { status = "no", message = "该读者已进入黑名单,不能在该阅览室为其分配座位" }, JsonRequestBehavior.AllowGet); } } SeatManage.ClassModel.EnterOutLogInfo enterOutLogByCardNo = SeatManage.Bll.T_SM_EnterOutLog.GetEnterOutLogInfoByCardNo(strCardNo); if (enterOutLogByCardNo != null && enterOutLogByCardNo.EnterOutState != SeatManage.EnumType.EnterOutLogType.Leave) { ret = Json(new { status = "no", message = string.Format("读者已经在{0},{1}号座位就做", enterOutLogByCardNo.ReadingRoomName, enterOutLogByCardNo.ShortSeatNo) }, JsonRequestBehavior.AllowGet); } SeatManage.ClassModel.EnterOutLogInfo enterOutLogModel = new SeatManage.ClassModel.EnterOutLogInfo(); enterOutLogModel.CardNo = strCardNo; enterOutLogModel.EnterOutLogNo = SeatManage.SeatManageComm.SeatComm.RndNum(); enterOutLogModel.EnterOutState = SeatManage.EnumType.EnterOutLogType.SelectSeat; enterOutLogModel.EnterOutTime = SeatManage.Bll.ServiceDateTime.Now; enterOutLogModel.EnterOutType = SeatManage.EnumType.LogStatus.Valid; enterOutLogModel.Flag = SeatManage.EnumType.Operation.Admin; enterOutLogModel.ReadingRoomNo = seat.ReadingRoomNum; enterOutLogModel.Remark = string.Format("在后台管理网站被管理员{0},分配{1},{2}座位", this.LoginId, roomInfo.Name, seat.SeatNo.Substring(seat.SeatNo.Length - roomInfo.Setting.SeatNumAmount)); enterOutLogModel.SeatNo = seatNo; int newId = -1; SeatManage.EnumType.HandleResult result = SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLogModel, ref newId); if (result == SeatManage.EnumType.HandleResult.Successed) { ret = Json(new { status = "yes", message = "分配座位成功" }, JsonRequestBehavior.AllowGet); } else { ret = Json(new { status = "no", message = "分配座位失败" }, JsonRequestBehavior.AllowGet); } return(ret); }
/// <summary> /// 添加黑名单 /// </summary> /// <param name="seatNo"></param> /// <param name="seatShortNo"></param> /// <param name="used"></param> /// <param name="CardNo"></param> /// <param name="addBlackListRemark"></param> /// <returns></returns> public JsonResult SureAddBlacklist(string seatNo, string seatShortNo, string used, string CardNo, string addBlackListRemark) { addBlackListRemark = string.IsNullOrEmpty(addBlackListRemark) ? "未备注" : addBlackListRemark; JsonResult ret = null; SeatManage.ClassModel.Seat seat = SeatManage.Bll.T_SM_Seat.GetSeatInfoBySeatNo(seatNo); SeatManage.ClassModel.RegulationRulesSetting rulesSet = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting(); SeatManage.ClassModel.BlacklistSetting blacklistSet = rulesSet.BlacklistSet; SeatManage.ClassModel.ReadingRoomInfo readingroom = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(seat.ReadingRoomNum); int i = -1; if (readingroom != null && readingroom.Setting.BlackListSetting.Used) { SeatManage.ClassModel.BlackListInfo blacklistModel = new SeatManage.ClassModel.BlackListInfo(); blacklistModel.AddTime = SeatManage.Bll.ServiceDateTime.Now; blacklistModel.ReadingRoomID = readingroom.No; blacklistModel.BlacklistState = SeatManage.EnumType.LogStatus.Valid; blacklistModel.CardNo = CardNo; blacklistModel.OutBlacklistMode = readingroom.Setting.BlackListSetting.LeaveBlacklist; if (blacklistModel.OutBlacklistMode == SeatManage.EnumType.LeaveBlacklistMode.AutomaticMode) { blacklistModel.ReMark = string.Format("管理员{0}把读者加入黑名单,记录黑名单{1}天,备注:{2}", this.LoginId, readingroom.Setting.BlackListSetting.LimitDays, addBlackListRemark); blacklistModel.OutTime = blacklistModel.AddTime.AddDays(readingroom.Setting.BlackListSetting.LimitDays); } else { blacklistModel.ReMark = string.Format("管理员{0}把读者加入黑名单,手动离开黑名单,备注:{1}", this.LoginId, addBlackListRemark); } blacklistModel.ReadingRoomID = seat.ReadingRoomNum; i = SeatManage.Bll.T_SM_Blacklist.AddBlackList(blacklistModel); } else if (blacklistSet.Used) { SeatManage.ClassModel.BlackListInfo blacklistModel = new SeatManage.ClassModel.BlackListInfo(); blacklistModel.AddTime = SeatManage.Bll.ServiceDateTime.Now; blacklistModel.OutTime = blacklistModel.AddTime.AddDays(blacklistSet.LimitDays); blacklistModel.BlacklistState = SeatManage.EnumType.LogStatus.Valid; blacklistModel.CardNo = CardNo; blacklistModel.OutBlacklistMode = blacklistSet.LeaveBlacklist; if (blacklistModel.OutBlacklistMode == SeatManage.EnumType.LeaveBlacklistMode.AutomaticMode) { blacklistModel.ReMark = string.Format("管理员{0}把读者加入黑名单,记录黑名单{1}天,备注:{2}", this.LoginId, blacklistSet.LimitDays, addBlackListRemark); blacklistModel.OutTime = blacklistModel.AddTime.AddDays(blacklistSet.LimitDays); } else { blacklistModel.ReMark = string.Format("管理员{0}把读者加入黑名单,手动离开黑名单,备注:{1}", this.LoginId, addBlackListRemark); } blacklistModel.ReadingRoomID = seat.ReadingRoomNum; i = SeatManage.Bll.T_SM_Blacklist.AddBlackList(blacklistModel); } else { ret = Json(new { status = "no", message = "对不起,此阅览室以及图书馆没有启用黑名单功能" }, JsonRequestBehavior.AllowGet); } if (i > 0) { SeatManage.ClassModel.EnterOutLogInfo enterOutLogModel = SeatManage.Bll.T_SM_EnterOutLog.GetEnterOutLogInfoByCardNo(CardNo); SeatManage.EnumType.EnterOutLogType type = enterOutLogModel.EnterOutState; enterOutLogModel.EnterOutState = SeatManage.EnumType.EnterOutLogType.Leave; enterOutLogModel.Flag = SeatManage.EnumType.Operation.Admin; enterOutLogModel.Remark = string.Format("在{0},{1}号座位,被管理员{2},在后台管理网站加入黑名单并释放座位", enterOutLogModel.ReadingRoomName, enterOutLogModel.ShortSeatNo, this.LoginId); SeatManage.EnumType.HandleResult result = SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLogModel, ref i); if (result == SeatManage.EnumType.HandleResult.Successed) { //SeatManage.ClassModel.ReaderNoticeInfo rni = new SeatManage.ClassModel.ReaderNoticeInfo(); //rni.CardNo = enterOutLogModel.CardNo; //rni.Type = SeatManage.EnumType.NoticeType.ManagerFreeSetWarning; //rni.Note = enterOutLogModel.Remark; //SeatManage.Bll.T_SM_ReaderNotice.AddReaderNotice(rni); //PushMsgInfo msg = new PushMsgInfo(); //msg.Title = "您好,您的座位已被释放"; //msg.MsgType = MsgPushType.AdminOperation; //msg.StudentNum = enterOutLogModel.CardNo; //msg.Message = enterOutLogModel.Remark; //SeatManage.Bll.T_SM_ReaderNotice.SendPushMsg(msg); if (type == SeatManage.EnumType.EnterOutLogType.ShortLeave) { List <SeatManage.ClassModel.WaitSeatLogInfo> waitSeatLogs = SeatManage.Bll.T_SM_SeatWaiting.GetWaitSeatList("", enterOutLogModel.EnterOutLogID, null, null, null); SeatManage.ClassModel.WaitSeatLogInfo waitSeatLog = null; if (waitSeatLogs.Count > 0) { waitSeatLog = waitSeatLogs[0]; waitSeatLog.NowState = SeatManage.EnumType.LogStatus.Fail; waitSeatLog.OperateType = SeatManage.EnumType.Operation.OtherReader; waitSeatLog.WaitingState = SeatManage.EnumType.EnterOutLogType.WaitingCancel; if (SeatManage.Bll.T_SM_SeatWaiting.UpdateWaitLog(waitSeatLog)) { //rni = new SeatManage.ClassModel.ReaderNoticeInfo(); //rni.CardNo = waitSeatLog.CardNo; //rni.Type = SeatManage.EnumType.NoticeType.WaitSeatFail; //rni.Note = "您所等待的座位已被管理员释放,您的等待已被取消"; //SeatManage.Bll.T_SM_ReaderNotice.AddReaderNotice(rni); //msg = new PushMsgInfo(); //msg.Title = "您好,您已被取消等待"; //msg.MsgType = MsgPushType.AdminOperation; //msg.StudentNum = waitSeatLog.CardNo; //msg.Message = "您所等待的座位已被管理员释放,您的等待已被取消"; //SeatManage.Bll.T_SM_ReaderNotice.SendPushMsg(msg); } } } ret = Json(new { status = "yes", message = "黑名单添加成功" }, JsonRequestBehavior.AllowGet); } else { ret = Json(new { status = "no", message = "黑名单添加失败" }, JsonRequestBehavior.AllowGet); } } else { ret = Json(new { status = "no", message = "黑名单添加失败" }, JsonRequestBehavior.AllowGet); } return(ret); }
/// <summary> /// 绑定单个座位信息 /// </summary> /// <param name="seatNo"></param> /// <param name="seatShortNo"></param> /// <param name="used"></param> public void BindSingleSeat(string seatNo, string seatShortNo, string used) { if (!string.IsNullOrEmpty(seatNo)) //如果座位号不为空,正常打开 { ViewBag.SeatNo = seatShortNo; if (used == "0") //没人 { ViewBag.CardNo = "无"; ViewBag.Name = "无"; ViewBag.SeatStatus = "空闲"; ViewBag.TimeLength = ""; ViewBag.Seat = seatShortNo; ViewBag.AddBlackListEnabled = "false"; ViewBag.ShortLeaveEnabled = "false"; ViewBag.btnShortLeave = "暂离"; ViewBag.btnShortLeaveConfirmText = "是否确定把该读者设置为暂离?"; ViewBag.btnAllotSeatEnabled = "true"; } else if (used == "2") { List <SeatManage.ClassModel.BespeakLogInfo> list = SeatManage.Bll.T_SM_SeatBespeak.GetBespeakLogInfoBySeatNo(seatNo, SeatManage.Bll.ServiceDateTime.Now); if (list == null) { Response.Write("<html><head><title>系统提示</title><script>alert('没有获取到相关的座位信息');</script></head><body></body></html>"); Response.End(); } else { //txtSeat.Text = seatShortNo; ViewBag.SeatNo = seatShortNo; //lblCardNo.Text = list[0].CardNo; ViewBag.CardNo = list[0].CardNo; //lblName.Text = list[0].ReaderName; ViewBag.Name = list[0].ReaderName; //lblSeatStatus.Text = "已被预约"; ViewBag.SeatStatus = "已被预约"; // lblTimeLength.Text = string.Format("{0:MM月dd日 HH:mm:ss}", list[0].BsepeakTime); ViewBag.TimeLength = string.Format("{0:MM月dd日 HH:mm:ss}", list[0].BsepeakTime); //btnAddBlackList.Enabled = false; ViewBag.AddBlackListEnabled = "false"; //btnShortLeave.Enabled = false; ViewBag.ShortLeaveEnabled = "false"; // btnShortLeave.Text = "暂离"; ViewBag.btnShortLeave = "暂离"; // btnShortLeave.ConfirmText = "是否确定把该读者设置为暂离?"; ViewBag.btnShortLeaveConfirmText = "是否确定把该读者设置为暂离?"; // btnLeave.Enabled = false; ViewBag.btnLeave = "false"; // btnAllotSeat.Enabled = false; ViewBag.btnAllotSeatEnabled = "false"; } } else if (used == "3") //座位停用 { // FineUI.Alert.ShowInTop("此座位已暂停使用", "提示"); Response.Write("<html><head><title>系统提示</title><script>alert('此座位已暂停使用');</script></head><body></body></html>"); Response.End(); // btnAddBlackList.Enabled = false; ViewBag.AddBlackListEnabled = "false"; // btnShortLeave.Enabled = false; ViewBag.ShortLeaveEnabled = "false"; // btnShortLeave.ConfirmText = "此座位已暂停使用,请重新选择"; ViewBag.btnShortLeaveConfirmText = "此座位已暂停使用,请重新选择"; // btnLeave.Enabled = false; ViewBag.btnLeave = "false"; // btnAllotSeat.Enabled = false; ViewBag.btnAllotSeatEnabled = "false"; } else { SeatManage.ClassModel.Seat seat = SeatManage.Bll.T_SM_Seat.GetSeatInfoBySeatNo(seatNo); if (seat == null) { Response.Write("<html><head><title>系统提示</title><script>alert('没有获取到相关的座位信息');</script></head><body></body></html>"); Response.End(); // FineUI.Alert.ShowInTop("没有获取到相关的座位信息", "错误"); } else { if (seat.SeatUsedState == SeatManage.EnumType.EnterOutLogType.Leave) { //lblCardNo.Text = "无"; ViewBag.CardNo = "无"; // lblName.Text = "无"; ViewBag.Name = "无"; // lblSeatStatus.Text = "空闲"; ViewBag.SeatStatus = "空闲"; // lblTimeLength.Text = ""; ViewBag.TimeLength = ""; // txtSeat.Text = seat.ShortSeatNo; ViewBag.Seat = seat.ShortSeatNo; // btnAddBlackList.Enabled = false; ViewBag.AddBlackListEnabled = "false"; // btnShortLeave.Enabled = false; ViewBag.ShortLeaveEnabled = "false"; // btnShortLeave.Text = "暂离"; ViewBag.btnShortLeave = "暂离"; // btnShortLeave.ConfirmText = "是否确定把该读者设置为暂离?"; ViewBag.btnShortLeaveConfirmText = "是否确定把该读者设置为暂离"; // btnLeave.Enabled = false; ViewBag.btnLeave = "false"; // btnAllotSeat.Enabled = true; ViewBag.btnAllotSeatEnabled = "false"; } else if (seat.SeatUsedState == SeatManage.EnumType.EnterOutLogType.ShortLeave) { // txtCardNo.Text = seat.UserCardNo; ViewBag.CardNo = seat.UserCardNo; // txtCardNo1.Text = seat.UserCardNo; ViewBag.txtCardNo1 = seat.UserCardNo; //txtReaderName.Text = seat.UserName; ViewBag.ReaderNameText = seat.UserName; //txtSeat.Text = seat.ShortSeatNo; ViewBag.Seat = seat.ShortSeatNo; // lblCardNo.Text = seat.UserCardNo; ViewBag.CardNo = seat.UserCardNo; // lblName.Text = seat.UserName; ViewBag.Name = seat.UserName; // lblSeatStatus.Text = SeatManage.SeatManageComm.SeatComm.ConvertReaderState(seat.SeatUsedState); ViewBag.SeatStatus = SeatManage.SeatManageComm.SeatComm.ConvertReaderState(seat.SeatUsedState); //lblTimeLength.Text = string.Format("{0:MM月dd日 HH:mm:ss}", seat.BeginUsedTime); ViewBag.TimeLength = string.Format("{0:MM月dd日 HH:mm:ss}", seat.BeginUsedTime); // btnAddBlackList.Enabled = true; ViewBag.AddBlackListEnabled = "true"; // btnShortLeave.Enabled = true; ViewBag.ShortLeaveEnabled = "true"; // btnShortLeave.Text = "取消暂离"; ViewBag.btnShortLeave = "取消暂离"; //btnShortLeave.ConfirmText = "是否取消此读者的暂离状态,并还原为在座状态?"; ViewBag.btnShortLeaveConfirmText = "是否取消此读者的暂离状态,并还原为在座状态?"; //btnLeave.Enabled = true; ViewBag.btnLeave = "true"; // btnAllotSeat.Enabled = false; ViewBag.btnAllotSeatEnabled = "false"; } else { // txtCardNo.Text = seat.UserCardNo; ViewBag.CardNo = seat.UserCardNo; // txtCardNo1.Text = seat.UserCardNo; ViewBag.txtCardNo1 = seat.UserCardNo; // txtReaderName.Text = seat.UserName; ViewBag.ReaderNameText = seat.UserName; // txtSeat.Text = seat.ShortSeatNo; ViewBag.Seat = seat.ShortSeatNo; // lblCardNo.Text = seat.UserCardNo; ViewBag.CardNo = seat.UserCardNo; // lblName.Text = seat.UserName; ViewBag.Name = seat.UserName; // lblSeatStatus.Text = SeatManage.SeatManageComm.SeatComm.ConvertReaderState(seat.SeatUsedState); ViewBag.SeatStatus = SeatManage.SeatManageComm.SeatComm.ConvertReaderState(seat.SeatUsedState); // lblTimeLength.Text = string.Format("{0:MM月dd日 HH:mm:ss}", seat.BeginUsedTime); ViewBag.TimeLength = string.Format("{0:MM月dd日 HH:mm:ss}", seat.BeginUsedTime); // btnAddBlackList.Enabled = true; ViewBag.AddBlackListEnabled = "true"; // btnShortLeave.Enabled = true; ViewBag.ShortLeaveEnabled = "true"; // btnShortLeave.Text = "暂离"; ViewBag.btnShortLeave = "暂离"; // btnShortLeave.ConfirmText = "是否确定把该读者设置为暂离?"; ViewBag.btnShortLeaveConfirmText = "是否确定把该读者设置为暂离?"; // btnLeave.Enabled = true; ViewBag.btnLeave = "true"; // btnAllotSeat.Enabled = false; ViewBag.btnAllotSeatEnabled = "false"; } } } } else { Response.Write("<html><head><title>系统提示</title><script>alert('座位号不能为空');</script></head><body></body></html>"); Response.End(); // FineUI.Alert.ShowInTop("座位号不能为空", "错误"); } }
/// <summary> /// 解析座位配置 /// </summary> /// <param name="seatXml"></param> /// <returns></returns> private static SeatLayout getSeats(string seatXml) { XmlDocument doc = new XmlDocument(); doc.LoadXml(seatXml); SeatLayout seats = new SeatLayout(); //查找行数和列数 XmlNode node = doc.SelectSingleNode("//seatroot/seatinfo/rowscount"); seats.SeatRow = int.Parse(node.InnerText); node = doc.SelectSingleNode("//seatroot/seatinfo/columscount"); seats.SeatCol = int.Parse(node.InnerText); //查找方位 node = doc.SelectSingleNode("//seatroot/seatinfo/position"); if (node != null) { seats.Position = node.InnerText; } //查找座位 XmlNodeList nodes = doc.SelectNodes("//seatroot/seatdetail/objseat"); Dictionary <string, Seat> seatList = new Dictionary <string, Seat>(); foreach (XmlNode element in nodes) { try { Seat seat = new Seat(); seat.ShortSeatNo = element.Attributes["seatno"].Value.Substring(6, 3); seat.SeatNo = element.Attributes["seatno"].Value; seat.PositionY = double.Parse(element.Attributes["rownum"].Value); seat.PositionX = double.Parse(element.Attributes["colnum"].Value); seat.HavePower = ConfigConvert.ConvertToBool(element.Attributes["haspower"].Value); seat.CanBeBespeak = getCanBeBook(element.Attributes["booktype"].Value); if (element.Attributes["centerx"] != null) { seat.RotationCenterX = int.Parse(element.Attributes["centerx"].Value); } if (element.Attributes["centery"] != null) { seat.RotationCenterY = int.Parse(element.Attributes["centery"].Value); } if (element.Attributes["angle"] != null) { seat.RotationAngle = int.Parse(element.Attributes["angle"].Value); } if (element.Attributes["isstop"] != null) { seat.IsSuspended = ConfigConvert.ConvertToBool(element.Attributes["isstop"].Value); } seatList.Add(seat.SeatNo, seat); } catch (Exception ex) { throw new Exception(string.Format("解析失败座位失败:{0};座位编号:{1}", ex.Message, element.Attributes["seatno"].Value)); } } Seat temp = new Seat();//交换变量 //排序 seatList = (from entry in seatList orderby entry.Value.SeatNo ascending select entry).ToDictionary(pair => pair.Key, pair => pair.Value); seats.Seats = seatList; return(seats); }