Exemple #1
0
        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);
        }
Exemple #2
0
        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;
            }
        }
Exemple #3
0
 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;
     }
 }
Exemple #4
0
        /// <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;
            }
        }
Exemple #5
0
        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;
            }
        }
Exemple #6
0
 /// <summary>
 /// 返回新增成功后的ID
 /// </summary>
 /// <param name="mHis"></param>
 /// <returns></returns>
 public int InsertCustomerStayHis(CustomerStayHisModel mHis)
 {
     return dCustomerStay.InsertCustomerStayHis(mHis);
 }
Exemple #7
0
 /// <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);
 }
Exemple #8
0
 public int UpdateStayHis(CustomerStayHisModel mHis, ObjectControls oCtrl)
 {
     return dCustomerStay.UpdateStayHis(mHis, oCtrl);
 }