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

📄 searchbuyinputform.cpp

📁 完整功能的企业库存管理系统源码,vc++和sqlserver技术开发
💻 CPP
字号:
// SearchBuyInputForm.cpp : implementation file
//

#include "stdafx.h"
#include "Store.h"
#include "SearchBuyInputForm.h"
#include "BuyInputForm.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSearchBuyInputForm dialog


CSearchBuyInputForm::CSearchBuyInputForm(CWnd* pParent /*=NULL*/)
	: CDialog(CSearchBuyInputForm::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSearchBuyInputForm)
	m_formDateBegin = COleDateTime::GetCurrentTime();
	m_formDateEnd = COleDateTime::GetCurrentTime();
	m_buyInputFormID = _T("");
	m_storeHouse = _T("");
	m_materialReceiveID = _T("");
	m_provider = _T("");
	m_department = _T("");
	//}}AFX_DATA_INIT
}


void CSearchBuyInputForm::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSearchBuyInputForm)
	DDX_Control(pDX, IDC_LIST2, m_materialList);
	DDX_Control(pDX, IDC_LIST1, m_formList);
	DDX_Control(pDX, IDC_department, m_departmentCombo);
	DDX_Control(pDX, IDC_provider, m_providerCombo);
	DDX_Control(pDX, IDC_materialReceiveID, m_materialReceiveIDCombo);
	DDX_Control(pDX, IDC_storeHouse, m_storeHouseCombo);
	DDX_Control(pDX, IDC_buyInputFormID, m_buyInputFormCombo);
	DDX_DateTimeCtrl(pDX, IDC_formDateBegin, m_formDateBegin);
	DDX_DateTimeCtrl(pDX, IDC_formDateEnd, m_formDateEnd);
	DDX_CBString(pDX, IDC_buyInputFormID, m_buyInputFormID);
	DDX_CBString(pDX, IDC_storeHouse, m_storeHouse);
	DDX_CBString(pDX, IDC_materialReceiveID, m_materialReceiveID);
	DDX_CBString(pDX, IDC_provider, m_provider);
	DDX_CBString(pDX, IDC_department, m_department);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSearchBuyInputForm, CDialog)
	//{{AFX_MSG_MAP(CSearchBuyInputForm)
	ON_BN_CLICKED(IDC_search, OnSearch)
	ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSearchBuyInputForm message handlers

void CSearchBuyInputForm::OnSearch() 
{	
	UpdateData(true);//将对话框数据更新到变量
	HRESULT hTRes;
	CString strSQL;
	int flag=0;
	strSQL="select * from buyInputForm";//构造查询语句
	if(((CStoreApp*)AfxGetApp())->ToStringCTime(m_formDateBegin)!="")//开始日期
	{
		strSQL=strSQL+" where formDate>='"+((CStoreApp*)AfxGetApp())->ToStringCTime(m_formDateBegin)+"'";
		flag=1;
	}
	if(((CStoreApp*)AfxGetApp())->ToStringCTime(m_formDateEnd)!="")//结束日期
	{
		strSQL=strSQL+" and formDate<'"+((CStoreApp*)AfxGetApp())->ToStringCTime(m_formDateEnd)+"'";

	}
	if(m_buyInputFormID!=""&&flag==1)//采购入库单号
	{
		strSQL=strSQL+" and buyInputFormID='"+m_buyInputFormID+"'";
	}
	else if(m_buyInputFormID!=""&&flag==0)
	{
		strSQL=strSQL+" where buyInputFormID='"+m_buyInputFormID+"'";
		flag=1;
	}

	if(m_department!=""&&flag==1)//部门
	{
		strSQL=strSQL+" and stockDepartment='"+m_department+"'";
	}
	else if(m_department!=""&&flag==0)
	{
		strSQL=strSQL+" where stockDepartment='"+m_department+"'";
		flag=1;
	}
	if(m_materialReceiveID!=""&&flag==1)//领料单号
	{
		strSQL=strSQL+" and materialAcceptFormID='"+m_materialReceiveID+"'";
	}
	else if(m_materialReceiveID!=""&&flag==0)
	{
		strSQL=strSQL+" where materialAcceptFormID='"+m_materialReceiveID+"'";
	}
	if(m_provider!=""&&flag==1)//供应商
	{
		strSQL=strSQL+" and provider='"+m_provider+"'";
	}
	else if(m_provider!=""&&flag==0)
	{
		strSQL=strSQL+" where provider='"+m_provider+"'";
		flag=1;
	}
	if(m_storeHouse!=""&&flag==1)//仓库名称
	{
		strSQL=strSQL+" and storeHouse='"+m_storeHouse+"'";
	}
	else if(m_storeHouse!=""&&flag==0)
	{
		strSQL=strSQL+" where storeHouse='"+m_storeHouse+"'";
	}
	_RecordsetPtr m_pbuyInputFormRecordset;
	hTRes = m_pbuyInputFormRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		hTRes = m_pbuyInputFormRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
		if(SUCCEEDED(hTRes))
		{
			int i=0;
			m_formList.DeleteAllItems();//清空单据列表框
			//将查询结果插入列表框控件中
			while(!(m_pbuyInputFormRecordset->adoEOF))
			{		
				m_formList.InsertItem(i,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pbuyInputFormRecordset->GetCollect("buyInputFormID")));//采购入库单号
				m_formList.SetItemText(i,1,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pbuyInputFormRecordset->GetCollect("materialAcceptFormID")));//领料单号
				m_formList.SetItemText(i,2,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pbuyInputFormRecordset->GetCollect("storeHouse")));//仓库名称
				m_formList.SetItemText(i,3,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pbuyInputFormRecordset->GetCollect("provider")));//供应商
				m_formList.SetItemText(i,4,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pbuyInputFormRecordset->GetCollect("stockDepartment")));//采购部门
				m_formList.SetItemText(i,5,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pbuyInputFormRecordset->GetCollect("buyer")));//采购员
				m_formList.SetItemText(i,6,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pbuyInputFormRecordset->GetCollect("transportCompany")));//承运单位
				m_formList.SetItemText(i,7,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pbuyInputFormRecordset->GetCollect("transportType")));//运输方式
				m_formList.SetItemText(i,8,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pbuyInputFormRecordset->GetCollect("houseInType")));//入库类别
				m_formList.SetItemText(i,9,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pbuyInputFormRecordset->GetCollect("remark")));//备注
	
				m_pbuyInputFormRecordset->MoveNext();//记录集指针向后移动
				i++;
			}
		}
	}
	m_pbuyInputFormRecordset->Close();//关闭记录集
	UpdateData(false);//更新对话框数据
}

BOOL CSearchBuyInputForm::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	DWORD style;
	style=m_formList.GetExStyle();
	style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ;
	m_formList.SetExtendedStyle(style);

	m_formList.InsertColumn(0,"采购入库单号",LVCFMT_LEFT,100);
	m_formList.InsertColumn(1,"收料单",LVCFMT_LEFT,100);
	m_formList.InsertColumn(2,"仓库名称",LVCFMT_LEFT,100);
	m_formList.InsertColumn(3,"供应商",LVCFMT_LEFT,100);
	m_formList.InsertColumn(4,"采购部门",LVCFMT_LEFT,100);
	m_formList.InsertColumn(5,"采购员",LVCFMT_LEFT,100);
	m_formList.InsertColumn(6,"承运单位",LVCFMT_LEFT,100);
	m_formList.InsertColumn(7,"运输方式",LVCFMT_LEFT,100);
	m_formList.InsertColumn(8,"入库类别",LVCFMT_LEFT,100);
	m_formList.InsertColumn(9,"备注",LVCFMT_LEFT,100);

	style=m_materialList.GetExStyle();
	style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ;
	m_materialList.SetExtendedStyle(style);

	m_materialList.InsertColumn(0,"物料编号",LVCFMT_LEFT,100);
	m_materialList.InsertColumn(1,"物料名称",LVCFMT_LEFT,100);
	m_materialList.InsertColumn(2,"物料单位",LVCFMT_LEFT,100);
	m_materialList.InsertColumn(3,"物料型号",LVCFMT_LEFT,100);
	m_materialList.InsertColumn(4,"数量",LVCFMT_LEFT,100);
	m_materialList.InsertColumn(5,"单价",LVCFMT_LEFT,100);
	m_materialList.InsertColumn(6,"金额",LVCFMT_LEFT,100);

	CString strSQL;
	HRESULT hTRes;
	_RecordsetPtr m_pRecordset;
	strSQL="select distinct materialAcceptFormID from buyInputForm";	
	hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		//----------------------------------------------------
		hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);
		if(SUCCEEDED(hTRes))
		{
			while(!(m_pRecordset->adoEOF))
			{		
			m_materialReceiveIDCombo.AddString(((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("materialAcceptFormID")));
			m_pRecordset->MoveNext();
			}
		}
	}
	m_pRecordset->Close();

	strSQL="select * from buyInputForm";
	hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);
	if(SUCCEEDED(hTRes))
	{
		while(!(m_pRecordset->adoEOF))
		{		
			m_buyInputFormCombo.AddString(((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("buyInputFormID")));
			m_pRecordset->MoveNext();
		}
	}
	m_pRecordset->Close();

	strSQL="select distinct stockDepartment from buyInputForm";
	hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);
	if(SUCCEEDED(hTRes))
	{
		while(!(m_pRecordset->adoEOF))
		{		
			m_departmentCombo.AddString(((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("stockDepartment")));
			m_pRecordset->MoveNext();
		}
	}
	m_pRecordset->Close();

	strSQL="select distinct provider from buyInputForm";
	hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);
	if(SUCCEEDED(hTRes))
	{
		while(!(m_pRecordset->adoEOF))
		{		
			m_providerCombo.AddString(((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("provider")));
			m_pRecordset->MoveNext();
		}
	}
	m_pRecordset->Close();

	strSQL="select distinct storeHouse from buyInputForm";
	hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);
	if(SUCCEEDED(hTRes))
	{
		while(!(m_pRecordset->adoEOF))
		{		
			m_storeHouseCombo.AddString(((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("storeHouse")));
			m_pRecordset->MoveNext();
		}
	}
	m_pRecordset->Close();

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSearchBuyInputForm::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	HRESULT hTRes;
	CString strSQL;
	CString str;
	int flag=0;
	POSITION pos = m_formList.GetFirstSelectedItemPosition();//获取单击的位置
	if(pos)
	{
		int nFirstSelItem = m_formList.GetNextSelectedItem(pos);//获取单击的条目		
		str=m_formList.GetItemText(nFirstSelItem,0);//单击的条目的编号
	}
	//构造查询指定编号的采购入库单信息的查询语句
	strSQL="select * from buyInputFormView where buyInputFormID='";
	strSQL=strSQL+str+"'";
	_RecordsetPtr m_pRecordset;
	hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
		if(SUCCEEDED(hTRes))
		{
			int i=0;
			m_materialList.DeleteAllItems();//清空物料列表框
			//将查询结果插入到物料列表框中
			while(!(m_pRecordset->adoEOF))
			{		
				m_materialList.InsertItem(i,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("materialID")));//物料编号
				m_materialList.SetItemText(i,1,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("materialName")));//物料名称
				m_materialList.SetItemText(i,2,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("unit")));//计量单位
				m_materialList.SetItemText(i,3,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("model")));//型号
				m_materialList.SetItemText(i,4,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("price")));//单价
				m_materialList.SetItemText(i,5,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("num")));//数量
				m_materialList.SetItemText(i,6,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("total")));//金额

				m_pRecordset->MoveNext();//记录集指针向后移动
				i++;
			}
		}
	}	
	*pResult = 0;
}

void CSearchBuyInputForm::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	CString str;
	int flag=0;
	POSITION pos = m_formList.GetFirstSelectedItemPosition();
	if(pos)
	{
		int nFirstSelItem = m_formList.GetNextSelectedItem(pos);		
		str=m_formList.GetItemText(nFirstSelItem,0);
	}
	CBuyInputForm dlg;
	dlg.m_buyInputFormID=str;
	dlg.is_search=1;
	dlg.DoModal();
	
	*pResult = 0;
}

⌨️ 快捷键说明

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