Exemple #1
0
        /// <summary>
        /// 获取二维码座位信息
        /// </summary>
        /// <param name="codeStr"></param>
        /// <returns></returns>
        public string QRcodeSeatInfo(string codeStr)
        {
            try
            {
                AJM_HandleResult   result          = new AJM_HandleResult();
                string[]           scanResultArray = codeStr.Split('?');
                ScanCodeParamModel scancode        = null;
                if (scanResultArray.Length >= 2)
                {
                    string[] strParam = scanResultArray[1].Split('=');
                    if (strParam.Length >= 2)
                    {
                        scancode = ScanCodeParamModel.Prase(strParam[1]);//兼容url的二维码。
                    }
                }
                else
                {
                    scancode = ScanCodeParamModel.Prase(codeStr);
                }
                if (scancode == null)
                {
                    result.Result = false;
                    result.Msg    = "二维码错误!";
                    return(JSONSerializer.Serialize(result));
                }
                Seat seatInfo = SeatManageDateService.GetSeatInfoBySeatNum(scancode.SeatNum);
                if (seatInfo == null)
                {
                    result.Result = false;
                    result.Msg    = "此座位不存在!";
                    return(JSONSerializer.Serialize(result));
                }
                AJM_SeatStatus jm_Seat = new AJM_SeatStatus();
                jm_Seat.SeatNo      = seatInfo.SeatNo;
                jm_Seat.SeatShortNo = seatInfo.ShortSeatNo;
                jm_Seat.RoomName    = seatInfo.ReadingRoom.Name;
                jm_Seat.RoomNo      = seatInfo.ReadingRoom.No;
                jm_Seat.IsStopUse   = seatInfo.IsSuspended;

                if (seatInfo.ReadingRoom.Setting.SeatBespeak.Used && !seatInfo.IsSuspended)
                {
                    DateTime ndt = DateTime.Now;
                    if (seatInfo.ReadingRoom.Setting.SeatBespeak.NowDayBespeak && seatInfo.SeatUsedState == EnterOutLogType.Leave)
                    {
                        jm_Seat.BespeakDate.Add(ndt.ToShortDateString(), seatInfo.ReadingRoom.Setting.GetBespeakTimeList(ndt).Select(t => t.ToShortTimeString()).ToList());
                    }
                    for (int i = 1; i <= seatInfo.ReadingRoom.Setting.SeatBespeak.BespeakBeforeDays; i++)
                    {
                        List <BespeakLogInfo> list = SeatManageDateService.GetBespeakLogInfoBySeatNo(seatInfo.SeatNo, ndt.AddDays(i));
                        if (list.Count > 0 && !seatInfo.ReadingRoom.Setting.IsCanBespeakSeat(ndt.AddDays(i)))
                        {
                            continue;
                        }
                        jm_Seat.BespeakDate.Add(ndt.AddDays(i).ToShortDateString(), seatInfo.ReadingRoom.Setting.GetBespeakTimeList(ndt.AddDays(i)).Select(t => t.ToShortTimeString()).ToList());
                    }
                }
                result.Result = true;
                result.Msg    = JSONSerializer.Serialize(jm_Seat);
                return(JSONSerializer.Serialize(result));
            }
            catch (Exception ex)
            {
                WriteLog.Write("获取二维码信息遇到异常:" + ex.Message);
                AJM_HandleResult result = new AJM_HandleResult();
                result.Result = false;
                result.Msg    = "执行遇到异常!";
                return(JSONSerializer.Serialize(result));
            }
        }
Exemple #2
0
        /// <summary>
        /// 获取二维码信息
        /// </summary>
        /// <param name="strQRcode"></param>
        /// <returns></returns>
        public string GetQRcodeInfo(string strQRcode)
        {
            try
            {
                string[]           scanResultArray = strQRcode.Split('?');
                ScanCodeParamModel scancode        = null;
                if (scanResultArray.Length >= 2)
                {
                    string[] strParam = scanResultArray[1].Split('=');
                    if (strParam.Length >= 2)
                    {
                        scancode = ScanCodeParamModel.Prase(strParam[1]);//兼容url的二维码。
                    }
                }
                else
                {
                    scancode = ScanCodeParamModel.Prase(strQRcode);
                }
                if (scancode == null)
                {
                    JM_HandleResult result = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "二维码错误!";
                    return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
                }
                Seat seatInfo = seatDataService.GetSeatInfoBySeatNum(scancode.SeatNum);
                if (seatInfo == null)
                {
                    JM_HandleResult result = new JM_HandleResult();
                    result.Result = false;
                    result.Msg    = "此座位不存在!";
                    return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result));
                }
                JM_QRcode jm_QRcode = new JM_QRcode();
                JM_Seat   jm_seat   = new JM_Seat();
                jm_seat.CanBeBespeak    = seatInfo.CanBeBespeak;
                jm_seat.HavePower       = seatInfo.HavePower;
                jm_seat.IsSuspended     = seatInfo.IsSuspended;
                jm_seat.ReadingRoomNum  = seatInfo.ReadingRoomNum;
                jm_seat.ReadingRoomName = seatInfo.ReadingRoom.Name;
                jm_seat.SeatNo          = seatInfo.SeatNo;
                jm_seat.SeatUsedState   = seatInfo.SeatUsedState.ToString();
                jm_seat.ShortSeatNo     = seatInfo.ShortSeatNo;
                jm_seat.BaseHeight      = seatInfo.BaseHeight;
                jm_seat.BaseWidth       = seatInfo.BaseWidth;
                jm_seat.PositionX       = seatInfo.PositionX;
                jm_seat.PositionY       = seatInfo.PositionY;
                jm_seat.RotationAngle   = seatInfo.RotationAngle;
                jm_QRcode.SeatInfo      = jm_seat;

                if (seatInfo.ReadingRoom.Setting.SeatBespeak.Used && !seatInfo.IsSuspended)
                {
                    if (seatInfo.ReadingRoom.Setting.SeatBespeak.NowDayBespeak && seatInfo.SeatUsedState == EnterOutLogType.Leave)
                    {
                        JM_CanBespeakSeatInfo jm_bespeakInfo = new JM_CanBespeakSeatInfo();
                        jm_bespeakInfo.SeatID        = seatInfo.SeatNo;
                        jm_bespeakInfo.SeatNum       = seatInfo.ShortSeatNo;
                        jm_bespeakInfo.ReadingRoomNo = seatInfo.ReadingRoomNum;
                        jm_bespeakInfo.BespeakDate   = DateTime.Now.ToShortDateString();
                        jm_QRcode.BeaspeakSeat.Add(jm_bespeakInfo);
                    }
                    for (int i = 1; i <= seatInfo.ReadingRoom.Setting.SeatBespeak.BespeakBeforeDays; i++)
                    {
                        List <SeatManage.ClassModel.BespeakLogInfo> list = seatDataService.GetBespeakLogInfoBySeatNo(seatInfo.SeatNo, DateTime.Now.AddDays(i));
                        if (list.Count > 0)
                        {
                            continue;
                        }
                        JM_CanBespeakSeatInfo jm_bespeakInfo = new JM_CanBespeakSeatInfo();
                        jm_bespeakInfo.SeatID        = seatInfo.SeatNo;
                        jm_bespeakInfo.SeatNum       = seatInfo.ShortSeatNo;
                        jm_bespeakInfo.ReadingRoomNo = seatInfo.ReadingRoomNum;
                        jm_bespeakInfo.BespeakDate   = DateTime.Now.AddDays(i).ToShortDateString();
                        jm_QRcode.BeaspeakSeat.Add(jm_bespeakInfo);
                    }
                }
                return(SeatManage.SeatManageComm.JSONSerializer.Serialize(jm_QRcode));
            }
            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));
            }
        }