⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 roomsalestaticdlg.cpp

📁 系统主要包括住宿管理,客房管理,查询统计,报表管理,系统设置五个模块,适用于中小型宾馆酒店。
💻 CPP
字号:
// Roomsalestaticdlg.cpp : implementation file
//

#include "stdafx.h"
#include "Myhotel.h"
#include "Roomsalestaticdlg.h"
#include <stdlib.h>
#include <stdio.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CMyhotelApp theApp; 
extern CString loguserid;
/////////////////////////////////////////////////////////////////////////////
// CRoomsalestaticdlg dialog


CRoomsalestaticdlg::CRoomsalestaticdlg(CWnd* pParent /*=NULL*/)
	: CDialog(CRoomsalestaticdlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CRoomsalestaticdlg)
	m_selectstaticyear = _T("");
	m_showuser = _T("");
	//}}AFX_DATA_INIT
}


void CRoomsalestaticdlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CRoomsalestaticdlg)
	DDX_Control(pDX, IDC_LIST_roomsalestatic, m_roomsalestatic_list);
	DDX_CBString(pDX, IDC_COMBO_selectstaticyear, m_selectstaticyear);
	DDX_Text(pDX, IDC_STATICshowuser, m_showuser);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CRoomsalestaticdlg, CDialog)
	//{{AFX_MSG_MAP(CRoomsalestaticdlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRoomsalestaticdlg message handlers

void CRoomsalestaticdlg::OnOK() 
{
	// TODO: Add extra validation here
		
	UpdateData(true);
	m_pRecordset.CreateInstance(__uuidof(Recordset));
    
		_variant_t var;
		//删除列表框内所有内容
    m_roomsalestatic_list.DeleteAllItems();
		int i=0;
		//变量赋值0,初始化
		m_show_meetingmoney=0;
		m_show_backroommoney=0;
	    m_show_mendmoney=0;
		m_show_mixmoney=0;
		m_show_parkmoney=0;
		m_show_pregetroommoney=0;
		m_show_shouldgetmoney=0;
		m_show_sumgetmoney=0;
		m_show_telmoney=0;
	// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
	// 
	try
	{//打开数据表
		m_pRecordset->Open("SELECT * FROM checkoutregtable",                // 查询表中所有字段
							theApp.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
							adOpenDynamic,
							adLockOptimistic,
							adCmdText);
	}
	catch(_com_error *e)//抛出异常
	{
		AfxMessageBox(e->ErrorMessage());
	}
	try
	{
		if(!m_pRecordset->BOF)//判断指针是否在数据集最后
			m_pRecordset->MoveFirst();
		else
		{
			MessageBox("表内数据为空","客房管理系统");
			return;
		}

		// read data from the database table 
		while(!m_pRecordset->adoEOF)
		{
			//循环读取数据
			//读取数据表内退房日期字段的内容
			var = m_pRecordset->GetCollect("退房日期");
			if(var.vt != VT_NULL)
				m_checkoutdate = (LPCSTR)_bstr_t(var);
            CString outyear;
            outyear=m_checkoutdate.Mid(0,4);
			
						
			if(m_selectstaticyear==outyear)		
			{   //查询满足条件的记录
				//读取数据表内退房日期字段的内容
                var = m_pRecordset->GetRecordCount();
			    if(var.vt != VT_NULL)
				m_recordcount = (LPCSTR)_bstr_t(var);
			
			   //读取数据表内应收宿费字段的内容
			    var = m_pRecordset->GetCollect("应收宿费");
			    if(var.vt != VT_NULL)
				m_pre_discount = (LPCSTR)_bstr_t(var);
		        m_show_shouldgetmoney=m_show_shouldgetmoney+atof(m_pre_discount);
		        //读取数据表内杂费字段的内容
			   var = m_pRecordset->GetCollect("杂费");
			    if(var.vt != VT_NULL)
				m_mix_money = (LPCSTR)_bstr_t(var);
			    m_show_mixmoney=m_show_mixmoney+atof(m_mix_money);
		        //读取数据表内电话费字段的内容
			    var = m_pRecordset->GetCollect("电话费");
			    if(var.vt != VT_NULL)
				m_tel_money = (LPCSTR)_bstr_t(var);
			    m_show_telmoney=m_show_telmoney+atof(m_tel_money);
		         //读取数据表内会议费字段的内容
			   var = m_pRecordset->GetCollect("会议费");
			   if(var.vt != VT_NULL)
				m_meeting_money = (LPCSTR)_bstr_t(var);
			    m_show_meetingmoney=m_show_meetingmoney+atof(m_meeting_money);
		        //读取数据表内存车费字段的内容
			   var = m_pRecordset->GetCollect("存车费");
		    	if(var.vt != VT_NULL)
				m_park_money = (LPCSTR)_bstr_t(var);
		     	m_show_parkmoney=m_show_parkmoney+atof(m_park_money);
		        //读取数据表内赔偿费字段的内容
		     	var = m_pRecordset->GetCollect("赔偿费");
		    	if(var.vt != VT_NULL)
				m_mend_money = (LPCSTR)_bstr_t(var);
		    	m_show_mendmoney=m_show_mendmoney+atof(m_mend_money);
			    //读取数据表内金额总计字段的内容
				var = m_pRecordset->GetCollect("金额总计");
		    	if(var.vt != VT_NULL)
				m_realmoney = (LPCSTR)_bstr_t(var);
			    m_show_sumgetmoney=m_show_sumgetmoney+atof(m_realmoney);
			    //读取数据表内预收宿费字段的内容
		    	var = m_pRecordset->GetCollect("预收宿费");
		    	if(var.vt != VT_NULL)
				m_pre_handinmoney = (LPCSTR)_bstr_t(var);
		    	m_show_pregetroommoney=m_show_pregetroommoney+atof(m_pre_handinmoney);
			   //读取数据表内退还宿费字段的内容
			   var = m_pRecordset->GetCollect("退还宿费");
			   if(var.vt != VT_NULL)
				m_reback_money = (LPCSTR)_bstr_t(var);
		       m_show_backroommoney=m_show_backroommoney+atof(m_reback_money);
		
			 
			 i++;//移动记录集指针到下一条记录
			m_pRecordset->MoveNext();
			}

			else
			{//如果不满足查询条件就直接跳过该记录
                m_pRecordset->MoveNext();
				continue;
			}
		}
		//
		
	}
	catch(_com_error *e)//捕获异常情况
	{
		AfxMessageBox(e->ErrorMessage());
	}

	char recordcount[50]; 
	_gcvt(i, 4, recordcount);//转换为字符串显示
	CString strrecordcount=recordcount;
	i=0;
	//在列表框内显示该字段内容
    m_roomsalestatic_list.InsertItem(i,strrecordcount.GetBuffer(50));
	
	char m_pre_discount[50]; 
	_gcvt(m_show_shouldgetmoney, 4, m_pre_discount);//转换为字符串显示
	CString strpre_discount=m_pre_discount;
	//在列表框内显示该字段内容
    m_roomsalestatic_list.SetItemText(i,1,strpre_discount.GetBuffer(50));
	
	char m_mix_money[50]; 
	_gcvt(m_show_mixmoney, 4, m_mix_money);//转换为字符串显示
	CString strmix_money=m_mix_money;
	//在列表框内显示该字段内容
    m_roomsalestatic_list.SetItemText(i,2,strmix_money.GetBuffer(50));
         
	char m_tel_money[50]; 
	_gcvt(m_show_telmoney, 4, m_tel_money);//转换为字符串显示
	CString strtel_money=m_tel_money;
	//在列表框内显示该字段内容
	m_roomsalestatic_list.SetItemText(i,3,strtel_money.GetBuffer(50));
            
	char m_meeting_money[50]; 
	_gcvt(m_show_meetingmoney, 4, m_meeting_money);//转换为字符串显示
	CString strmeeting_money=m_meeting_money;
	//在列表框内显示该字段内容
	m_roomsalestatic_list.SetItemText(i,4,strmeeting_money.GetBuffer(50));
             
	char m_park_money[50]; 
	_gcvt(m_show_parkmoney, 4, m_park_money);//转换为字符串显示
	CString strpark_money=m_park_money;
	//在列表框内显示该字段内容
	m_roomsalestatic_list.SetItemText(i,5,strpark_money.GetBuffer(50));
             
	char m_mend_money[50]; 
	_gcvt(m_show_mendmoney, 4,m_mend_money);//转换为字符串显示
	CString strmend_money=m_mend_money;
	//在列表框内显示该字段内容
	m_roomsalestatic_list.SetItemText(i,6,strmend_money.GetBuffer(50));
            
	char m_realmoney[50]; 
	_gcvt(m_show_sumgetmoney, 4,m_realmoney);//转换为字符串显示
	CString strrealmoney=m_realmoney;
	//在列表框内显示该字段内容
	m_roomsalestatic_list.SetItemText(i,7,strrealmoney.GetBuffer(50));
               
	char m_pre_handinmoney[50]; 
	_gcvt(m_show_pregetroommoney, 4,m_pre_handinmoney);
	CString strpre_handinmoney=m_pre_handinmoney;
	//在列表框内显示该字段内容
	m_roomsalestatic_list.SetItemText(i,8,strpre_handinmoney.GetBuffer(50));
                
	char m_reback_money[50]; 
	_gcvt(m_show_backroommoney, 4,m_reback_money);//转换为字符串显示
	CString strreback_money=m_reback_money;
	//在列表框内显示该字段内容
	m_roomsalestatic_list.SetItemText(i,9,strreback_money.GetBuffer(50));
             
	// 关闭记录集
	m_pRecordset->Close();
	m_pRecordset = NULL;


//	m_show_pregetmoney = sum_pregetmoney;
//	m_show_shouldgetmoney=sum_realmoney;
	UpdateData(false);
//	CDialog::OnOK();
}

BOOL CRoomsalestaticdlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	//设置列表框颜色
	m_roomsalestatic_list.SetTextColor(RGB (0, 0, 0));
	m_roomsalestatic_list.SetTextBkColor(RGB (140, 180, 20));
	//初始化列表框
	m_roomsalestatic_list.InsertColumn(1,"记录数");
	 
	m_roomsalestatic_list.InsertColumn(2,"应收宿费合计");

	m_roomsalestatic_list.InsertColumn(3,"杂费合计");

	 m_roomsalestatic_list.InsertColumn(4,"电话费合计");

	 m_roomsalestatic_list.InsertColumn(5,"会议费合计");

	 m_roomsalestatic_list.InsertColumn(6,"存车费合计");

	 m_roomsalestatic_list.InsertColumn(7,"赔偿费合计");

	 m_roomsalestatic_list.InsertColumn(8,"实收金额合计");
	 
	 m_roomsalestatic_list.InsertColumn(9,"预收宿费合计");
	 m_roomsalestatic_list.InsertColumn(10,"退还宿费合计");
	 
	
	RECT rect;
	 m_roomsalestatic_list.GetWindowRect(&rect);
	int wid=rect.right-rect.left;
	int i=0;
	 m_roomsalestatic_list.SetColumnWidth(0,wid/12);
	 m_roomsalestatic_list.SetColumnWidth(1,wid/10);
	 m_roomsalestatic_list.SetColumnWidth(2,wid/10);
	 m_roomsalestatic_list.SetColumnWidth(3,wid/10);
	 m_roomsalestatic_list.SetColumnWidth(4,wid/10);
	 m_roomsalestatic_list.SetColumnWidth(5,wid/10);
	 m_roomsalestatic_list.SetColumnWidth(6,wid/10);
	 m_roomsalestatic_list.SetColumnWidth(7,wid/10);
	
	 m_roomsalestatic_list.SetColumnWidth(8,wid/10);
	 m_roomsalestatic_list.SetColumnWidth(9,wid/8);
     
	

	 m_roomsalestatic_list.SetExtendedStyle(LVS_EX_FULLROWSELECT);

     //变量初始化为0

	 m_show_meetingmoney=0;
		m_show_backroommoney=0;
	    m_show_mendmoney=0;
		m_show_mixmoney=0;
		m_show_parkmoney=0;
		m_show_pregetroommoney=0;
		m_show_shouldgetmoney=0;
		m_show_sumgetmoney=0;
		m_show_telmoney=0;
		m_showuser=loguserid;
		UpdateData(false);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -