Пример #1
0
 public int InsertCustomerStay(CustomerStayModel mCustomerStay)
 {
     try
     {
         CUSTOMER_STAY_INFO cti = new CUSTOMER_STAY_INFO();
         cti.CREATE_DATE    = GetDBTime;
         cti.CREATE_USERID  = mCustomerStay.CommonInfo.CreateUserId;
         cti.DEPOSIT        = mCustomerStay.Deposit;
         cti.END_DATE       = mCustomerStay.CommonInfo.EndDate;
         cti.HOURS          = mCustomerStay.Hours;
         cti.MAIN_ROOM_ID   = mCustomerStay.MainRoomId;
         cti.NOTICE         = mCustomerStay.Notice;
         cti.PAY_TYPE       = mCustomerStay.PayType;
         cti.ROOM_ID        = mCustomerStay.RoomId;
         cti.ROOM_RATES     = mCustomerStay.RoomRate;
         cti.START_DATE     = mCustomerStay.CommonInfo.StartDate;
         cti.STATUS         = mCustomerStay.Status;
         cti.STAY_NO        = mCustomerStay.StayNo;
         cti.PAID_MONEY     = mCustomerStay.PaidMoney;
         cti.ROOM_STAY_TYPE = mCustomerStay.RoomStayType;
         cti.UPDATE_DATE    = cti.CREATE_DATE;
         cti.UPDATE_USERID  = mCustomerStay.CommonInfo.UpdateUserId;
         dc.CUSTOMER_STAY_INFO.InsertOnSubmit(cti);
         dc.SubmitChanges();
         return(cti.STAY_ID);
     }
     catch (Exception err)
     {
         throw err;
     }
 }
Пример #2
0
        public HandOverModel GetHandOverStayInfo(CustomerStayModel mCustomerStay, ObjectControls oCtrl)
        {
            string sql = "SELECT ";

            if (mCustomerStay.Status == 'I')
            {
                sql += "ISNULL(SUM(A.DEPOSIT),0) MONEY";
            }
            else
            {
                sql += "ISNULL(SUM(A.PAID_MONEY),0) MONEY";
            }
            sql += " FROM CUSTOMER_STAY_INFO A WHERE 1=1";
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByStayStatus) && oCtrl.Append(ref sql, " AND A.STATUS=" + SQL(mCustomerStay.Status)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByCreateDate) && oCtrl.Append(ref sql, " AND A.CREATE_DATE >" + SQL(mCustomerStay.CommonInfo.CreateDate)));

            sdr = ExecuteReader(sql);
            using (sdr)
            {
                HandOverModel mHandOver = new HandOverModel();

                while (sdr.Read())
                {
                    if (mCustomerStay.Status == 'I')
                    {
                        mHandOver.CurrentDeposit = ToDouble(sdr["MONEY"]);
                    }
                    else
                    {
                        mHandOver.CurrentPaidMoney = ToDouble(sdr["MONEY"]);
                    }
                }
                return(mHandOver);
            }
        }
Пример #3
0
 /// <summary>
 /// 移除消费
 /// </summary>
 private void RemoveConsume()
 {
     try
     {
         if (dgvConsumeList.SelectedRows.Count > 0)
         {
             int GoodsId = int.Parse(dgvConsumeList.SelectedRows[0].Cells["GoodsIDD"].Value.ToString());
             var query   = mCustomerStay.ConSumeDetailList.Where(c => c.GoodsId == GoodsId);
             if (query.Count() > 0)
             {
                 if (cmn.Confirm("确定删除该消费,删除后将无法恢复?"))
                 {
                     bConsume.DeleteConsumeDetail(query.First());
                     //mCustomerStay.ConSumeDetailList.Remove(query.First());
                     mCustomerStay = hml.GetStayInRoomInfo(mRoomInfo, 'I', "M");
                     BindConsumeDetail(mCustomerStay.ConSumeDetailList);
                 }
             }
         }
     }
     catch (Exception err)
     {
         cmn.Show(err.Message);
     }
 }
Пример #4
0
        private List <CustomerStayModel> GetSelectedNodesConsume(TreeNode tn, bool IsContainCurrentNode)
        {
            List <CustomerStayModel> listTmp = new List <CustomerStayModel>();
            CustomerStayModel        mSelectedRoomConsume = new CustomerStayModel();

            if (IsContainCurrentNode)
            {
                mSelectedRoomConsume = hml.GetStayInRoomInfo(new BasRoomModel(int.Parse(tn.Name)), 'I', "");
                if (mSelectedRoomConsume != null)
                {
                    listTmp.Add(mSelectedRoomConsume);
                }
            }
            foreach (TreeNode tnC in tn.Nodes)
            {
                if (tnC.Nodes.Count > 0)
                {
                    foreach (TreeNode tnC1 in tnC.Nodes)
                    {
                        mSelectedRoomConsume = hml.GetStayInRoomInfo(new BasRoomModel(int.Parse(tnC1.Name)), 'I', "");
                        if (mSelectedRoomConsume != null)
                        {
                            listTmp.Add(mSelectedRoomConsume);
                        }
                    }
                }
                mSelectedRoomConsume = hml.GetStayInRoomInfo(new BasRoomModel(int.Parse(tnC.Name)), 'I', "");
                if (mSelectedRoomConsume != null)
                {
                    listTmp.Add(mSelectedRoomConsume);
                }
            }
            return(listTmp);
        }
Пример #5
0
        private void pbtnSearch_Click(object sender, EventArgs e)
        {
            try
            {
                CustomerStayModel mCustomerStay = new CustomerStayModel();
                mCustomerStay.CommonInfo.StartDate = GetDateTimePickValue(dtpStart, cboHourS);
                mCustomerStay.CommonInfo.EndDate   = GetDateTimePickValue(dtpEnd, cboHourE);
                mCustomerStay.Status = 'O';
                ObjectControls oCtrl = new ObjectControls();

                mCustomerStay.CustomerList = new List <CustomerModel>();
                CustomerModel mc = new CustomerModel();
                mc.CustomerStayHisInfo = new CustomerStayHisModel();
                //mc.CustomerStayHisInfo.StayType = 'M';
                mc.CustomerStayHisInfo.HisStatus = 'O';//取离店宾客入住历史记录.
                mCustomerStay.CustomerList.Add(mc);

                oCtrl.Add(MCtrl.ByStayStatus);
                oCtrl.Add(MCtrl.ByHisStatus);
                oCtrl.Add(MCtrl.ByUpdateDate);
                listCustomerStay = bCustomerStay.GetCustomerStayList(mCustomerStay, oCtrl);
                BindDgv(listCustomerStay);
            }
            catch (Exception err)
            {
                cmn.Show(err.Message);
            }
        }
Пример #6
0
        public List <CustomerStayModel> GetMainRoomGroup()
        {
            string sql = @"SELECT DISTINCT A.MAIN_ROOM_ID,B.NAME,D.ROOM_NO,B.CUSTOMER_ID 
                                FROM CUSTOMER_STAY_INFO A,CUSTOMER_INFO B,CUSTOMER_STAY_HIS C,BAS_ROOM_INFO D 
                                WHERE A.STAY_ID=C.STAY_ID AND C.CUSTOMER_ID=B.CUSTOMER_ID 
                                AND A.MAIN_ROOM_ID=D.ROOM_ID 
                                AND A.STATUS='I' 
                                AND C.HIS_STATUS='E' 
                                AND C.STAY_TYPE='M' 
                                AND MAIN_ROOM_ID>0";

            sdr = ExecuteReader(sql);
            List <CustomerStayModel> listTeamRoom = new List <CustomerStayModel>();

            using (sdr)
            {
                while (sdr.Read())
                {
                    CustomerStayModel mCustomerStay = new CustomerStayModel();
                    mCustomerStay.MainRoomId      = ToInt32(sdr["MAIN_ROOM_ID"]);
                    mCustomerStay.RoomInfo.RoomNo = ToString(sdr["ROOM_NO"]);
                    mCustomerStay.CustomerList    = new List <CustomerModel>();
                    CustomerModel mc = new CustomerModel();
                    mc.CustomerId = ToInt32(sdr["CUSTOMER_ID"]);
                    mc.Name       = ToString(sdr["NAME"]);
                    mCustomerStay.CustomerList.Add(mc);
                    listTeamRoom.Add(mCustomerStay);
                }
            }
            return(listTeamRoom);
        }
Пример #7
0
        private void pbtnSearch_Click(object sender, EventArgs e)
        {
            try
            {
                CustomerStayModel mCustomerStay = new CustomerStayModel();
                oCtrl.Reset();
                mCustomerStay.ConSumeDetailList = new List <ConsumeDetailModel>();
                CustomerModel mCustomer = new CustomerModel();
                mCustomer.Name = txtCondition.Text;


                mCustomerStay.RoomInfo        = new BasRoomModel();
                mCustomerStay.RoomInfo.RoomNo = txtCondition.Text;

                if (!string.IsNullOrEmpty(txtCondition.Text))
                {
                    oCtrl.Add(MCtrl.ByNPR);
                }
                if (cboStayStaus.SelectedIndex != 0)//如果选择在住或者离店
                {
                    //mCustomerStay.Status = cmn.ToChar(cboStayStaus.SelectedValue);
                    mCustomer.CustomerStayHisInfo.HisStatus = cmn.ToChar(cboStayStaus.SelectedValue) == 'I' ? 'E' : 'O';
                    oCtrl.Add(MCtrl.ByHisStatus);
                    //oCtrl.Add(MCtrl.ByStayStatus);
                }
                else//如果选择所有,则查询his中状态不为D的宾客.E为在住,O为离店.D为删除的用户.没有意义.
                {
                    //mCustomerStay.Status = cmn.ToChar(cboStayStaus.SelectedValue);
                    mCustomer.CustomerStayHisInfo.HisStatus = 'D';
                    oCtrl.Add(MCtrl.ByHisStatusNotEqual);
                }
                if (chkByDateTime.Checked)
                {
                    mCustomer.CustomerStayHisInfo.CommonInfo.StartDate = GetDateTimePickValue(dtpStart, cboHourS);
                    mCustomer.CustomerStayHisInfo.CommonInfo.EndDate   = GetDateTimePickValue(dtpEnd, cboHourE);
                    if (mCustomer.CustomerStayHisInfo.HisStatus == 'E')
                    {
                        oCtrl.Add(MCtrl.ByHisStartTime);
                    }
                    else if (mCustomer.CustomerStayHisInfo.HisStatus == 'O')
                    {
                        oCtrl.Add(MCtrl.ByHisEndTime);
                    }
                    else
                    {
                        oCtrl.Add(MCtrl.ByHisStartOrEndTime);
                    }
                }
                mCustomerStay.CustomerList.Add(mCustomer);
                List <CustomerStayModel> listCustomerStay = bCustomerStay.GetCustomerStayList(mCustomerStay, oCtrl);
                BindDgv(listCustomerStay);
            }
            catch (Exception err)
            {
                tslblMsg.Text = err.Message;
            }
        }
Пример #8
0
 private void FormConsumeDetail_Load(object sender, EventArgs e)
 {
     listCat       = bCall.GetPhoneCatList(null, oCtrl.EmptyCtrl);
     mCustomerStay = hml.GetStayInRoomInfo(this.mCustomerStay.RoomInfo, 'O', "M");
     if (mCustomerStay != null)
     {
         listCustomerStay.Add(mCustomerStay);
         BindConsumeDetail(listCustomerStay);
     }
 }
Пример #9
0
 protected void pbClick(Object sender, EventArgs e)
 {
     try
     {
         PictureBox pb = (PictureBox)sender;
         Clickedpb = pb;
         CustomerStayModel mCustomerStay = hml.GetStayInRoomInfo(new BasRoomModel(int.Parse(pb.Tag.ToString())), 'I', "M");
         dgvPayDetail.Rows.Clear();
         if (mCustomerStay != null)
         {
             GetCustomerStayJF(mCustomerStay, IsCountPhone);
             BindConsumeDetail(mCustomerStay.ConSumeDetailList);
             lblName.Text        = mCustomerStay.CustomerList[0].Name;
             lblRoomType.Text    = mCustomerStay.RoomInfo.RoomTypeDesc;
             lblDefaultRate.Text = mCustomerStay.RoomInfo.RoomRate + "元";
             lblCurrRate.Text    = mCustomerStay.RoomRate + "元";
             lblDeposit.Text     = mCustomerStay.Deposit + "元";
             lblUsedHours.Text   = hml.GetUsedDays(mCustomerStay.CommonInfo.StartDate);
             lblTotal.Text       = hml.GetTotalRates(mCustomerStay, mCustomerStay.ConSumeDetailList, listSysParameter, cmn.DateBaseDate, dCurrentJf).ToString("0.0") + "元";
             lblStartDate.Text   = mCustomerStay.CommonInfo.StartDate.ToString("MM-dd HH:mm:ss");
             lblPhone.Text       = mCustomerStay.RoomInfo.RoomPhone;
             txtNotice.Text      = mCustomerStay.Notice;
             txtNotice.Tag       = mCustomerStay.StayId;
         }
         else
         {
             lblName.Text      = string.Empty;
             lblTotal.Text     = string.Empty;
             lblDeposit.Text   = string.Empty;
             lblUsedHours.Text = string.Empty;
             lblStartDate.Text = string.Empty;
             var query = listAllRoomInfo.Where(c => c.RoomNo == pb.Name).First();
             lblDefaultRate.Text      = query.RoomRate.ToString();
             lblRoomType.Text         = query.RoomTypeDesc;
             lblCurrRate.Text         = 0.0 + "元";
             lblPhone.Text            = query.RoomPhone;
             txtNotice.Text           = query.RoomNotice;
             txtNotice.AccessibleName = query.RoomId.ToString();
             txtNotice.Tag            = "E";
         }
         if (!string.IsNullOrEmpty(txtNotice.Text))
         {
             tbcRoomDetail.SelectedTab = tbcRoomDetail.TabPages[1];
             txtNotice.ForeColor       = Color.Red;
         }
         else
         {
             tbcRoomDetail.SelectedTab = tbcRoomDetail.TabPages[0];
         }
     }
     catch (Exception err)
     {
         cmn.Show(err.Message);
     }
 }
Пример #10
0
        /// <summary>
        /// 仅获取宾客入住信息
        /// </summary>
        /// <param name="mRoom"></param>
        /// <param name="cStayStatus"></param>
        /// <returns></returns>
        public CustomerStayModel GetCustomerStayInfoByRoom(BasRoomModel mRoom, char cStayStatus)
        {
            CustomerStayModel mStayInfo = new CustomerStayModel();
            ObjectControls    oCtrl     = new ObjectControls();

            mStayInfo.RoomId = mRoom.RoomId;
            mStayInfo.Status = cStayStatus;
            oCtrl.Add(MCtrl.ByRoomId);
            oCtrl.Add(MCtrl.ByStayStatus);
            return(bCustomerStay.GetCustomerStayInfo(mStayInfo, oCtrl));
        }
Пример #11
0
 private void LoadUIInfo()
 {
     lblRoomNo.Text     = mRoomInfo.RoomNo;
     lblRoomStatus.Text = hml.ToLookupCodeDesc("BAS_ROOM_INFO", "STATUS", mRoomInfo.Status.ToString());
     mCustomerStay      = hml.GetStayInRoomInfo(mRoomInfo, 'I', "M");
     txtNotice.Text     = mRoomInfo.RoomNotice;
     //if (mCustomerStay != null)
     //{
     //    lblDeposit.Text = mCustomerStay.Deposit.ToString();
     //    lblTotal.Text = hml.GetTotalRates(mCustomerStay, mCustomerStay.ConSumeDetailList, listSysParameter).ToString();
     //}
 }
Пример #12
0
 /// <summary>
 /// 获取电话清单
 /// </summary>
 /// <param name="mcs"></param>
 /// <param name="IsCountJF"></param>
 private void  GetCustomerStayJF(CustomerStayModel mcs, bool IsCountJF)
 {
     if (IsCountPhone)
     {
         JFModel mJf = new JFModel();
         mJf.CommonInfo.StartDate = mcs.CommonInfo.StartDate;
         mJf.CommonInfo.EndDate   = cmn.DateBaseDate;
         mJf.PhoneNoGroup         = cmn.MakeGroup(mcs.RoomInfo.RoomPhone);
         mJf.CatList = listCat;
         listJf      = hml.GetPhoneList(mJf, mJf.CommonInfo.EndDate);
     }
 }
Пример #13
0
        public List <BasRoomModel> GetTeamRoomList(CustomerStayModel mCustomerStay, ObjectControls oCtrl)
        {
            string sql = @"SELECT A.ROOM_ID,D.MAIN_ROOM_ID, A.ROOM_NO, A.ROOM_TYPE,C.CODE_DESC AS ROOM_TYPE_DESC, A.ROOM_RATES, A.STATUS, 
                             A.CREATE_DATE, A.CREATE_USERID, A.ROOM_PHONE,A.ROOM_NOTICE, A.UPDATE_DATE,A.UPDATE_USERID,
                             B.FLOOR_ID, B.FLOOR_NAME, B.STATUS AS FLOOR_STATUS
                             FROM BAS_ROOM_INFO AS A INNER JOIN
                              CUSTOMER_STAY_INFO AS D ON A.ROOM_ID=D.ROOM_ID  INNER JOIN
                             BAS_FLOOR_INFO AS B ON A.FLOOR_ID = B.FLOOR_ID
                            INNER JOIN SYS_LOOKUP_CODE AS C ON A.ROOM_TYPE=C.CODE_NO AND C.TABLE_NAME='BAS_ROOM_INFO'
                             AND C.COLUMN_NAME='ROOM_TYPE' ";

            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByRoomId) && oCtrl.Append(ref sql, " AND A.ROOM_ID=" + mCustomerStay.RoomId));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByMainRoomId) && oCtrl.Append(ref sql, " AND D.MAIN_ROOM_ID=" + mCustomerStay.MainRoomId));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByStayStatus) && oCtrl.Append(ref sql, " AND D.STATUS=" + SQL(mCustomerStay.Status)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByRoomNo) && oCtrl.Append(ref sql, " AND A.ROOM_NO=" + SQL(mCustomerStay.RoomInfo.RoomNo)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByRoomStatus) && oCtrl.Append(ref sql, " AND A.STATUS=" + SQL(mCustomerStay.RoomInfo.Status)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByRoomStatusGroup) && oCtrl.Append(ref sql, " AND A.STATUS IN (" + mCustomerStay.RoomInfo.StatusGroup + ")"));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByRoomType) && oCtrl.Append(ref sql, " AND A.ROOM_TYPE=" + SQL(mCustomerStay.RoomInfo.RoomType)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByFloorId) && oCtrl.Append(ref sql, " AND B.FLOOR_ID=" + mCustomerStay.RoomInfo.FloorInfo.FloorId));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.ByFloorName) && oCtrl.Append(ref sql, " AND B.FLOOR_NAME=" + SQL(mCustomerStay.RoomInfo.FloorInfo.FloorName)));
            sdr = ExecuteReader(sql);
            List <BasRoomModel> listRoomInfo = new List <BasRoomModel>();

            using (sdr)
            {
                while (sdr.Read())
                {
                    BasRoomModel mBasRoomInfo = new BasRoomModel();
                    mBasRoomInfo.RoomId                  = ToInt32(sdr["ROOM_ID"]);
                    mBasRoomInfo.MainRoomId              = ToInt32(sdr["MAIN_ROOM_ID"]);
                    mBasRoomInfo.RoomNo                  = ToString(sdr["ROOM_NO"]);
                    mBasRoomInfo.RoomPhone               = ToString(sdr["ROOM_PHONE"]);
                    mBasRoomInfo.RoomRate                = ToDouble(sdr["ROOM_RATES"]);
                    mBasRoomInfo.RoomType                = ToChar(sdr["ROOM_TYPE"]);
                    mBasRoomInfo.RoomTypeDesc            = ToString(sdr["ROOM_TYPE_DESC"]);
                    mBasRoomInfo.RoomNotice              = ToString(sdr["ROOM_NOTICE"]);
                    mBasRoomInfo.Status                  = ToChar(sdr["STATUS"]);
                    mBasRoomInfo.CommonInfo              = new CommonModel();
                    mBasRoomInfo.CommonInfo.CreateDate   = ToDateTime(sdr["CREATE_DATE"]);
                    mBasRoomInfo.CommonInfo.CreateUserId = ToInt32(sdr["CREATE_USERID"]);
                    mBasRoomInfo.CommonInfo.UpdateDate   = ToDateTime(sdr["UPDATE_DATE"]);
                    mBasRoomInfo.CommonInfo.UpdateUserId = ToInt32(sdr["UPDATE_USERID"]);
                    mBasRoomInfo.FloorInfo               = new BasFloorModel();
                    mBasRoomInfo.FloorInfo.FloorId       = ToInt32(sdr["FLOOR_ID"]);
                    mBasRoomInfo.FloorInfo.FloorName     = ToString(sdr["FLOOR_NAME"]);
                    mBasRoomInfo.FloorInfo.Status        = ToChar(sdr["FLOOR_STATUS"]);
                    listRoomInfo.Add(mBasRoomInfo);
                }
            }
            return(listRoomInfo);
        }
Пример #14
0
        /// <summary>
        /// 获取在宾客信息清单
        /// </summary>
        /// <param name="listRoomInfo"></param>
        /// <param name="cStayStatus">该入住单是否在住</param>
        /// <param name="sStayType">宾客类型,主客Or从客</param>
        /// <param name="HisStayStatus">宾客是否退房</param>
        /// <param name="IsCountConsume">是否统计消费</param>
        /// <returns></returns>
        public List <CustomerStayModel> GetStayInRoomInfo(List <BasRoomModel> listRoomInfo, char cStayStatus, string sStayType, bool IsCountConsume)
        {
            List <CustomerStayModel> listCustomerStayInfo = new List <CustomerStayModel>();

            CustomerStayModel mStayInfo = new CustomerStayModel();
            ObjectControls    oCtrl     = new ObjectControls();

            foreach (BasRoomModel mRoom in listRoomInfo)
            {
                mStayInfo.RoomInfo.RoomIdGroup += Cmn.MakeGroup(mRoom.RoomId.ToString());
            }
            mStayInfo.RoomInfo.RoomIdGroup = Cmn.RemoveLastDou(mStayInfo.RoomInfo.RoomIdGroup);

            mStayInfo.Status       = cStayStatus;
            mStayInfo.CustomerList = new List <CustomerModel>();
            CustomerModel mc = new CustomerModel();

            mc.CustomerStayHisInfo = new CustomerStayHisModel();
            if (!string.IsNullOrEmpty(sStayType))
            {
                mc.CustomerStayHisInfo.StayType = Cmn.ToChar(sStayType);
                oCtrl.Add(MCtrl.ByStayType);
            }
            mc.CustomerStayHisInfo.HisStatus = cStayStatus == 'I' ? 'E' : 'O';
            mStayInfo.CustomerList.Add(mc);
            if (Cmn.CheckEOF(listRoomInfo))
            {
                oCtrl.Add(MCtrl.ByRoomIdGroup);
            }
            oCtrl.Add(MCtrl.ByStayStatus);
            oCtrl.Add(MCtrl.ByHisStatus);
            listCustomerStayInfo = bCustomerStay.GetCustomerStayList(mStayInfo, oCtrl);
            if (Cmn.CheckEOF(listCustomerStayInfo) && IsCountConsume)
            {
                foreach (CustomerStayModel mCustomerStay in listCustomerStayInfo)
                {
                    List <ConsumeDetailModel> listGetConsumeDetail = new List <ConsumeDetailModel>();
                    ConsumeDetailModel        mConsume             = new ConsumeDetailModel();
                    mConsume.StayId = mCustomerStay.StayId;
                    oCtrl.Reset();
                    oCtrl.Add(MCtrl.ByStayId);
                    listGetConsumeDetail = bConsume.GetConsumeList(mConsume, oCtrl);
                    if (Cmn.CheckEOF(listGetConsumeDetail))
                    {
                        mCustomerStay.ConSumeDetailList = listGetConsumeDetail;
                    }
                }
            }

            return(listCustomerStayInfo);
        }
Пример #15
0
        /// <summary>
        /// 更新团体房间的MainId,用于将团体房变为散客房
        /// </summary>
        /// <param name="mCustomerStay"></param>
        /// <returns></returns>
        public bool UpdateCustomerStayMainRoomId(CustomerStayModel mCustomerStay)
        {
            try
            {
                ObjectControls oCtrl = new ObjectControls();
                oCtrl.Add(MCtrl.ByStayStatus);
                oCtrl.Add(MCtrl.ByMainRoomId);
                //获取该房所在的团体所有房间
                List <BasRoomModel> listTeamRoom = bRoom.GetTeamRoomList(mCustomerStay, oCtrl);
                //是否有其他房间可以作为主房间
                var query = listTeamRoom.Where(c => c.RoomId != mCustomerStay.RoomId);
                if (query.Count() > 0)
                {
                    if (Cmn.Confirm(string.Format("房间{0}是主房间,变为散客房之后,团队的主房间将变为{1},继续?", mCustomerStay.RoomInfo.RoomNo, query.First().RoomNo)))
                    {
                        List <CustomerStayModel> listTeamCustomer = new List <CustomerStayModel>();
                        listTeamCustomer = GetStayInRoomInfo(listTeamRoom, 'I', "M", false);

                        int nMainRoomId = query.First().RoomId;
                        foreach (CustomerStayModel mcs in listTeamCustomer)
                        {
                            if (mcs.RoomId == mCustomerStay.RoomId)
                            {
                                mcs.MainRoomId = -1;;
                            }
                            else
                            {
                                mcs.MainRoomId = nMainRoomId;
                            }
                            bCustomerStay.UpdateCustomerStay(mcs, new ObjectControls(MCtrl.SetMainRoomId));
                        }
                        return(true);
                    }
                }
                else
                {
                    throw new Exception("无主房间可供接替,无法变更为散客房!");
                }
                return(false);
            }
            catch (Exception err)
            {
                throw err;
            }
        }
Пример #16
0
        /// <summary>
        /// 获取交接班信息
        /// </summary>
        /// <returns></returns>
        public HandOverModel GetHandOverInfo()
        {
            try
            {
                HandOverInfo         bHandOver     = new HandOverInfo();
                int                  nHandOverId   = bHandOver.GetHandOverLatestId();
                ObjectControls       oCtrl         = new ObjectControls();
                List <HandOverModel> listHandOver  = new List <HandOverModel>();
                HandOverModel        mHandOver     = new HandOverModel();
                CustomerStayModel    mCustomerStay = new CustomerStayModel();

                if (nHandOverId > 0)
                {
                    mHandOver.HandOverId = nHandOverId;
                    listHandOver         = bHandOver.GetHandOverList(mHandOver, new ObjectControls(MCtrl.ByHandOverId));
                    if (Cmn.CheckEOF(listHandOver))
                    {
                        mCustomerStay.CommonInfo.CreateDate = listHandOver[0].CommonInfo.EndDate;
                        mHandOver.CommonInfo.StartDate      = listHandOver[0].CommonInfo.EndDate;
                        mHandOver.FromLastMoney             = listHandOver[0].ToNextMoney;
                    }
                }
                else
                {
                    mCustomerStay.CommonInfo.CreateDate = DateTime.Parse("2005-01-01");
                    mHandOver.CommonInfo.StartDate      = mCustomerStay.CommonInfo.CreateDate;
                    mHandOver.FromLastMoney             = 0.0;
                }
                oCtrl.Add(MCtrl.ByCreateDate);
                mCustomerStay.Status = 'I';
                oCtrl.Add(MCtrl.ByStayStatus);
                mHandOver.CurrentDeposit     = bCustomerStay.GetHandOverStayInfo(mCustomerStay, oCtrl).CurrentDeposit;
                mCustomerStay.Status         = 'O';
                mHandOver.CurrentPaidMoney   = bCustomerStay.GetHandOverStayInfo(mCustomerStay, oCtrl).CurrentPaidMoney;
                mHandOver.CommonInfo.EndDate = Cmn.DateBaseDate;
                mHandOver.HandInMoney        = 0;
                mHandOver.HandOverMoney      = mHandOver.FromLastMoney + mHandOver.CurrentDeposit + mHandOver.CurrentPaidMoney;
                mHandOver.ToNextMoney        = mHandOver.HandOverMoney;
                return(mHandOver);
            }
            catch (Exception err)
            {
                throw err;
            }
        }
Пример #17
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;
            }
        }
Пример #18
0
        /// <summary>
        /// 计算总费用
        /// </summary>
        /// <param name="mCustomerStay">宾客信息</param>
        /// <param name="listConsumeInfo">费用明细</param>
        /// <param name="listSysParameter">系统参数</param>
        /// <param name="dtNow">当前时间</param>
        /// <param name="mJf">电话号码,入住起始结束时间</param>
        /// <returns></returns>
        public double GetTotalRates(CustomerStayModel mCustomerStay, List <ConsumeDetailModel> listConsumeInfo, List <SysParameterModel> listSysParameter, DateTime dtNow, double dPhoneRate)
        {
            DateTime dtEndDate = dtNow;
            double   dTotal    = 0.0;

            #region 计算商品费用

            if (Cmn.CheckEOF(listConsumeInfo))
            {
                foreach (ConsumeDetailModel mConsume in listConsumeInfo)
                {
                    dTotal += mConsume.Total;
                }
            }

            #endregion

            #region 计算电话费用

            if (dPhoneRate > 0 && ToParameter(listSysParameter, "PHONE_JF").Value1.Equals("Y"))
            {
                //List<JFModel> listJF = new List<JFModel>();
                //listJF = GetPhoneList(mJf, dtNow);
                dTotal += dPhoneRate;//GetPhoneJFFromWS(listJF, mJf.CatList);
            }
            #endregion

            #region 计算房间费

            if (mCustomerStay.RoomStayType == 'D')
            {
                double dDays = GetCustomerStayDays(mCustomerStay.CommonInfo.StartDate, dtEndDate, dtNow, RoomStayType.Day, listSysParameter);
                dTotal += mCustomerStay.RoomRate * dDays;
            }
            else
            {
                double dHour = GetStayHours(mCustomerStay.CommonInfo.StartDate, dtEndDate, listSysParameter);
                dTotal += mCustomerStay.RoomRate * dHour;
            }

            #endregion

            return(dTotal);
        }
Пример #19
0
 /// <summary>
 /// 增加消费
 /// </summary>
 private void AddConsume()
 {
     try
     {
         if (dgvGoodsList.SelectedRows.Count == 0)
         {
             return;
         }
         if (int.Parse(txtNumber.Text) <= 0 || !cmn.Confirm("确定增加商品" + dgvGoodsList.SelectedRows[0].Cells["GoodsName"].Value.ToString() + " 数量为" + txtNumber.Text))
         {
             return;
         }
         int GoodsId = int.Parse(dgvGoodsList.SelectedRows[0].Cells["GoodsId"].Value.ToString());
         var query   = mCustomerStay.ConSumeDetailList.Where(c => c.GoodsId == GoodsId);
         ConsumeDetailModel mConsumeNew = new ConsumeDetailModel();
         mConsumeNew.GoodsId             = GoodsId;
         mConsumeNew.GoodsInfo           = new BasGoodsModel();
         mConsumeNew.GoodsInfo.GoodsName = dgvGoodsList.SelectedRows[0].Cells["GoodsName"].Value.ToString();
         mConsumeNew.StayId     = mCustomerStay.StayId;
         mConsumeNew.Number     = txtNumber.Text.Equals("") ? 1 : cmn.CheckIsDouble(txtNumber, "消费数量");
         mConsumeNew.UnitPrice  = double.Parse(dgvGoodsList.SelectedRows[0].Cells["Price"].Value.ToString());
         mConsumeNew.Total      = mConsumeNew.Number * mConsumeNew.UnitPrice;
         mConsumeNew.CommonInfo = new CommonModel();
         mConsumeNew.CommonInfo.CreateUserId   = UserInfo.UserId;
         mConsumeNew.CommonInfo.CreateUserName = UserInfo.UserName;
         mConsumeNew.CommonInfo.CreateDate     = cmn.DateBaseDate;
         mConsumeNew.CommonInfo.UpdateUserId   = UserInfo.UserId;
         //mCustomerStay.ConSumeDetailList.Add(mConsumeNew);
         //if (!listAddGoods.Contains(GoodsId))
         //{
         //    listAddGoods.Add(GoodsId);
         //}
         txtNumber.Text = "1";
         bConsume.InsertConsumeDetail(mConsumeNew);
         mCustomerStay = hml.GetStayInRoomInfo(mRoomInfo, 'I', "M");
         BindConsumeDetail(mCustomerStay.ConSumeDetailList);
     }
     catch (Exception err)
     {
         cmn.Show(err.Message);
     }
 }
Пример #20
0
        private void tsPayMoney_Click(object sender, EventArgs e)
        {
            BasRoomModel mRoomNo = GetKeyRoomNo();

            if (mRoomNo != null)
            {
                CustomerStayModel mCustomerStay = hml.GetStayInRoomInfo(mRoomNo, 'I', "M");
                if (mCustomerStay != null)
                {
                    FormPayMoney frmPayMoney = new FormPayMoney(mRoomNo);
                    if (frmPayMoney.ShowDialog() == DialogResult.OK)
                    {
                        ShowRoom(mRoomNo.FloorInfo.FloorId);
                    }
                }
                else
                {
                    cmn.Show("非占用房间无法使用本功能.");
                }
            }
        }
Пример #21
0
        private void tsmModifyRegister_Click(object sender, EventArgs e)
        {
            BasRoomModel mRoomNo = GetSelectRoomNo(GetSelectPBX(ptcts));

            if (mRoomNo != null)
            {
                CustomerStayModel mCustomerStay = hml.GetStayInRoomInfo(mRoomNo, 'I', "M");
                if (mCustomerStay != null)
                {
                    FormOneCustomer frmOne = new FormOneCustomer(mRoomNo);
                    if (frmOne.ShowDialog() == DialogResult.OK)
                    {
                        ShowRoom(mRoomNo.FloorInfo.FloorId);
                    }
                }
                else
                {
                    cmn.Show("非占用房间无法使用本功能.");
                }
            }
        }
Пример #22
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                if (mCustomerStay.Deposit + cmn.CheckIsDouble(txtDeposit, "押金") < 0)
                {
                    throw new Exception("退还押金数不可以大于预付押金数!");
                }
                mCustomerStay.Deposit += cmn.CheckIsDouble(txtDeposit, "押金");
                int nOverStayDays = cmn.CheckIsInt(txtOverStayDays, "续住天数");
                oCtrl.Reset();
                if (nOverStayDays > 0)
                {
                    mCustomerStay.CommonInfo.EndDate = mCustomerStay.CommonInfo.EndDate > cmn.DateBaseDate ? mCustomerStay.CommonInfo.EndDate.AddDays(nOverStayDays) : DateTime.Parse(cmn.DateBaseDate.AddDays(nOverStayDays).ToShortDateString() + " " + mCustomerStay.CommonInfo.EndDate.ToShortTimeString());
                    mCustomerStay.Hours = Convert.ToInt32(hml.GetCustomerStayDays(mCustomerStay.CommonInfo.StartDate, mCustomerStay.CommonInfo.EndDate, cmn.DateBaseDate, RoomStayType.Day, listSysParameter) * 24);
                    oCtrl.Add(MCtrl.SetEndDate);
                    oCtrl.Add(MCtrl.SetHours);
                }
                oCtrl.Add(MCtrl.SetDeposit);

                if (bCustomerStay.UpdateCustomerStay(mCustomerStay, oCtrl) > 0)
                {
                    CustomerStayModel mcs = hml.GetStayInRoomInfo(mCustomerStay.RoomInfo, 'I', "");
                    foreach (CustomerModel mc in mcs.CustomerList)
                    {
                        mc.CustomerStayHisInfo.CommonInfo.EndDate = mCustomerStay.CommonInfo.EndDate;
                        oCtrl.Reset();
                        oCtrl.Add(MCtrl.SetEndDate);
                        bCustomerStay.UpdateStayHis(mc.CustomerStayHisInfo, oCtrl);
                    }

                    this.DialogResult = DialogResult.OK;
                    this.Close();
                }
            }
            catch (Exception err)
            {
                cmn.Show(err.Message);
            }
        }
Пример #23
0
        private void button1_Click(object sender, EventArgs e)
        {
            CustomerStayInfo  bs  = new CustomerStayInfo();
            CustomerStayModel mcs = new CustomerStayModel();

            mcs.Status = 'O';
            oCtrl.Reset();
            oCtrl.Add(MCtrl.ByStayStatus);
            List <CustomerStayModel> listC = bs.GetCustomerStayList(mcs, oCtrl);

            foreach (CustomerStayModel m in listC)
            {
                foreach (CustomerModel c in m.CustomerList)
                {
                    if (c.CustomerStayHisInfo.HisStatus == 'E')
                    {
                        c.CustomerStayHisInfo.CommonInfo.EndDate = m.CommonInfo.EndDate;
                        bs.UpdateStayHis(c.CustomerStayHisInfo, new ObjectControls(MCtrl.SetEndDate));
                    }
                }
            }

            bs         = new CustomerStayInfo();
            mcs        = new CustomerStayModel();
            mcs.Status = 'I';
            oCtrl.Reset();
            oCtrl.Add(MCtrl.ByStayStatus);
            listC = bs.GetCustomerStayList(mcs, oCtrl);
            foreach (CustomerStayModel m in listC)
            {
                foreach (CustomerModel c in m.CustomerList)
                {
                    if (c.CustomerStayHisInfo.HisStatus == 'E')
                    {
                        c.CustomerStayHisInfo.CommonInfo.EndDate = m.CommonInfo.EndDate;
                        bs.UpdateStayHis(c.CustomerStayHisInfo, new ObjectControls(MCtrl.SetEndDate));
                    }
                }
            }
        }
Пример #24
0
 private void pbxAdd_Click(object sender, EventArgs e)
 {
     if (tvUsedRooms.SelectedNode == null)
     {
         return;
     }
     if (tvUsedRooms.SelectedNode.Level > 1)
     {
         MessageBox.Show("团队房间不能单独结账");
         return;
     }
     if (tvUsedRooms.SelectedNode.Level == 1)
     {
         TreeNode tn = new TreeNode();
         tn = (TreeNode)tvUsedRooms.SelectedNode.Clone();
         if (!tvPayRooms.Nodes[0].Nodes.Contains(tn))
         {
             tvPayRooms.Nodes[0].Nodes.Add(tn);
             tvUsedRooms.SelectedNode.Remove();
             CustomerStayModel mSelectedRoomConsume = new CustomerStayModel();
             mSelectedRoomConsume = hml.GetStayInRoomInfo(new BasRoomModel(int.Parse(tn.Name)), 'I', "");
             if (listCustomerStay.Where(c => c.RoomId == int.Parse(tn.Name)).Count() == 0)
             {
                 listCustomerStay.Add(mSelectedRoomConsume);
             }
             foreach (TreeNode tn1 in tn.Nodes)
             {
                 mSelectedRoomConsume = hml.GetStayInRoomInfo(new BasRoomModel(int.Parse(tn1.Name)), 'I', "");
                 if (listCustomerStay.Where(c => c.RoomId == int.Parse(tn1.Name)).Count() == 0)
                 {
                     listCustomerStay.Add(mSelectedRoomConsume);
                 }
             }
             BindConsumeDetail(listCustomerStay);
             CalculateTotal();
         }
     }
 }
Пример #25
0
        /// <summary>
        /// 获取宾客入住信息,消费明细
        /// </summary>
        /// <param name="mRoom">房间信息</param>
        /// <param name="cStayStatus">入住状态 I In / O off</param>
        /// <param name="sStayType">入住类型,主客M从客S,如包含主从则为""</param>
        /// <returns></returns>
        public CustomerStayModel GetStayInRoomInfo(BasRoomModel mRoom, char cStayStatus, string sStayType)
        {
            CustomerStayModel mStayInfo = new CustomerStayModel();
            ObjectControls    oCtrl     = new ObjectControls();

            mStayInfo.RoomId       = mRoom.RoomId;
            mStayInfo.Status       = cStayStatus;
            mStayInfo.CustomerList = new List <CustomerModel>();
            CustomerModel mc = new CustomerModel();

            mc.CustomerStayHisInfo = new CustomerStayHisModel();
            if (!string.IsNullOrEmpty(sStayType))
            {
                mc.CustomerStayHisInfo.StayType = Cmn.ToChar(sStayType);
                oCtrl.Add(MCtrl.ByStayType);
            }
            mc.CustomerStayHisInfo.HisStatus = cStayStatus == 'I' ? 'E' : 'O';
            mStayInfo.CustomerList.Add(mc);
            oCtrl.Add(MCtrl.ByRoomId);
            oCtrl.Add(MCtrl.ByStayStatus);
            oCtrl.Add(MCtrl.ByHisStatus);
            CustomerStayModel mCustomerStay = bCustomerStay.GetCustomerStayInfo(mStayInfo, oCtrl);

            if (mCustomerStay != null)
            {
                List <ConsumeDetailModel> listGetConsumeDetail = new List <ConsumeDetailModel>();
                ConsumeDetailModel        mConsume             = new ConsumeDetailModel();
                mConsume.StayId = mCustomerStay.StayId;
                oCtrl.Reset();
                oCtrl.Add(MCtrl.ByStayId);
                listGetConsumeDetail = bConsume.GetConsumeList(mConsume, oCtrl);
                if (Cmn.CheckEOF(listGetConsumeDetail))
                {
                    mCustomerStay.ConSumeDetailList = listGetConsumeDetail;
                }
            }
            return(mCustomerStay);
        }
Пример #26
0
 private void LoadUIInfo()
 {
     try
     {
         mCustomerStay = hml.GetStayInRoomInfo(mRoomInfo, 'I', "M");
         if (mCustomerStay != null)
         {
             if (mCustomerStay.CommonInfo.EndDate.Date <= cmn.DateBaseDate.Date)
             {
                 throw new Exception("已到达退房日期,请先续住后再换房");
             }
             lblRoomNo.Text = mRoomInfo.RoomNo;
             oCtrl.Reset();
             oCtrl.Add(MCtrl.ByRoomStatus);
             BasRoomModel mRoom = new BasRoomModel();
             mRoom.Status = 'E';
             listRoomInfo = bRoom.GetRoomInfo(mRoom, oCtrl);
             if (cmn.CheckEOF(listRoomInfo))
             {
                 cboNewRoom.DataSource    = listRoomInfo;
                 cboNewRoom.DisplayMember = "RoomNo";
                 cboNewRoom.ValueMember   = "RoomId";
                 txtRoomRate.Text         = listRoomInfo[0].RoomRate.ToString();
             }
         }
         else
         {
             throw new Exception("该房间无入住信息,无法换房");
         }
     }
     catch (Exception err)
     {
         cmn.Show(err.Message);
         this.Close();
     }
 }
Пример #27
0
 /// <summary>
 /// 保存备注信息.如房间已近入住,则备注保存于CUSTOMER_STAY_INFO 的notice,否则保存到BAS_ROOM_INFO 的ROOM_NOTICE栏位
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void pbtnSaveNotice_Click(object sender, EventArgs e)
 {
     if (txtNotice.Tag != null && cmn.Confirm("保存备注?"))
     {
         if (txtNotice.Tag.ToString() == "E")
         {
             BasRoomModel mr = new BasRoomModel();
             mr.RoomId     = int.Parse(txtNotice.AccessibleName);
             mr.RoomNotice = txtNotice.Text;
             mr.CommonInfo.UpdateUserId = UserInfo.UserId;
             bRoomInfo.UpdateRoomInfo(mr, new ObjectControls(MCtrl.SetNotice));
         }
         else
         {
             CustomerStayModel mcs = new CustomerStayModel();
             mcs.StayId = int.Parse(txtNotice.Tag.ToString());
             mcs.Notice = txtNotice.Text;
             mcs.CommonInfo.UpdateUserId = UserInfo.UserId;
             bStay.UpdateCustomerStay(mcs, new ObjectControls(MCtrl.SetNotice));
         }
         cmn.Show("保存完毕!");
         ShowRoom(int.Parse(tbcRoomInfo.SelectedTab.Name));
     }
 }
Пример #28
0
        public int UpdateCustomerStay(CustomerStayModel mCustomerStay, ObjectControls oCtrl)
        {
            string sql = "UPDATE  CUSTOMER_STAY_INFO SET CREATE_DATE=CREATE_DATE";

            oCtrl.Helper(oCtrl.Exsit(MCtrl.SetStayNo) && oCtrl.Append(ref sql, ",STAY_NO=" + SQL(mCustomerStay.StayNo)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.SetRoomId) && oCtrl.Append(ref sql, ",ROOM_ID=" + SQL(mCustomerStay.RoomId)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.SetMainRoomId) && oCtrl.Append(ref sql, ",MAIN_ROOM_ID=" + SQL(mCustomerStay.MainRoomId)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.SetHours) && oCtrl.Append(ref sql, ",HOURS=" + SQL(mCustomerStay.Hours)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.SetRoomStayType) && oCtrl.Append(ref sql, ",ROOM_STAY_TYPE=" + SQL(mCustomerStay.RoomStayType)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.SetStartDate) && oCtrl.Append(ref sql, ",START_DATE=" + SQL(mCustomerStay.CommonInfo.StartDate)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.SetEndDate) && oCtrl.Append(ref sql, ",END_DATE=" + SQL(mCustomerStay.CommonInfo.EndDate)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.SetDeposit) && oCtrl.Append(ref sql, ",DEPOSIT=" + SQL(mCustomerStay.Deposit)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.SetRoomRate) && oCtrl.Append(ref sql, ",ROOM_RATES=" + SQL(mCustomerStay.RoomRate)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.SetTotal) && oCtrl.Append(ref sql, ",TOTAL_MONEY=" + SQL(mCustomerStay.Total)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.SetPayType) && oCtrl.Append(ref sql, ",PAY_TYPE=" + SQL(mCustomerStay.PayType)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.SetCustomerStayStatus) && oCtrl.Append(ref sql, ",STATUS=" + SQL(mCustomerStay.Status)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.SetPaidMoney) && oCtrl.Append(ref sql, ",PAID_MONEY=" + SQL(mCustomerStay.PaidMoney)));
            oCtrl.Helper(oCtrl.Exsit(MCtrl.SetNotice) && oCtrl.Append(ref sql, ",NOTICE=" + SQL(mCustomerStay.Notice)));

            sql += ",UPDATE_DATE=" + SQL(GetDBTime);
            sql += ",UPDATE_USERID=" + SQL(mCustomerStay.CommonInfo.UpdateUserId);
            sql += " WHERE STAY_ID=" + mCustomerStay.StayId;
            return(ExcuteNonQuery(sql));
        }
Пример #29
0
        /// <summary>
        /// 根据一个RoomId获取团队所有房间
        /// </summary>
        /// <param name="mRoom"></param>
        /// <returns></returns>
        public List <BasRoomModel> GetTeamRoomListByRoomId(BasRoomModel mRoom, char cStayStatus)
        {
            CustomerStayModel mCustomerStay = new CustomerStayModel();

            mCustomerStay.RoomId = mRoom.RoomId;
            mCustomerStay.Status = cStayStatus;
            ObjectControls oCtrl = new ObjectControls();

            oCtrl.Add(MCtrl.ByStayStatus);
            oCtrl.Add(MCtrl.ByRoomId);
            CustomerStayModel mC = bCustomerStay.GetCustomerStayInfo(mCustomerStay, oCtrl);

            if (mC.MainRoomId > 0)
            {
                oCtrl.Reset();
                oCtrl.Add(MCtrl.ByStayStatus);
                oCtrl.Add(MCtrl.ByMainRoomId);
                return(bRoom.GetTeamRoomList(mC, oCtrl));
            }
            else
            {
                return(new List <BasRoomModel>());
            }
        }
Пример #30
0
        private void LoadUIInfo()
        {
            try
            {
                List <BasRoomModel> listRoom = new List <BasRoomModel>();
                BasRoomModel        mRoom    = new BasRoomModel();
                dtmNow               = cmn.DateBaseDate;
                mRoom.StatusGroup    = "'I','T'";
                IsCountPhone         = hml.ToParameter(listSysParameter, "PHONE_JF").Value1.Equals("Y") ? true : false;
                btnPhoneList.Visible = IsCountPhone;
                listCat              = bCall.GetPhoneCatList(null, oCtrl.EmptyCtrl);

                listRoom = bRoom.GetRoomInfo(mRoom, new ObjectControls(MCtrl.ByRoomStatusGroup));
                BindCodeInfo(cboPayType, "CUSTOMER_STAY_INFO", "PAY_TYPE");
                char cPayType = 'C';
                if (mRoomInfo.Status == 'I')
                {
                    #region 散客结账
                    mCustomerStay = hml.GetStayInRoomInfo(mRoomInfo, 'I', "");
                    if (mCustomerStay != null)
                    {
                        listCustomerStay.Add(mCustomerStay);
                        lblRoomNo.Text       = mRoomInfo.RoomNo;
                        txtStayNo.Text       = hml.GetStayNo(mCustomerStay.StayId, listSysParameter);
                        lblMainCustomer.Text = mCustomerStay.CustomerList[0].Name;
                        if (cmn.CheckEOF(mCustomerStay.CustomerList))
                        {
                            if (cmn.FileExsit(cmn.GetImgFilePath(mCustomerStay.CustomerList[0].Picture)))
                            {
                                pbxUserImg.Image = Image.FromFile(cmn.GetImgFilePath(mCustomerStay.CustomerList[0].Picture));
                            }
                            else
                            {
                                pbxUserImg.Image = mCustomerStay.CustomerList[0].Sex == "男" ? Properties.Resources.DefaultMan : Properties.Resources.DefaultWoman;
                            }
                            pbxUserImg.Size = pbxUserImg.Image.Size;
                        }
                        cPayType       = mCustomerStay.PayType;
                        txtNotice.Text = mCustomerStay.Notice;
                        var q = listRoom.Where(c => c.RoomId == mRoomInfo.RoomId).First();
                        listRoom.Remove(q);
                        BindTreeViewRoom(tvUsedRooms, listRoom, "入住房间");
                        listRoom = new List <BasRoomModel>();
                        listRoom.Add(mRoomInfo);
                        BindTreeViewRoom(tvPayRooms, listRoom, "结账房间");
                        BindConsumeDetail(listCustomerStay);
                    }
                    else
                    {
                        cmn.Show("该房间不存在消费记录!");
                        this.Dispose();
                        return;
                    }
                    #endregion
                }
                else if (mRoomInfo.Status == 'T')
                {
                    #region 团队结账
                    List <BasRoomModel> listTeamRoom = hml.GetTeamRoomListByRoomId(mRoomInfo, 'I');
                    if (cmn.CheckEOF(listTeamRoom))
                    {
                        BindTreeViewRoom(tvPayRooms, listTeamRoom, "结账房间");
                        foreach (BasRoomModel mTeamRoom in listTeamRoom)
                        {
                            listRoom.Remove(listRoom.Where(c => c.RoomId == mTeamRoom.RoomId).FirstOrDefault());
                        }
                        listCustomerStay = hml.GetStayInRoomInfo(listTeamRoom, 'I', "", true);

                        BindTreeViewRoom(tvUsedRooms, listRoom, "入住房间");
                        BindConsumeDetail(listCustomerStay);

                        lblRoomNo.Text       = "结账区域房间";
                        txtStayNo.Text       = hml.GetStayNo(mCustomerStay.StayId, listSysParameter);
                        lblMainCustomer.Text = listCustomerStay[0].CustomerList[0].Name;
                        if (cmn.CheckEOF(listCustomerStay[0].CustomerList))
                        {
                            if (cmn.FileExsit(cmn.GetImgFilePath(listCustomerStay[0].CustomerList[0].Picture)))
                            {
                                pbxUserImg.Image = Image.FromFile(cmn.GetImgFilePath(listCustomerStay[0].CustomerList[0].Picture));
                            }
                            else
                            {
                                pbxUserImg.Image = listCustomerStay[0].CustomerList[0].Sex == "男" ? Properties.Resources.DefaultMan : Properties.Resources.DefaultWoman;
                            }
                            pbxUserImg.Size = pbxUserImg.Image.Size;
                        }
                        cPayType       = listCustomerStay[0].PayType;
                        txtNotice.Text = listCustomerStay[0].Notice;
                    }
                    #endregion
                }
                else
                {
                    cmn.Show("该房间不存在消费记录!");
                    this.Close();
                }
                cboPayType.SelectedIndex = GetComboxIndexByKey(cboPayType, cPayType);
                CalculateTotal();
                CalculateChange();
            }
            catch (Exception err)
            {
                cmn.Show(err.Message);
            }
        }