📄 searchbuyinputform.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 + -