private void PreLoadFTData() { var hotelId = UserContext.CurrentUser.HotelId; if (!_ft_isLoaded) { _ft_isLoaded = true; _ft_rooms = RoomBll.GetListBy(hotelId); _ft_roomregs = RoomRegBll.GetListByHotelId(hotelId); _ft_members = MemberBll.GetList(hotelId); _ft_membersType = MemberTypeBll.GetList(hotelId); _ft_RoomRegGuestInfoCN = RoomRegGuestInfoCNBll.GetListByHotelId(hotelId); _ft_RoomRegGuestInfoEN = RoomRegGuestInfoENBll.GetListByHotelId(hotelId); _ft_MaterialLease = MaterialLeaseBll.GetListByHotel(hotelId); _ft_RoomType = RoomTypeBll.GetListByHotelId(hotelId); _ft_RoomYdRecord = RoomYdRecordBll.GetListByHotel(hotelId); _ft_GlobalFeeSet = GlobalFeeSetBll.GetByHotelId(hotelId); _ft_MaintainRoom = MaintainRoomBll.GetListByHotelId(hotelId); _ft_RoomSelfuse = RoomSelfBll.GetListByHotelId(hotelId); _ft_RoomYD = RoomYdBll.GetListByHotel(hotelId); _ft_RoomSet = RoomSetBll.GetBy(hotelId); if (_ft_RoomSet == null) { _ft_RoomSet = RoomSetBll.GetBy(0); } } }
// GET: LCFeeSet public ActionResult Index() { var info = GlobalFeeSetBll.GetByHotelId(UserContext.CurrentUser.HotelId); if (info == null) { info = new GlobalFeeSet() { HotelId = UserContext.CurrentUser.HotelId } } ; return(View(info)); }
public JsonResult Edit(GlobalFeeSet model) { var apiResult = new APIResult(); try { GlobalFeeSetBll.AddOrUpdateLC(model, UserContext.CurrentUser.HotelId); } catch (Exception ex) { apiResult.Ret = -1; apiResult.Msg = ex.Message; if (!(ex is OperationExceptionFacade)) { LogFactory.GetLogger().Log(LogLevel.Error, ex); } } return(Json(apiResult)); }
/// <summary> /// 续住时获取预离时间 /// </summary> /// <returns></returns> public string GetYlTimeForXz(long roomRegId, int xzDays) { var roomReg = RoomRegBll.GetById(roomRegId); if (roomReg == null) { return(JsonConvert.SerializeObject(new { Ret = -1, Msg = "房间登记数据不存在" })); } if (roomReg.KaiFangFangShi != (int)KaifangFangshiEnum.全天房 && roomReg.KaiFangFangShi != (int)KaifangFangshiEnum.长包房 && roomReg.KaiFangFangShi != (int)KaifangFangshiEnum.免费房) { return(JsonConvert.SerializeObject(new { Ret = -1, Msg = "只有【全天房、长包房、免费房】才可续住" })); } var globalFeeSet = GlobalFeeSetBll.GetByHotelId(UserContext.CurrentUser.HotelId); var now = TypeConvert.IntToDateTime(roomReg.RegTime); if (globalFeeSet == null) { return(JsonConvert.SerializeObject(new { Ret = 0, YlTime = "" })); } var yltime = now; //如果是6点,那么当天6点之后开的房间就是第二天中午退房,0点到6点开房就是当天中午退房 if (now.Hour >= 0 && now.Hour <= globalFeeSet.QTAfterPointToNextDay) { //当天中午退房 yltime = now.Date.AddDays(xzDays - 1).AddHours(globalFeeSet.QTExitPoint); } else { //第二天中午退房 yltime = now.Date.AddDays(1 + (xzDays - 1)).AddHours(globalFeeSet.QTExitPoint); } var yulidate = TypeConvert.IntToDateTime(roomReg.LeaveTime); yltime = yulidate.Date.AddDays(xzDays).AddHours(globalFeeSet.QTExitPoint); return(JsonConvert.SerializeObject(new { Ret = 0, YlTime = yltime.ToString("yyyy-MM-dd HH:mm:ss") })); }
/// <summary> /// 凌晨房检测,返回凌晨价 /// </summary> /// <param name="roomId"></param> /// <returns></returns> public string LCRoomCheck(long roomId) { try { var hotelId = UserContext.CurrentUser.HotelId; var model = RoomBll.GetById(roomId); var roomType = RoomTypeBll.GetById(model.RoomTypeId); var setting = GlobalFeeSetBll.GetByHotelId(hotelId); var now = DateTime.Now; if (now.Hour >= setting.LCStartFeePoint && now.Hour <= setting.LCEndFeePoint) { return(JsonConvert.SerializeObject(new { IsLC = true, RoomPrice = roomType.MorningPrice })); } return(JsonConvert.SerializeObject(new { IsLC = false })); } catch { return(JsonConvert.SerializeObject(new { IsLC = false })); } }
public string GetRuzhuDaysForXz(long roomRegId, string leaveTime) { var roomReg = RoomRegBll.GetById(roomRegId); if (roomReg == null) { return(JsonConvert.SerializeObject(new { Ret = -1, Msg = "房间登记数据不存在" })); } if (roomReg.KaiFangFangShi != (int)KaifangFangshiEnum.全天房 && roomReg.KaiFangFangShi != (int)KaifangFangshiEnum.长包房 && roomReg.KaiFangFangShi != (int)KaifangFangshiEnum.免费房) { return(JsonConvert.SerializeObject(new { Ret = -1, Msg = "只有【全天房、长包房、免费房】才可续住" })); } var globalFeeSet = GlobalFeeSetBll.GetByHotelId(UserContext.CurrentUser.HotelId); if (globalFeeSet == null) { return(JsonConvert.SerializeObject(new { Ret = 0, YlTime = "" })); } var days = (DateTime.Parse(leaveTime).Date - TypeConvert.IntToDateTime(roomReg.LeaveTime).Date).TotalDays; return(JsonConvert.SerializeObject(new { Ret = 0, RuzhuDays = Convert.ToInt32(days) })); }
/// <summary> /// 根据开房方式获取预离时间,同时绑定钟点房方案id或时段房方案id /// 20190828同时绑定价格 /// </summary> /// <returns></returns> public string GetYlTimeByKffs(long roomRegId, int type, int rzDays, long fnid = 0, long roomId = 0) { var roomReg = RoomRegBll.GetById(roomRegId); var now = DateTime.Now; if (roomReg != null) { now = TypeConvert.IntToDateTime(roomReg.RegTime); } var room = RoomBll.GetById(roomId); var roomType = RoomTypeBll.GetById(room.RoomTypeId); if (type == (int)KaifangFangshiEnum.全天房 || type == (int)KaifangFangshiEnum.长包房 || type == (int)KaifangFangshiEnum.免费房) { var globalFeeSet = GlobalFeeSetBll.GetByHotelId(UserContext.CurrentUser.HotelId); if (globalFeeSet == null) { return(JsonConvert.SerializeObject(new { Ret = 0, CurrentTime = now.ToString("yyyy-MM-dd HH:mm:ss"), YlTime = "" })); } var yltime = now; //如果是6点,那么当天6点之后开的房间就是第二天中午退房,0点到6点开房就是当天中午退房 if (now.Hour >= 0 && now.Hour <= globalFeeSet.QTAfterPointToNextDay) { //当天中午退房 yltime = now.Date.AddDays(rzDays - 1).AddHours(globalFeeSet.QTExitPoint); } else { //第二天中午退房 yltime = now.Date.AddDays(1 + (rzDays - 1)).AddHours(globalFeeSet.QTExitPoint); } if (type != (int)KaifangFangshiEnum.免费房) { return(JsonConvert.SerializeObject(new { Ret = 0, CurrentTime = now.ToString("yyyy-MM-dd HH:mm:ss"), YlTime = yltime.ToString("yyyy-MM-dd HH:mm:ss"), RoomPrice = roomType.Price })); } return(JsonConvert.SerializeObject(new { Ret = 0, CurrentTime = now.ToString("yyyy-MM-dd HH:mm:ss"), YlTime = yltime.ToString("yyyy-MM-dd HH:mm:ss") })); } else if (type == (int)KaifangFangshiEnum.钟点房) { //钟点房 var hourRoomList = HourRoomBll.GetList(UserContext.CurrentUser.HotelId); if (hourRoomList == null || hourRoomList.Count == 0) { return(JsonConvert.SerializeObject(new { Ret = -1, Msg = "无钟点房方案" })); } var hourRoom = hourRoomList[0];//默认选择第一个 if (fnid != 0 && hourRoomList.Any(a => a.Id == fnid)) { hourRoom = hourRoomList.FirstOrDefault(a => a.Id == fnid); } var yltime = now.AddMinutes(hourRoom.Minute).ToString("yyyy-MM-dd HH:mm:ss"); return(JsonConvert.SerializeObject(new { Ret = 0, CurrentTime = now.ToString("yyyy-MM-dd HH:mm:ss"), YlTime = yltime, Id = hourRoom.Id, RoomPrice = hourRoom.Price })); } else if (type == (int)KaifangFangshiEnum.时段房) { //时段房 var periodRoomList = PeriodRoomBll.GetList(UserContext.CurrentUser.HotelId); if (periodRoomList == null || periodRoomList.Count == 0) { return(JsonConvert.SerializeObject(new { Ret = -1, Msg = "无时段房方案" })); } if (fnid != 0 && periodRoomList.Any(a => a.Id == fnid)) { var periodRoom = periodRoomList.FirstOrDefault(a => a.Id == fnid); var CurrentTime = now.ToString("yyyy-MM-dd HH:mm:ss"); var YlTime = now.ToShortDateString() + $" {periodRoom.EndPoint}:00:00"; return(JsonConvert.SerializeObject(new { Ret = 0, CurrentTime = CurrentTime, YlTime = YlTime, Id = periodRoom.Id, RoomPrice = periodRoom.Price })); } else { foreach (var periodRoom in periodRoomList) { if (now.Hour >= periodRoom.StartPoint && now.Hour <= periodRoom.EndPoint) { var CurrentTime = now.ToString("yyyy-MM-dd HH:mm:ss"); var YlTime = now.ToShortDateString() + $" {periodRoom.EndPoint}:00:00"; return(JsonConvert.SerializeObject(new { Ret = 0, CurrentTime = CurrentTime, YlTime = YlTime, Id = periodRoom.Id, RoomPrice = periodRoom.Price })); } } } return(JsonConvert.SerializeObject(new { Ret = -1, Msg = "无匹配的时段房方案,请手动选择" })); } return(""); }
// GET: RoomReg public ActionResult Index(long roomId) { var user = UserContext.CurrentUser; var hotelId = user.HotelId; var room = RoomBll.GetById(roomId); var globalFeeSet = GlobalFeeSetBll.GetByHotelId(hotelId); ViewBag.HotelId = hotelId; ViewBag.RoomId = roomId; ViewBag.GlobalFeeSet = globalFeeSet; var now = DateTime.Now; DateTime yuLiTime = now; //如果是6点,那么当天6点之后开的房间就是第二天中午退房,0点到6点开房就是当天中午退房 if (now.Hour >= 0 && now.Hour <= globalFeeSet.QTAfterPointToNextDay) { //当天中午退房 yuLiTime = now.Date.AddHours(globalFeeSet.QTExitPoint); } else { //第二天中午退房 yuLiTime = now.Date.AddDays(1).AddHours(globalFeeSet.QTExitPoint); } //var yltime = ""; //if (now.Hour > globalFeeSet.QTAfterPointToNextDay) //{ // //第二天退房 // yltime = now.AddDays(1).ToShortDateString() + $" {globalFeeSet.QTExitPoint}:00:00"; //} //else //{ // //当天退房 // yltime = now.ToShortDateString() + $" {globalFeeSet.QTExitPoint}:00:00"; //} ViewBag.CurrentTime = now.ToString("yyyy-MM-dd HH:mm:ss"); ViewBag.yltime = yuLiTime.ToString("yyyy-MM-dd HH:mm:ss"); var my = UserBll.GetById(user.Id); ViewBag.MyKdzk = my == null ? 10 : my.CanSale; //获取登记单 var roomReg = new Model.RoomReg(); if (room != null) { if (room.FjState == FjStateEnum.干净房) { roomReg = new Model.RoomReg(); } else { roomReg = RoomRegBll.GetById(room.RoomRegId); if (roomReg == null) { roomReg = new Model.RoomReg(); } } if ((int)roomReg.FjState >= (int)FjStateEnum.脏房) { // return Content("房间状态不允许开房登记"); } //if(roomReg.FjState ==4) // roomReg = new Model.RoomReg(); } ViewBag.PanelHeight = 300; if (Session["PanelHeight"] != null) { ViewBag.PanelHeight = Convert.ToInt32(Session["PanelHeight"]); } if (room == null) { room = new Room(); ViewBag.IsEmptyRoom = true; } else { ViewBag.IsEmptyRoom = false; } ViewBag.Room = room; return(View(roomReg)); }