public string GetBlacklist(string CardNo) { if (!Verifylicensing()) { return("非法操作,此接口未进行授权!"); } //SeatManage.SeatManageComm.WriteLog.Write("传入卡号:" + CardNo); StringBuilder message = new StringBuilder(); string ReaderNo = CardNo; string ReaderName = ""; string Error = ""; message.Append("<ReaderInfo>"); message.Append("<ReaderNo>{0}</ReaderNo>"); message.Append("<ReaderName>{1}</ReaderName>"); message.Append("<Error>{2}</Error>"); message.Append("</ReaderInfo>"); try { if (string.IsNullOrEmpty(CardNo)) { throw new Exception("输入的学号为空!"); } SeatManage.ClassModel.AccessSetting accset = SeatManage.Bll.T_SM_SystemSet.GetAccessSetting(); if (accset == null) { throw new Exception("获取通道机设置失败!"); } SeatManage.ClassModel.ReaderInfo reader = SeatManage.Bll.EnterOutOperate.GetReaderInfo(CardNo); if (reader == null) { throw new Exception("获取不到此学生的信息!"); } ReaderNo = reader.CardNo; ReaderName = reader.Name; if (reader.BlacklistLog.Count > 0 && accset.IsLimitBlackList) { foreach (SeatManage.ClassModel.BlackListInfo blinfo in reader.BlacklistLog) { message.Append("<BlistlistInfo>"); message.AppendFormat("<ReadingRoomNo>{0}</ReadingRoomNo>", blinfo.ReadingRoomID); message.AppendFormat("<ReadingRoomName>{0}</ReadingRoomName>", blinfo.ReadingRoomName); message.AppendFormat("<AddTime>{0}</AddTime>", blinfo.AddTime.ToString()); message.AppendFormat("<OutTime>{0}</OutTime>", blinfo.OutTime.ToString()); message.AppendFormat("<Remark>{0}</Remark>", blinfo.ReMark); message.Append("</BlistlistInfo>"); } } } catch (Exception e) { Error = e.Message; } return(string.Format(message.ToString(), ReaderNo, ReaderName, Error)); }
protected void btnDelayTime_OnClick(object sender, EventArgs e) { SeatManage.ClassModel.ReaderInfo reader = EnterOutOperate.GetReaderInfo(this.LoginId); reader.EnterOutLog.Remark = "通过预约网站延长座位使用时间"; reader.EnterOutLog.EnterOutState = EnterOutLogType.ContinuedTime; string result = EnterOutOperate.DelaySeatUsedTime(reader); if (!string.IsNullOrEmpty(result)) { lblMsg.Text = result; } else { lblMsg.Text = "操作成功"; } }
/// <summary> /// 更新一条数据 /// </summary> public bool UpdateByCardId(SeatManage.ClassModel.ReaderInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update T_SM_Reader set "); strSql.Append("CardNo=@CardNo,"); strSql.Append("ReaderName=@ReaderName,"); strSql.Append("Sex=@Sex,"); strSql.Append("ReaderTypeName=@ReaderTypeName,"); strSql.Append("ReaderDeptName=@ReaderDeptName,"); strSql.Append("ReaderProName=@ReaderProName,"); strSql.Append("Flag=@Flag"); strSql.Append(" where CardId=@CardId "); SqlParameter[] parameters = { new SqlParameter("@CardNo", SqlDbType.NVarChar, 20), new SqlParameter("@ReaderName", SqlDbType.NVarChar, 30), new SqlParameter("@Sex", SqlDbType.NVarChar, 1), new SqlParameter("@ReaderTypeName", SqlDbType.NVarChar, 30), new SqlParameter("@ReaderDeptName", SqlDbType.NVarChar, 30), new SqlParameter("@ReaderProName", SqlDbType.NVarChar, 30), new SqlParameter("@Flag", SqlDbType.NVarChar, 10), new SqlParameter("@CardID", SqlDbType.NVarChar, 20) }; parameters[0].Value = model.CardNo; parameters[1].Value = model.Name; parameters[2].Value = model.Sex; parameters[3].Value = model.ReaderType; parameters[4].Value = model.Dept; parameters[5].Value = model.Pro; parameters[6].Value = model.Flag; parameters[7].Value = model.CardID; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
protected void btnLeave_OnClick(object sender, EventArgs e) { try { SeatManage.ClassModel.ReaderInfo reader = EnterOutOperate.GetReaderInfo(this.LoginId); int newLogId = -1; reader.EnterOutLog.EnterOutState = EnterOutLogType.Leave; reader.EnterOutLog.Flag = Operation.Reader; reader.EnterOutLog.Remark = "通过预约网站释放座位"; HandleResult reault = EnterOutOperate.AddEnterOutLog(reader.EnterOutLog, ref newLogId); if (reault == HandleResult.Successed) { lblMsg.Text = "操作成功"; DateBind(); } } catch (Exception ex) { lblMsg.Text = "未知错误,操作失败"; } }
/// <summary> /// 增加一条数据 /// </summary> public bool Add(SeatManage.ClassModel.ReaderInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into T_SM_Reader("); strSql.Append("CardNo,CardID,ReaderName,Sex,ReaderTypeName,ReaderDeptName,ReaderProName,Flag)"); strSql.Append(" values ("); strSql.Append("@CardNo,@CardID,@ReaderName,@Sex,@ReaderTypeName,@ReaderDeptName,@ReaderProName,@Flag)"); SqlParameter[] parameters = { new SqlParameter("@CardNo", SqlDbType.NVarChar, 20), new SqlParameter("@CardID", SqlDbType.NVarChar, 20), new SqlParameter("@ReaderName", SqlDbType.NVarChar, 30), new SqlParameter("@Sex", SqlDbType.NVarChar, 1), new SqlParameter("@ReaderTypeName", SqlDbType.NVarChar, 300), new SqlParameter("@ReaderDeptName", SqlDbType.NVarChar, 300), new SqlParameter("@ReaderProName", SqlDbType.NVarChar, 300), new SqlParameter("@Flag", SqlDbType.NVarChar, 10) }; parameters[0].Value = model.CardNo; parameters[1].Value = model.CardID; parameters[2].Value = model.Name; parameters[3].Value = model.Sex; parameters[4].Value = model.ReaderType; parameters[5].Value = model.Dept; parameters[6].Value = model.Pro; parameters[7].Value = model.Flag; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
private void DateBind() { SeatManage.ClassModel.ReaderInfo reader = EnterOutOperate.GetReaderInfo(this.LoginId); if (reader.AtReadingRoom == null) { lblSeatInfo.Text = "无"; btnDelayTime.Enabled = false; btnLeave.Enabled = false; btnShortLeave.Enabled = false; return; } SeatManage.ClassModel.ReadingRoomSetting roomSet = reader.AtReadingRoom.Setting; if (roomSet.SeatUsedTimeLimit.Used && roomSet.SeatUsedTimeLimit.IsCanContinuedTime) { btnDelayTime.Enabled = roomSet.SeatBespeak.AllowDelayTime; } else { btnDelayTime.Enabled = false; } btnLeave.Enabled = roomSet.SeatBespeak.AllowLeave; btnShortLeave.Enabled = roomSet.SeatBespeak.AllowShortLeave; if (reader.EnterOutLog != null && reader.EnterOutLog.EnterOutState != EnterOutLogType.Leave) { switch (reader.EnterOutLog.EnterOutState) { case EnterOutLogType.ShortLeave: lblSeatInfo.Text = string.Format("{0} {1}", reader.EnterOutLog.ReadingRoomName, reader.EnterOutLog.ShortSeatNo); lblState.Text = "暂离"; lblHoldTime.Text = reader.EnterOutLog.EnterOutTime.ToString(); btnShortLeave.Enabled = false; btnDelayTime.Enabled = false; break; case EnterOutLogType.BookingConfirmation: case EnterOutLogType.SelectSeat: case EnterOutLogType.ContinuedTime: case EnterOutLogType.ComeBack: case EnterOutLogType.ReselectSeat: case EnterOutLogType.WaitingSuccess: lblSeatInfo.Text = string.Format("{0} {1}", reader.EnterOutLog.ReadingRoomName, reader.EnterOutLog.ShortSeatNo); lblState.Text = "在座"; lblHoldTime.Text = reader.EnterOutLog.EnterOutTime.ToString(); break; default: btnDelayTime.Enabled = false; btnLeave.Enabled = false; btnShortLeave.Enabled = false; break; } } else { lblSeatInfo.Text = "无"; btnDelayTime.Enabled = false; btnLeave.Enabled = false; btnShortLeave.Enabled = false; } }
public string StuState(string StuNo) { if (!Verifylicensing()) { return("非法操作,此接口未进行授权!"); } string result = ""; SeatManage.Bll.T_SM_Reader reader = new SeatManage.Bll.T_SM_Reader(); SeatManage.ClassModel.ReaderInfo readerModel = new SeatManage.ClassModel.ReaderInfo(); readerModel = reader.GetReader(StuNo); string state = ""; string seatNo = ""; string readingRoomName = ""; if (!string.IsNullOrEmpty(readerModel.CardNo)) { if (readerModel.EnterOutLog != null) { switch (readerModel.EnterOutLog.EnterOutState) { case SeatManage.EnumType.EnterOutLogType.ComeBack: case SeatManage.EnumType.EnterOutLogType.ContinuedTime: case SeatManage.EnumType.EnterOutLogType.ReselectSeat: case SeatManage.EnumType.EnterOutLogType.SelectSeat: case SeatManage.EnumType.EnterOutLogType.WaitingCancel: case SeatManage.EnumType.EnterOutLogType.WaitingSuccess: case SeatManage.EnumType.EnterOutLogType.BookingConfirmation: state = "在座"; seatNo = readerModel.EnterOutLog.SeatNo; string rrId = readerModel.EnterOutLog.ReadingRoomNo; readingRoomName = readerModel.EnterOutLog.ReadingRoomName; break; case SeatManage.EnumType.EnterOutLogType.Leave: case SeatManage.EnumType.EnterOutLogType.None: case SeatManage.EnumType.EnterOutLogType.BookingCancel: state = "无座"; break; case SeatManage.EnumType.EnterOutLogType.ShortLeave: state = "暂离"; seatNo = readerModel.EnterOutLog.SeatNo; readingRoomName = readerModel.EnterOutLog.ReadingRoomName; break; case SeatManage.EnumType.EnterOutLogType.Waiting: state = "等待座位"; seatNo = readerModel.EnterOutLog.SeatNo; readingRoomName = readerModel.EnterOutLog.ReadingRoomName; break; case SeatManage.EnumType.EnterOutLogType.BespeakWaiting: state = "存在未确认预约座位"; seatNo = readerModel.EnterOutLog.SeatNo; readingRoomName = readerModel.EnterOutLog.ReadingRoomName; break; } } result = string.Format("<ReaderInfo><Reader Name='{0}' CardNo='{1}' RoomName='{2}' SeatNo='{3}' Status='{4}'></Reader></ReaderInfo>", readerModel.Name, readerModel.CardNo, readingRoomName, seatNo, state); } else { result = "<ReaderInfo><Reader Name='' CardNo='' RoomName='' SeatNo='' Status=''></Reader></ReaderInfo>"; } return(result); }
public string EnterLib(string CardNo) { string[] strs = CardNo.Split(','); CardNo = strs[0]; if (!Verifylicensing()) { return("非法操作,此接口未进行授权!"); } //SeatManage.SeatManageComm.WriteLog.Write("传入卡号:" + strs[0]); //SeatManage.SeatManageComm.WriteLog.Write("传入图书馆号:" + strs[1]); StringBuilder message = new StringBuilder(); string ReaderNo = CardNo; string ReaderName = ""; string NowStatus = ""; string BeforeStatus = ""; string Error = ""; message.Append("<ReaderInfo>"); message.Append("<ReaderNo>{0}</ReaderNo>"); message.Append("<ReaderName>{1}</ReaderName>"); message.Append("<NowStatus>{2}</NowStatus>"); message.Append("<BeforeStatus>{3}</BeforeStatus>"); message.Append("<Error>{4}</Error>"); message.Append("</ReaderInfo>"); try { if (string.IsNullOrEmpty(CardNo)) { throw new Exception("输入的学号为空!"); } SeatManage.ClassModel.AccessSetting accset = SeatManage.Bll.T_SM_SystemSet.GetAccessSetting(); if (accset == null) { throw new Exception("获取通道机设置失败!"); } SeatManage.ClassModel.ReaderInfo reader = SeatManage.Bll.EnterOutOperate.GetReaderInfo(CardNo); if (reader == null) { throw new Exception("获取不到此学生的信息!"); } if (strs.Length > 1 && reader.AtReadingRoom != null && strs[1] != "00" && reader.AtReadingRoom.Libaray.No != strs[1]) { throw new Exception("学生在此图书馆未选座位!"); } ReaderNo = reader.CardNo; ReaderName = reader.Name; if (reader.EnterOutLog == null) { NowStatus = ((int)SeatManage.EnumType.EnterOutLogType.Leave).ToString(); BeforeStatus = ((int)SeatManage.EnumType.EnterOutLogType.Leave).ToString(); } else { NowStatus = ((int)reader.EnterOutLog.EnterOutState).ToString(); BeforeStatus = ((int)reader.EnterOutLog.EnterOutState).ToString(); } if (accset.IsUsed && accset.EnterLib) { if (reader.EnterOutLog != null && reader.EnterOutLog.EnterOutState != SeatManage.EnumType.EnterOutLogType.Leave) { switch (reader.EnterOutLog.EnterOutState) { case SeatManage.EnumType.EnterOutLogType.BookingConfirmation: case SeatManage.EnumType.EnterOutLogType.ComeBack: case SeatManage.EnumType.EnterOutLogType.ContinuedTime: case SeatManage.EnumType.EnterOutLogType.ReselectSeat: case SeatManage.EnumType.EnterOutLogType.SelectSeat: case SeatManage.EnumType.EnterOutLogType.WaitingSuccess: if (accset.IsReleaseOnSeat && reader.EnterOutLog.EnterOutTime.AddMinutes(accset.LeaveTimeSpan) < SeatManage.Bll.ServiceDateTime.Now) { SeatManage.ClassModel.EnterOutLogInfo enterOutLog = reader.EnterOutLog; enterOutLog.EnterOutState = SeatManage.EnumType.EnterOutLogType.Leave; enterOutLog.TerminalNum = ""; enterOutLog.Remark = string.Format("读者离开图书馆未刷卡,再次通过通道机进入,系统自动释放{0} {1}号座位", reader.AtReadingRoom.Name, enterOutLog.ShortSeatNo); enterOutLog.EnterOutTime = SeatManage.Bll.ServiceDateTime.Now; enterOutLog.Flag = SeatManage.EnumType.Operation.Service; int newId = 0; if (SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId) == SeatManage.EnumType.HandleResult.Failed) { throw new Exception("更新进出记录失败!"); } NowStatus = ((int)SeatManage.EnumType.EnterOutLogType.Leave).ToString(); if (accset.AddViolationRecords) { SeatManage.ClassModel.ViolationRecordsLogInfo vrInfo = new SeatManage.ClassModel.ViolationRecordsLogInfo(); vrInfo.CardNo = enterOutLog.CardNo; vrInfo.EnterFlag = SeatManage.EnumType.ViolationRecordsType.LeaveNotReadCard; vrInfo.EnterOutTime = enterOutLog.EnterOutTime.ToString(); vrInfo.Flag = SeatManage.EnumType.LogStatus.Valid; vrInfo.ReadingRoomID = enterOutLog.ReadingRoomNo; vrInfo.SeatID = enterOutLog.SeatNo; vrInfo.Remark = string.Format("读者{0}离开图书馆未刷卡,再次通过通道机,记录违规", ReaderNo); if (!SeatManage.Bll.T_SM_ViolateDiscipline.AddViolationRecords(vrInfo)) { throw new Exception("添加违规记录失败!"); } } } break; case SeatManage.EnumType.EnterOutLogType.ShortLeave: if (accset.IsComeBack) { DateTime NowTime = SeatManage.Bll.ServiceDateTime.Now; SeatManage.ClassModel.EnterOutLogInfo enterOutLog = reader.EnterOutLog; System.TimeSpan shortleavetimelong = NowTime - enterOutLog.EnterOutTime; enterOutLog.EnterOutState = SeatManage.EnumType.EnterOutLogType.ComeBack; enterOutLog.TerminalNum = ""; enterOutLog.Remark = string.Format("在通道机刷卡暂离回来,暂离时长{0}分钟,继续使用{1} {2}号座位", shortleavetimelong.TotalMinutes.ToString().Split('.')[0], enterOutLog.ReadingRoomName, enterOutLog.ShortSeatNo); enterOutLog.EnterOutTime = NowTime; enterOutLog.Flag = SeatManage.EnumType.Operation.Service; int newId = 0; if (SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId) == SeatManage.EnumType.HandleResult.Failed) { throw new Exception("更新进出记录失败!"); } List <SeatManage.ClassModel.WaitSeatLogInfo> waitSeatLogs = SeatManage.Bll.T_SM_SeatWaiting.GetWaitSeatList("", enterOutLog.EnterOutLogID, null, null, null); if (waitSeatLogs.Count > 0) { SeatManage.ClassModel.WaitSeatLogInfo 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)) { throw new Exception("修改等待记录失败!"); } } NowStatus = ((int)SeatManage.EnumType.EnterOutLogType.ComeBack).ToString(); } break; } } else { DateTime nowDate = SeatManage.Bll.ServiceDateTime.Now; if (accset.IsBookingConfinmed && reader.BespeakLog.Count > 0) { SeatManage.ClassModel.BespeakLogInfo bespeaklog = reader.BespeakLog[0]; SeatManage.ClassModel.ReadingRoomSetting set = reader.AtReadingRoom.Setting; DateTime dtBegin = bespeaklog.BsepeakTime.AddMinutes(-double.Parse(set.SeatBespeak.ConfirmTime.BeginTime)); DateTime dtEnd = bespeaklog.BsepeakTime.AddMinutes(double.Parse(set.SeatBespeak.ConfirmTime.EndTime)); if (SeatManage.SeatManageComm.DateTimeOperate.DateAccord(dtBegin, dtEnd, nowDate) || (set.SeatBespeak.NowDayBespeak && bespeaklog.SubmitTime == bespeaklog.BsepeakTime)) { SeatManage.ClassModel.EnterOutLogInfo seatUsedInfo = SeatManage.Bll.T_SM_EnterOutLog.GetUsingEnterOutLogBySeatNo(bespeaklog.SeatNo); if (seatUsedInfo != null && seatUsedInfo.EnterOutState != SeatManage.EnumType.EnterOutLogType.Leave) { //条件满足,说明座位正在使用。 seatUsedInfo.EnterOutState = SeatManage.EnumType.EnterOutLogType.Leave; seatUsedInfo.EnterOutType = SeatManage.EnumType.LogStatus.Valid; seatUsedInfo.Remark = string.Format("预约该座位的读者在通道机刷卡确认入座,设置在座读者离开"); seatUsedInfo.Flag = SeatManage.EnumType.Operation.OtherReader; int newId = -1; SeatManage.Bll.EnterOutOperate.AddEnterOutLog(seatUsedInfo, ref newId); } SeatManage.ClassModel.EnterOutLogInfo newEnterOutLog = new SeatManage.ClassModel.EnterOutLogInfo();//构造 newEnterOutLog.CardNo = bespeaklog.CardNo; newEnterOutLog.EnterOutLogNo = SeatManage.SeatManageComm.SeatComm.RndNum(); newEnterOutLog.EnterOutState = SeatManage.EnumType.EnterOutLogType.BookingConfirmation; newEnterOutLog.EnterOutType = SeatManage.EnumType.LogStatus.Valid; newEnterOutLog.Flag = SeatManage.EnumType.Operation.Reader; newEnterOutLog.ReadingRoomNo = bespeaklog.ReadingRoomNo; newEnterOutLog.SeatNo = bespeaklog.SeatNo; newEnterOutLog.Remark = string.Format("在通道机刷卡,入座预约的{0} {1}号座位", bespeaklog.ReadingRoomName, bespeaklog.ShortSeatNum); NowStatus = ((int)SeatManage.EnumType.EnterOutLogType.BookingConfirmation).ToString(); int logid = -1; SeatManage.EnumType.HandleResult result = SeatManage.Bll.EnterOutOperate.AddEnterOutLog(newEnterOutLog, ref logid); //添加入座记录 if (result == SeatManage.EnumType.HandleResult.Successed) { bespeaklog.BsepeakState = SeatManage.EnumType.BookingStatus.Confinmed; bespeaklog.CancelPerson = SeatManage.EnumType.Operation.Reader; bespeaklog.CancelTime = nowDate; bespeaklog.Remark = string.Format("在通道机刷卡,入座预约的{0} {1}号座位", bespeaklog.ReadingRoomName, bespeaklog.ShortSeatNum); SeatManage.Bll.T_SM_SeatBespeak.UpdateBespeakList(bespeaklog); } } } } } } catch (Exception e) { Error = e.Message; } return(string.Format(message.ToString(), ReaderNo, ReaderName, NowStatus, BeforeStatus, Error)); }
public string OutLib(string CardNo) { string[] strs = CardNo.Split(','); CardNo = strs[0]; if (!Verifylicensing()) { return("非法操作,此接口未进行授权!"); } //SeatManage.SeatManageComm.WriteLog.Write("传入卡号:" + CardNo); StringBuilder message = new StringBuilder(); string ReaderNo = CardNo; string ReaderName = ""; string NowStatus = ""; string BeforeStatus = ""; string Error = ""; message.Append("<ReaderInfo>"); message.Append("<ReaderNo>{0}</ReaderNo>"); message.Append("<ReaderName>{1}</ReaderName>"); message.Append("<NowStatus>{2}</NowStatus>"); message.Append("<BeforeStatus>{3}</BeforeStatus>"); message.Append("<Error>{4}</Error>"); message.Append("</ReaderInfo>"); try { if (string.IsNullOrEmpty(CardNo)) { throw new Exception("输入的学号为空!"); } SeatManage.ClassModel.AccessSetting accset = SeatManage.Bll.T_SM_SystemSet.GetAccessSetting(); if (accset == null) { throw new Exception("获取通道机设置失败!"); } SeatManage.ClassModel.ReaderInfo reader = SeatManage.Bll.EnterOutOperate.GetReaderInfo(CardNo); if (reader == null) { throw new Exception("获取不到此学生的信息!"); } if (strs.Length > 1 && reader.AtReadingRoom != null && strs[1] != "00" && reader.AtReadingRoom.Libaray.No != strs[1]) { throw new Exception("学生在此图书馆未选座位!"); } ReaderNo = reader.CardNo; ReaderName = reader.Name; if (reader.EnterOutLog == null) { NowStatus = ((int)SeatManage.EnumType.EnterOutLogType.Leave).ToString(); BeforeStatus = ((int)SeatManage.EnumType.EnterOutLogType.Leave).ToString(); } else { NowStatus = ((int)reader.EnterOutLog.EnterOutState).ToString(); BeforeStatus = ((int)reader.EnterOutLog.EnterOutState).ToString(); } if (accset.IsUsed && accset.OutLib && reader.EnterOutLog != null) { switch (reader.EnterOutLog.EnterOutState) { case SeatManage.EnumType.EnterOutLogType.BookingConfirmation: case SeatManage.EnumType.EnterOutLogType.ComeBack: case SeatManage.EnumType.EnterOutLogType.ContinuedTime: case SeatManage.EnumType.EnterOutLogType.ReselectSeat: case SeatManage.EnumType.EnterOutLogType.SelectSeat: case SeatManage.EnumType.EnterOutLogType.WaitingSuccess: if (accset.LeaveMode == SeatManage.EnumType.EnterOutLogType.Leave) { SeatManage.ClassModel.EnterOutLogInfo enterOutLog = reader.EnterOutLog; enterOutLog.EnterOutState = SeatManage.EnumType.EnterOutLogType.Leave; enterOutLog.TerminalNum = ""; enterOutLog.Remark = string.Format("读者离开图书馆,通过通道机,系统自动释放{0} {1}号座位", reader.AtReadingRoom.Name, enterOutLog.ShortSeatNo); enterOutLog.EnterOutTime = SeatManage.Bll.ServiceDateTime.Now; enterOutLog.Flag = SeatManage.EnumType.Operation.Service; int newId = 0; if (SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId) == SeatManage.EnumType.HandleResult.Failed) { throw new Exception("更新进出记录失败!"); } NowStatus = ((int)SeatManage.EnumType.EnterOutLogType.Leave).ToString(); } else if (accset.LeaveMode == SeatManage.EnumType.EnterOutLogType.ShortLeave) { SeatManage.ClassModel.EnterOutLogInfo enterOutLog = reader.EnterOutLog; enterOutLog.EnterOutState = SeatManage.EnumType.EnterOutLogType.ShortLeave; enterOutLog.TerminalNum = ""; enterOutLog.Remark = string.Format("读者离开图书馆,通过通道机,设置读者为暂离,保留{0} {1}号座位{2}分钟", reader.AtReadingRoom.Name, enterOutLog.ShortSeatNo, SeatManage.Bll.NowReadingRoomState.GetSeatHoldTime(reader.AtReadingRoom.Setting.SeatHoldTime, SeatManage.Bll.ServiceDateTime.Now)); enterOutLog.EnterOutTime = SeatManage.Bll.ServiceDateTime.Now; enterOutLog.Flag = SeatManage.EnumType.Operation.Service; int newId = 0; if (SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId) == SeatManage.EnumType.HandleResult.Failed) { throw new Exception("更新进出记录失败!"); } NowStatus = ((int)SeatManage.EnumType.EnterOutLogType.ShortLeave).ToString(); } break; case SeatManage.EnumType.EnterOutLogType.ShortLeave: //if (accset.LeaveMode == SeatManage.EnumType.EnterOutLogType.Leave) //{ // SeatManage.ClassModel.EnterOutLogInfo enterOutLog = reader.EnterOutLog; // enterOutLog.EnterOutState = SeatManage.EnumType.EnterOutLogType.Leave; // enterOutLog.TerminalNum = ""; // enterOutLog.Remark = string.Format("读者离开图书馆,通过通道机,系统自动释放{0} {1}号座位", reader.AtReadingRoom.Name, enterOutLog.ShortSeatNo); // enterOutLog.EnterOutTime = SeatManage.Bll.ServiceDateTime.Now; // enterOutLog.Flag = SeatManage.EnumType.Operation.Service; // int newId = 0; // if (SeatManage.Bll.EnterOutOperate.AddEnterOutLog(enterOutLog, ref newId) == SeatManage.EnumType.HandleResult.Failed) // { // throw new Exception("更新进出记录失败!"); // } // NowStatus = ((int)SeatManage.EnumType.EnterOutLogType.Leave).ToString(); //} break; } } } catch (Exception e) { Error = e.Message; } return(string.Format(message.ToString(), ReaderNo, ReaderName, NowStatus, BeforeStatus, Error)); }
public string FreeSeat(AMS.Model.AMS_School school, SeatManage.ClassModel.ReaderInfo reader) { SMS.BespeakServerProxy.BespeakServerProxy bespeakProxy = new SMS.BespeakServerProxy.BespeakServerProxy(school.ConnectionString); return(bespeakProxy.FreeSeat(reader.CardNo)); }
/// <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(); if (room.Setting.SeatBespeak.SpecifiedTime && room.Setting.SeatBespeak.CanBookMultiSpan) { foreach (DateTime dt in timeSpan) { DropDownList_Time.Items.Add(new FineUI.ListItem(dt.ToShortTimeString(), dt.ToShortTimeString())); } } else { 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.ClassModel.BespeakLogInfo> list = SeatManage.Bll.T_SM_SeatBespeak.GetBespeakLogInfoBySeatNo(seatNo, date); 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 (room.Setting.SeatBespeak.CanBookMultiSpan && room.Setting.SeatBespeak.SpecifiedTime) { if (readerBespeaklist.Count >= room.Setting.SeatBespeak.BespeakSeatCount) { FineUI.Alert.ShowInTop("对不起,您一天最多预约" + room.Setting.SeatBespeak.BespeakSeatCount + "个座位。"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } else { if (readerBespeaklist.Count > 0) { FineUI.Alert.ShowInTop("您选择的日期已经预约了座位,请先取消原来的预约。"); btnBespeak.Enabled = false; PageContext.RegisterStartupScript(FineUI.ActiveWindow.GetHidePostBackReference()); return; } } //判断座位是否被别人预约 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; }
public string DelaySeatUsedTime(AMS.Model.AMS_School school, SeatManage.ClassModel.ReaderInfo reader) { return(bespeakProxy.DelaySeatUsedTime(reader)); }
public string FreeSeat(AMS.Model.AMS_School school, SeatManage.ClassModel.ReaderInfo reader) { return(bespeakProxy.FreeSeat(reader.CardNo)); }
public string SetShortLeave(AMS.Model.AMS_School school, SeatManage.ClassModel.ReaderInfo reader) { return(bespeakProxy.SetShortLeave(reader.CardNo)); }
/// <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(); if (room.Setting.SeatBespeak.SpecifiedTime && room.Setting.SeatBespeak.CanBookMultiSpan) { foreach (DateTime dt in timeSpan) { if (dt <= date) { continue; } DropDownList_Time.Items.Add(new FineUI.ListItem(dt.ToShortTimeString(), dt.ToShortTimeString())); } } else { 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); //判断可预约次数是否超过 readerBespeaklist = SeatManage.Bll.T_SM_SeatBespeak.GetBespeakList(this.LoginId, null, date, 0, new List <SeatManage.EnumType.BookingStatus> { SeatManage.EnumType.BookingStatus.Confinmed, SeatManage.EnumType.BookingStatus.Waiting }); //.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 (readerBespeaklist.Find(u => u.BsepeakState == SeatManage.EnumType.BookingStatus.Waiting) != null && (!room.Setting.SeatBespeak.CanBookMultiSpan || !room.Setting.SeatBespeak.SpecifiedTime)) { FineUI.Alert.ShowInTop("您今天已有预约的座位,请先取消原来的预约。"); 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; }
void client_OnMsgReceived(byte[] info) { SocketMsgData.SocketRequest msg = SeatManage.SeatManageComm.ByteSerializer.DeserializeByte <SocketMsgData.SocketMsgBase>(info) as SocketMsgData.SocketRequest; if (msg != null) { Console.WriteLine("子系统{0}请求执行{1}方法", msg.SubSystem.ToString(), msg.MethodName); SocketMsgData.SocketResponse response = new SocketMsgData.SocketResponse(); switch (msg.MethodName) { case "CheckAndGetReaderInfo": try { SeatManage.ClassModel.UserInfo user = msg.Parameters[0] as SeatManage.ClassModel.UserInfo; SeatManage.ClassModel.ReaderInfo reader = bespakBll.CheckAndGetReaderInfo(user); response.Result = reader; } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "DelaySeatUsedTime;": try { SeatManage.ClassModel.ReaderInfo reader = msg.Parameters[0] as SeatManage.ClassModel.ReaderInfo; string result = bespakBll.DelaySeatUsedTime(reader); response.Result = result; } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "FreeSeat": try { string cardNo = msg.Parameters[0].ToString(); string result = bespakBll.FreeSeat(cardNo); response.Result = result; } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "GetAllReadingRoomInfo": try { List <SeatManage.ClassModel.ReadingRoomInfo> rooms = bespakBll.GetAllReadingRoomInfo(); response.Result = rooms; } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "GetAllRoomSeatUsedState": try { Dictionary <string, SeatManage.ClassModel.ReadingRoomSeatUsedState_Ex> roomState = bespakBll.GetAllRoomSeatUsedState(); response.Result = roomState; } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "GetBlackList": try { string cardNo = msg.Parameters[0].ToString(); int queryDays = int.Parse(msg.Parameters[1].ToString()); List <SeatManage.ClassModel.BlackListInfo> result = bespakBll.GetBlackList(cardNo, queryDays); response.Result = result; } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "GetBookLogs": try { string cardNo = msg.Parameters[0].ToString(); string roomNum = msg.Parameters[1] == null ? null : msg.Parameters[1].ToString(); int queryDays = int.Parse(msg.Parameters[2].ToString()); List <SeatManage.ClassModel.BespeakLogInfo> result = bespakBll.GetBookLogs(cardNo, roomNum, queryDays); response.Result = result; } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "GetBookSeatList": try { DateTime dt = (DateTime)msg.Parameters[0]; string roomNum = msg.Parameters[1] == null ? null : msg.Parameters[1].ToString(); List <SeatManage.ClassModel.Seat> result = bespakBll.GetBookSeatList(dt, roomNum); response.Result = result; } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "GetCanBespeakReaderRoomInfo": try { DateTime dt = (DateTime)msg.Parameters[0]; response.Result = bespakBll.GetCanBespeakReaderRoomInfo(dt); } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "GetEnterOutLogs": try { string cardNo = msg.Parameters[0].ToString(); string roomNum = msg.Parameters[1] == null ? null : msg.Parameters[1].ToString(); int queryDate = (int)msg.Parameters[2]; response.Result = bespakBll.GetEnterOutLogs(cardNo, roomNum, queryDate); } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "GetReaderInfo": try { string cardNo = msg.Parameters[0].ToString(); response.Result = bespakBll.GetReaderInfo(cardNo); } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "GetReaderInfoByCardNo": try { string cardNo = msg.Parameters[0].ToString(); response.Result = bespakBll.GetReaderInfoByCardNo(cardNo); } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "GetReaderInfoByCardNofalse": try { string cardNo = msg.Parameters[0].ToString(); response.Result = bespakBll.GetReaderInfoByCardNofalse(cardNo); } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "GetViolateDiscipline": try { string cardNo = msg.Parameters[0].ToString(); string roomNum = msg.Parameters[1] == null ? null : msg.Parameters[1].ToString(); int queryDate = (int)msg.Parameters[2]; response.Result = bespakBll.GetViolateDiscipline(cardNo, roomNum, queryDate); } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "SetShortLeave": try { string cardNo = msg.Parameters[0].ToString(); response.Result = bespakBll.SetShortLeave(cardNo); } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "SubmitBespeakInfo": try { SeatManage.ClassModel.BespeakLogInfo bespeak = (SeatManage.ClassModel.BespeakLogInfo)msg.Parameters[0]; response.Result = bespakBll.SubmitBespeakInfo(bespeak); } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "UpdateBookLogsState": try { int bespeak = (int)msg.Parameters[0]; response.Result = bespakBll.UpdateBookLogsState(bespeak); } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "GetScanCodeSeatInfo": try { string cardNo = msg.Parameters[0].ToString(); string seatNum = msg.Parameters[1].ToString(); string readingRoomNum = msg.Parameters[2].ToString(); response.Result = bespakBll.GetScanCodeSeatInfo(cardNo, seatNum, readingRoomNum); } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; case "ChangeSeat": try { string cardNo = msg.Parameters[0].ToString(); string seatNum = msg.Parameters[1].ToString(); string readingRoomNum = msg.Parameters[2].ToString(); response.Result = bespakBll.ChangeSeat(cardNo, seatNum, readingRoomNum); } catch (Exception ex) { response.ErrorMsg = ex.Message; } break; } response.MethodName = msg.MethodName; response.Sender = msg.Target; response.SubSystem = msg.SubSystem; response.Target = msg.Sender; response.MsgType = SocketMsgData.TcpMsgDataType.Relay; client.Send(SeatManage.SeatManageComm.ByteSerializer.ObjectToByte(response)); Console.WriteLine("执行成功,已返回结果"); } }
public string GetReaderStatus(string cardNo) { try { string result = ""; SeatManage.ClassModel.ReaderInfo readerModel = SeatManage.Bll.EnterOutOperate.GetReaderInfo(cardNo); string state = ""; string seatNo = ""; string readingRoomName = ""; if (!string.IsNullOrEmpty(readerModel.CardNo)) { if (readerModel.EnterOutLog != null) { switch (readerModel.EnterOutLog.EnterOutState) { case SeatManage.EnumType.EnterOutLogType.ComeBack: case SeatManage.EnumType.EnterOutLogType.ContinuedTime: case SeatManage.EnumType.EnterOutLogType.ReselectSeat: case SeatManage.EnumType.EnterOutLogType.SelectSeat: case SeatManage.EnumType.EnterOutLogType.WaitingCancel: case SeatManage.EnumType.EnterOutLogType.WaitingSuccess: case SeatManage.EnumType.EnterOutLogType.BookingConfirmation: state = "在座"; seatNo = readerModel.EnterOutLog.SeatNo; string rrId = readerModel.EnterOutLog.ReadingRoomNo; readingRoomName = readerModel.EnterOutLog.ReadingRoomName; break; case SeatManage.EnumType.EnterOutLogType.Leave: case SeatManage.EnumType.EnterOutLogType.None: case SeatManage.EnumType.EnterOutLogType.BookingCancel: state = "无座"; break; case SeatManage.EnumType.EnterOutLogType.ShortLeave: state = "暂离"; seatNo = readerModel.EnterOutLog.SeatNo; readingRoomName = readerModel.EnterOutLog.ReadingRoomName; break; case SeatManage.EnumType.EnterOutLogType.Waiting: state = "等待座位"; seatNo = readerModel.EnterOutLog.SeatNo; readingRoomName = readerModel.EnterOutLog.ReadingRoomName; break; case SeatManage.EnumType.EnterOutLogType.BespeakWaiting: state = "存在未确认预约座位"; seatNo = readerModel.EnterOutLog.SeatNo; readingRoomName = readerModel.EnterOutLog.ReadingRoomName; break; } } result = string.Format("<StuState><Student Name='{0}' CardNo='{1}' RoomName='{2}' SeatNo='{3}' Status='{4}'></Student></StuState>", readerModel.Name, readerModel.CardNo, readingRoomName, seatNo, state); } else { result = "<StuState><Student Name='' CardNo='' RoomName='' SeatNo='' Status=''></Student></StuState>"; } return(result); } catch (Exception ex) { return(ex.Message); } }
public string DelaySeatUsedTime(AMS.Model.AMS_School school, SeatManage.ClassModel.ReaderInfo reader) { SMS.BespeakServerProxy.BespeakServerProxy bespeakProxy = new SMS.BespeakServerProxy.BespeakServerProxy(school.ConnectionString); return(bespeakProxy.DelaySeatUsedTime(reader)); }