www.gusucode.com > VC+MSSQL物资管理系统源码程序 > VC+MSSQL物资管理系统源码程序\code\Code\Material_MISView.cpp
//Download by http://www.NewXing.com // Material_MISView.cpp : implementation of the CMaterial_MISView class // #include "stdafx.h" #include "Material_MIS.h" #include "Material_MISDoc.h" #include "Material_MISView.h" #include "AddBasicInfo.h" #include "CheckBasicInfoDLG.h" #include "AppendInInfo.h" #include "Search.h" #include "AppendOutInfo.h" #include "SearchplusInfo.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CMaterial_MISView IMPLEMENT_DYNCREATE(CMaterial_MISView, CView) BEGIN_MESSAGE_MAP(CMaterial_MISView, CView) //{{AFX_MSG_MAP(CMaterial_MISView) ON_COMMAND(ID_MENU_ADDBASICINFO, OnMenuAddbasicinfo) ON_COMMAND(ID_MENU_ADDININFO, OnMenuAddininfo) ON_COMMAND(ID_MENU_ADDOUTINFO, OnMenuAddoutinfo) ON_COMMAND(ID_MENU_ALTERBASICINFO, OnMenuAlterbasicinfo) ON_COMMAND(ID_MENU_ALTERININFO, OnMenuAlterininfo) ON_COMMAND(ID_MENU_ALTEROUTINFO, OnMenuAlteroutinfo) ON_COMMAND(ID_MENU_DELBASICINFO, OnMenuDelbasicinfo) ON_COMMAND(ID_MENU_DELININFO, OnMenuDelininfo) ON_COMMAND(ID_MENU_DELOUTINFO, OnMenuDeloutinfo) ON_COMMAND(ID_MENU_SEARCHBASICINFO, OnMenuSearchbasicinfo) ON_COMMAND(ID_MENU_SEARCHININFO, OnMenuSearchininfo) ON_COMMAND(ID_MENU_SEARCHOUTINFO, OnMenuSearchoutinfo) ON_COMMAND(ID_MENU_SEARCHSURPLUS, OnMenuSearchsurplus) ON_WM_CONTEXTMENU() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMaterial_MISView construction/destruction CMaterial_MISView::CMaterial_MISView() { // TODO: add construction code here } CMaterial_MISView::~CMaterial_MISView() { } BOOL CMaterial_MISView::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs return CView::PreCreateWindow(cs); } ///////////////////////////////////////////////////////////////////////////// // CMaterial_MISView drawing void CMaterial_MISView::OnDraw(CDC* pDC) { CMaterial_MISDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here } ///////////////////////////////////////////////////////////////////////////// // CMaterial_MISView diagnostics #ifdef _DEBUG void CMaterial_MISView::AssertValid() const { CView::AssertValid(); } void CMaterial_MISView::Dump(CDumpContext& dc) const { CView::Dump(dc); } CMaterial_MISDoc* CMaterial_MISView::GetDocument() // non-debug version is inline { ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMaterial_MISDoc))); return (CMaterial_MISDoc*)m_pDocument; } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CMaterial_MISView message handlers void CMaterial_MISView::OnMenuAddbasicinfo() { // TODO: Add your command handler code here AddBasicInfo dlg; dlg.m_bAppend = true; dlg.DoModal(); } void CMaterial_MISView::OnMenuAddininfo() { // TODO: Add your command handler code here CAppendInInfo dlg; dlg.m_bAppend = true; dlg.DoModal(); } void CMaterial_MISView::OnMenuAddoutinfo() { // TODO: Add your command handler code here CAppendOutInfo dlg; dlg.m_bAppend =true; dlg.DoModal(); } void CMaterial_MISView::OnMenuAlterbasicinfo() { // TODO: Add your command handler code here if ( m_ListCtrl && m_sCurrentList!="物资列表" ) { m_ListCtrl.DestroyWindow(); CreateMaterialInfo(); return; } if ( !m_ListCtrl ) { CreateMaterialInfo(); return; } //弹出警告对话框 POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition(); if (pos == NULL) AfxMessageBox(_T("没有选中记录!"), MB_ICONEXCLAMATION); else { AddBasicInfo dlg; dlg.m_bAppend = false; CString str; int iItem = m_ListCtrl.GetNextSelectedItem(pos); //获得ID dlg.m_wzID = m_ListCtrl.GetItemText(iItem, 0); //获得名称 dlg.m_wzName = m_ListCtrl.GetItemText(iItem, 1); //获得规格 dlg.m_wzSpec = m_ListCtrl.GetItemText(iItem, 2); //获得类别 dlg.m_wzKind = m_ListCtrl.GetItemText(iItem, 3); //获得单位 dlg.m_wzUnit = m_ListCtrl.GetItemText(iItem, 4); dlg.DoModal(); } } void CMaterial_MISView::OnMenuAlterininfo() { // TODO: Add your command handler code here _variant_t strQuery; if ( m_ListCtrl && m_sCurrentList!=_T("物资入库列表") ) { m_ListCtrl.DestroyWindow(); strQuery = "select * from msave"; CreateIn(strQuery); m_sCurrentList = _T("物资入库列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); return; } if ( !m_ListCtrl ) { strQuery = "select * from msave"; CreateIn(strQuery); m_sCurrentList = _T("物资入库列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); return; } POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition(); if (pos == NULL) AfxMessageBox(_T("没有选中的记录!"), MB_ICONEXCLAMATION); else { CAppendInInfo dlg; dlg.m_bAppend = false; CString str; int iItem = m_ListCtrl.GetNextSelectedItem(pos); dlg.m_rkNO=m_ListCtrl.GetItemText(iItem,0); dlg.m_wzID=m_ListCtrl.GetItemText(iItem,1); dlg.m_wzName=m_ListCtrl.GetItemText(iItem,2); dlg.m_wzSpec=m_ListCtrl.GetItemText(iItem,3); dlg.m_wzKind=m_ListCtrl.GetItemText(iItem,4); dlg.m_wzUnit=m_ListCtrl.GetItemText(iItem,5); dlg.m_sQuantity=m_ListCtrl.GetItemText(iItem,6); dlg.m_sUnit=m_ListCtrl.GetItemText(iItem,7); dlg.m_sMoney=m_ListCtrl.GetItemText(iItem,8); // dlg.m_sTime=m_ListCtrl.GetItemText(iItem,8); dlg.m_sDealPerson=m_ListCtrl.GetItemText(iItem,10); dlg.m_sSavePerson=m_ListCtrl.GetItemText(iItem,11); dlg.m_sStorage=m_ListCtrl.GetItemText(iItem,12); dlg.m_sMemo=m_ListCtrl.GetItemText(iItem,13); dlg.DoModal(); } } void CMaterial_MISView::OnMenuAlteroutinfo() { // TODO: Add your command handler code here _variant_t strQuery; if ( m_ListCtrl && m_sCurrentList!=_T("物资出库列表") ) { m_ListCtrl.DestroyWindow(); strQuery = "select * from muse"; CreateOut(strQuery); m_sCurrentList = _T("物资出库列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); return; } if ( !m_ListCtrl ) { strQuery = "select * from muse"; CreateOut(strQuery); m_sCurrentList = _T("物资出库列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); return; } POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition(); if (pos == NULL) AfxMessageBox(_T("没有选中的记录!"), MB_ICONEXCLAMATION); else { CAppendOutInfo dlg; dlg.m_bAppend = false; CString str; int iItem = m_ListCtrl.GetNextSelectedItem(pos); dlg.m_rkNO=m_ListCtrl.GetItemText(iItem,0); dlg.m_wzID=m_ListCtrl.GetItemText(iItem,1); dlg.m_wzName=m_ListCtrl.GetItemText(iItem,2); dlg.m_wzSpec=m_ListCtrl.GetItemText(iItem,3); dlg.m_wzKind=m_ListCtrl.GetItemText(iItem,4); dlg.m_wzUnit=m_ListCtrl.GetItemText(iItem,5); dlg.m_sQuantity=m_ListCtrl.GetItemText(iItem,6); dlg.m_sUnit=m_ListCtrl.GetItemText(iItem,7); dlg.m_sMoney=m_ListCtrl.GetItemText(iItem,8); dlg.m_sDealPerson=m_ListCtrl.GetItemText(iItem,10); dlg.m_sSavePerson=m_ListCtrl.GetItemText(iItem,11); dlg.m_sStorage=m_ListCtrl.GetItemText(iItem,12); dlg.m_sMemo=m_ListCtrl.GetItemText(iItem,13); dlg.DoModal(); } } void CMaterial_MISView::OnMenuDelbasicinfo() { // TODO: Add your command handler code here if ( m_ListCtrl && m_sCurrentList!="物资列表" ) { m_ListCtrl.DestroyWindow(); CreateMaterialInfo(); return; } if ( !m_ListCtrl ) { CreateMaterialInfo(); return; } //删除记录 POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition(); if ( pos == NULL ) { AfxMessageBox(_T("没有选中记录!"), MB_ICONEXCLAMATION); return; } else { int iItem; CString sID; _variant_t Holder, strQuery; while (pos) { iItem = m_ListCtrl.GetNextSelectedItem(pos); sID = m_ListCtrl.GetItemText(iItem, 0); strQuery = "delete from material where wzid='"+sID+"'"; theApp.ADOExecute(theApp.m_pADOSet, strQuery); } } //刷新列表 RefreshMaterial(); } void CMaterial_MISView::OnMenuDelininfo() { // TODO: Add your command handler code here _variant_t Holder, strQuery; if ( m_ListCtrl && m_sCurrentList!="物资入库列表" ) { m_ListCtrl.DestroyWindow(); strQuery = "select * from msave"; CreateIn(strQuery); m_sCurrentList = _T("物资入库列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); return; } if ( !m_ListCtrl ) { strQuery = "select * from msave"; CreateIn(strQuery); m_sCurrentList = _T("物资入库列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); return; } //删除记录 POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition(); if ( pos == NULL ) { AfxMessageBox(_T("没有选中记录!"), MB_ICONEXCLAMATION); return; } else { int iItem; CString sNO; CString sID; CString sAccount; CString sValue; CString sBase; while (pos) { iItem = m_ListCtrl.GetNextSelectedItem(pos); sNO = m_ListCtrl.GetItemText(iItem, 0); sID = m_ListCtrl.GetItemText(iItem, 1); sAccount = m_ListCtrl.GetItemText(iItem, 6); //double sfAccount=atof(sAccount); sValue = m_ListCtrl.GetItemText(iItem,8); //double sfValue=atof(sValue); sBase = m_ListCtrl.GetItemText(iItem,12); strQuery = "delete from msave where rkno='"+sNO+"'"; theApp.ADOExecute(theApp.m_pADOSet, strQuery); strQuery="update msurplus set yeaccount=yeaccount-"+sAccount+",yevalue=yevalue-"\ +sValue+" where yeid='"+sID+"'and yebase='"+sBase+"'"; theApp.ADOExecute(theApp.m_pADOSet,strQuery); strQuery="delete from msurplus where yeaccount=0"; theApp.ADOExecute(theApp.m_pADOSet,strQuery); } } //刷新列表 RefreshIn(); } void CMaterial_MISView::OnMenuDeloutinfo() { // TODO: Add your command handler code here _variant_t Holder, strQuery; if ( m_ListCtrl && m_sCurrentList!="物资出库列表" ) { m_ListCtrl.DestroyWindow(); strQuery = "select * from muse"; CreateOut(strQuery); m_sCurrentList = _T("物资出库列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); return; } if ( !m_ListCtrl ) { strQuery = "select * from muse"; CreateOut(strQuery); m_sCurrentList = _T("物资出库列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); return; } //删除记录 POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition(); if ( pos == NULL ) { AfxMessageBox(_T("没有选中记录!"), MB_ICONEXCLAMATION); return; } else { int iItem; CString sNO; CString sID; CString sAccount; CString sValue; CString sBase; while (pos) { iItem = m_ListCtrl.GetNextSelectedItem(pos); sNO = m_ListCtrl.GetItemText(iItem, 0); sID = m_ListCtrl.GetItemText(iItem, 1); sAccount = m_ListCtrl.GetItemText(iItem, 6); sValue = m_ListCtrl.GetItemText(iItem,8); sBase = m_ListCtrl.GetItemText(iItem,12); strQuery = "delete from muse where lyno='"+sNO+"'"; theApp.ADOExecute(theApp.m_pADOSet, strQuery); strQuery="update msurplus set yeaccount=yeaccount+"+sAccount+",yevalue=yevalue+"\ +sValue+" where yeid='"+sID+"'and yebase='"+sBase+"'"; theApp.ADOExecute(theApp.m_pADOSet,strQuery); strQuery="delete from msurplus where yeaccount=0"; theApp.ADOExecute(theApp.m_pADOSet,strQuery); } } //刷新列表 RefreshOut(); } void CMaterial_MISView::OnMenuSearchbasicinfo() { // TODO: Add your command handler code here _variant_t strQuery, Holder; strQuery = "select wzname from material"; theApp.ADOExecute(theApp.m_pADOSet, strQuery); int iCount = theApp.m_pADOSet->GetRecordCount(); if ( 0==iCount ) { AfxMessageBox(_T("目前没有记录!"), MB_ICONEXCLAMATION); return; } CCheckBasicInfoDLG dlg; dlg.DoModal(); } void CMaterial_MISView::OnMenuSearchininfo() { // TODO: Add your command handler code here CSearch dlg; dlg.m_sType=true; _variant_t strQuery; strQuery="select * from msave"; theApp.ADOExecute(theApp.m_pADOSet,strQuery); int icount=theApp.m_pADOSet->GetRecordCount(); if(0==icount) { AfxMessageBox(_T("目前没有入库信息!"), MB_ICONEXCLAMATION); return; } dlg.DoModal(); } void CMaterial_MISView::OnMenuSearchoutinfo() { // TODO: Add your command handler code here CSearch dlg; dlg.m_sType=false; _variant_t strQuery; strQuery="select * from muse"; theApp.ADOExecute(theApp.m_pADOSet,strQuery); int icount=theApp.m_pADOSet->GetRecordCount(); if(0==icount) { AfxMessageBox(_T("目前没有出库信息!"), MB_ICONEXCLAMATION); return; } dlg.DoModal(); } void CMaterial_MISView::OnMenuSearchsurplus() { // TODO: Add your command handler code here _variant_t strQuery; m_ListCtrl.DestroyWindow(); strQuery = "select * from msurplus"; CreateSurplusInfo(strQuery); m_sCurrentList = _T("物资余额列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); CSearchplusInfo dlg; dlg.DoModal(); return; } void CMaterial_MISView::RefreshMaterial() { if (m_ListCtrl) m_ListCtrl.DestroyWindow(); CreateMaterialInfo(); m_sCurrentList = _T("物资列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); } void CMaterial_MISView::CreateMaterialInfo() { m_sCurrentList = _T("物资列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); CRect rect; GetClientRect(rect); rect.top += 30; m_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect, this, 1); m_ListCtrl.SetBkColor(RGB(177, 151, 240)); m_ListCtrl.SetTextColor(RGB(0,0,0)); m_ListCtrl.SetTextBkColor(RGB(177, 151, 240)); // Set EX-Style m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP); // 创建标题 m_ListCtrl.InsertColumn(0,_T("物资编号"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(1,_T("物资名称"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(2,_T("规格型号"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(3,_T("类 别"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(4,_T("计量单位"), LVCFMT_LEFT, 100); // 获得所有记录 _variant_t Holder, strQuery; strQuery = "select * from material order by wzid"; theApp.ADOExecute(theApp.m_pADOSet, strQuery); int iCount = theApp.m_pADOSet->GetRecordCount(); if ( 0==iCount ) return; CString str; theApp.m_pADOSet->MoveFirst(); for(int i=0; i<iCount; i++) { // 获得物资ID Holder = theApp.m_pADOSet->GetCollect("wzid"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.InsertItem(i, str); // 获得物资名称 Holder = theApp.m_pADOSet->GetCollect("wzname"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 1, str); // 获得物资规格型号 Holder = theApp.m_pADOSet->GetCollect("wzspec"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 2, str); // 获得物资类别 Holder = theApp.m_pADOSet->GetCollect("wzkind"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 3, str); // 获得物资计量单位 Holder = theApp.m_pADOSet->GetCollect("wzunit"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 4, str); theApp.m_pADOSet->MoveNext(); } } void CMaterial_MISView::LoadListCtrl() { CRect rect; GetClientRect(rect); rect.top += 30; m_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect, this, 1); m_ListCtrl.SetBkColor(RGB(177, 151, 240)); m_ListCtrl.SetTextColor(RGB(0,0,0)); m_ListCtrl.SetTextBkColor(RGB(177, 151, 240)); m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP); m_ListCtrl.InsertColumn(0,"Node ID", LVCFMT_LEFT, 250); m_ListCtrl.InsertColumn(1,"2 ID", LVCFMT_LEFT, 250); CString str; for (int i=0; i<100; i++) { str.Format("%d", i); m_ListCtrl.InsertItem(i, str); } } void CMaterial_MISView::UnLoadListCtrl() { m_ListCtrl.DestroyWindow(); } void CMaterial_MISView::OnContextMenu(CWnd* pWnd, CPoint point) { // TODO: Add your message handler code here if ( ""==m_sCurrentList ) return; CMenu menu; if ( _T("物资列表")==m_sCurrentList ) menu.LoadMenu(IDR_MENU_BASICINFO); else if ( _T("物资入库列表")==m_sCurrentList ) menu.LoadMenu(IDR_MENU_IN); else if ( _T("物资出库列表")==m_sCurrentList ) menu.LoadMenu(IDR_MENU_OUT); CMenu* pMenu=menu.GetSubMenu(0); pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON,point.x,point.y,this); return; } void CMaterial_MISView::OnInitialUpdate() { CView::OnInitialUpdate(); // TODO: Add your specialized code here and/or call the base class CRect rect; rect.left = rect.top =5; rect.bottom = 30; rect.right = 120; m_StaticCtrl.Create(m_sCurrentList, WS_VISIBLE, rect, this, 1); } void CMaterial_MISView::RefreshMaterialWindow(_variant_t strQuery) { if (m_ListCtrl) m_ListCtrl.DestroyWindow(); CreateMaterialWindow( strQuery ); m_sCurrentList = _T("物资列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); } void CMaterial_MISView::CreateMaterialWindow(_variant_t strQuery) { m_sCurrentList = _T("物资列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); // Get Client Rect CRect rect; GetClientRect(rect); rect.top += 30; // Create m_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect, this, 1); // Set Color m_ListCtrl.SetBkColor(RGB(177, 151, 240)); m_ListCtrl.SetTextColor(RGB(0,0,0)); m_ListCtrl.SetTextBkColor(RGB(177, 151, 240)); // Set EX-Style m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP); // Create Header m_ListCtrl.InsertColumn(0,_T("物资编号"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(1,_T("物资名称"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(2,_T("规格型号"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(3,_T("类 别"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(4,_T("计量单位"), LVCFMT_LEFT, 100); // 获得记录集 _variant_t Holder; theApp.ADOExecute(theApp.m_pADOSet, strQuery); int iCount = theApp.m_pADOSet->GetRecordCount(); if ( 0==iCount ) return; CString str; theApp.m_pADOSet->MoveFirst(); for(int i=0; i<iCount; i++) { Holder = theApp.m_pADOSet->GetCollect("wzid"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.InsertItem(i, str); Holder = theApp.m_pADOSet->GetCollect("wzname"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 1, str); Holder = theApp.m_pADOSet->GetCollect("wzspec"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 2, str); Holder = theApp.m_pADOSet->GetCollect("wzkind"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 3, str); Holder = theApp.m_pADOSet->GetCollect("wzunit"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 4, str); theApp.m_pADOSet->MoveNext(); } } void CMaterial_MISView::CreateIn(_variant_t strQuery) { // Get Client Rect CRect rect; GetClientRect(rect); rect.top += 30; // Create m_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect, this, 1); // Set Color m_ListCtrl.SetBkColor(RGB(177, 151, 240)); m_ListCtrl.SetTextColor(RGB(0,0,0)); m_ListCtrl.SetTextBkColor(RGB(177, 151, 240)); // Set EX-Style m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP); // Create Header m_ListCtrl.InsertColumn(0,_T("入库编号"), LVCFMT_LEFT,100); m_ListCtrl.InsertColumn(1,_T("物资编号"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(2,_T("物资名称"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(3,_T("规格型号"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(4,_T("类 别"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(5,_T("计量单位"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(6,_T("数 量"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(7,_T("单 价"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(8,_T("金 额"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(9,_T("入库时间"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(10,_T("经办人"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(11,_T("保管人"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(12,_T("仓 库"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(13,_T("备 注"), LVCFMT_LEFT, 100); // Get all records _variant_t Holder; theApp.ADOExecute(theApp.m_pADOSet, strQuery); int iCount = theApp.m_pADOSet->GetRecordCount(); if ( 0==iCount ) return; CString str; COleDateTime time; theApp.m_pADOSet->MoveFirst(); for(int i=0; i<iCount; i++) { Holder = theApp.m_pADOSet->GetCollect("rkno"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.InsertItem(i, str); Holder = theApp.m_pADOSet->GetCollect("rkid"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 1, str); // Get customname Holder = theApp.m_pADOSet->GetCollect("rkname"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 2, str); // Get customID Holder = theApp.m_pADOSet->GetCollect("rkspec"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 3, str); // Get roomno Holder = theApp.m_pADOSet->GetCollect("rkkind"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 4, str); // Get indate Holder = theApp.m_pADOSet->GetCollect("rkunit"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 5, str); Holder = theApp.m_pADOSet->GetCollect("rkaccount"); str.Format("%.2f", Holder.vt==VT_NULL?0:Holder.dblVal); //str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 6, str); Holder = theApp.m_pADOSet->GetCollect("rkprice"); str.Format("%.2f", Holder.vt==VT_NULL?0:Holder.dblVal); //str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 7, str); Holder = theApp.m_pADOSet->GetCollect("rkvalue"); str.Format("%.2f", Holder.vt==VT_NULL?0:Holder.dblVal); //str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 8, str); Holder = theApp.m_pADOSet->GetCollect("rkdate"); time = Holder; str = time.Format("%Y-%m-%d"); m_ListCtrl.SetItemText(i, 9, str); Holder = theApp.m_pADOSet->GetCollect("rkdeal_person"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 10, str); Holder = theApp.m_pADOSet->GetCollect("rksave_person"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 11, str); // Get discount Holder = theApp.m_pADOSet->GetCollect("rkbase"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 12, str); Holder = theApp.m_pADOSet->GetCollect("rkmemo"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 13, str); theApp.m_pADOSet->MoveNext(); } } void CMaterial_MISView::RefreshIn(_variant_t strQuery) { if (m_ListCtrl) m_ListCtrl.DestroyWindow(); CreateIn( strQuery ); m_sCurrentList = _T("物资入库列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); } void CMaterial_MISView::RefreshIn() { if (m_ListCtrl) m_ListCtrl.DestroyWindow(); _variant_t strQuery; strQuery="select * from msave"; CreateIn(strQuery); m_sCurrentList = _T("物资入库列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); } void CMaterial_MISView::RefreshOut(_variant_t strQuery) { if (m_ListCtrl) m_ListCtrl.DestroyWindow(); CreateOut( strQuery ); m_sCurrentList = _T("物资出库列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); } void CMaterial_MISView::CreateOut(_variant_t strQuery) { CRect rect; GetClientRect(rect); rect.top += 30; // Create m_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect, this, 1); // Set Color m_ListCtrl.SetBkColor(RGB(177, 151, 240)); m_ListCtrl.SetTextColor(RGB(0,0,0)); m_ListCtrl.SetTextBkColor(RGB(177, 151, 240)); // Set EX-Style m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP); // Create Header m_ListCtrl.InsertColumn(0,_T("出库编号"), LVCFMT_LEFT,100); m_ListCtrl.InsertColumn(1,_T("物资编号"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(2,_T("物资名称"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(3,_T("规格型号"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(4,_T("类 别"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(5,_T("计量单位"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(6,_T("数 量"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(7,_T("单 价"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(8,_T("金 额"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(9,_T("出库时间"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(10,_T("领用人"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(11,_T("经办人"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(12,_T("仓 库"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(13,_T("备 注"), LVCFMT_LEFT, 100); // Get all records _variant_t Holder; theApp.ADOExecute(theApp.m_pADOSet, strQuery); int iCount = theApp.m_pADOSet->GetRecordCount(); if ( 0==iCount ) return; CString str; COleDateTime time; theApp.m_pADOSet->MoveFirst(); for(int i=0; i<iCount; i++) { Holder = theApp.m_pADOSet->GetCollect("lyno"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.InsertItem(i, str); Holder = theApp.m_pADOSet->GetCollect("lyid"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 1, str); // Get customname Holder = theApp.m_pADOSet->GetCollect("lyname"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 2, str); // Get customID Holder = theApp.m_pADOSet->GetCollect("lyspec"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 3, str); // Get roomno Holder = theApp.m_pADOSet->GetCollect("lykind"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 4, str); // Get indate Holder = theApp.m_pADOSet->GetCollect("lyunit"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 5, str); Holder = theApp.m_pADOSet->GetCollect("lyaccount"); str.Format("%.2f", Holder.vt==VT_NULL?0:Holder.dblVal); //str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 6, str); Holder = theApp.m_pADOSet->GetCollect("lyprice"); str.Format("%.2f", Holder.vt==VT_NULL?0:Holder.dblVal); //str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 7, str); Holder = theApp.m_pADOSet->GetCollect("lyvalue"); str.Format("%.2f", Holder.vt==VT_NULL?0:Holder.dblVal); //str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 8, str); Holder = theApp.m_pADOSet->GetCollect("lydate"); time = Holder; str = time.Format("%Y-%m-%d"); m_ListCtrl.SetItemText(i, 9, str); Holder = theApp.m_pADOSet->GetCollect("lyuse_person"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 10, str); Holder = theApp.m_pADOSet->GetCollect("lydeal_person"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 11, str); // Get discount Holder = theApp.m_pADOSet->GetCollect("lybase"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 12, str); Holder = theApp.m_pADOSet->GetCollect("lymemo"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 13, str); theApp.m_pADOSet->MoveNext(); } } void CMaterial_MISView::RefreshOut() { if (m_ListCtrl) m_ListCtrl.DestroyWindow(); _variant_t strQuery; strQuery="select * from muse"; CreateIn(strQuery); m_sCurrentList = _T("物资出库列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); } void CMaterial_MISView::CreateSurplusInfo(_variant_t strQuery) { CRect rect; GetClientRect(rect); rect.top += 30; // Create m_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect, this, 1); // Set Color m_ListCtrl.SetBkColor(RGB(177, 151, 240)); m_ListCtrl.SetTextColor(RGB(0,0,0)); m_ListCtrl.SetTextBkColor(RGB(177, 151, 240)); // Set EX-Style m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP); // Create Header m_ListCtrl.InsertColumn(0,_T("物资编号"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(1,_T("物资名称"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(2,_T("规格型号"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(3,_T("类 别"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(4,_T("计量单位"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(5,_T("数 量"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(6,_T("金 额"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(7,_T("仓 库"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(8,_T("备 注"), LVCFMT_LEFT, 100); _variant_t Holder; theApp.ADOExecute(theApp.m_pADOSet, strQuery); int iCount = theApp.m_pADOSet->GetRecordCount(); if ( 0==iCount ) return; CString str; theApp.m_pADOSet->MoveFirst(); for(int i=0; i<iCount; i++) { Holder = theApp.m_pADOSet->GetCollect("yeid"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.InsertItem(i, str); Holder = theApp.m_pADOSet->GetCollect("yename"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 1, str); Holder = theApp.m_pADOSet->GetCollect("yespec"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 2, str); Holder = theApp.m_pADOSet->GetCollect("yekind"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 3, str); Holder = theApp.m_pADOSet->GetCollect("yeunit"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 4, str); Holder = theApp.m_pADOSet->GetCollect("yeaccount"); str.Format("%.2f", Holder.vt==VT_NULL?0:Holder.dblVal); m_ListCtrl.SetItemText(i, 5, str); Holder = theApp.m_pADOSet->GetCollect("yevalue"); str.Format("%.2f", Holder.vt==VT_NULL?0:Holder.dblVal); m_ListCtrl.SetItemText(i, 6, str); Holder = theApp.m_pADOSet->GetCollect("yebase"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 7, str); Holder = theApp.m_pADOSet->GetCollect("yememo"); str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; m_ListCtrl.SetItemText(i, 8, str); theApp.m_pADOSet->MoveNext(); } } void CMaterial_MISView::RefreshSurplus(_variant_t strQuery) { if (m_ListCtrl) m_ListCtrl.DestroyWindow(); CreateSurplusInfo( strQuery ); m_sCurrentList = _T("物资余额列表"); m_StaticCtrl.SetWindowText(m_sCurrentList); }