📄 goodsmanagerdialog.cpp
字号:
// GoodsManagerDialog.cpp : 实现文件
//
#include "stdafx.h"
#include "SaleManager.h"
#include "GoodsManagerDialog.h"
#include ".\goodsmanagerdialog.h"
// CGoodsManagerDialog 对话框
const TCHAR CGoodsManagerDialog::m_szFilters[] =
_T("存货管理(*.xls)|*.xls|All Files(*.*)|*.*||");
IMPLEMENT_DYNAMIC(CGoodsManagerDialog, CDialog)
CGoodsManagerDialog::CGoodsManagerDialog(CWnd* pParent /*=NULL*/)
: CDialog(CGoodsManagerDialog::IDD, pParent)
, m_GoodsManNameofName(_T(""))
, m_BookinNum(_T(""))
, m_GoodsManRemark(_T(""))
, m_GoodsManUnits(_T(""))
, m_BookinTotalPrice(_T(""))
, m_GoodsManNowStore(_T(""))
, m_GoodsManSalePrice(_T(""))
, m_Succeed(FALSE)
, m_IndexList(0)
{
}
CGoodsManagerDialog::~CGoodsManagerDialog()
{
}
void CGoodsManagerDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_DATETIMEPICKER_GOODSMANAGERFROM, m_GoodsManagerTimeFrom);
DDX_Control(pDX, IDC_DATETIMEPICKER_GOODSMANAGERTO, m_GoodsManagerTimeTo);
DDX_Control(pDX, IDC_COMBO_GOODSMANOPERATOR, m_GoodsManagerOperate);
DDX_Control(pDX, IDC_LIST_MANAGERACTIONLIST, m_GoodsManagerList);
DDX_Control(pDX, IDC_COMBO_GOODSMANAGERTYPE, m_GoodsManType);
DDX_Control(pDX, IDC_COMBO_GOODSMANAGER_GOODSNAME, m_GoodsManGoodsName);
DDX_Text (pDX, IDC_EDIT_GOODSMANAGERNAMEOFNAME, m_GoodsManNameofName);
DDX_Text (pDX, IDC_EDIT_MANAGERGOODSNUM, m_BookinNum);
DDX_Text (pDX, IDC_EDIT_GOODSMANAGERREMARK, m_GoodsManRemark);
DDX_Text (pDX, IDC_EDIT_GOODSMANAGERUNITS, m_GoodsManUnits);
DDX_Text (pDX, IDC_EDIT_GOODSMANAGER_TOTALPRICE, m_BookinTotalPrice);
DDX_Text (pDX, IDC_EDIT_GOODSMANAGER_NOWSTORE, m_GoodsManNowStore);
DDX_Text (pDX, IDC_EDIT_GOODSMANAGER_SALEPRICE, m_GoodsManSalePrice);
}
BEGIN_MESSAGE_MAP(CGoodsManagerDialog, CDialog)
ON_BN_CLICKED(IDC_BUTTON_GOODSMANAGEREXIT, OnBnClickedButtonGoodsmanagerexit)
ON_CBN_SELCHANGE(IDC_COMBO_GOODSMANOPERATOR, OnCbnSelchangeComboGoodsmanoperator)
ON_NOTIFY(DTN_DATETIMECHANGE, IDC_DATETIMEPICKER_GOODSMANAGERFROM, OnDtnDatetimechangeDatetimepickerGoodsmanagerfrom)
ON_NOTIFY(DTN_DATETIMECHANGE, IDC_DATETIMEPICKER_GOODSMANAGERTO, OnDtnDatetimechangeDatetimepickerGoodsmanagerto)
ON_BN_CLICKED(IDC_BUTTON_GOODSMANAGER, OnBnClickedButtonGoodsmanager)
ON_BN_CLICKED(ID_MANAGER_CANCEL, OnBnClickedManagerCancel)
ON_BN_CLICKED(ID_MANAGER_OK, OnBnClickedManagerOk)
ON_CBN_SELCHANGE(IDC_COMBO_GOODSMANAGER_GOODSNAME, OnCbnSelchangeComboGoodsmanagerGoodsname)
ON_EN_CHANGE(IDC_EDIT_GOODSMANAGERNAMEOFNAME, OnEnChangeEditGoodsmanagernameofname)
ON_BN_CLICKED(IDC_BUTTON_GOODSMANlISTTOEXCEL, OnBnClickedButtonGoodsmanlisttoexcel)
END_MESSAGE_MAP()
// CGoodsManagerDialog 消息处理程序
BOOL CGoodsManagerDialog::OnInitDialog()
{
CDialog::OnInitDialog();
m_GoodsManagerList.InsertColumn (0, _T("登记日期"), LVCFMT_LEFT, 90,-1);
m_GoodsManagerList.InsertColumn (1, _T("时间"), LVCFMT_LEFT, 80, -1);
m_GoodsManagerList.InsertColumn (2, _T("操作员"), LVCFMT_LEFT, 80, -1);
m_GoodsManagerList.InsertColumn (3, _T("类型"), LVCFMT_LEFT, 60, -1);
m_GoodsManagerList.InsertColumn (4, _T("货品名称"), LVCFMT_LEFT, 80, -1);
m_GoodsManagerList.InsertColumn (5, _T("记前存量"), LVCFMT_LEFT, 80, -1);
m_GoodsManagerList.InsertColumn (6, _T("记前单价"), LVCFMT_LEFT, 80, -1);
m_GoodsManagerList.InsertColumn (7, _T("登记数量"), LVCFMT_LEFT, 80, -1);
m_GoodsManagerList.InsertColumn (8, _T("登记总价"), LVCFMT_LEFT, 80, -1);
m_GoodsManagerList.InsertColumn (9, _T("登记备注"), LVCFMT_LEFT, 200, -1);
m_GoodsManagerList.SetExtendedStyle ( LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
OnConnection();
OnInitComboBox();
m_GoodsManType.InsertString (-1, _T("进货"));
m_GoodsManType.InsertString (-1, _T("修改"));
OnInitControl ();
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CGoodsManagerDialog::OnConnection()
{
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance(__uuidof(Connection));
if(SUCCEEDED(hr))
{
m_pConnection->ConnectionString = "File Name=SaleManagerdata.udl";
m_pConnection->ConnectionTimeout = 20;
hr = m_pConnection->Open("","","",adConnectUnspecified);
if(FAILED(hr))
{
AfxMessageBox("打开失败");
return;
}
}
else
{
AfxMessageBox("创建连接实例失败!");
return;
}
}
catch(_com_error &e)
{
AfxMessageBox(e.ErrorMessage());
return;
}
}
void CGoodsManagerDialog::OnBnClickedButtonGoodsmanagerexit()
{
m_pConnection->Close ();
m_pConnection = NULL;
CDialog::OnCancel ();
}
void CGoodsManagerDialog::OnInitControl ()
{
CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MANAGERGOODSNUM);
pEdit->EnableWindow (FALSE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GOODSMANAGERREMARK);
pEdit->EnableWindow (FALSE);
CComboBox *pComboBox = (CComboBox*)GetDlgItem (IDC_COMBO_GOODSMANAGERTYPE);
pComboBox->EnableWindow (FALSE);
pComboBox = (CComboBox*)GetDlgItem (IDC_COMBO_GOODSMANAGER_GOODSNAME);
pComboBox->EnableWindow (FALSE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GOODSMANAGER_TOTALPRICE);
pEdit->EnableWindow (FALSE);
CButton *pButton = (CButton*)GetDlgItem (ID_MANAGER_OK);
pButton->EnableWindow (FALSE);
pButton = (CButton*)GetDlgItem (ID_MANAGER_CANCEL);
pButton->EnableWindow (FALSE);
}
void CGoodsManagerDialog::OnCancelControl()
{
CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MANAGERGOODSNUM);
pEdit->EnableWindow (TRUE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GOODSMANAGERREMARK);
pEdit->EnableWindow (TRUE);
CComboBox *pComboBox = (CComboBox*)GetDlgItem (IDC_COMBO_GOODSMANAGERTYPE);
pComboBox->EnableWindow (TRUE);
pComboBox = (CComboBox*)GetDlgItem (IDC_COMBO_GOODSMANAGER_GOODSNAME);
pComboBox->EnableWindow (TRUE);
pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GOODSMANAGER_TOTALPRICE);
pEdit->EnableWindow (TRUE);
CButton *pButton = (CButton*)GetDlgItem (ID_MANAGER_OK);
pButton->EnableWindow (TRUE);
pButton = (CButton*)GetDlgItem (ID_MANAGER_CANCEL);
pButton->EnableWindow (TRUE);
}
void CGoodsManagerDialog::OnInitComboBox()
{
_RecordsetPtr m_pRecordsetP;
_RecordsetPtr m_pRecordsetG;
HRESULT hrP;
HRESULT hrG;
try
{
hrG = m_pRecordsetG.CreateInstance (__uuidof(Recordset));
hrP = m_pRecordsetP.CreateInstance (__uuidof(Recordset));
if(FAILED(hrG) || FAILED(hrP))
{
AfxMessageBox(_T("创建实例失败!"));
return;
}
hrP = m_pRecordsetP->Open ("select * from PowTable",
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
hrG = m_pRecordsetG->Open ("select * from GoodsTable",
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
if(SUCCEEDED(hrP) && SUCCEEDED(hrG))
{
_variant_t var;
CString strValue;
m_GoodsManagerOperate.InsertString (-1, _T(""));
while(!m_pRecordsetP->adoEOF)
{
var = m_pRecordsetP->GetCollect ("RealName");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsManagerOperate.InsertString (-1, strValue);
m_pRecordsetP->MoveNext ();
}
while(!m_pRecordsetG->adoEOF)
{
var = m_pRecordsetG->GetCollect ("GoodsName");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsManGoodsName.InsertString (-1,strValue);
m_pRecordsetG->MoveNext ();
}
m_pRecordsetG->Close ();
m_pRecordsetP->Close ();
m_pRecordsetG = NULL;
m_pRecordsetP = NULL;
}
}
catch(_com_error &e)
{
AfxMessageBox (e.ErrorMessage());
return;
}
}
void CGoodsManagerDialog::OnInitGoodsManList()
{
CTime timeFrom , timeTo;
m_GoodsManagerTimeFrom.GetTime (timeFrom);
m_GoodsManagerTimeTo.GetTime (timeTo);
if(timeFrom.GetMonth () > timeTo.GetMonth ())
return;
if(timeFrom.GetMonth () == timeTo.GetMonth ())
if(timeFrom.GetDay () > timeTo.GetDay ())
return;
CString strDataFrom, strDataTo, OperatorName;
m_GoodsManagerTimeFrom.GetWindowText (strDataFrom);
m_GoodsManagerTimeTo.GetWindowText (strDataTo);
m_GoodsManagerOperate.GetWindowText (OperatorName);
HRESULT hrGM;
_RecordsetPtr m_pRecordsetGM;
try
{
hrGM = m_pRecordsetGM.CreateInstance (__uuidof(Recordset));
if(FAILED(hrGM))
{
AfxMessageBox (_T("创建实例失败!"));
return;
}
CString strSQL;
if(OperatorName != _T(""))
strSQL.Format ("select * from GoodsManagerTable where ActionData >= '%s' and ActionData <='%s'\
and OperatorName = '%s'", strDataFrom, strDataTo , OperatorName);
else
strSQL.Format ("select * from GoodsManagerTable where ActionData >= '%s' and ActionData <='%s'"
, strDataFrom, strDataTo);
hrGM = m_pRecordsetGM->Open (_bstr_t(strSQL),
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
m_GoodsManagerList.DeleteAllItems();
if(SUCCEEDED(hrGM))
{
_variant_t var;
CString strValue;
m_IndexList = 0;
while(!m_pRecordsetGM->adoEOF)
{
var = m_pRecordsetGM->GetCollect ("ActionData");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsManagerList.InsertItem (m_IndexList, strValue);
var = m_pRecordsetGM->GetCollect ("ActimeTime");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsManagerList.SetItemText (m_IndexList, 1, strValue);
var = m_pRecordsetGM->GetCollect ("OperatorName");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsManagerList.SetItemText (m_IndexList, 2, strValue);
var = m_pRecordsetGM->GetCollect ("Type");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsManagerList.SetItemText (m_IndexList, 3, strValue);
var = m_pRecordsetGM->GetCollect ("GoodsName");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsManagerList.SetItemText (m_IndexList, 4, strValue);
var = m_pRecordsetGM->GetCollect ("OldStore");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsManagerList.SetItemText (m_IndexList, 5, strValue);
var = m_pRecordsetGM->GetCollect ("BuyPrice");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsManagerList.SetItemText (m_IndexList, 6, strValue);
var = m_pRecordsetGM->GetCollect ("TotalNum");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsManagerList.SetItemText (m_IndexList, 7, strValue);;
var = m_pRecordsetGM->GetCollect ("TotalPrice");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsManagerList.SetItemText (m_IndexList, 8, strValue);
var = m_pRecordsetGM->GetCollect ("Remark");
strValue = (LPCSTR)_bstr_t(var);
m_GoodsManagerList.SetItemText (m_IndexList, 9, strValue);
m_IndexList++;
m_pRecordsetGM->MoveNext ();
}
m_pRecordsetGM->Close ();
m_pRecordsetGM = NULL;
}
}
catch(_com_error &e)
{
AfxMessageBox(e.ErrorMessage ());
return;
}
}
void CGoodsManagerDialog::OnCbnSelchangeComboGoodsmanoperator()
{
OnInitGoodsManList();
}
void CGoodsManagerDialog::OnDtnDatetimechangeDatetimepickerGoodsmanagerfrom(NMHDR *pNMHDR, LRESULT *pResult)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -