📄 buinessquerydialog.cpp
字号:
// 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 + -