public int UpdateStayHis(CustomerStayHisModel mHis, ObjectControls oCtrl) { string sql = "UPDATE CUSTOMER_STAY_HIS SET CREATE_DATE=CREATE_DATE"; oCtrl.Helper(oCtrl.Exsit(MCtrl.SetCustomerId) && oCtrl.Append(ref sql, ",CUSTOMER_ID=" + SQL(mHis.CustomerId))); oCtrl.Helper(oCtrl.Exsit(MCtrl.SetHisType) && oCtrl.Append(ref sql, ",STAY_TYPE=" + SQL(mHis.StayType))); oCtrl.Helper(oCtrl.Exsit(MCtrl.SetHisStatus) && oCtrl.Append(ref sql, ",HIS_STATUS=" + SQL(mHis.HisStatus))); oCtrl.Helper(oCtrl.Exsit(MCtrl.SetEndDate) && oCtrl.Append(ref sql, ",END_TIME=" + SQL(mHis.CommonInfo.EndDate))); sql += ",UPDATE_DATE=" + SQL(GetDBTime); sql += ",UPDATE_USERID=" + SQL(mHis.CommonInfo.UpdateUserId); sql += " WHERE HIS_ID=" + mHis.HisId; //STAY_ID=" + mHis.StayId; //sql += " AND CUSTOMER_ID=" + mHis.CustomerId; return ExcuteNonQuery(sql); }
public List<CustomerStayHisModel> GetStayHis(CustomerStayHisModel mStayHis, ObjectControls oCtrl) { string sql = "SELECT * FROM CUSTOMER_STAY_HIS A WHERE 1=1"; oCtrl.Helper(oCtrl.Exsit(MCtrl.ByCustomerId) && oCtrl.Append(ref sql, " AND A.CUSTOMER_ID=" + mStayHis.CustomerId)); oCtrl.Helper(oCtrl.Exsit(MCtrl.ByStayId) && oCtrl.Append(ref sql, " AND A.STAY_ID=" + mStayHis.StayId)); oCtrl.Helper(oCtrl.Exsit(MCtrl.ByStayType) && oCtrl.Append(ref sql, " AND A.STAY_TYPE=" + mStayHis.StayType)); oCtrl.Helper(oCtrl.Exsit(MCtrl.ByHisStatus) && oCtrl.Append(ref sql, " AND A.HIS_STATUS=" + mStayHis.HisStatus)); oCtrl.Helper(oCtrl.Exsit(MCtrl.ByHisId) && oCtrl.Append(ref sql, " AND A.HIS_ID=" + mStayHis.HisId)); sdr = ExecuteReader(sql); using (sdr) { List<CustomerStayHisModel> listStayHis = new List<CustomerStayHisModel>(); while (sdr.Read()) { CustomerStayHisModel mStayHisNew = new CustomerStayHisModel(); mStayHisNew.HisId = ToInt32(sdr["HIS_ID"]); mStayHisNew.StayId =ToInt32(sdr["STAY_ID"]); mStayHisNew.CustomerId = ToInt32(sdr["CUSTOMER_ID"]); mStayHisNew.HisStatus = ToChar(sdr["HIS_STATUS"]); mStayHisNew.StayType = ToChar(sdr["STAY_TYPE"]); mStayHisNew.CommonInfo = new CommonModel(); mStayHisNew.CommonInfo.CreateDate = ToDateTime(sdr["CREATE_DATE"]); mStayHisNew.CommonInfo.CreateUserId = ToInt32(sdr["CREATE_USERID"]); mStayHisNew.CommonInfo.UpdateDate = ToDateTime(sdr["UPDATE_DATE"]); mStayHisNew.CommonInfo.UpdateUserId = ToInt32(sdr["UPDATE_USERID"]); listStayHis.Add(mStayHisNew); } return listStayHis; } }
public int InsertCustomerStayHis(CustomerStayHisModel mHis) { try { CUSTOMER_STAY_HIS cth = new CUSTOMER_STAY_HIS(); cth.CREATE_DATE = GetDBTime; cth.CREATE_USERID = mHis.CommonInfo.CreateUserId; cth.STAY_TYPE = mHis.StayType; cth.STAY_ID = mHis.StayId; cth.CUSTOMER_ID = mHis.CustomerId; cth.HIS_STATUS = mHis.HisStatus; cth.UPDATE_DATE = GetDBTime; cth.UPDATE_USERID = cth.CREATE_USERID; cth.START_TIME = mHis.CommonInfo.StartDate; cth.END_TIME = mHis.CommonInfo.EndDate; dc.CUSTOMER_STAY_HIS.InsertOnSubmit(cth); dc.SubmitChanges(); return cth.HIS_ID; } catch (Exception err) { throw err; } }
/// <summary> /// 开房以及修改房间信息逻辑.支持房间多人以及团体开房.支持房间人数变更以及宾客信息变更. /// </summary> /// <param name="listCustomerStayInfo"></param> /// <param name="listCustomerInfo"></param> /// <param name="eRmType"></param> /// <returns></returns> public bool OpendOrUpdateRoom(List<CustomerStayModel> listCustomerStayInfo, List<CustomerModel> listCustomerInfo, RoomLogicType eRmType) { try { if (listCustomerStayInfo[0].RoomStayType == 'D' && listCustomerStayInfo[0].Hours == 0) { throw new Exception("非钟点房,预住天数不能为零."); } if (eRmType == RoomLogicType.OpenRoom) { #region 开单 //如团体开房,则每个房间新增一个StayId foreach (CustomerStayModel mCustomerStay in listCustomerStayInfo) { int nStayId = bCustomerStay.InsertCustomerStay(mCustomerStay); BasRoomModel mRoom = new BasRoomModel(); mRoom.RoomId = mCustomerStay.RoomId; mRoom.Status = mCustomerStay.RoomInfo.Status; mRoom.CommonInfo = mCustomerStay.CommonInfo; UpdateRoomStatusByRoomId(mRoom, new SysUserInfoModel(mCustomerStay.CommonInfo.UpdateUserId)); //每个房间可能多个入住人员 foreach (CustomerModel mCustomer in listCustomerInfo) { //检查宾客信息是否存在,存在则更新较新的信息.姓名和证件号不更新 List<CustomerModel> listCustomerOld = GetExistCustomerInfo(mCustomer); int nCustomerId = 0; if (Cmn.CheckEOF(listCustomerOld)) { UpdateExsitCustomerInfo(mCustomer, listCustomerOld[0]); nCustomerId = listCustomerOld[0].CustomerId; } else { nCustomerId = bCustomer.InsertCustomer(mCustomer); } CustomerStayHisModel mHis = new CustomerStayHisModel(); mHis.StayId = nStayId; mHis.CustomerId = nCustomerId; mHis.StayType = mCustomer.CustomerStayHisInfo.StayType; mHis.HisStatus = 'E'; mHis.CommonInfo = new CommonModel(); mHis.CommonInfo.StartDate = mCustomerStay.CommonInfo.StartDate; mHis.CommonInfo.EndDate = mCustomerStay.CommonInfo.EndDate; mHis.CommonInfo.CreateDate = mCustomerStay.CommonInfo.CreateDate; mHis.CommonInfo.CreateUserId = mCustomerStay.CommonInfo.CreateUserId; bCustomerStay.InsertCustomerStayHis(mHis); } } #endregion } else { #region 修改房间信息 foreach (CustomerStayModel mCustomerStay in listCustomerStayInfo) { ObjectControls oCtrl = new ObjectControls(); oCtrl.Add(MCtrl.SetDeposit); oCtrl.Add(MCtrl.SetMainRoomId); oCtrl.Add(MCtrl.SetNotice); oCtrl.Add(MCtrl.SetPayType); oCtrl.Add(MCtrl.SetRoomId); oCtrl.Add(MCtrl.SetRoomRate); oCtrl.Add(MCtrl.SetCustomerStayStatus); oCtrl.Add(MCtrl.SetRoomStayType); oCtrl.Add(MCtrl.SetEndDate); oCtrl.Add(MCtrl.SetHours); //修改入住信息 bCustomerStay.UpdateCustomerStay(mCustomerStay, oCtrl); foreach (CustomerModel mCustomer in listCustomerInfo) { //检查宾客信息是否存在,存在则更新较新的信息.姓名和证件号不更新 List<CustomerModel> listCustomerOld = GetExistCustomerInfo(mCustomer); int nCustomerId = 0; if (Cmn.CheckEOF(listCustomerOld)) { mCustomer.CommonInfo.UpdateUserId = mCustomerStay.CommonInfo.UpdateUserId; UpdateExsitCustomerInfo(mCustomer, listCustomerOld[0]); nCustomerId = listCustomerOld[0].CustomerId; } else { nCustomerId = bCustomer.InsertCustomer(mCustomer); } CustomerStayHisModel mHis = new CustomerStayHisModel(); mHis.StayId = mCustomerStay.StayId; mHis.CustomerId = nCustomerId; oCtrl.Reset(); oCtrl.Add(MCtrl.ByStayId); oCtrl.Add(MCtrl.ByCustomerId); List<CustomerStayHisModel> listStayHis = bCustomerStay.GetStayHis(mHis, oCtrl); if (Cmn.CheckEOF(listStayHis)) { mHis.HisId = listStayHis[0].HisId; mHis.HisStatus = mCustomer.CustomerStayHisInfo.HisStatus; mHis.StayType = mCustomer.CustomerStayHisInfo.StayType; mHis.CommonInfo = new CommonModel(); mHis.CommonInfo.UpdateUserId = mCustomerStay.CommonInfo.UpdateUserId; oCtrl.Reset(); oCtrl.Add(MCtrl.SetHisStatus); oCtrl.Add(MCtrl.SetHisType); //如果用户选择将房间内某一宾客离店,则该宾客的离店时间为现在.开始时间不变 if (mHis.HisStatus == 'O') { mHis.CommonInfo.EndDate = Cmn.DateBaseDate; oCtrl.Add(MCtrl.SetEndDate); } bCustomerStay.UpdateStayHis(mHis, oCtrl); } else { mHis.StayType = mCustomer.CustomerStayHisInfo.StayType; mHis.HisStatus = mCustomer.CustomerStayHisInfo.HisStatus; mHis.CommonInfo = new CommonModel(); mHis.CommonInfo.CreateUserId = mCustomerStay.CommonInfo.UpdateUserId; mHis.CommonInfo.UpdateUserId = mCustomerStay.CommonInfo.UpdateUserId; //如宾客为新增加到该房间内的.则他的入住时间从现在开始,到该房间的预住结束时间为止. mHis.CommonInfo.StartDate = Cmn.DateBaseDate; mHis.CommonInfo.EndDate = mCustomerStay.CommonInfo.EndDate; bCustomerStay.InsertCustomerStayHis(mHis); } } } #endregion } return true; } catch (Exception err) { throw err; } }
public void UpdateSingleRoomToTeamRoom(CustomerStayModel mCustomerStay,int nMainRoomId,int nTeamMainCustomerId,SysUserInfoModel mUserInfo) { try { mCustomerStay.MainRoomId = nMainRoomId; bCustomerStay.UpdateCustomerStay(mCustomerStay, new ObjectControls(MCtrl.SetMainRoomId)); CustomerStayHisModel mHis = new CustomerStayHisModel(); mHis.StayId = mCustomerStay.StayId; if (mCustomerStay.CustomerList[0].CustomerId > 0) { if (mCustomerStay.CustomerList.Where(c => c.CustomerId == nTeamMainCustomerId).Count() == 0) { mHis.HisId = mCustomerStay.CustomerList[0].CustomerStayHisInfo.HisId; mHis.StayType = 'S'; mHis.CommonInfo = new CommonModel(); mHis.CommonInfo.UpdateUserId = mUserInfo.UserId; bCustomerStay.UpdateStayHis(mHis, new ObjectControls(MCtrl.SetHisType)); mHis.StayType = 'M'; mHis.HisStatus = 'E'; mHis.CustomerId = nTeamMainCustomerId; mHis.CommonInfo = new CommonModel(); mHis.CommonInfo.CreateUserId = mUserInfo.UserId; mHis.CommonInfo.UpdateUserId = mUserInfo.UserId; bCustomerStay.InsertCustomerStayHis(mHis); } } else { mHis.StayType = 'M'; mHis.HisStatus = 'E'; mHis.CustomerId = nTeamMainCustomerId; mHis.CommonInfo = new CommonModel(); mHis.CommonInfo.CreateUserId = mUserInfo.UserId; mHis.CommonInfo.UpdateUserId = mUserInfo.UserId; bCustomerStay.InsertCustomerStayHis(mHis); } } catch (Exception err) { throw err; } }
/// <summary> /// 返回新增成功后的ID /// </summary> /// <param name="mHis"></param> /// <returns></returns> public int InsertCustomerStayHis(CustomerStayHisModel mHis) { return dCustomerStay.InsertCustomerStayHis(mHis); }
/// <summary> /// 获取入住历时信息 /// </summary> /// <param name="mStayHis"></param> /// <param name="oCtrl"></param> /// <returns></returns> public List<CustomerStayHisModel> GetStayHis(CustomerStayHisModel mStayHis, ObjectControls oCtrl) { return dCustomerStay.GetStayHis(mStayHis, oCtrl); }
public int UpdateStayHis(CustomerStayHisModel mHis, ObjectControls oCtrl) { return dCustomerStay.UpdateStayHis(mHis, oCtrl); }