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

📄 buinessquerydialog.cpp

📁 。使用VC.NET做前端应用程序开发工具
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// BuinessQueryDialog.cpp : 实现文件
//

#include "stdafx.h"
#include "SaleManager.h"
#include "BuinessQueryDialog.h"
#include ".\buinessquerydialog.h"


// CBuinessQueryDialog 对话框

const TCHAR CBuinessQueryDialog::m_szFilters[] = 
_T("交易查询(*.xls)|*.xls|All Files(*.*)|*.*||");

IMPLEMENT_DYNAMIC(CBuinessQueryDialog, CDialog)
CBuinessQueryDialog::CBuinessQueryDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CBuinessQueryDialog::IDD, pParent)
	, m_BusinessNum(_T(""))
	, m_BuinessTotalPrice(_T(""))
{
}

CBuinessQueryDialog::~CBuinessQueryDialog()
{
}

void CBuinessQueryDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_LIST_BUSINESSLIST, m_BuinessList);
	DDX_Control(pDX, IDC_LIST_BUSINESSMERLIST, m_BuinessMerList);
	DDX_Control(pDX, IDC_LIST_BUSINESSGOODSLIST, m_BuinessGoodsList);
	DDX_Control(pDX, IDC_COMBO_BUINESSOPERATNAME, m_BuinessOperatorName);
	DDX_Control(pDX, IDC_DATETIMEPICKER_BUINESSREQUARYDATE, m_BusinessData);
	DDX_Text (pDX, IDC_EDIT_BUINESSTOTALPRICE, m_BuinessTotalPrice);
}


BEGIN_MESSAGE_MAP(CBuinessQueryDialog, CDialog)
	ON_BN_CLICKED(IDC_BUTTON_BUINQUERYEXIT, OnBnClickedButtonBuinqueryexit)
//	ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
ON_BN_CLICKED(IDC_BUTTON_BUSINESSQUERY, OnBnClickedButtonBusinessquery)
ON_NOTIFY(LVN_ITEMACTIVATE, IDC_LIST_BUSINESSLIST, OnLvnItemActivateListBusinesslist)
ON_NOTIFY(LVN_ITEMACTIVATE, IDC_LIST_BUSINESSMERLIST, OnLvnItemActivateListBusinessmerlist)
ON_BN_CLICKED(IDC_BUTTON_BUSINESSTOEXCEL, OnBnClickedButtonBusinesstoexcel)
END_MESSAGE_MAP()


// CBuinessQueryDialog 消息处理程序

BOOL CBuinessQueryDialog::OnInitDialog()
{
	CDialog::OnInitDialog();

	m_BuinessList.InsertColumn (0, _T("交易单号"), LVCFMT_LEFT, 80, -1);
    m_BuinessList.InsertColumn (1, _T("交易日期"), LVCFMT_LEFT, 80, -1);
	m_BuinessList.InsertColumn (2, _T("交易时间"), LVCFMT_LEFT, 80, -1);
	m_BuinessList.InsertColumn (3, _T("操作人员"), LVCFMT_LEFT, 80, -1);
	m_BuinessList.InsertColumn (4, _T("交易金额"), LVCFMT_LEFT, 80, -1);
	m_BuinessList.InsertColumn (5, _T("被退单号"), LVCFMT_LEFT, 80, -1);
    m_BuinessList.InsertColumn (6, _T("原价"), LVCFMT_LEFT, 80, -1);

	m_BuinessList.SetExtendedStyle (LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES );

	m_BuinessMerList.InsertColumn (0, _T("商品名称"), LVCFMT_LEFT, 80, -1);
	m_BuinessMerList.InsertColumn (1, _T("单位"), LVCFMT_LEFT, 50, -1);
    m_BuinessMerList.InsertColumn (2, _T("数量"), LVCFMT_LEFT, 50, -1);	
    m_BuinessMerList.InsertColumn (3, _T("总价"), LVCFMT_LEFT, 50, -1);
	m_BuinessMerList.InsertColumn (4, _T("授权人"), LVCFMT_LEFT,80, -1);
	
	m_BuinessMerList.SetExtendedStyle (LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES );

	m_BuinessGoodsList.InsertColumn (0, _T("货品名称"), LVCFMT_LEFT, 80, -1);
	m_BuinessGoodsList.InsertColumn (1, _T("单位"), LVCFMT_LEFT, 50, -1);
	m_BuinessGoodsList.InsertColumn (2, _T("货品数量"), LVCFMT_LEFT, 80,-1);

	m_BuinessGoodsList.SetExtendedStyle (LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES );

	OnConnection();
    OnInitComboBox();

	return TRUE;  // return TRUE unless you set the focus to a control
	// 异常: OCX 属性页应返回 FALSE
}

void CBuinessQueryDialog::OnConnection()
{
	HRESULT   hr;
	try
	{
		hr = m_pConnection.CreateInstance (__uuidof(Connection));
        if(FAILED(hr))
		{
			AfxMessageBox (_T("创建实例失败!"));
			return;
		}

		m_pConnection->ConnectionString = "File Name=SaleManagerdata.udl";
		m_pConnection->ConnectionTimeout = 20;

		hr = m_pConnection->Open ( "","","",adConnectUnspecified);
		if(FAILED(hr))
		{
			AfxMessageBox (_T("打开连接失败!"));
			return;
		}
	}
	catch(_com_error &e)
	{
		AfxMessageBox (e.ErrorMessage());
		return;
	}
}

void CBuinessQueryDialog::OnBnClickedButtonBuinqueryexit()
{
	m_pConnection->Close ();
	m_pConnection = NULL;

	CDialog::OnCancel ();
}

void CBuinessQueryDialog::OnInitComboBox()
{
	_RecordsetPtr    m_pRecordsetP;
	HRESULT          hrP;
	try
	{
		hrP = m_pRecordsetP.CreateInstance (__uuidof(Recordset));
		if(FAILED(hrP))
		{
			AfxMessageBox(_T("创建实例失败!"));
			return;
		}
		hrP = m_pRecordsetP->Open ("select * from PowTable",
									m_pConnection.GetInterfacePtr(),
									adOpenDynamic,
									adLockOptimistic,
									adCmdText);
         m_BuinessOperatorName.InsertString(-1, _T(""));

		while(!m_pRecordsetP->adoEOF)
		{
			_variant_t var = m_pRecordsetP->GetCollect ("RealName");
			CString   strValue = (LPCSTR)_bstr_t(var);

			m_BuinessOperatorName.InsertString (-1, strValue);

			m_pRecordsetP->MoveNext ();
		}

		m_pRecordsetP->Close ();
		m_pRecordsetP = NULL;
	}
	catch(_com_error &e)
	{
		AfxMessageBox (e.ErrorMessage ());
		return;
	}
}
//void CBuinessQueryDialog::OnBnClickedButton1()
//{
//	// TODO: 在此添加控件通知处理程序代码
//}

void CBuinessQueryDialog::OnBnClickedButtonBusinessquery()
{
	UpdateData(TRUE);

	 HRESULT         hrAS;
     _RecordsetPtr   m_pRecordsetAS;

	 try
	 {
		 hrAS = m_pRecordsetAS.CreateInstance (__uuidof (Recordset));
         if(FAILED(hrAS))
		 {
			 AfxMessageBox (_T("创建实例失败!"));
			 return;
		 }

		 CString  strSQL, OperateName,time;
		 m_BuinessOperatorName.GetWindowText (OperateName);
		 m_BusinessData.GetWindowText (time);

		 if( m_BusinessNum =="" && OperateName == "")
		 {
		   strSQL.Format ("select * from ActionSaleTable  where ActionDate = '%s'", time);
		 }
		 else if(m_BusinessNum =="" && OperateName != "")
		 {
			strSQL.Format ("select * from ActionSaleTable where OperatorName = '%s' and \
						    ActionDate = '%s'", OperateName,time);
		 }
		 else
            strSQL.Format ("select * from ActionSaleTable where listNum = '%s' and ActionDate = '%s'", 
			               m_BusinessNum, time);

		 hrAS = m_pRecordsetAS->Open (_bstr_t(strSQL),
										m_pConnection.GetInterfacePtr(),
										adOpenDynamic,
										adLockOptimistic,
		      							adCmdText);

		 if(m_BuinessList.GetItemCount())
		   m_BuinessList.DeleteAllItems ();

		 if(!m_pRecordsetAS->adoEOF)
		 {
			 _variant_t       var;
			 CString          strValue;
			 int              index = 0;
			 
			 while(!m_pRecordsetAS->adoEOF)
			 {
				 var = m_pRecordsetAS->GetCollect ("listNum");
				 strValue = (LPCSTR)_bstr_t(var);
				 m_BuinessList.InsertItem ( index, strValue);

				 var = m_pRecordsetAS->GetCollect ("ActionDate");
				 strValue = (LPCSTR)_bstr_t(var);
				 m_BuinessList.SetItemText (index, 1, strValue);

				 var = m_pRecordsetAS->GetCollect ("ActionTime");
				 strValue = (LPCSTR)_bstr_t(var);
				 m_BuinessList.SetItemText (index, 2, strValue);

				 var = m_pRecordsetAS->GetCollect ("OperatorName");
				 strValue = (LPCSTR)_bstr_t(var);
				 m_BuinessList.SetItemText (index, 3, strValue);

				 var = m_pRecordsetAS->GetCollect ("AllSaleNum");
				 strValue = (LPCSTR)_bstr_t(var);
				 m_BuinessList.SetItemText (index, 4, strValue);

				 var = m_pRecordsetAS->GetCollect ("listNum");
				 strValue = (LPCSTR)_bstr_t(var);
                 m_BuinessList.SetItemText (index, 5, strValue);

				 var = m_pRecordsetAS->GetCollect ("FormerPrice");
				 strValue = (LPCSTR)_bstr_t(var);
				 m_BuinessList.SetItemText (index, 6, strValue);

				 index++;
				 m_pRecordsetAS->MoveNext ();
			 }//while

			 m_pRecordsetAS->Close ();
			 m_pRecordsetAS = NULL;
		 }//if
	 }
	 catch(_com_error &e)
	 {
		 AfxMessageBox (e.ErrorMessage());
		 return;
	 }
}

void CBuinessQueryDialog::OnLvnItemActivateListBusinesslist(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMITEMACTIVATE pNMIA = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
	
	int sel = m_BuinessList.GetSelectionMark ();
	CString BuinessNum = m_BuinessList.GetItemText (sel, 0);

	HRESULT        hrSMer;
	_RecordsetPtr  m_pRecordsetSMer;

	try
	{
        hrSMer = m_pRecordsetSMer.CreateInstance (__uuidof(Recordset));

		if(FAILED(hrSMer))
		{
			AfxMessageBox (_T("创建实例失败!"));
			*pResult = 0;
			return;
		}
		CString strSQL;
		strSQL.Format ("select * from SaleMerchandiseTable where listNum = '%s'", BuinessNum);

		hrSMer = m_pRecordsetSMer->Open (_bstr_t(strSQL),
			                          m_pConnection.GetInterfacePtr(),
									  adOpenDynamic,
									  adLockOptimistic,
									  adCmdText);
		

		if(SUCCEEDED(hrSMer))
		{
			_variant_t   var;
			CString     strValue;
			int         index = 0;
			float       BuinessTotalPrice = 0;

			if(m_BuinessMerList.GetItemCount())
			   m_BuinessMerList.DeleteAllItems();

			while(!m_pRecordsetSMer->adoEOF)
			{
				var = m_pRecordsetSMer->GetCollect ("MerchandiseName");
                strValue = (LPCSTR)_bstr_t(var);
				m_BuinessMerList.InsertItem (index, strValue);

				var = m_pRecordsetSMer->GetCollect ("Units");
				strValue = (LPCSTR)_bstr_t(var);
				m_BuinessMerList.SetItemText (index, 1, strValue);

				var = m_pRecordsetSMer->GetCollect ("MerchandiseNum");
				strValue = (LPCSTR)_bstr_t(var);
				m_BuinessMerList.SetItemText (index, 2, strValue);

				var = m_pRecordsetSMer->GetCollect ("SalePrice");

⌨️ 快捷键说明

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