📄 searchquote.cpp
字号:
// SearchQuote.cpp : implementation file
//
#include "stdafx.h"
#include "Sale.h"
#include "SearchQuote.h"
#include "QuoteForm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSearchQuote dialog
CSearchQuote::CSearchQuote(CWnd* pParent /*=NULL*/)
: CDialog(CSearchQuote::IDD, pParent)
{
//{{AFX_DATA_INIT(CSearchQuote)
m_formDateBegin = 0;
m_formDateEnd = 0;
m_QuoteID = _T("");
m_clientName = _T("");
m_department = _T("");
m_transportType = _T("");
m_seller = _T("");
//}}AFX_DATA_INIT
}
void CSearchQuote::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSearchQuote)
DDX_Control(pDX, IDC_LIST2, m_commidityList);
DDX_Control(pDX, IDC_seller, m_sellerCombo);
DDX_Control(pDX, IDC_transportType, m_transportTypeCombo);
DDX_Control(pDX, IDC_department, m_departmentCombo);
DDX_Control(pDX, IDC_clientName, m_clientNameCombo);
DDX_Control(pDX, IDC_quoteID, m_quoteIDCombo);
DDX_Control(pDX, IDC_LIST1, m_quoteSearchList);
DDX_DateTimeCtrl(pDX, IDC_formDateBegin, m_formDateBegin);
DDX_DateTimeCtrl(pDX, IDC_formDateEnd, m_formDateEnd);
DDX_CBString(pDX, IDC_quoteID, m_QuoteID);
DDX_CBString(pDX, IDC_clientName, m_clientName);
DDX_CBString(pDX, IDC_department, m_department);
DDX_CBString(pDX, IDC_transportType, m_transportType);
DDX_CBString(pDX, IDC_seller, m_seller);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSearchQuote, CDialog)
//{{AFX_MSG_MAP(CSearchQuote)
ON_BN_CLICKED(IDC_search, OnSearch)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList)
ON_BN_CLICKED(IDC_RADIO1, OnYes)
ON_BN_CLICKED(IDC_RADIO2, OnNo)
ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSearchQuote message handlers
BOOL CSearchQuote::OnInitDialog()
{
CDialog::OnInitDialog();
DWORD style;
style=m_quoteSearchList.GetExStyle();
style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ;
m_quoteSearchList.SetExtendedStyle(style);
m_quoteSearchList.InsertColumn(0,"报价单号",LVCFMT_LEFT,100);
m_quoteSearchList.InsertColumn(1,"制单日期",LVCFMT_LEFT,100);
m_quoteSearchList.InsertColumn(2,"客户",LVCFMT_LEFT,100);
m_quoteSearchList.InsertColumn(3,"运输方式",LVCFMT_LEFT,100);
m_quoteSearchList.InsertColumn(4,"付款条件",LVCFMT_LEFT,100);
m_quoteSearchList.InsertColumn(5,"销售员",LVCFMT_LEFT,100);
m_quoteSearchList.InsertColumn(6,"部门",LVCFMT_LEFT,100);
m_quoteSearchList.InsertColumn(7,"发货地址",LVCFMT_LEFT,100);
m_quoteSearchList.InsertColumn(8,"备注",LVCFMT_LEFT,100);
style=m_commidityList.GetExStyle();
style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ;
m_commidityList.SetExtendedStyle(style);
m_commidityList.InsertColumn(0,"商品编号",LVCFMT_LEFT,100);
m_commidityList.InsertColumn(1,"商品名称",LVCFMT_LEFT,100);
m_commidityList.InsertColumn(2,"单价",LVCFMT_LEFT,100);
m_commidityList.InsertColumn(3,"数量",LVCFMT_LEFT,100);
m_commidityList.InsertColumn(4,"规格",LVCFMT_LEFT,100);
CString strSQL;
HRESULT hTRes;
strSQL="select * from client";
_RecordsetPtr m_pClientRecordset;
hTRes = m_pClientRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pClientRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
TRACE(_T("连接成功!\n"));
while(!(m_pClientRecordset->adoEOF))
{
m_clientNameCombo.AddString(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("clientID")));
m_pClientRecordset->MoveNext();
}
}
}
m_pClientRecordset->Close();
strSQL="select * from transportType";
_RecordsetPtr m_pTransportTypeRecordset;
hTRes = m_pTransportTypeRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pTransportTypeRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
TRACE(_T("连接成功!\n"));
while(!(m_pTransportTypeRecordset->adoEOF))
{
m_transportTypeCombo.AddString(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pTransportTypeRecordset->GetCollect("transportTypeName")));
m_pTransportTypeRecordset->MoveNext();
}
}
}
m_pTransportTypeRecordset->Close();
strSQL="select * from department";
_RecordsetPtr m_pDepartmentRecordset;
hTRes = m_pDepartmentRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pDepartmentRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
TRACE(_T("连接成功!\n"));
while(!(m_pDepartmentRecordset->adoEOF))
{
m_departmentCombo.AddString(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pDepartmentRecordset->GetCollect("departmentName")));
m_pDepartmentRecordset->MoveNext();
}
}
}
m_pDepartmentRecordset->Close();
strSQL="select * from quote";
_RecordsetPtr m_pQuoteRecordset;
hTRes = m_pQuoteRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pQuoteRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
TRACE(_T("连接成功!\n"));
while(!(m_pQuoteRecordset->adoEOF))
{
m_quoteIDCombo.AddString(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pQuoteRecordset->GetCollect("quoteID")));
m_pQuoteRecordset->MoveNext();
}
}
}
m_pQuoteRecordset->Close();
strSQL="select * from staff";
_RecordsetPtr m_pStaffRecordset;
hTRes = m_pStaffRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pStaffRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
TRACE(_T("连接成功!\n"));
while(!(m_pStaffRecordset->adoEOF))
{
m_sellerCombo.AddString(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pStaffRecordset->GetCollect("staffID")));
m_pStaffRecordset->MoveNext();
}
}
}
m_pStaffRecordset->Close();
is_checked=0;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CSearchQuote::OnSearch()
{
UpdateData(true);
HRESULT hTRes;
CString strSQL;
m_commidityList.DeleteAllItems();
int flag=0;
strSQL="select * from quote";
if(((CSaleApp*)AfxGetApp())->ToStringCTime(m_formDateBegin)!="")
{
strSQL=strSQL+" where formDate>='"+((CSaleApp*)AfxGetApp())->ToStringCTime(m_formDateBegin)+"'";
flag=1;
}
if(((CSaleApp*)AfxGetApp())->ToStringCTime(m_formDateEnd)!="")
{
strSQL=strSQL+" and formDate<'"+((CSaleApp*)AfxGetApp())->ToStringCTime(m_formDateEnd)+"'";
}
if(m_clientName!="")
{
strSQL=strSQL+" and client='"+m_clientName+"'";
flag=1;
}
if(m_department!=""&&flag==1)
{
strSQL=strSQL+" and department='"+m_department+"'";
}
else if(m_department!=""&&flag==0)
{
strSQL=strSQL+" where department='"+m_department+"'";
flag=1;
}
if(m_QuoteID!=""&&flag==1)
{
strSQL=strSQL+" and quoteID='"+m_QuoteID+"'";
}
else if(m_QuoteID!=""&&flag==0)
{
strSQL=strSQL+" where quoteID='"+m_QuoteID+"'";
flag=1;
}
if(m_seller!=""&&flag==1)
{
strSQL=strSQL+" and seller='"+m_seller+"'";
}
else if(m_seller!=""&&flag==0)
{
strSQL=strSQL+" where seller='"+m_seller+"'";
}
if(m_transportType!=""&&flag==1)
{
strSQL=strSQL+" and transportType='"+m_transportType+"'";
}
else if(m_transportType!=""&&flag==0)
{
strSQL=strSQL+" where transportType='"+m_transportType+"'";
}
if(is_checked==1)
{
strSQL=strSQL+" and checked='T'";
}
else if(is_checked==-1)
{
strSQL=strSQL+" and checked='F'";
}
_RecordsetPtr m_pQuoteRecordset;
hTRes = m_pQuoteRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
//----------------------------------------------------
hTRes = m_pQuoteRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
TRACE(_T("连接成功!\n"));
// CComboBox clientList=GetDlgItem(IDC_client);
// AfxMessageBox(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("clientID")));
int i=0;
m_quoteSearchList.DeleteAllItems();
while(!(m_pQuoteRecordset->adoEOF))
{
m_quoteSearchList.InsertItem(i,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pQuoteRecordset->GetCollect("quoteID")));
m_quoteSearchList.SetItemText(i,1,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pQuoteRecordset->GetCollect("formDate")));
m_quoteSearchList.SetItemText(i,2,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pQuoteRecordset->GetCollect("client")));
m_quoteSearchList.SetItemText(i,3,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pQuoteRecordset->GetCollect("transportType")));
m_quoteSearchList.SetItemText(i,4,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pQuoteRecordset->GetCollect("payCondition")));
m_quoteSearchList.SetItemText(i,5,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pQuoteRecordset->GetCollect("seller")));
m_quoteSearchList.SetItemText(i,6,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pQuoteRecordset->GetCollect("department")));
m_quoteSearchList.SetItemText(i,7,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pQuoteRecordset->GetCollect("consignmentAddress")));
m_quoteSearchList.SetItemText(i,8,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pQuoteRecordset->GetCollect("remark")));
m_pQuoteRecordset->MoveNext();
i++;
}
}
}
UpdateData(false);
}
void CSearchQuote::OnClickList(NMHDR* pNMHDR, LRESULT* pResult)
{
HRESULT hTRes;
CString strSQL;
CString str;
int flag=0;
POSITION pos = m_quoteSearchList.GetFirstSelectedItemPosition();
if(pos)
{
int nFirstSelItem = m_quoteSearchList.GetNextSelectedItem(pos);
str=m_quoteSearchList.GetItemText(nFirstSelItem,0);
}
strSQL="select * from quoteFormView where quoteID='";
strSQL=strSQL+str+"'";
_RecordsetPtr m_pQuoteProductRecordset;
hTRes = m_pQuoteProductRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
//----------------------------------------------------
hTRes = m_pQuoteProductRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
int i=0;
m_commidityList.DeleteAllItems();
while(!(m_pQuoteProductRecordset->adoEOF))
{
m_commidityList.InsertItem(i,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pQuoteProductRecordset->GetCollect("productID")));
m_commidityList.SetItemText(i,1,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pQuoteProductRecordset->GetCollect("commodityName")));
m_commidityList.SetItemText(i,2,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pQuoteProductRecordset->GetCollect("standardPrice")));
m_commidityList.SetItemText(i,3,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pQuoteProductRecordset->GetCollect("num")));
m_commidityList.SetItemText(i,4,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pQuoteProductRecordset->GetCollect("truePrice")));
m_pQuoteProductRecordset->MoveNext();
i++;
}
}
}
*pResult = 0;
}
void CSearchQuote::OnYes()
{
is_checked=1;
}
void CSearchQuote::OnNo()
{
is_checked=-1;
}
void CSearchQuote::OnDblclkList(NMHDR* pNMHDR, LRESULT* pResult)
{
CString str;
int flag=0;
POSITION pos = m_quoteSearchList.GetFirstSelectedItemPosition();
if(pos)
{
int nFirstSelItem = m_quoteSearchList.GetNextSelectedItem(pos);
str=m_quoteSearchList.GetItemText(nFirstSelItem,0);
}
CQuoteForm dlg;
dlg.quoteID=str;
dlg.DoModal();
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -