/// <summary> /// 增加一条数据 /// </summary> public bool Add(SeatManage.ClassModel.ReadingRoomInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into T_SM_ReadingRoom("); strSql.Append("ReadingRoomNo,ReadingRoomName,LibraryNo,ReadingSetting,RoomSeat,AreaName)"); strSql.Append(" values ("); strSql.Append("@ReadingRoomNo,@ReadingRoomName,@LibraryNo,@ReadingSetting,@RoomSeat,@AreaName)"); SqlParameter[] parameters = { new SqlParameter("@ReadingRoomNo", SqlDbType.NVarChar, 50), new SqlParameter("@ReadingRoomName", SqlDbType.NVarChar, 100), new SqlParameter("@LibraryNo", SqlDbType.NVarChar, 50), new SqlParameter("@ReadingSetting", SqlDbType.Text), new SqlParameter("@RoomSeat", SqlDbType.Text), new SqlParameter("@AreaName", SqlDbType.NVarChar, 50) }; parameters[0].Value = model.No; parameters[1].Value = model.Name; parameters[2].Value = model.Libaray.No; parameters[3].Value = model.Setting.ToString(); parameters[4].Value = model.SeatList.ToString(); parameters[5].Value = model.Area.AreaName; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
public Tip_WaitSeat() { InitializeComponent(); ClassModel.ReadingRoomInfo roomInfo = clientobject.EnterOutLogData.Student.AtReadingRoom; string shortSeatNo = SeatManageComm.SeatComm.SeatNoToShortSeatNo(roomInfo.Setting.SeatNumAmount, clientobject.EnterOutLogData.EnterOutlog.SeatNo); lblSeatInfo.Text = string.Format(" {0} {1} 座位", roomInfo.Name, shortSeatNo); }
protected void DropDownList_Time_OnSelectedIndexChanged(object sender, EventArgs e) { SeatManage.ClassModel.ReadingRoomInfo room = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(roomNo); DateTime bespeakTime = DateTime.Parse(DropDownList_Time.SelectedText); DateTime bespeakBeginTime = bespeakTime.AddMinutes(-double.Parse(room.Setting.SeatBespeak.ConfirmTime.BeginTime)); DateTime bespeakEndTime = bespeakTime.AddMinutes(double.Parse(room.Setting.SeatBespeak.ConfirmTime.EndTime)); lblEndDate.Text = string.Format("{0}至{1}", bespeakBeginTime.ToShortTimeString(), bespeakEndTime.ToShortTimeString()); }
protected void rblModel_OnSelectedIndexChanged(object sender, EventArgs e) { SeatManage.ClassModel.ReadingRoomInfo room = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(roomNo); DateTime bespeakTime = date; if (rblModel.SelectedValue == "0") { DropDownList_FreeTime.Hidden = true; DropDownList_Time.Hidden = true; this.lblEndDate.Text = string.Format("{0}至{1}", bespeakTime.ToShortTimeString(), bespeakTime.AddMinutes(room.Setting.SeatBespeak.SeatKeepTime).ToShortTimeString()); } else { if (!room.Setting.SeatBespeak.SpecifiedTime) { if (DropDownList_FreeTime.Items.Count < 1) { FineUI.Alert.ShowInTop("对不起当前时间已超过最后可预约的时间段"); rblModel.SelectedIndex = 0; return; } DropDownList_Time.Hidden = true; DropDownList_FreeTime.Hidden = false; DropDownList_FreeTime.SelectedIndex = 0; bespeakTime = DateTime.Parse(DropDownList_FreeTime.SelectedText); DateTime bespeakBeginTime = bespeakTime.AddMinutes(-double.Parse(room.Setting.SeatBespeak.ConfirmTime.BeginTime)); DateTime bespeakEndTime = bespeakTime.AddMinutes(double.Parse(room.Setting.SeatBespeak.ConfirmTime.EndTime)); lblEndDate.Text = string.Format("{0}至{1}", bespeakBeginTime.ToShortTimeString(), bespeakEndTime.ToShortTimeString()); } else { if (DropDownList_Time.Items.Count < 1) { FineUI.Alert.ShowInTop("对不起当前时间已超过最后可预约的时间段"); rblModel.SelectedIndex = 0; return; } DropDownList_FreeTime.Hidden = true; DropDownList_Time.Hidden = false; DropDownList_Time.SelectedIndex = 0; bespeakTime = DateTime.Parse(DropDownList_Time.SelectedText); DateTime bespeakBeginTime = bespeakTime.AddMinutes(-double.Parse(room.Setting.SeatBespeak.ConfirmTime.BeginTime)); DateTime bespeakEndTime = bespeakTime.AddMinutes(double.Parse(room.Setting.SeatBespeak.ConfirmTime.EndTime)); lblEndDate.Text = string.Format("{0}至{1}", bespeakBeginTime.ToShortTimeString(), bespeakEndTime.ToShortTimeString()); } } }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(SeatManage.ClassModel.ReadingRoomInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update T_SM_ReadingRoom set "); strSql.Append("ReadingRoomName=@ReadingRoomName,"); strSql.Append("LibraryNo=@LibraryNo,"); strSql.Append("ReadingSetting=@ReadingSetting,"); strSql.Append("RoomSeat=@RoomSeat,"); strSql.Append("AreaName=@AreaName"); strSql.Append(" where ReadingRoomNo=@ReadingRoomNo "); SqlParameter[] parameters = { new SqlParameter("@ReadingRoomName", SqlDbType.NVarChar, 100), new SqlParameter("@LibraryNo", SqlDbType.NVarChar, 50), new SqlParameter("@ReadingSetting", SqlDbType.Text), new SqlParameter("@RoomSeat", SqlDbType.Text), new SqlParameter("@AreaName", SqlDbType.NVarChar, 50), new SqlParameter("@ReadingRoomNo", SqlDbType.NVarChar, 50) }; parameters[0].Value = model.Name; parameters[1].Value = model.Libaray.No; parameters[2].Value = model.Setting.ToString(); parameters[3].Value = model.SeatList.ToString(); parameters[4].Value = model.Area.AreaName; parameters[5].Value = model.No; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
protected void rblModel_OnSelectedIndexChanged(object sender, EventArgs e) { SeatManage.ClassModel.ReadingRoomInfo room = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(roomNo); SeatManage.Bll.T_SM_ReadingRoom bllReadingRoom = new SeatManage.Bll.T_SM_ReadingRoom(); DateTime bespeakTime = Convert.ToDateTime(bllReadingRoom.GetRoomOpenTimeByDate(room.Setting, date).BeginTime); if (rblModel.SelectedValue == "0") { DropDownList_FreeTime.Hidden = true; DropDownList_Time.Hidden = true; DateTime bespeakBeginTime = bespeakTime.AddMinutes(-double.Parse(room.Setting.SeatBespeak.ConfirmTime.BeginTime)); DateTime bespeakEndTime = bespeakTime.AddMinutes(double.Parse(room.Setting.SeatBespeak.ConfirmTime.EndTime)); lblEndDate.Text = string.Format("{0}至{1}", bespeakBeginTime.ToShortTimeString(), bespeakEndTime.ToShortTimeString()); } else { if (!room.Setting.SeatBespeak.SpecifiedTime) { DropDownList_Time.Hidden = true; DropDownList_FreeTime.Hidden = false; DropDownList_FreeTime.SelectedIndex = 0; bespeakTime = DateTime.Parse(DropDownList_FreeTime.SelectedText); DateTime bespeakBeginTime = bespeakTime.AddMinutes(-double.Parse(room.Setting.SeatBespeak.ConfirmTime.BeginTime)); DateTime bespeakEndTime = bespeakTime.AddMinutes(double.Parse(room.Setting.SeatBespeak.ConfirmTime.EndTime)); lblEndDate.Text = string.Format("{0}至{1}", bespeakBeginTime.ToShortTimeString(), bespeakEndTime.ToShortTimeString()); } else { DropDownList_FreeTime.Hidden = true; DropDownList_Time.Hidden = false; DropDownList_Time.SelectedIndex = 0; bespeakTime = DateTime.Parse(DropDownList_Time.SelectedText); DateTime bespeakBeginTime = bespeakTime.AddMinutes(-double.Parse(room.Setting.SeatBespeak.ConfirmTime.BeginTime)); DateTime bespeakEndTime = bespeakTime.AddMinutes(double.Parse(room.Setting.SeatBespeak.ConfirmTime.EndTime)); lblEndDate.Text = string.Format("{0}至{1}", bespeakBeginTime.ToShortTimeString(), bespeakEndTime.ToShortTimeString()); } } }
/// <summary> /// 删除一条数据 /// </summary> public bool Delete(SeatManage.ClassModel.ReadingRoomInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("delete from T_SM_ReadingRoom "); strSql.Append(" where ReadingRoomNo=@ReadingRoomNo "); SqlParameter[] parameters = { new SqlParameter("@ReadingRoomNo", SqlDbType.NVarChar, 50) }; parameters[0].Value = model.No; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
protected void btnBespeak_Click(object sender, EventArgs e) { SeatManage.ClassModel.BespeakLogInfo bespeakModel = new SeatManage.ClassModel.BespeakLogInfo(); bespeakModel.BsepeakState = SeatManage.EnumType.BookingStatus.Waiting; bespeakModel.BsepeakTime = date; bespeakModel.CardNo = this.LoginId; bespeakModel.ReadingRoomNo = roomNo.Trim(); if (rblModel.SelectedValue == "1") { if (!DropDownList_Time.Hidden == true) { bespeakModel.BsepeakTime = DateTime.Parse(string.Format("{0} {1}", date.ToShortDateString(), DropDownList_Time.SelectedText)); } else { bespeakModel.BsepeakTime = DateTime.Parse(string.Format("{0} {1}", date.ToShortDateString(), DropDownList_FreeTime.SelectedText)); } } SeatManage.ClassModel.ReadingRoomInfo room = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(bespeakModel.ReadingRoomNo); if (room.Setting.ReadingRoomOpenState(bespeakModel.BsepeakTime) == ReadingRoomStatus.Close) { FineUI.Alert.ShowInTop("对不起,当前时间阅览室未开放。"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } bespeakModel.Remark = string.Format("读者通过Web页面预约当天座位"); bespeakModel.SeatNo = seatNo; bespeakModel.SubmitTime = date; if (bespeakModel.BsepeakTime < bespeakModel.SubmitTime) { FineUI.Alert.ShowInTop("对不起,预约的时间不正确,请刷新页面重新选择。"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } try { Seat seatInfo = SeatManage.Bll.T_SM_Seat.GetSeatInfoBySeatNo(seatNo); if (bespeakModel.BsepeakTime == DateTime.Now.Date && seatInfo.SeatUsedState != EnterOutLogType.Leave) //如果启用预约,判断选择的日期是否为当天的日期 { FineUI.Alert.ShowInTop("对不起,你所预约的座位正在使用。"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } List <SeatManage.ClassModel.BespeakLogInfo> seatbespeakLog = SeatManage.Bll.T_SM_SeatBespeak.GetBespeakLogInfoBySeatNo(seatNo, date); if (seatbespeakLog.Count > 0) { FineUI.Alert.ShowInTop("对不起,该座位已经被别人预约。"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } SeatManage.EnumType.HandleResult result = SeatManage.Bll.T_SM_SeatBespeak.AddBespeakLogInfo(bespeakModel); if (result == SeatManage.EnumType.HandleResult.Successed) { FineUI.Alert.ShowInTop("座位预约成功,请在规定的时间内刷卡确认。"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } else { FineUI.Alert.ShowInTop("预约失败,该座位已经被别人预约。"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } } catch (Exception ex) { FineUI.Alert.ShowInTop(string.Format("执行预约操作遇到错误:{0}", ex.Message)); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } }
public JsonResult Leave(string seatNo, string seatShortNo, string used) { JsonResult ret = null; SeatManage.ClassModel.EnterOutLogInfo enterOutLog = SeatManage.Bll.T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo); SeatManage.ClassModel.ReadingRoomInfo roomInfo = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(enterOutLog.ReadingRoomNo); SeatManage.EnumType.EnterOutLogType type = enterOutLog.EnterOutState; enterOutLog.EnterOutState = SeatManage.EnumType.EnterOutLogType.Leave; enterOutLog.Flag = SeatManage.EnumType.Operation.Admin; enterOutLog.Remark = string.Format("在{0},{1}号座位,被管理员{2},在后台管理网站设置离开", roomInfo.Name, enterOutLog.ShortSeatNo, this.LoginId); int newId = -1; SeatManage.EnumType.HandleResult result = SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId); if (result == SeatManage.EnumType.HandleResult.Successed) { //SeatManage.ClassModel.ReaderNoticeInfo rni = new SeatManage.ClassModel.ReaderNoticeInfo(); //rni.CardNo = enterOutLog.CardNo; //rni.Type = SeatManage.EnumType.NoticeType.ManagerFreeSetWarning; //rni.Note = enterOutLog.Remark; //SeatManage.Bll.T_SM_ReaderNotice.AddReaderNotice(rni); PushMsgInfo msg = new PushMsgInfo(); msg.Title = "您好,您的座位已被释放"; msg.MsgType = MsgPushType.AdminOperation; msg.StudentNum = enterOutLog.CardNo; msg.Message = enterOutLog.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("", enterOutLog.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); } } } SeatManage.ClassModel.RegulationRulesSetting rulesSet = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting(); if (roomInfo.Setting.IsRecordViolate) { if (roomInfo.Setting.BlackListSetting.Used) { if (roomInfo.Setting.BlackListSetting.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.LeaveByAdmin]) { SeatManage.ClassModel.ViolationRecordsLogInfo violationRecords = new SeatManage.ClassModel.ViolationRecordsLogInfo(); violationRecords.CardNo = enterOutLog.CardNo; violationRecords.SeatID = enterOutLog.SeatNo.Substring(enterOutLog.SeatNo.Length - roomInfo.Setting.SeatNumAmount, roomInfo.Setting.SeatNumAmount); violationRecords.ReadingRoomID = enterOutLog.ReadingRoomNo; violationRecords.EnterOutTime = SeatManage.Bll.ServiceDateTime.Now.ToString(); violationRecords.EnterFlag = SeatManage.EnumType.ViolationRecordsType.LeaveByAdmin; violationRecords.Remark = string.Format("在{0},{1}号座位,被管理员{2},在后台管理网站设置离开", roomInfo.Name, enterOutLog.ShortSeatNo, this.LoginId); violationRecords.BlacklistID = "-1"; SeatManage.Bll.T_SM_ViolateDiscipline.AddViolationRecords(violationRecords); } } else if (rulesSet.BlacklistSet.Used && rulesSet.BlacklistSet.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.LeaveByAdmin]) { SeatManage.ClassModel.ViolationRecordsLogInfo violationRecords = new SeatManage.ClassModel.ViolationRecordsLogInfo(); violationRecords.CardNo = enterOutLog.CardNo; violationRecords.SeatID = enterOutLog.SeatNo.Substring(enterOutLog.SeatNo.Length - roomInfo.Setting.SeatNumAmount, roomInfo.Setting.SeatNumAmount); violationRecords.ReadingRoomID = enterOutLog.ReadingRoomNo; violationRecords.EnterOutTime = SeatManage.Bll.ServiceDateTime.Now.ToString(); violationRecords.EnterFlag = SeatManage.EnumType.ViolationRecordsType.LeaveByAdmin; violationRecords.Remark = string.Format("在{0},{1}号座位,被管理员{2},在后台管理网站设置离开", roomInfo.Name, enterOutLog.ShortSeatNo, this.LoginId); violationRecords.BlacklistID = "-1"; SeatManage.Bll.T_SM_ViolateDiscipline.AddViolationRecords(violationRecords); } } ret = Json(new { status = "yes", message = "设置读者离开成功" }, JsonRequestBehavior.AllowGet); } else { ret = Json(new { status = "no", message = "设置读者离开失败" }, JsonRequestBehavior.AllowGet); } return(ret); }
/// <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) { DropDownList_Time.Items.Add(new FineUI.ListItem(dt.ToShortTimeString(), dt.ToShortTimeString())); } DateTime minTime = DateTime.Parse(date.ToShortDateString() + " " + bllReadingRoom.GetRoomOpenTimeByDate(room.Setting, date.ToShortDateString()).BeginTime); 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; } //判断座位是否被别人预约 List <SeatManage.ClassModel.BespeakLogInfo> list = SeatManage.Bll.T_SM_SeatBespeak.GetBespeakLogInfoBySeatNo(seatNo, date); roomOpenTime.Value = bllReadingRoom.GetRoomOpenTimeByDate(room.Setting, date.ToShortDateString()).BeginTime; this.lblEndDate.Text = bespeakSureTimeSpan(room.Setting); 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; }
protected void btnBespeak_Click(object sender, EventArgs e) { SeatManage.ClassModel.BespeakLogInfo bespeakModel = new SeatManage.ClassModel.BespeakLogInfo(); bespeakModel.BsepeakState = SeatManage.EnumType.BookingStatus.Waiting; DateTime bespeatDate = DateTime.Parse(string.Format("{0} {1}", DateTime.Parse(date).ToShortDateString(), roomOpenTime.Value)); if (rblModel.SelectedValue == "1") { if (!DropDownList_Time.Hidden == true) { bespeatDate = DateTime.Parse(string.Format("{0} {1}", DateTime.Parse(date).ToShortDateString(), DropDownList_Time.SelectedText)); } else { bespeatDate = DateTime.Parse(string.Format("{0} {1}", DateTime.Parse(date).ToShortDateString(), DropDownList_FreeTime.SelectedText)); } } bespeakModel.BsepeakTime = bespeatDate; bespeakModel.CardNo = this.LoginId; bespeakModel.ReadingRoomNo = roomNo.Trim(); bespeakModel.Remark = string.Format("读者通过Web页面预约座位"); bespeakModel.SeatNo = seatNo; bespeakModel.SubmitTime = SeatManage.Bll.ServiceDateTime.Now; try { SeatManage.ClassModel.ReadingRoomInfo room = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(bespeakModel.ReadingRoomNo); if (!room.Setting.IsCanBespeakSeat(bespeakModel.BsepeakTime)) { FineUI.Alert.ShowInTop("对不起不能预约当前日期的座位,请刷新页面重新选择日期。"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } if (bespeakModel.SubmitTime > bespeakModel.BsepeakTime) { FineUI.Alert.ShowInTop("对不起不能预约时间错误,请刷新页面重新选择日期。"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } if (room.Setting.SeatBespeak.BespeakArea.BespeakType == BespeakAreaType.Percentage) { List <BespeakLogInfo> bespeaklogs = SeatManage.Bll.T_SM_SeatBespeak.GetNotCheckedBespeakLogInfo(new List <string>() { bespeakModel.ReadingRoomNo }, bespeakModel.BsepeakTime); double canbookCount = (double)((double)(room.SeatList.Seats.Count - room.SeatList.Seats.Where(u => u.Value.IsSuspended).ToArray().Count()) * room.Setting.SeatBespeak.BespeakArea.Scale); if (bespeaklogs.Count >= canbookCount) { FineUI.Alert.ShowInTop("对不起当前阅览室已经没有可预约的座位。"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } } SeatManage.EnumType.HandleResult result = SeatManage.Bll.T_SM_SeatBespeak.AddBespeakLogInfo(bespeakModel); if (result == SeatManage.EnumType.HandleResult.Successed) { FineUI.Alert.ShowInTop("座位预约成功,请在规定的时间内刷卡确认。"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } else { FineUI.Alert.ShowInTop("预约失败,该座位已经被别人预约。"); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } } catch (Exception ex) { FineUI.Alert.ShowInTop(string.Format("执行预约操作遇到错误:{0}", ex.Message)); PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); } }
/// <summary> /// 数据绑定 /// </summary> private void DataBind() { SeatManage.ClassModel.ReadingRoomInfo room = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(Request.QueryString["id"]); if (room == null) { room = new SeatManage.ClassModel.ReadingRoomInfo(); } SeatManage.ClassModel.ReadingRoomSetting roomSet = room.Setting; if (roomSet == null) { roomSet = new SeatManage.ClassModel.ReadingRoomSetting(); } //选座模式设置 SeatSelectDefaultMode.SelectedValue = ((int)roomSet.SeatChooseMethod.DefaultChooseMethod).ToString(); SeatSelectAdMode.Checked = roomSet.SeatChooseMethod.UsedAdvancedSet; //SelectSeatPosTimes.Text = roomSet.PosTimes.Times.ToString(); SelectSeatPosCount.Text = roomSet.PosTimes.Times.ToString(); SelectSeatPosTimes.Text = roomSet.PosTimes.Minutes.ToString(); SeatSelectPos.Checked = roomSet.PosTimes.IsUsed; if (SeatSelectAdMode.Checked) { SeatSelectAdModeTable.Style["display"] = "block"; } else { SeatSelectAdModeTable.Style["display"] = "none"; } //高级设置 foreach (KeyValuePair <DayOfWeek, SeatChooseMethodPlan> day in roomSet.SeatChooseMethod.AdvancedSelectSeatMode) { string dayNum = ((int)day.Value.Day).ToString(); CheckBox DayCheck = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum) as CheckBox; DayCheck.Checked = day.Value.Used; for (int i = 0; i < day.Value.PlanOption.Count; i++) { string[] begintime = day.Value.PlanOption[i].UsedTime.BeginTime.Split(':'); string[] endtime = day.Value.PlanOption[i].UsedTime.EndTime.Split(':'); TextBox begintimeH = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_StartH") as TextBox; TextBox begintimeM = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_StartM") as TextBox; TextBox endtimeH = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_EndH") as TextBox; TextBox endtimeM = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_EndM") as TextBox; RadioButtonList selectmode = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_SelectMode") as RadioButtonList; begintimeH.Text = begintime[0]; begintimeM.Text = begintime[1]; endtimeH.Text = endtime[0]; endtimeM.Text = endtime[1]; selectmode.SelectedValue = ((int)day.Value.PlanOption[i].ChooseMethod).ToString(); } } //暂离设置 ShortLeaveDufaultTime.Text = roomSet.SeatHoldTime.DefaultHoldTimeLength.ToString(); ShortLeaveAdMode.Checked = roomSet.SeatHoldTime.UsedAdvancedSet; if (ShortLeaveAdMode.Checked) { ShortLeaveAdModeTable.Style["display"] = "block"; } else { ShortLeaveAdModeTable.Style["display"] = "none"; } //高级设置 for (int i = 0; i < roomSet.SeatHoldTime.AdvancedSeatHoldTime.Count; i++) { string[] begintime = roomSet.SeatHoldTime.AdvancedSeatHoldTime[i].UsedTime.BeginTime.Split(':'); string[] endtime = roomSet.SeatHoldTime.AdvancedSeatHoldTime[i].UsedTime.EndTime.Split(':'); TextBox begintimeH = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_StartH") as TextBox; TextBox begintimeM = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_StartM") as TextBox; TextBox endtimeH = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_EndH") as TextBox; TextBox endtimeM = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_EndM") as TextBox; TextBox leavetime = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_LeaveTime") as TextBox; CheckBox used = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1)) as CheckBox; begintimeH.Text = begintime[0]; begintimeM.Text = begintime[1]; endtimeH.Text = endtime[0]; endtimeM.Text = endtime[1]; leavetime.Text = roomSet.SeatHoldTime.AdvancedSeatHoldTime[i].HoldTimeLength.ToString(); used.Checked = roomSet.SeatHoldTime.AdvancedSeatHoldTime[i].Used; } //开闭馆计划设置 string[] opentime = roomSet.RoomOpenSet.DefaultOpenTime.BeginTime.Split(':'); string[] closetime = roomSet.RoomOpenSet.DefaultOpenTime.EndTime.Split(':'); ReadingRoomDufaultOpenTimeH.Text = opentime[0]; ReadingRoomDufaultOpenTimeM.Text = opentime[1]; ReadingRoomBeforeOpenTime.Text = roomSet.RoomOpenSet.OpenBeforeTimeLength.ToString(); ReadingRoomDufaultCloseTimeH.Text = closetime[0]; ReadingRoomDufaultCloseTimeM.Text = closetime[1]; ReadingRoomBeforeCloseTime.Text = roomSet.RoomOpenSet.CloseBeforeTimeLength.ToString(); ReadingRoomOpen24H.Checked = roomSet.RoomOpenSet.UninterruptibleModel; //高级设置 ReadingRoomOpenCloseAdMode.Checked = roomSet.RoomOpenSet.UsedAdvancedSet; if (ReadingRoomOpenCloseAdMode.Checked) { ReadingRoomOpenCloseAdModeTable.Style["display"] = "block"; } else { ReadingRoomOpenCloseAdModeTable.Style["display"] = "none"; } foreach (KeyValuePair <DayOfWeek, RoomOpenPlanSet> day in roomSet.RoomOpenSet.RoomOpenPlan) { string dayNum = ((int)day.Value.Day).ToString(); CheckBox DayCheck = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum) as CheckBox; DayCheck.Checked = day.Value.Used; for (int i = 0; i < day.Value.OpenTime.Count; i++) { string[] begintime = day.Value.OpenTime[i].BeginTime.Split(':'); string[] endtime = day.Value.OpenTime[i].EndTime.Split(':'); TextBox begintimeH = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_OpenH") as TextBox; TextBox begintimeM = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_OpenM") as TextBox; TextBox endtimeH = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_CloseH") as TextBox; TextBox endtimeM = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_CloseM") as TextBox; begintimeH.Text = begintime[0]; begintimeM.Text = begintime[1]; endtimeH.Text = endtime[0]; endtimeM.Text = endtime[1]; } } ShortLeaveByAdmin.Checked = roomSet.AdminShortLeave.IsUsed; ShortLeaveByAdmin_LeaveTime.Text = roomSet.AdminShortLeave.HoldTimeLength.ToString(); //在座时长设置 SeatTime.Checked = roomSet.SeatUsedTimeLimit.Used; SeatTime_Mode.SelectedValue = roomSet.SeatUsedTimeLimit.Mode; SeatTime_SeatTime.Text = roomSet.SeatUsedTimeLimit.UsedTimeLength.ToString(); SeatTime_OverTime_Mode.SelectedValue = ((int)roomSet.SeatUsedTimeLimit.OverTimeHandle).ToString(); SeatTime_ContinueTime.Checked = roomSet.SeatUsedTimeLimit.IsCanContinuedTime; SeatTime_ContinueTime_Time.Text = roomSet.SeatUsedTimeLimit.DelayTimeLength.ToString(); SeatTime_ContinueTime_ContinueCount.Text = roomSet.SeatUsedTimeLimit.ContinuedTimes.ToString(); SeatTime_ContinueTime_BeforeTime.Text = roomSet.SeatUsedTimeLimit.CanDelayTime.ToString(); SeatTime_ContinueTime_WithBookSpan.Checked = roomSet.SeatUsedTimeLimit.CanNotContinuedWithBookNetFixed; for (int i = 0; i < roomSet.SeatUsedTimeLimit.FixedTimes.Count; i++) { TextBox timeH = FindControl("PanelSetting").FindControl("SeatTimeSetting").FindControl("SeatTime_TimeH_" + i) as TextBox; timeH.Text = roomSet.SeatUsedTimeLimit.FixedTimes[i].ToShortTimeString().Split(':')[0]; TextBox timeM = FindControl("PanelSetting").FindControl("SeatTimeSetting").FindControl("SeatTime_TimeM_" + i) as TextBox; timeM.Text = roomSet.SeatUsedTimeLimit.FixedTimes[i].ToShortTimeString().Split(':')[1]; } //预约功能设置 SeatBook.Checked = roomSet.SeatBespeak.Used; cbMuiteSpan.Checked = roomSet.SeatBespeak.CanBookMultiSpan; ckbDelayTime.Checked = roomSet.SeatBespeak.AllowDelayTime; ckbLeave.Checked = roomSet.SeatBespeak.AllowLeave; ckbShortLeave.Checked = roomSet.SeatBespeak.AllowShortLeave; SeatBook_BeforeBookDay.Text = roomSet.SeatBespeak.BespeakBeforeDays.ToString(); string[] beginbooktime = roomSet.SeatBespeak.CanBespeatTimeSpace.BeginTime.Split(':'); string[] endbooktime = roomSet.SeatBespeak.CanBespeatTimeSpace.EndTime.Split(':'); SeatBook_BookTime_StartH.Text = beginbooktime[0]; SeatBook_BookTime_StartM.Text = beginbooktime[1]; SeatBook_BookTime_EndH.Text = endbooktime[0]; SeatBook_BookTime_EndM.Text = endbooktime[1]; SeatBook_SubmitBeforeTime.Text = roomSet.SeatBespeak.ConfirmTime.BeginTime; SeatBook_SubmitLateTime.Text = roomSet.SeatBespeak.ConfirmTime.EndTime; if (roomSet.SeatBespeak.BespeakArea.BespeakType == BespeakAreaType.Percentage) { SeatBook_SeatBookRadioPercent.Checked = true; } else if (roomSet.SeatBespeak.BespeakArea.BespeakType == BespeakAreaType.AppointSeat) { SeatBook_SeatBookRadioSetted.Checked = true; } SeatBook_SeatBookRadioPercent_Percent.Text = ((roomSet.SeatBespeak.BespeakArea.Scale) * 100).ToString(); foreach (SeatManage.ClassModel.TimeSpace cannotbookdate in roomSet.SeatBespeak.NoBespeakDates) { if (!string.IsNullOrEmpty(SeatBook_CanNotSeatBookDate.Text)) { SeatBook_CanNotSeatBookDate.Text += ";"; } SeatBook_CanNotSeatBookDate.Text += cannotbookdate.BeginTime + "~" + cannotbookdate.EndTime; } cbNowDayBook.Checked = roomSet.SeatBespeak.NowDayBespeak; NowDayBookTime.Text = roomSet.SeatBespeak.SeatKeepTime.ToString(); cbSpecifiedBook.Checked = roomSet.SeatBespeak.SpecifiedBespeak; SeatBook_SelectBespeakSeat.Checked = roomSet.SeatBespeak.SelectBespeakSeat; SeatBook_SpecifiedTime.Checked = roomSet.SeatBespeak.SpecifiedTime; SeatBook_BespeakSeatOnSeat.Checked = roomSet.SeatBespeak.BespeatWithOnSeat; SeatBook_BespeakSeatCount.Text = roomSet.SeatBespeak.BespeakSeatCount.ToString(); foreach (DateTime dt in roomSet.SeatBespeak.SpecifiedTimeList) { if (SeatBook_SpecifiedTimeList.Text != "") { SeatBook_SpecifiedTimeList.Text += ";"; } SeatBook_SpecifiedTimeList.Text += dt.ToShortTimeString(); } //黑名单设置 UseBlacklist.Checked = roomSet.UsedBlacklistLimit; IsRecordViolate.Checked = roomSet.IsRecordViolate; UseBlacklistSetting.Checked = roomSet.BlackListSetting.Used; if (UseBlacklistSetting.Checked) { UseBlacklistSettingTable.Style["display"] = "block"; } else { UseBlacklistSettingTable.Style["display"] = "none"; } RecordViolateCount.Text = roomSet.BlackListSetting.ViolateTimes.ToString(); LeaveBlackDays.Text = roomSet.BlackListSetting.LimitDays.ToString(); LeaveRecordViolateDays.Text = roomSet.BlackListSetting.ViolateFailDays.ToString(); if (roomSet.BlackListSetting.LeaveBlacklist == LeaveBlacklistMode.AutomaticMode) { AutoLeave.Checked = true; } else { HardLeave.Checked = true; } RecordViolate_BookOverTime.Checked = roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.BookingTimeOut]; RecordViolate_LeaveByAdmin.Checked = roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.LeaveByAdmin]; RecordViolate_SeatOverTime.Checked = roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.SeatOutTime]; RecordViolate_ShortLeaveByAdmin.Checked = roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.ShortLeaveByAdminOutTime]; RecordViolate_ShortLeaveByReader.Checked = roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.ShortLeaveByReaderOutTime]; RecordViolate_ShortLeaveOverTime.Checked = roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.ShortLeaveOutTime]; //其他设置 ShowSeatNumberCount.Text = roomSet.SeatNumAmount.ToString(); NoManMode.Checked = roomSet.NoManagement.Used; NoManMode_WaitTime.Text = roomSet.NoManagement.OperatingInterval.ToString(); ReaderLimit.Checked = roomSet.LimitReaderEnter.Used; if (roomSet.LimitReaderEnter.CanEnter) { ReaderLimit_LimitMode_Writelist.Checked = true; } else { ReaderLimit_LimitMode_Blacklist.Checked = true; } SeatManage.Bll.T_SM_Reader readerbll = new SeatManage.Bll.T_SM_Reader(); List <string> readertype = readerbll.GetReaderType(); ReaderLimit_ReaderMode.Items.Clear(); foreach (string reader in readertype) { if (string.IsNullOrEmpty(reader)) { ReaderLimit_ReaderMode.Items.Add("未指定"); } else { ReaderLimit_ReaderMode.Items.Add(reader); } } string[] readerType = roomSet.LimitReaderEnter.ReaderTypes.Split(';'); foreach (ListItem ci in ReaderLimit_ReaderMode.Items) { foreach (string reader in readerType) { if (string.IsNullOrEmpty(reader) && ci.Value == "未指定") { ci.Selected = true; break; } else if (ci.Value == reader) { ci.Selected = true; break; } } } SameRoomSet.Items.Clear(); List <SeatManage.ClassModel.ReadingRoomInfo> rooms = SeatManage.Bll.T_SM_ReadingRoom.GetReadingRooms(null, null, null); foreach (SeatManage.ClassModel.ReadingRoomInfo roominfo in rooms) { if (roominfo.No != room.No) { ListItem li = new ListItem(roominfo.Name + " ", roominfo.No); SameRoomSet.Items.Add(li); } } for (int i = 0; i < SameRoomSet.Items.Count; i++) { SameRoomSet.Items[i].Attributes.Add("onmouseover", "showToolTip(event,'" + SameRoomSet.Items[i].Value + "')"); } }
//void UseBlacklistSetting_CheckedChanged(object sender, EventArgs e) //{ // if (UseBlacklistSetting.Checked) // { // UseBlacklist.Enabled = false; // UseBlacklist.Checked = true; // IsRecordViolate.Enabled = false; // IsRecordViolate.Checked = true; // } // else // { // IsRecordViolate.Enabled = true; // UseBlacklist.Enabled = true; // } //} /// <summary>& /// 提交 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Submit_OnClick(object sender, EventArgs e) { SeatManage.ClassModel.ReadingRoomInfo room = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(Request.QueryString["id"]); if (room == null) { FineUI.Alert.Show("阅览室设置保存失败!"); return; } SeatManage.ClassModel.ReadingRoomSetting roomSet = room.Setting; if (roomSet == null) { roomSet = new SeatManage.ClassModel.ReadingRoomSetting(); } //选座设置 roomSet.SeatChooseMethod.DefaultChooseMethod = (SeatManage.EnumType.SelectSeatMode) int.Parse(SeatSelectDefaultMode.SelectedValue); roomSet.SeatChooseMethod.UsedAdvancedSet = SeatSelectAdMode.Checked; roomSet.PosTimes.Minutes = int.Parse(SelectSeatPosTimes.Text); roomSet.PosTimes.Times = int.Parse(SelectSeatPosCount.Text); roomSet.PosTimes.IsUsed = SeatSelectPos.Checked; //高级设置 roomSet.SeatChooseMethod.AdvancedSelectSeatMode.Clear(); for (int dayNum = 0; dayNum < 7; dayNum++) { SeatChooseMethodPlan scmp = new SeatChooseMethodPlan(); CheckBox DayCheck = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum) as CheckBox; scmp.Used = DayCheck.Checked; scmp.PlanOption.Clear(); for (int i = 0; i < 3; i++) { TextBox begintimeH = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_StartH") as TextBox; TextBox begintimeM = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_StartM") as TextBox; TextBox endtimeH = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_EndH") as TextBox; TextBox endtimeM = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_EndM") as TextBox; RadioButtonList selectmode = FindControl("PanelSetting").FindControl("FormReadingRoomSet").FindControl("SeatSelectAdModeDay" + dayNum + "_Time" + (i + 1) + "_SelectMode") as RadioButtonList; if (!string.IsNullOrEmpty(begintimeH.Text) || !string.IsNullOrEmpty(begintimeM.Text) || !string.IsNullOrEmpty(endtimeH.Text) || !string.IsNullOrEmpty(endtimeM.Text)) { DateTime begintime = new DateTime(); DateTime endtime = new DateTime(); if (!DateTime.TryParse(begintimeH.Text + ":" + begintimeM.Text, out begintime)) { FineUI.Alert.Show("选座设置高级设置,时间设置错误!"); return; } if (!DateTime.TryParse(endtimeH.Text + ":" + endtimeM.Text, out endtime)) { FineUI.Alert.Show("选座设置高级设置,时间设置错误!"); return; } SeatChooseMethodOption scmo = new SeatChooseMethodOption(); scmo.ChooseMethod = (SelectSeatMode)int.Parse(selectmode.SelectedValue); scmo.UsedTime.BeginTime = begintime.ToShortTimeString(); scmo.UsedTime.EndTime = endtime.ToShortTimeString(); scmp.PlanOption.Add(scmo); } } roomSet.SeatChooseMethod.AdvancedSelectSeatMode.Add(((DayOfWeek)dayNum), scmp); } //暂离设置 roomSet.SeatHoldTime.DefaultHoldTimeLength = int.Parse(ShortLeaveDufaultTime.Text); roomSet.SeatHoldTime.UsedAdvancedSet = ShortLeaveAdMode.Checked; //高级设置 roomSet.SeatHoldTime.AdvancedSeatHoldTime.Clear(); for (int i = 0; i < 2; i++) { TextBox begintimeH = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_StartH") as TextBox; TextBox begintimeM = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_StartM") as TextBox; TextBox endtimeH = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_EndH") as TextBox; TextBox endtimeM = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_EndM") as TextBox; TextBox leavetime = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1) + "_LeaveTime") as TextBox; CheckBox used = FindControl("PanelSetting").FindControl("FormShortLeave").FindControl("ShortLeaveAdMode_Time" + (i + 1)) as CheckBox; DateTime begintime = new DateTime(); DateTime endtime = new DateTime(); if (!string.IsNullOrEmpty(begintimeH.Text) || !string.IsNullOrEmpty(begintimeM.Text) || !string.IsNullOrEmpty(endtimeH.Text) || !string.IsNullOrEmpty(endtimeM.Text) || !string.IsNullOrEmpty(leavetime.Text)) { if (!DateTime.TryParse(begintimeH.Text + ":" + begintimeM.Text, out begintime)) { FineUI.Alert.Show("暂离设置高级设置,时间设置错误!"); return; } if (!DateTime.TryParse(endtimeH.Text + ":" + endtimeM.Text, out endtime)) { FineUI.Alert.Show("暂离设置高级设置,时间设置错误!"); return; } SeatHoldTimeOption shto = new SeatHoldTimeOption(); shto.HoldTimeLength = int.Parse(leavetime.Text); shto.Used = used.Checked; shto.UsedTime.BeginTime = begintime.ToShortTimeString(); shto.UsedTime.EndTime = endtime.ToShortTimeString(); roomSet.SeatHoldTime.AdvancedSeatHoldTime.Add(shto); } } roomSet.AdminShortLeave.IsUsed = ShortLeaveByAdmin.Checked; roomSet.AdminShortLeave.HoldTimeLength = int.Parse(ShortLeaveByAdmin_LeaveTime.Text); //开闭馆计划设置 DateTime opentime = new DateTime(); DateTime closetime = new DateTime(); if (!DateTime.TryParse(ReadingRoomDufaultOpenTimeH.Text + ":" + ReadingRoomDufaultOpenTimeM.Text, out opentime)) { FineUI.Alert.Show("开闭馆计划设置,时间设置错误!"); return; } if (!DateTime.TryParse(ReadingRoomDufaultCloseTimeH.Text + ":" + ReadingRoomDufaultCloseTimeM.Text, out closetime)) { FineUI.Alert.Show("开闭馆计划设置,时间设置错误!"); return; } roomSet.RoomOpenSet.DefaultOpenTime.BeginTime = opentime.ToShortTimeString(); roomSet.RoomOpenSet.DefaultOpenTime.EndTime = closetime.ToShortTimeString(); roomSet.RoomOpenSet.OpenBeforeTimeLength = int.Parse(ReadingRoomBeforeOpenTime.Text); roomSet.RoomOpenSet.CloseBeforeTimeLength = int.Parse(ReadingRoomBeforeCloseTime.Text); roomSet.RoomOpenSet.UninterruptibleModel = ReadingRoomOpen24H.Checked; //高级设置 roomSet.RoomOpenSet.UsedAdvancedSet = ReadingRoomOpenCloseAdMode.Checked; //foreach (KeyValuePair<DayOfWeek, RoomOpenPlanSet> day in roomSet.RoomOpenSet.RoomOpenPlan) //{ roomSet.RoomOpenSet.RoomOpenPlan.Clear(); for (int dayNum = 0; dayNum < 7; dayNum++) { RoomOpenPlanSet rops = new RoomOpenPlanSet(); CheckBox DayCheck = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum) as CheckBox; rops.Used = DayCheck.Checked; rops.OpenTime.Clear(); for (int i = 0; i < 3; i++) { TextBox begintimeH = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_OpenH") as TextBox; TextBox begintimeM = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_OpenM") as TextBox; TextBox endtimeH = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_CloseH") as TextBox; TextBox endtimeM = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1) + "_CloseM") as TextBox; CheckBox used = FindControl("PanelSetting").FindControl("FormReadingRoomOC").FindControl("ReadingRoomAdOpenTime_Day" + dayNum + "_Time" + (i + 1)) as CheckBox; if (!string.IsNullOrEmpty(begintimeH.Text) || !string.IsNullOrEmpty(begintimeM.Text) || !string.IsNullOrEmpty(endtimeH.Text) || !string.IsNullOrEmpty(endtimeM.Text)) { DateTime begintime = new DateTime(); DateTime endtime = new DateTime(); if (!DateTime.TryParse(begintimeH.Text + ":" + begintimeM.Text, out begintime)) { FineUI.Alert.Show("开闭馆计划高级设置,时间设置错误!"); return; } if (!DateTime.TryParse(endtimeH.Text + ":" + endtimeM.Text, out endtime)) { FineUI.Alert.Show("开闭馆计划高级设置,时间设置错误!"); return; } TimeSpace ts = new TimeSpace(); ts.BeginTime = begintime.ToShortTimeString(); ts.EndTime = endtime.ToShortTimeString(); rops.OpenTime.Add(ts); } } roomSet.RoomOpenSet.RoomOpenPlan.Add(((DayOfWeek)dayNum), rops); } //在座时长设置 roomSet.SeatUsedTimeLimit.Used = SeatTime.Checked; roomSet.SeatUsedTimeLimit.Mode = SeatTime_Mode.SelectedValue; roomSet.SeatUsedTimeLimit.UsedTimeLength = int.Parse(SeatTime_SeatTime.Text); roomSet.SeatUsedTimeLimit.OverTimeHandle = (EnterOutLogType)int.Parse(SeatTime_OverTime_Mode.SelectedValue); roomSet.SeatUsedTimeLimit.IsCanContinuedTime = SeatTime_ContinueTime.Checked; roomSet.SeatUsedTimeLimit.DelayTimeLength = int.Parse(SeatTime_ContinueTime_Time.Text); roomSet.SeatUsedTimeLimit.ContinuedTimes = int.Parse(SeatTime_ContinueTime_ContinueCount.Text); roomSet.SeatUsedTimeLimit.CanDelayTime = int.Parse(SeatTime_ContinueTime_BeforeTime.Text); roomSet.SeatUsedTimeLimit.CanNotContinuedWithBookNetFixed = SeatTime_ContinueTime_WithBookSpan.Checked; roomSet.SeatUsedTimeLimit.FixedTimes.Clear(); for (int i = 0; i < 4; i++) { TextBox timeH = FindControl("PanelSetting").FindControl("SeatTimeSetting").FindControl("SeatTime_TimeH_" + i) as TextBox; TextBox timeM = FindControl("PanelSetting").FindControl("SeatTimeSetting").FindControl("SeatTime_TimeM_" + i) as TextBox; if (timeH.Text != "" && timeM.Text != "") { DateTime dt = new DateTime(); if (!DateTime.TryParse(timeH.Text + ":" + timeM.Text, out dt)) { FineUI.Alert.Show("在座时长设置,时间设置错误!"); return; } roomSet.SeatUsedTimeLimit.FixedTimes.Add(dt); } } if (roomSet.SeatUsedTimeLimit.Mode != "Free" && roomSet.SeatUsedTimeLimit.Used && roomSet.SeatUsedTimeLimit.FixedTimes.Count == 0) { FineUI.Alert.Show("在座时长设置,请设置限制时间!"); return; } //预约功能设置 roomSet.SeatBespeak.Used = SeatBook.Checked; roomSet.SeatBespeak.CanBookMultiSpan = cbMuiteSpan.Checked; roomSet.SeatBespeak.AllowDelayTime = ckbDelayTime.Checked; roomSet.SeatBespeak.AllowLeave = ckbLeave.Checked; roomSet.SeatBespeak.AllowShortLeave = ckbShortLeave.Checked; roomSet.SeatBespeak.NowDayBespeak = cbNowDayBook.Checked; roomSet.SeatBespeak.SeatKeepTime = int.Parse(NowDayBookTime.Text); roomSet.SeatBespeak.BespeakBeforeDays = int.Parse(SeatBook_BeforeBookDay.Text); DateTime beginbooktime = new DateTime(); DateTime endbooktime = new DateTime(); if (!DateTime.TryParse(SeatBook_BookTime_StartH.Text + ":" + SeatBook_BookTime_StartM.Text, out beginbooktime)) { FineUI.Alert.Show("预约设置,时间设置错误!"); return; } if (!DateTime.TryParse(SeatBook_BookTime_EndH.Text + ":" + SeatBook_BookTime_EndM.Text, out endbooktime)) { FineUI.Alert.Show("预约设置,时间设置错误!"); return; } roomSet.SeatBespeak.CanBespeatTimeSpace.BeginTime = beginbooktime.ToShortTimeString(); roomSet.SeatBespeak.CanBespeatTimeSpace.EndTime = endbooktime.ToShortTimeString(); roomSet.SeatBespeak.ConfirmTime.BeginTime = SeatBook_SubmitBeforeTime.Text; roomSet.SeatBespeak.ConfirmTime.EndTime = SeatBook_SubmitLateTime.Text; roomSet.SeatBespeak.SpecifiedBespeak = cbSpecifiedBook.Checked; roomSet.SeatBespeak.SelectBespeakSeat = SeatBook_SelectBespeakSeat.Checked; roomSet.SeatBespeak.SpecifiedTime = SeatBook_SpecifiedTime.Checked; roomSet.SeatBespeak.BespeatWithOnSeat = SeatBook_BespeakSeatOnSeat.Checked; roomSet.SeatBespeak.BespeakSeatCount = int.Parse(SeatBook_BespeakSeatCount.Text); roomSet.SeatBespeak.SpecifiedTimeList.Clear(); if (SeatBook_SpecifiedTimeList.Text != "") { string[] booktimes = SeatBook_SpecifiedTimeList.Text.Split(';'); foreach (string dt in booktimes) { DateTime t = new DateTime(); if (DateTime.TryParse(dt, out t)) { if (roomSet.SeatBespeak.SpecifiedTimeList.Count > 0 && t <= roomSet.SeatBespeak.SpecifiedTimeList[roomSet.SeatBespeak.SpecifiedTimeList.Count - 1]) { FineUI.Alert.Show("预约设置,指定时段设置错误!"); return; } roomSet.SeatBespeak.SpecifiedTimeList.Add(t); } } } if (roomSet.SeatBespeak.SpecifiedTimeList.Count < 1 && roomSet.SeatBespeak.SpecifiedTime) { FineUI.Alert.Show("预约设置,请设置指定的预约时间!"); return; } if (SeatBook_SeatBookRadioPercent.Checked) { roomSet.SeatBespeak.BespeakArea.BespeakType = BespeakAreaType.Percentage; } else if (SeatBook_SeatBookRadioSetted.Checked) { roomSet.SeatBespeak.BespeakArea.BespeakType = BespeakAreaType.AppointSeat; } roomSet.SeatBespeak.BespeakArea.Scale = double.Parse(SeatBook_SeatBookRadioPercent_Percent.Text) / 100; roomSet.SeatBespeak.NoBespeakDates.Clear(); if (!string.IsNullOrEmpty(SeatBook_CanNotSeatBookDate.Text)) { string[] cannotbookdate = SeatBook_CanNotSeatBookDate.Text.Split(';'); foreach (string date in cannotbookdate) { string[] datespan = date.Split('~'); DateTime begindate = new DateTime(); DateTime enddate = new DateTime(); if (datespan.Length > 1) { if (!DateTime.TryParse(datespan[0], out begindate)) { FineUI.Alert.Show("预约设置,不可预约时间设置错误!"); return; } if (!DateTime.TryParse(datespan[1], out enddate)) { FineUI.Alert.Show("预约设置,不可预约时间设置错误!"); return; } TimeSpace ts = new TimeSpace(); ts.BeginTime = begindate.Month.ToString() + "-" + begindate.Day.ToString(); ts.EndTime = enddate.Month.ToString() + "-" + enddate.Day.ToString(); roomSet.SeatBespeak.NoBespeakDates.Add(ts); } else { FineUI.Alert.Show("预约设置,不可预约时间设置错误!"); return; } } } //黑名单设置 roomSet.UsedBlacklistLimit = UseBlacklist.Checked; roomSet.IsRecordViolate = IsRecordViolate.Checked; roomSet.BlackListSetting.Used = UseBlacklistSetting.Checked; if (roomSet.BlackListSetting.Used) { roomSet.UsedBlacklistLimit = true; roomSet.IsRecordViolate = true; } roomSet.BlackListSetting.ViolateTimes = int.Parse(RecordViolateCount.Text); roomSet.BlackListSetting.LimitDays = int.Parse(LeaveBlackDays.Text); roomSet.BlackListSetting.ViolateFailDays = int.Parse(LeaveRecordViolateDays.Text); if (AutoLeave.Checked) { roomSet.BlackListSetting.LeaveBlacklist = LeaveBlacklistMode.AutomaticMode; } else { roomSet.BlackListSetting.LeaveBlacklist = LeaveBlacklistMode.ManuallyMode; } roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.BookingTimeOut] = RecordViolate_BookOverTime.Checked; roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.LeaveByAdmin] = RecordViolate_LeaveByAdmin.Checked; roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.SeatOutTime] = RecordViolate_SeatOverTime.Checked; roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.ShortLeaveByAdminOutTime] = RecordViolate_ShortLeaveByAdmin.Checked; roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.ShortLeaveByReaderOutTime] = RecordViolate_ShortLeaveByReader.Checked; roomSet.BlackListSetting.ViolateRoule[ViolationRecordsType.ShortLeaveOutTime] = RecordViolate_ShortLeaveOverTime.Checked; //其他设置 roomSet.SeatNumAmount = int.Parse(ShowSeatNumberCount.Text); roomSet.NoManagement.Used = NoManMode.Checked; roomSet.NoManagement.OperatingInterval = double.Parse(NoManMode_WaitTime.Text); roomSet.LimitReaderEnter.Used = ReaderLimit.Checked; if (ReaderLimit_LimitMode_Writelist.Checked) { roomSet.LimitReaderEnter.CanEnter = true; } else { roomSet.LimitReaderEnter.CanEnter = false; } roomSet.LimitReaderEnter.ReaderTypes = ""; foreach (ListItem type in ReaderLimit_ReaderMode.Items) { if (type.Selected) { if (!string.IsNullOrEmpty(roomSet.LimitReaderEnter.ReaderTypes)) { roomSet.LimitReaderEnter.ReaderTypes += ";"; } roomSet.LimitReaderEnter.ReaderTypes += type.Value; } } roomSet.LimitReaderEnter.ReaderTypes = roomSet.LimitReaderEnter.ReaderTypes.Replace("未指定", ""); room.Setting = roomSet; if (SeatManage.Bll.T_SM_ReadingRoom.UpdateReadingRoom(room)) { List <SeatManage.ClassModel.ReadingRoomInfo> rooms = SeatManage.Bll.T_SM_ReadingRoom.GetReadingRooms(null, null, null); foreach (ListItem li in SameRoomSet.Items) { if (li.Selected) { foreach (SeatManage.ClassModel.ReadingRoomInfo roominfo in rooms) { if (roominfo.No == li.Value) { roominfo.Setting = roomSet; if (!SeatManage.Bll.T_SM_ReadingRoom.UpdateReadingRoom(roominfo)) { FineUI.Alert.Show("保存失败!"); return; } } } } } FineUI.PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); FineUI.Alert.ShowInTop("保存成功!"); } else { FineUI.Alert.Show("保存失败!"); } }
public JsonResult ShortLeave(string seatNo, string seatShortNo, string used, string isShortLeave) { JsonResult ret = null; SeatManage.ClassModel.EnterOutLogInfo enterOutLog = SeatManage.Bll.T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo); SeatManage.ClassModel.ReadingRoomInfo roomInfo = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(enterOutLog.ReadingRoomNo); if (isShortLeave == "y") { enterOutLog.EnterOutState = SeatManage.EnumType.EnterOutLogType.ShortLeave; enterOutLog.Flag = SeatManage.EnumType.Operation.Admin; enterOutLog.Remark = string.Format("在{0},{1}号座位,被管理员{2},在后台管理网站设置为暂离", roomInfo.Name, enterOutLog.ShortSeatNo, this.LoginId); int newId = -1; SeatManage.EnumType.HandleResult result = SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLog, 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); } } else { enterOutLog.EnterOutState = SeatManage.EnumType.EnterOutLogType.ComeBack; enterOutLog.Flag = SeatManage.EnumType.Operation.Admin; enterOutLog.Remark = string.Format("在{0},{1}号座位,被管理员{2},在后台管理网站设置为在座", roomInfo.Name, enterOutLog.ShortSeatNo, this.LoginId); int newId = -1; SeatManage.EnumType.HandleResult result = SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId); if (result == SeatManage.EnumType.HandleResult.Successed) { List <SeatManage.ClassModel.WaitSeatLogInfo> waitSeatLogs = SeatManage.Bll.T_SM_SeatWaiting.GetWaitSeatList("", enterOutLog.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)) { ret = Json(new { status = "yes", message = "取消读者暂离成功" }, JsonRequestBehavior.AllowGet); } else { ret = Json(new { status = "yes", message = "取消读者暂离成功,取消等待失败" }, JsonRequestBehavior.AllowGet); } } else { 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> /// 绑定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; }
protected void Page_Load(object sender, EventArgs e) { if (Session["LoginId"] == null) { Response.Redirect("../Login.aspx"); } if (!IsPostBack) { BindReadingRoomList(Session[CookiesManager.LoginID].ToString()); GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value); } cmd = Request.Form["subCmd"]; if (cmd != null) { #region 座位相关操作 switch (cmd) { case "search": //查询座位 try { GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value); } catch { } break; case "ShortLeave": //设置暂离 try { string seatStr = hidSeatNo.Value; string[] noArr = seatStr.Split(','); string seatNo = ""; for (int i = 0; i < noArr.Length; i++) { seatNo = noArr[i].Trim(); SeatManage.ClassModel.EnterOutLogInfo enterOutLog = SeatManage.Bll.T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo); if (enterOutLog != null && enterOutLog.EnterOutState != SeatManage.EnumType.EnterOutLogType.ShortLeave) { SeatManage.ClassModel.ReadingRoomInfo roomInfo = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(enterOutLog.ReadingRoomNo); enterOutLog.EnterOutState = SeatManage.EnumType.EnterOutLogType.ShortLeave; enterOutLog.Flag = SeatManage.EnumType.Operation.Admin; enterOutLog.Remark = string.Format("在{0},{1}号座位,被管理员{2},通过手持设备设置为暂离", roomInfo.Name, enterOutLog.ShortSeatNo, Session["LoginID"].ToString()); int newId = -1; SeatManage.EnumType.HandleResult result = SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId); if (result == SeatManage.EnumType.HandleResult.Successed) { Page.RegisterStartupScript("", "<script>alert('设置读者暂离成功');</script>"); GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value); } else { Page.RegisterStartupScript("", "<script>alert('设置读者暂离失败');</script>"); } } } } catch { } break; case "ReleaseShortLeave": //取消暂离 try { string seatStr = hidSeatNo.Value; string[] noArr = seatStr.Split(','); string seatNo = ""; for (int i = 0; i < noArr.Length; i++) { seatNo = noArr[i].Trim(); SeatManage.ClassModel.EnterOutLogInfo enterOutLog = SeatManage.Bll.T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo); if (enterOutLog != null && enterOutLog.EnterOutState == SeatManage.EnumType.EnterOutLogType.ShortLeave) { SeatManage.ClassModel.ReadingRoomInfo roomInfo = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(enterOutLog.ReadingRoomNo); enterOutLog.EnterOutState = SeatManage.EnumType.EnterOutLogType.ComeBack; enterOutLog.Flag = SeatManage.EnumType.Operation.Admin; enterOutLog.Remark = string.Format("在{0},{1}号座位,被管理员{2},通过手持设备取消暂离,恢复为在座", roomInfo.Name, enterOutLog.ShortSeatNo, Session["LoginID"].ToString()); int newId = -1; SeatManage.EnumType.HandleResult result = SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId); if (result == SeatManage.EnumType.HandleResult.Successed) { List <SeatManage.ClassModel.WaitSeatLogInfo> waitSeatLogs = SeatManage.Bll.T_SM_SeatWaiting.GetWaitSeatList("", enterOutLog.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)) { Page.RegisterStartupScript("", "<script>alert('取消读者暂离成功');</script>"); GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value); } else { Page.RegisterStartupScript("", "<script>alert('取消读者暂离成功,取消读者等待失败');</script>"); GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value); } } else { Page.RegisterStartupScript("", "<script>alert('取消读者暂离成功');</script>"); GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value); } } else { Page.RegisterStartupScript("", "<script>alert('取消读者暂离失败');</script>"); } } } } catch { } break; case "Release": //释放座位 try { string seatStr = hidSeatNo.Value; string[] noArr = seatStr.Split(','); string seatNo = ""; for (int i = 0; i < noArr.Length; i++) { seatNo = noArr[i].Trim(); SeatManage.ClassModel.EnterOutLogInfo enterOutLog = SeatManage.Bll.T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo); if (enterOutLog != null && enterOutLog.EnterOutState != SeatManage.EnumType.EnterOutLogType.Leave) { SeatManage.ClassModel.ReadingRoomInfo roomInfo = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(enterOutLog.ReadingRoomNo); enterOutLog.EnterOutState = SeatManage.EnumType.EnterOutLogType.Leave; enterOutLog.Flag = SeatManage.EnumType.Operation.Admin; enterOutLog.Remark = string.Format("在{0},{1}号座位,被管理员{2},通过手持设备设置离开", roomInfo.Name, enterOutLog.ShortSeatNo, Session["LoginID"].ToString()); int newId = -1; SeatManage.EnumType.HandleResult result = SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId); if (result == SeatManage.EnumType.HandleResult.Successed) { SeatManage.ClassModel.RegulationRulesSetting rulesSet = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting(); if (roomInfo.Setting.IsRecordViolate) { if (roomInfo.Setting.BlackListSetting.Used) { if (roomInfo.Setting.BlackListSetting.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.LeaveByAdmin]) { SeatManage.ClassModel.ViolationRecordsLogInfo violationRecords = new SeatManage.ClassModel.ViolationRecordsLogInfo(); violationRecords.CardNo = enterOutLog.CardNo; violationRecords.SeatID = enterOutLog.SeatNo.Substring(enterOutLog.SeatNo.Length - roomInfo.Setting.SeatNumAmount, roomInfo.Setting.SeatNumAmount); violationRecords.ReadingRoomID = enterOutLog.ReadingRoomNo; violationRecords.EnterOutTime = SeatManage.Bll.ServiceDateTime.Now.ToString(); violationRecords.EnterFlag = SeatManage.EnumType.ViolationRecordsType.LeaveByAdmin; violationRecords.Remark = string.Format("在{0},{1}号座位,被管理员{2},通过手持设备设置离开", roomInfo.Name, enterOutLog.ShortSeatNo, Session["LoginID"].ToString()); violationRecords.BlacklistID = "-1"; SeatManage.Bll.T_SM_ViolateDiscipline.AddViolationRecords(violationRecords); } } else if (rulesSet.BlacklistSet.Used && rulesSet.BlacklistSet.ViolateRoule[SeatManage.EnumType.ViolationRecordsType.LeaveByAdmin]) { SeatManage.ClassModel.ViolationRecordsLogInfo violationRecords = new SeatManage.ClassModel.ViolationRecordsLogInfo(); violationRecords.CardNo = enterOutLog.CardNo; violationRecords.SeatID = enterOutLog.SeatNo.Substring(enterOutLog.SeatNo.Length - roomInfo.Setting.SeatNumAmount, roomInfo.Setting.SeatNumAmount); violationRecords.ReadingRoomID = enterOutLog.ReadingRoomNo; violationRecords.EnterOutTime = SeatManage.Bll.ServiceDateTime.Now.ToString(); violationRecords.EnterFlag = SeatManage.EnumType.ViolationRecordsType.LeaveByAdmin; violationRecords.Remark = string.Format("在{0},{1}号座位,被管理员{2},通过手持设备设置离开", roomInfo.Name, enterOutLog.ShortSeatNo, Session["LoginID"].ToString()); violationRecords.BlacklistID = "-1"; SeatManage.Bll.T_SM_ViolateDiscipline.AddViolationRecords(violationRecords); } } Page.RegisterStartupScript("", "<script>alert('设置读者离开成功');</script>"); GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value); } else { Page.RegisterStartupScript("", "<script>alert('设置读者离开失败');</script>"); } } } } catch { } break; case "onTime": //计时 try { string seatStr = hidSeatNo.Value; string[] noArr = seatStr.Split(','); string seatNo = ""; for (int i = 0; i < noArr.Length; i++) { seatNo = noArr[i].Trim(); SeatManage.ClassModel.EnterOutLogInfo enterOutLog = SeatManage.Bll.T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo); if (enterOutLog != null && enterOutLog.EnterOutState != SeatManage.EnumType.EnterOutLogType.ShortLeave) { DateTime markTime = SeatManage.Bll.ServiceDateTime.Now; SeatManage.Bll.EnterOutOperate.UpdateMarkTime(enterOutLog.EnterOutLogID, markTime); GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value); } } } catch { } break; case "offTime": //取消计时 try { string seatStr = hidSeatNo.Value; string[] noArr = seatStr.Split(','); string seatNo = ""; for (int i = 0; i < noArr.Length; i++) { seatNo = noArr[i].Trim(); SeatManage.ClassModel.EnterOutLogInfo enterOutLog = SeatManage.Bll.T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo); if (enterOutLog != null && !string.IsNullOrEmpty(enterOutLog.MarkTime.ToString()) && enterOutLog.MarkTime.CompareTo(DateTime.Parse("1900/1/1")) != 0) { DateTime markTime = DateTime.Parse("1900-1-1"); SeatManage.Bll.EnterOutOperate.UpdateMarkTime(enterOutLog.EnterOutLogID, markTime); GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value); } } } catch { } break; case "AddBlacklist": try { string seatStr = hidSeatNo.Value; string[] noArr = seatStr.Split(','); string seatNo = ""; int newId = -1; SeatManage.ClassModel.RegulationRulesSetting rulesSet = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting(); for (int i = 0; i < noArr.Length; i++) { newId = -1; seatNo = noArr[i].Trim(); SeatManage.ClassModel.EnterOutLogInfo enterOutLog = SeatManage.Bll.T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(seatNo); if (enterOutLog != null && enterOutLog.EnterOutState != SeatManage.EnumType.EnterOutLogType.Leave) { SeatManage.ClassModel.ReadingRoomInfo roomInfo = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(enterOutLog.ReadingRoomNo); if (roomInfo != null && roomInfo.Setting.BlackListSetting.Used) { SeatManage.ClassModel.BlackListInfo blacklistModel = new SeatManage.ClassModel.BlackListInfo(); blacklistModel.AddTime = SeatManage.Bll.ServiceDateTime.Now; blacklistModel.ReadingRoomID = roomInfo.No; blacklistModel.BlacklistState = SeatManage.EnumType.LogStatus.Valid; blacklistModel.CardNo = enterOutLog.CardNo; blacklistModel.OutBlacklistMode = roomInfo.Setting.BlackListSetting.LeaveBlacklist; if (blacklistModel.OutBlacklistMode == SeatManage.EnumType.LeaveBlacklistMode.AutomaticMode) { blacklistModel.ReMark = string.Format("管理员{0}通过手持设备{0}把读者加入黑名单,记录黑名单{1}天", Session["LoginID"].ToString(), roomInfo.Setting.BlackListSetting.LimitDays); blacklistModel.OutTime = blacklistModel.AddTime.AddDays(roomInfo.Setting.BlackListSetting.LimitDays); } else { blacklistModel.ReMark = string.Format("管理员{0}通过手持设备把读者加入黑名单,手动离开黑名单", Session["LoginID"].ToString()); } blacklistModel.ReadingRoomID = roomInfo.No; newId = SeatManage.Bll.T_SM_Blacklist.AddBlackList(blacklistModel); } else if (rulesSet.BlacklistSet.Used) { SeatManage.ClassModel.BlackListInfo blacklistModel = new SeatManage.ClassModel.BlackListInfo(); blacklistModel.AddTime = SeatManage.Bll.ServiceDateTime.Now; blacklistModel.OutTime = blacklistModel.AddTime.AddDays(rulesSet.BlacklistSet.LimitDays); blacklistModel.BlacklistState = SeatManage.EnumType.LogStatus.Valid; blacklistModel.CardNo = enterOutLog.CardNo; blacklistModel.OutBlacklistMode = rulesSet.BlacklistSet.LeaveBlacklist; if (blacklistModel.OutBlacklistMode == SeatManage.EnumType.LeaveBlacklistMode.AutomaticMode) { blacklistModel.ReMark = string.Format("管理员{0}通过手持设备把读者加入黑名单,记录黑名单{1}天", Session["LoginID"].ToString(), rulesSet.BlacklistSet.LimitDays); blacklistModel.OutTime = blacklistModel.AddTime.AddDays(rulesSet.BlacklistSet.LimitDays); } else { blacklistModel.ReMark = string.Format("管理员{0}通过手持设备把读者加入黑名单,手动离开黑名单", Session["LoginID"].ToString()); } blacklistModel.ReadingRoomID = roomInfo.No; newId = SeatManage.Bll.T_SM_Blacklist.AddBlackList(blacklistModel); } else { Page.RegisterStartupScript("", "<script>alert('对不起,此阅览室以及图书馆没有启用黑名单功能');</script>"); return; } if (newId > 0) { enterOutLog.EnterOutState = SeatManage.EnumType.EnterOutLogType.Leave; enterOutLog.Flag = SeatManage.EnumType.Operation.Admin; enterOutLog.Remark = string.Format("在{0},{1}号座位,被管理员{2},通过手持设备设置离开", roomInfo.Name, enterOutLog.ShortSeatNo, Session["LoginID"].ToString()); SeatManage.EnumType.HandleResult result = SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId); if (result == SeatManage.EnumType.HandleResult.Successed) { Page.RegisterStartupScript("", "<script>alert('设置读者黑名单成功');</script>"); GetSeatList(selectReadingRomm.Items[selectReadingRomm.SelectedIndex].Value, selectSeatState.Items[selectSeatState.SelectedIndex].Value); } else { Page.RegisterStartupScript("", "<script>alert('设置读者黑名单失败');</script>"); } } else { } } } } catch { } break; case "LoginOut": HttpCookie aCookie; string cookieName; int limit = Request.Cookies.Count; for (int i = 0; i < limit; i++) { cookieName = Request.Cookies[i].Name; aCookie = new HttpCookie(cookieName); aCookie.Expires = DateTime.Now.AddDays(-1); Response.Cookies.Add(aCookie); } Response.Redirect("../Login.aspx"); break; } #endregion } }
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="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)); } }
public JsonResult SaveNewBlack() { JsonResult result = null; SeatManage.ClassModel.RegulationRulesSetting regulationRulesSetting = SeatManage.Bll.T_SM_SystemSet.GetRegulationRulesSetting(); string CardNo = Request.Params["txtNum"].Trim(); string Remark = Request.Params["txtRemark"].Trim(); //txtRemark.Text; string ReadingRoomNo = Request.Params["selectRooms"].ToString(); //ddlroom.SelectedValue; SeatManage.ClassModel.ReadingRoomInfo room = SeatManage.Bll.T_SM_ReadingRoom.GetSingleRoomInfo(ReadingRoomNo); SeatManage.ClassModel.BlackListInfo bli = new SeatManage.ClassModel.BlackListInfo(); bli.CardNo = CardNo; bli.AddTime = SeatManage.Bll.ServiceDateTime.Now; if (Request.Params["ddlleaveMode"] == "0") //(ddlleaveMode.SelectedValue == "0") { if (DateTime.Parse(Request.Params["dpEndDate"]) < bli.AddTime.Date) { result = Json(new { status = "no", message = "请输入不小于今天的日期" }, JsonRequestBehavior.AllowGet); //FineUI.Alert.Show("请输入不小于今天的日期!"); return(result); } bli.OutTime = DateTime.Parse(Request.Params["dpEndDate"] + " 23:59:59"); } bli.OutBlacklistMode = (SeatManage.EnumType.LeaveBlacklistMode) int.Parse(Request.Params["ddlleaveMode"]); if (bli.OutBlacklistMode == SeatManage.EnumType.LeaveBlacklistMode.ManuallyMode) { bli.ReMark = string.Format("被管理员{0}加入手动加入黑名单,管理员手动移除黑名单,备注:{1}", this.LoginId, Remark); } else { bli.ReMark = string.Format("被管理员{0}加入手动加入黑名单,记录黑名单{1}天,备注:{2}", this.LoginId, (bli.OutTime - bli.AddTime).Days, Remark); } bli.ReadingRoomID = ReadingRoomNo; int blackId = 0; bool cbIsAllRR = Request.Params["cbIsAllRR"] == null ? false : true; if (cbIsAllRR) { int roomCount = 0; List <SeatManage.ClassModel.ReadingRoomInfo> roomlist = SeatManage.Bll.ClientConfigOperate.GetReadingRooms(null); foreach (SeatManage.ClassModel.ReadingRoomInfo roominfo in roomlist) { if (roominfo.Setting.BlackListSetting.Used) { bli.ReadingRoomID = roominfo.No; if (!(SeatManage.Bll.T_SM_Blacklist.AddBlackList(bli) > 0)) { result = Json(new { status = "no", message = "添加失败" }, JsonRequestBehavior.AllowGet); // FineUI.Alert.Show("添加失败!"); // return; } else { roomCount++; } } } if (roomCount == 0) { blackId = SeatManage.Bll.T_SM_Blacklist.AddBlackList(bli); } result = Json(new { status = "yes", message = "添加成功" }, JsonRequestBehavior.AllowGet); //PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); //FineUI.Alert.Show("添加成功!"); } else { blackId = SeatManage.Bll.T_SM_Blacklist.AddBlackList(bli); if (blackId > 0) { result = Json(new { status = "yes", message = "添加成功" }, JsonRequestBehavior.AllowGet); // PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); // FineUI.Alert.Show("添加成功!"); } else { result = Json(new { status = "no", message = "添加失败" }, JsonRequestBehavior.AllowGet); //FineUI.Alert.Show("添加失败!"); } } return(result); }