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

📄 trade_misview.cpp

📁 几个VC的小程序!其中包括仓库管理
💻 CPP
📖 第 1 页 / 共 3 页
字号:
        COleDateTime tOrderDate;
		Holder = theApp.m_pADOSet->GetCollect("OrderDate");
		if ( Holder.vt==VT_NULL ) str = "N/A";
		else
		{
		    tOrderDate = Holder;
		    str = tOrderDate.Format("%Y-%m-%d");
		}
	  	m_ListCtrl.SetItemText(i, 6, str);
		// Get Ordermemo
       	Holder = theApp.m_pADOSet->GetCollect("Ordermemo");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	  	m_ListCtrl.SetItemText(i, 7, str);
        
		theApp.m_pADOSet->MoveNext();
	}
}

void CTrade_MISView::OnAlterStock() 
{
	// TODO: Add your command handler code here
	_variant_t strQuery;
	
	strQuery = "select * from sstock";
	if ( m_ListCtrl && m_sCurrentList!=_T("进货信息列表") )
	{
		m_ListCtrl.DestroyWindow();
	    
		CreateStock(strQuery);
	    
		m_sCurrentList = _T("进货信息列表");
        m_StaticCtrl.SetWindowText(m_sCurrentList);
		
		return;
	}
    if ( !m_ListCtrl )
	{
		CreateStock(strQuery);
	    
		m_sCurrentList = _T("进货信息列表");
    	m_StaticCtrl.SetWindowText(m_sCurrentList);
		
		return;
	}
    //Popup Alter Dialog
	POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
    if (pos == NULL) AfxMessageBox(_T("没有选中的记录!"), MB_ICONEXCLAMATION);
    else
	{
	   CStockDLG dlg;
       dlg.m_bAppend = false;   
	   
	   CString str;
	   int iItem = m_ListCtrl.GetNextSelectedItem(pos);
       // Get ProviderName
	   dlg.m_sProviderName  = m_ListCtrl.GetItemText(iItem, 0);
	   // Get ProductName
       dlg.m_sProductName = m_ListCtrl.GetItemText(iItem, 1);
	   // Get Spec
       dlg.m_sProductSpec = m_ListCtrl.GetItemText(iItem, 2);
	   // Get Unit
       dlg.m_sProductUnit = m_ListCtrl.GetItemText(iItem, 3);
	   // Get Quantity
       dlg.m_sQuantity = m_ListCtrl.GetItemText(iItem, 4);
	   // UnitPrice
       dlg.m_sPrice = m_ListCtrl.GetItemText(iItem, 5);
	   // Get OrderDate
       _variant_t strQuery, Holder;	
	   strQuery = "select OrderDate from sstock where ProviderName='"+dlg.m_sProviderName+"' and ProductName='"+dlg.m_sProductName+"'";
	   theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	   Holder = theApp.m_pADOSet->GetCollect("OrderDate");
	   dlg.m_tOrderDate = Holder;
	   // Get Ordermemo
       dlg.m_sMemo = m_ListCtrl.GetItemText(iItem, 7);
	   
	   dlg.DoModal();
	}
}

void CTrade_MISView::OnDelStock() 
{
	// TODO: Add your command handler code here
	_variant_t Holder, strQuery;

	strQuery = "select * from sstock";
	if ( m_ListCtrl && m_sCurrentList!="进货信息列表" )	
	{
		m_ListCtrl.DestroyWindow();
	    CreateStock( strQuery );
	    m_sCurrentList = _T("进货信息列表");
        m_StaticCtrl.SetWindowText(m_sCurrentList);
		return;
	}
    if ( !m_ListCtrl )
	{
		CreateStock(strQuery);
	    m_sCurrentList = _T("进货信息列表");
        m_StaticCtrl.SetWindowText(m_sCurrentList);
		return;
	}
	
	// Del Records
	POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
    if ( pos == NULL ) 
	{
		AfxMessageBox(_T("没有选中的记录!"), MB_ICONEXCLAMATION);
		return;
	}
    else
	{
		int iItem;       
		CString sProviderName, sProductName;
		while (pos)
		{
            iItem = m_ListCtrl.GetNextSelectedItem(pos);
            sProviderName = m_ListCtrl.GetItemText(iItem, 0);
		    sProductName = m_ListCtrl.GetItemText(iItem, 1);
			strQuery = "delete from sstock where ProviderName='"+sProviderName+"' and ProductName='"+sProductName+"'";
	        theApp.ADOExecute(theApp.m_pADOSet, strQuery);
		}
	}
    
	// Refresh List
	strQuery = "select * from sstock";
	RefreshStock( strQuery );
}

void CTrade_MISView::OnSearchStock() 
{
	// TODO: Add your command handler code here
	_variant_t strQuery, Holder;	
	
	// Check Provider Table
    strQuery = "select * from suppliers";
	theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	int iCount = theApp.m_pADOSet->GetRecordCount();
    if (0==iCount)
	{
		AfxMessageBox(_T("没有供应商记录,无法查询!"), MB_ICONEXCLAMATION);
		return;
	}
	
	// Check Product Table
    strQuery = "select * from products";
	theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	iCount = theApp.m_pADOSet->GetRecordCount();
    if (0==iCount)
	{
		AfxMessageBox(_T("没有商品记录,无法查询!"), MB_ICONEXCLAMATION);
		return;
	}
	
	// Check if thers is any record
	strQuery = "select * from sstock";
	theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	iCount = theApp.m_pADOSet->GetRecordCount();
    if (0==iCount)
	{
		AfxMessageBox(_T("没有进货记录,无法查询!"), MB_ICONEXCLAMATION);
		return;
	}
	
	CSearchStockDLG dlg;
	dlg.DoModal();
}

void CTrade_MISView::OnAddOrder() 
{
	// TODO: Add your command handler code here
	
	// Check Customer 
	_variant_t strQuery;	
	strQuery = "select * from customers";
	theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	int iCount = theApp.m_pADOSet->GetRecordCount();
	if ( 0==iCount ) 
	{
		AfxMessageBox(_T("请先设置顾客信息!"), MB_ICONEXCLAMATION);
		return;
	}

	// Check Product 
	strQuery = "select * from products";
	theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	iCount = theApp.m_pADOSet->GetRecordCount();
	if ( 0==iCount ) 
	{
		AfxMessageBox(_T("请先设置商品信息!"), MB_ICONEXCLAMATION);
		return;
	}
    
	COrderDLG dlg;
	dlg.m_bAppend = true;
	dlg.DoModal();
}

void CTrade_MISView::RefreshOrder(_variant_t strQuery)
{
	if (m_ListCtrl)	m_ListCtrl.DestroyWindow();
	
 	CreateOrder( strQuery );

	m_sCurrentList = _T("销售信息列表");
    m_StaticCtrl.SetWindowText(m_sCurrentList);
}

void CTrade_MISView::CreateOrder(_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);
	
	// 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++)
	{
		// Get CustomerCompanyName
		Holder = theApp.m_pADOSet->GetCollect("CustomerName");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.InsertItem(i, str);
	    // Get ProductName
        Holder = theApp.m_pADOSet->GetCollect("ProductName");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 1, str);
		// Get Spec
        Holder = theApp.m_pADOSet->GetCollect("Spec");
	   	str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 2, str);
		// Get Unit
        Holder = theApp.m_pADOSet->GetCollect("Unit");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 3, str);
		// Get Quantity
        Holder = theApp.m_pADOSet->GetCollect("Quantity");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 4, str);
		// Get UnitPrice
       	Holder = theApp.m_pADOSet->GetCollect("UnitPrice");
	    if ( VT_NULL==Holder.vt ) str="N/A";
		else str.Format("%.2f", Holder.dblVal);
        m_ListCtrl.SetItemText(i, 5, str);
		// Get OrderDate
        COleDateTime tOrderDate;
		Holder = theApp.m_pADOSet->GetCollect("OrderDate");
		if ( Holder.vt==VT_NULL ) str = "N/A";
		else
		{
		    tOrderDate = Holder;
		    str = tOrderDate.Format("%Y-%m-%d");
		}
	  	m_ListCtrl.SetItemText(i, 6, str);
		// Get Discount
       	Holder = theApp.m_pADOSet->GetCollect("Discount");
	    if ( VT_NULL==Holder.vt ) str="N/A";
		else str.Format("%.2f", Holder.dblVal);
        m_ListCtrl.SetItemText(i, 7, str);
		// Get Ordermemo
       	Holder = theApp.m_pADOSet->GetCollect("Ordermemo");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	  	m_ListCtrl.SetItemText(i, 8, str);
        
		theApp.m_pADOSet->MoveNext();
	}
}

void CTrade_MISView::OnAlterOrder() 
{
	// TODO: Add your command handler code here
	_variant_t strQuery;
	
	strQuery = "select * from orders";
	if ( m_ListCtrl && m_sCurrentList!=_T("销售信息列表") )
	{
		m_ListCtrl.DestroyWindow();
	    
		CreateOrder(strQuery);
	    
		m_sCurrentList = _T("销售信息列表");
        m_StaticCtrl.SetWindowText(m_sCurrentList);
		
		return;
	}
    if ( !m_ListCtrl )
	{
		CreateOrder(strQuery);
	    
		m_sCurrentList = _T("销售信息列表");
    	m_StaticCtrl.SetWindowText(m_sCurrentList);
		
		return;
	}
    //Popup Alter Dialog
	POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
    if (pos == NULL) AfxMessageBox(_T("没有选中的记录!"), MB_ICONEXCLAMATION);
    else
	{
	   COrderDLG dlg;
       dlg.m_bAppend = false;   
	   
	   CString str;
	   int iItem = m_ListCtrl.GetNextSelectedItem(pos);
       // Get CustomerName
	   dlg.m_sCustomerName  = m_ListCtrl.GetItemText(iItem, 0);
	   // Get ProductName
       dlg.m_sProductName = m_ListCtrl.GetItemText(iItem, 1);
	   // Get Spec
       dlg.m_sProductSpec = m_ListCtrl.GetItemText(iItem, 2);
	   // Get Unit
       dlg.m_sProductUnit = m_ListCtrl.GetItemText(iItem, 3);
	   // Get Quantity
       dlg.m_sQuantity = m_ListCtrl.GetItemText(iItem, 4);
	   // UnitPrice
       dlg.m_sPrice = m_ListCtrl.GetItemText(iItem, 5);
	   // Get OrderDate
       _variant_t strQuery, Holder;	
	   strQuery = "select OrderDate from orders where CustomerName='"+dlg.m_sCustomerName+"' and ProductName='"+dlg.m_sProductName+"'";
	   theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	   Holder = theApp.m_pADOSet->GetCollect("OrderDate");
	   dlg.m_tOrderDate = Holder;
	   // Dsicount
       dlg.m_sDiscount = m_ListCtrl.GetItemText(iItem, 7);
	   // Get Ordermemo
       dlg.m_sMemo = m_ListCtrl.GetItemText(iItem, 8);
	   
	   dlg.DoModal();
	}
}

void CTrade_MISView::OnDelOrder() 
{
	// TODO: Add your command handler code here
	_variant_t Holder, strQuery;

	strQuery = "select * from orders";
	if ( m_ListCtrl && m_sCurrentList!="销售信息列表" )	
	{
		m_ListCtrl.DestroyWindow();
	    CreateOrder( strQuery );
	    m_sCurrentList = _T("销售信息列表");
        m_StaticCtrl.SetWindowText(m_sCurrentList);
		return;
	}
    if ( !m_ListCtrl )
	{
		CreateOrder(strQuery);
	    m_sCurrentList = _T("销售信息列表");
        m_StaticCtrl.SetWindowText(m_sCurrentList);
		return;
	}
	
	// Del Records
	POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
    if ( pos == NULL ) 
	{
		AfxMessageBox(_T("没有选中的记录!"), MB_ICONEXCLAMATION);
		return;
	}
    else
	{
		int iItem;       
		CString sCustomerName, sProductName;
		while (pos)
		{
            iItem = m_ListCtrl.GetNextSelectedItem(pos);
            sCustomerName = m_ListCtrl.GetItemText(iItem, 0);
		    sProductName = m_ListCtrl.GetItemText(iItem, 1);
			strQuery = "delete from orders where CustomerName='"+sCustomerName+"' and ProductName='"+sProductName+"'";
	        theApp.ADOExecute(theApp.m_pADOSet, strQuery);
		}
	}
    
	// Refresh List
	strQuery = "select * from orders";
	RefreshOrder( strQuery );
}

void CTrade_MISView::OnSearchOrder() 
{
	// TODO: Add your command handler code here
	_variant_t strQuery, Holder;	
	
	// Check Customers Table
    strQuery = "select * from customers";
	theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	int iCount = theApp.m_pADOSet->GetRecordCount();
    if (0==iCount)
	{
		AfxMessageBox(_T("没有顾客记录,无法查询!"), MB_ICONEXCLAMATION);
		return;
	}
	
	// Check Product Table
    strQuery = "select * from products";
	theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	iCount = theApp.m_pADOSet->GetRecordCount();
    if (0==iCount)
	{
		AfxMessageBox(_T("没有商品记录,无法查询!"), MB_ICONEXCLAMATION);
		return;
	}
	
	// Check if thers is any record
	strQuery = "select * from orders";
	theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	iCount = theApp.m_pADOSet->GetRecordCount();
    if (0==iCount)
	{
		AfxMessageBox(_T("没有销售记录,无法查询!"), MB_ICONEXCLAMATION);
		return;
	}
	
	CSearchOrderDLG dlg;
	dlg.DoModal();
}

⌨️ 快捷键说明

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