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

📄 searchmaterialoutputform.cpp

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

#include "stdafx.h"
#include "Store.h"
#include "SearchMaterialOutputForm.h"
#include "MaterialOutputForm.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSearchMaterialOutputForm dialog


CSearchMaterialOutputForm::CSearchMaterialOutputForm(CWnd* pParent /*=NULL*/)
	: CDialog(CSearchMaterialOutputForm::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSearchMaterialOutputForm)
	m_formDateBegin = COleDateTime::GetCurrentTime();
	m_formDateEnd = COleDateTime::GetCurrentTime();
	m_materialOutputFormID = _T("");
	m_storeHouse = _T("");
	m_materialReceiveFormID = _T("");
	m_produceDepartment = _T("");
	m_materialName = _T("");
	m_dealer = _T("");
	//}}AFX_DATA_INIT
}


void CSearchMaterialOutputForm::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSearchMaterialOutputForm)
	DDX_Control(pDX, IDC_dealer, m_dealerCombo);
	DDX_Control(pDX, IDC_materialName, m_materialNameCombo);
	DDX_Control(pDX, IDC_receiveDepartment, m_produceDepartmentCombo);
	DDX_Control(pDX, IDC_materialReceiveID, m_materialReceiveFormIDCombo);
	DDX_Control(pDX, IDC_storeHouse, m_storeHouseCombo);
	DDX_Control(pDX, IDC_materialOutputFormID, m_materialOutputFormIDCombo);
	DDX_Control(pDX, IDC_LIST2, m_materialList);
	DDX_Control(pDX, IDC_LIST1, m_formList);
	DDX_DateTimeCtrl(pDX, IDC_formDateBegin, m_formDateBegin);
	DDX_DateTimeCtrl(pDX, IDC_formDateEnd, m_formDateEnd);
	DDX_CBString(pDX, IDC_materialOutputFormID, m_materialOutputFormID);
	DDX_CBString(pDX, IDC_storeHouse, m_storeHouse);
	DDX_CBString(pDX, IDC_materialReceiveID, m_materialReceiveFormID);
	DDX_CBString(pDX, IDC_receiveDepartment, m_produceDepartment);
	DDX_CBString(pDX, IDC_materialName, m_materialName);
	DDX_CBString(pDX, IDC_dealer, m_dealer);
	//}}AFX_DATA_MAP
}


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

/////////////////////////////////////////////////////////////////////////////
// CSearchMaterialOutputForm message handlers

BOOL CSearchMaterialOutputForm::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);


	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 materialOutputFormID  from materialOutputForm";	
	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_materialOutputFormIDCombo.AddString(((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("materialOutputFormID")));
			m_pRecordset->MoveNext();
			}
		}
	}
	m_pRecordset->Close();

	strSQL="select distinct storeHouse from materialOutputForm";
	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();

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

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

	strSQL="select distinct dealer from materialOutputForm";
	hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);
	if(SUCCEEDED(hTRes))
	{
		while(!(m_pRecordset->adoEOF))
		{		
			m_dealerCombo.AddString(((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("dealer")));
			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 CSearchMaterialOutputForm::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 materialOutputFormView where materialOutputFormID='";
	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 CSearchMaterialOutputForm::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);
	}
	CMaterialOutputForm dlg;
	dlg.m_materialOutputFormID=str;
	dlg.is_search=1;
	dlg.DoModal();
	
	*pResult = 0;
}

void CSearchMaterialOutputForm::OnSearch() 
{
	UpdateData(true);
	HRESULT hTRes;
	CString strSQL;
	int flag=0;
	m_formList.DeleteAllItems();
	strSQL="select * from materialOutputFormView";
	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_materialOutputFormID!=""&&flag==1)
	{
		strSQL=strSQL+" and materialOutputFormID='"+m_materialOutputFormID+"'";
	}
	else if(m_materialOutputFormID!=""&&flag==0)
	{
		strSQL=strSQL+" where materialOutputFormID='"+m_materialOutputFormID+"'";
		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+"'";
		flag=1;
	}
	if(m_materialReceiveFormID!=""&&flag==1)
	{
		strSQL=strSQL+" and materialReceiveFormID='"+m_materialReceiveFormID+"'";
	}
	else if(m_materialReceiveFormID!=""&&flag==0)
	{
		strSQL=strSQL+" where materialReceiveFormID='"+m_materialReceiveFormID+"'";
	}
	if(m_produceDepartment!=""&&flag==1)
	{
		strSQL=strSQL+" and receiveDepartment='"+m_produceDepartment+"'";
	}
	else if(m_produceDepartment!=""&&flag==0)
	{
		strSQL=strSQL+" where receiveDepartment='"+m_produceDepartment+"'";
		flag=1;
	}
	if(m_materialName!=""&&flag==1)
	{
		strSQL=strSQL+" and materialName='"+m_materialName+"'";
	}
	else if(m_materialName!=""&&flag==0)
	{
		strSQL=strSQL+" where materialName='"+m_materialName+"'";
		flag=1;
	}
	if(m_dealer!=""&&flag==1)
	{
		strSQL=strSQL+" and dealer='"+m_dealer+"'";
	}
	else if(m_dealer!=""&&flag==0)
	{
		strSQL=strSQL+" where dealer='"+m_dealer+"'";
	}

	_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_formList.DeleteAllItems();
			while(!(m_pRecordset->adoEOF))
			{		
				m_formList.InsertItem(i,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("materialOutputFormID")));
				m_formList.SetItemText(i,1,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("materialReceiveFormID")));
				m_formList.SetItemText(i,2,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("storeHouse")));
				m_formList.SetItemText(i,3,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("receiveDepartment")));
				m_formList.SetItemText(i,4,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("dealer")));
				m_formList.SetItemText(i,5,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("projectID")));
				m_formList.SetItemText(i,6,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("projectName")));
				m_formList.SetItemText(i,7,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("houseOutType")));
				m_formList.SetItemText(i,8,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("remark")));
				m_pRecordset->MoveNext();
				i++;
			}
		}
	}
	m_pRecordset->Close();
	UpdateData(false);
}

⌨️ 快捷键说明

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