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

📄 searchinvoice.cpp

📁 基于VC+SQL SERVER环境开发的企业商品销售系统.完整的数据库和原代码
💻 CPP
字号:
// SearchInvoice.cpp : implementation file
//

#include "stdafx.h"
#include "Sale.h"
#include "SearchInvoice.h"
#include "Invoice.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSearchInvoice dialog


CSearchInvoice::CSearchInvoice(CWnd* pParent /*=NULL*/)
	: CDialog(CSearchInvoice::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSearchInvoice)
	m_formDateBegin = 0;
	m_formDateEnd = 0;
	m_invoiceID = _T("");
	m_consignmentFormID = _T("");
	m_department = _T("");
	m_clientName = _T("");
	m_seller = _T("");
	//}}AFX_DATA_INIT
}


void CSearchInvoice::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSearchInvoice)
	DDX_Control(pDX, IDC_LIST2, m_commidityList);
	DDX_Control(pDX, IDC_LIST1, m_invoiceList);
	DDX_Control(pDX, IDC_seller, m_sellerCombo);
	DDX_Control(pDX, IDC_clientName, m_clientNameCombo);
	DDX_Control(pDX, IDC_department, m_departmentCombo);
// 	DDX_Control(pDX, IDC_consignmentFormID, m_consignmentFormIDCombo);
	DDX_Control(pDX, IDC_invoiceID, m_invoiceIDCombo);
	DDX_DateTimeCtrl(pDX, IDC_formDateBegin, m_formDateBegin);
	DDX_DateTimeCtrl(pDX, IDC_formDateEnd, m_formDateEnd);
	DDX_CBString(pDX, IDC_invoiceID, m_invoiceID);
// 	DDX_CBString(pDX, IDC_consignmentFormID, m_consignmentFormID);
	DDX_CBString(pDX, IDC_department, m_department);
	DDX_CBString(pDX, IDC_clientName, m_clientName);
	DDX_CBString(pDX, IDC_seller, m_seller);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSearchInvoice, CDialog)
	//{{AFX_MSG_MAP(CSearchInvoice)
	ON_BN_CLICKED(IDC_search, OnSearch)
	ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
	ON_BN_CLICKED(IDC_RADIO1, OnYes)
	ON_BN_CLICKED(IDC_RADIO2, OnNo)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSearchInvoice message handlers

void CSearchInvoice::OnSearch() 
{
	UpdateData(true);
	HRESULT hTRes;
	CString strSQL;
	int flag=0;
	m_invoiceList.DeleteAllItems();
	m_commidityList.DeleteAllItems();
	strSQL="select * from invoice";
	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!=""&&flag==1)
	{
		strSQL=strSQL+" and clientName='"+m_clientName+"'";
	}
	else if(m_clientName!=""&&flag==1)
	{
		strSQL=strSQL+" where clientName='"+m_clientName+"'";
		flag=1;
	}
	if(m_invoiceID!=""&&flag==1)
	{
		strSQL=strSQL+" and invoiceID='"+m_invoiceID+"'";
	}
	else if(m_invoiceID!=""&&flag==1)
	{
		strSQL=strSQL+" where invoiceID='"+m_invoiceID+"'";
		flag=1;
	}
//	if(m_consignmentFormID!=""&&flag==1)
//	{
//		strSQL=strSQL+" and consignmentFormID='"+m_consignmentFormID+"'";
//	}
//	else if(m_consignmentFormID!=""&&flag==1)
//	{
//		strSQL=strSQL+" where consignmentFormID='"+m_consignmentFormID+"'";
//		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_seller!=""&&flag==1)
	{
		strSQL=strSQL+" and seller='"+m_seller+"'";
	}
	else if(m_seller!=""&&flag==0)
	{
		strSQL=strSQL+" where seller='"+m_seller+"'";
		flag=1;
	}
	if(is_checked==1)
	{
		strSQL=strSQL+" and checked='T'";
	}
	else if(is_checked==-1)
	{
		strSQL=strSQL+" and checked='F'";
	}
	

	_RecordsetPtr m_pInvoiceRecordset;
	hTRes = m_pInvoiceRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		//----------------------------------------------------
		hTRes = m_pInvoiceRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);
		if(SUCCEEDED(hTRes))
		{
			TRACE(_T("连接成功!\n"));
			int i=0;
			m_invoiceList.DeleteAllItems();
			while(!(m_pInvoiceRecordset->adoEOF))
			{		
				m_invoiceList.InsertItem(i,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("invoiceID")));
				m_invoiceList.SetItemText(i,1,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("clientname")));
				m_invoiceList.SetItemText(i,2,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("department")));
				m_invoiceList.SetItemText(i,3,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("formDate")));
				m_invoiceList.SetItemText(i,4,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("saleType")));
			
				m_invoiceList.SetItemText(i,5,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("seller")));
				m_invoiceList.SetItemText(i,6,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("payCondition")));
				m_invoiceList.SetItemText(i,7,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("taxNO")));
				m_invoiceList.SetItemText(i,8,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("bank")));
				m_invoiceList.SetItemText(i,9,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("account")));
				m_invoiceList.SetItemText(i,10,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("remark")));
	
				m_pInvoiceRecordset->MoveNext();
				i++;
			}
		}
	}
	m_pInvoiceRecordset->Close();
	UpdateData(false);
	
}

BOOL CSearchInvoice::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	DWORD style;
	style=m_invoiceList.GetExStyle();
	style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ;
	m_invoiceList.SetExtendedStyle(style);
	
	m_invoiceList.InsertColumn(0,"发票编号",LVCFMT_LEFT,100);
	m_invoiceList.InsertColumn(1,"客户名称",LVCFMT_LEFT,100);
	m_invoiceList.InsertColumn(2,"部门",LVCFMT_LEFT,100);
	m_invoiceList.InsertColumn(3,"制单日期",LVCFMT_LEFT,100);
	m_invoiceList.InsertColumn(4,"销售类型",LVCFMT_LEFT,100);
	m_invoiceList.InsertColumn(5,"销售员",LVCFMT_LEFT,100);
	m_invoiceList.InsertColumn(6,"付款条件",LVCFMT_LEFT,100);
	m_invoiceList.InsertColumn(7,"税号",LVCFMT_LEFT,100);
	m_invoiceList.InsertColumn(8,"开户银行",LVCFMT_LEFT,100);
	m_invoiceList.InsertColumn(9,"开户帐号",LVCFMT_LEFT,100);
	m_invoiceList.InsertColumn(10,"备注",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);
	m_commidityList.InsertColumn(5,"单价",LVCFMT_LEFT,100);
	m_commidityList.InsertColumn(6,"合计",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 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"));
		//	CComboBox clientList=GetDlgItem(IDC_client);
		//	AfxMessageBox(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("clientID")));
			while(!(m_pDepartmentRecordset->adoEOF))
			{		
				m_departmentCombo.AddString(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pDepartmentRecordset->GetCollect("departmentName")));
				m_pDepartmentRecordset->MoveNext();
			}
		}
	}
	m_pDepartmentRecordset->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"));
		//	CComboBox clientList=GetDlgItem(IDC_client);
		//	AfxMessageBox(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("clientID")));
			while(!(m_pStaffRecordset->adoEOF))
			{		
				m_sellerCombo.AddString(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pStaffRecordset->GetCollect("staffID")));
				m_pStaffRecordset->MoveNext();
			}
		}
	}
	m_pStaffRecordset->Close();

	strSQL="select * from invoice";
	_RecordsetPtr m_pInvoiceRecordset;
	hTRes = m_pInvoiceRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		//----------------------------------------------------
		hTRes = m_pInvoiceRecordset->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")));
			while(!(m_pInvoiceRecordset->adoEOF))
			{		
				m_invoiceIDCombo.AddString(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("invoiceID")));
				m_pInvoiceRecordset->MoveNext();
			}
		}
	}
	m_pInvoiceRecordset->Close();

//	strSQL="select * from consignmentForm";
//	_RecordsetPtr m_pConsignmentFormRecordset;
//	hTRes = m_pConsignmentFormRecordset.CreateInstance(_T("ADODB.Recordset"));
//	if (SUCCEEDED(hTRes))
//	{
//		hTRes = m_pConsignmentFormRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
//		((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
//				adOpenDynamic,adLockPessimistic,adCmdText);
//		if(SUCCEEDED(hTRes))
//		{
//			TRACE(_T("连接成功!\n"));
//			while(!(m_pConsignmentFormRecordset->adoEOF))
//			{		
//				m_consignmentFormIDCombo.AddString(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pConsignmentFormRecordset->GetCollect("consignmentFormID")));
//				m_pConsignmentFormRecordset->MoveNext();
//			}
//		}
//	}
//	m_pConsignmentFormRecordset->Close();
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSearchInvoice::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	HRESULT hTRes;
	CString strSQL;
	CString str;
	int flag=0;
	POSITION pos = m_invoiceList.GetFirstSelectedItemPosition();
	if(pos)
	{
		int nFirstSelItem = m_invoiceList.GetNextSelectedItem(pos);
		
		str=m_invoiceList.GetItemText(nFirstSelItem,0);
	}
	strSQL="select * from invoiceCommidity where invoiceID='";
	strSQL=strSQL+str+"'";
	_RecordsetPtr m_pInvoiceCommidityRecordset;
	hTRes = m_pInvoiceCommidityRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		//----------------------------------------------------
		hTRes = m_pInvoiceCommidityRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);
		if(SUCCEEDED(hTRes))
		{
			TRACE(_T("连接成功!\n"));
			int i=0;
			m_commidityList.DeleteAllItems();
			while(!(m_pInvoiceCommidityRecordset->adoEOF))
			{		
				m_commidityList.InsertItem(i,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceCommidityRecordset->GetCollect("consignmentFormID")));
				m_commidityList.SetItemText(i,1,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceCommidityRecordset->GetCollect("commidityID")));
				m_commidityList.SetItemText(i,2,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceCommidityRecordset->GetCollect("commidityName")));
				m_commidityList.SetItemText(i,3,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceCommidityRecordset->GetCollect("standard")));
				m_commidityList.SetItemText(i,4,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceCommidityRecordset->GetCollect("model")));
				m_commidityList.SetItemText(i,5,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceCommidityRecordset->GetCollect("num")));
				m_commidityList.SetItemText(i,6,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceCommidityRecordset->GetCollect("price")));
				m_commidityList.SetItemText(i,7,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceCommidityRecordset->GetCollect("total")));

				m_pInvoiceCommidityRecordset->MoveNext();
				i++;
			}
		}
	}
	
	*pResult = 0;
}

void CSearchInvoice::OnYes() 
{
	is_checked=1;	
}

void CSearchInvoice::OnNo() 
{
	is_checked=-1;
	
}

void CSearchInvoice::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	CString str;
	int flag=0;
	POSITION pos = m_invoiceList.GetFirstSelectedItemPosition();
	if(pos)
	{
		int nFirstSelItem = m_invoiceList.GetNextSelectedItem(pos);		
		str=m_invoiceList.GetItemText(nFirstSelItem,0);
	}
	CInvoice dlg;
	dlg.invoiceID=str;
	dlg.DoModal();
	
	*pResult = 0;
}

⌨️ 快捷键说明

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