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

📄 income.cpp

📁 自已做的简单的库存管理软件。包含员工信息管理等
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// Income.cpp : implementation file
//

#include "stdafx.h"
#include "Income.h"
#include "AddIncome.h"
#include "exportexcel.h"
#include "afx.h"
#include "myprint.h"
#include "verify.h"
#include "printsendlist.h"
#include "MySqlConnect.h"


extern MySqlConnect sqlconnect;

extern bool bIncome;
extern int iClass;

//extern _ConnectionPtr pMyConnect;
CString str_select_outcomebillno = _T("");
CString str_select_outcomebrand = _T("");
CString str_select_outcomemode = _T("");
CString str_select_outcomenumber = _T("");
CString str_select_outcomecompany = _T("");
CString str_select_typesn = _T("");
CString str_printsendlist_billno[PRINT_SEND_LIST];
int iPrintsendlist_number = 0;
// CIncome dialog

IMPLEMENT_DYNAMIC(CIncome, CDialog)

CIncome::CIncome(CWnd* pParent /*=NULL*/)
	: CDialog(CIncome::IDD, pParent)
{
	
}

CIncome::~CIncome()
{
}

void CIncome::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_LIST_INOUT, m_list_inout);
}


BEGIN_MESSAGE_MAP(CIncome, CDialog)
	ON_CBN_SELCHANGE(IDC_COMBO_BRAND, &CIncome::OnCbnSelchangeComboBrand)
	ON_BN_CLICKED(IDC_BUTTON_REPORT, &CIncome::OnBnClickedButtonReport)
	ON_CBN_SELCHANGE(IDC_COMBO_MODE, &CIncome::OnCbnSelchangeComboMode)
	ON_NOTIFY(NM_CLICK, IDC_LIST_INOUT, &CIncome::OnNMClickListInout)
	ON_BN_CLICKED(IDC_BUTTON_ADD, &CIncome::OnBnClickedButtonAdd)
	ON_BN_CLICKED(IDC_BUTTON_EXPORT, &CIncome::OnBnClickedButtonExport)
	ON_BN_CLICKED(IDC_BUTTON_PRINT, &CIncome::OnBnClickedButtonPrint)
	ON_BN_CLICKED(IDC_BUTTON_VERIFY, &CIncome::OnBnClickedButtonVerify)
	ON_BN_CLICKED(IDC_BUTTON_PRINTSENDLIST, &CIncome::OnBnClickedButtonPrintsendlist)
END_MESSAGE_MAP()


// CIncome message handlers
BOOL CIncome::OnInitDialog()
{
	CDialog::OnInitDialog();

	int number = 0;
	CComboBox* pWnd;
	_RecordsetPtr m_pRs; 
	CString m_strSql; 
	
	pWnd = (CComboBox*)GetDlgItem(IDC_COMBO_TYPE);
	pWnd->ResetContent();
		
	m_strSql.Format(_T("select NAME from IMS_STORAGE_TYPE where ( SN > 0)") );
	m_pRs = sqlconnect.GetRecordSet( m_strSql );
	if ( m_pRs->GetRecordCount() > 0 )
	{
		_variant_t   TheValue;
		_bstr_t tmp;
		
		m_pRs->MoveFirst(); 
		while(m_pRs->adoEOF==VARIANT_FALSE)	
		{
			//Retrieve column's value: 	 									
			

			TheValue = m_pRs->Fields->GetItem(_variant_t("NAME"))->Value;
			if( TheValue.vt != VT_NULL )
			{
				tmp=(_bstr_t)TheValue; 	
					
				CString str_tmp1 = tmp;
				pWnd->InsertString(number,str_tmp1);
				number++;
			}

			//Do something what you want to do:	......
			m_pRs->MoveNext(); 
		}
	}
	
	/*m_strSql.Format(_T("select NAME from IMS_STORAGE_TYPE where ( SN > 0)") ); 
	m_pRs.CreateInstance( __uuidof(Recordset) ); 
		
	
	try
	{	
		m_pRs->Open( _bstr_t(m_strSql), _variant_t((IDispatch *)pMyConnect,true), adOpenKeyset, adLockOptimistic, adCmdText);  
		if ( m_pRs->GetRecordCount() > 0 )
		{
			_variant_t   TheValue;
			_bstr_t tmp;
		
			m_pRs->MoveFirst(); 
			while(m_pRs->adoEOF==VARIANT_FALSE)	
			{
				//Retrieve column's value: 	 									
			

				TheValue = m_pRs->Fields->GetItem(_variant_t("NAME"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 	
					
					CString str_tmp1 = tmp;
					pWnd->InsertString(number,str_tmp1);
					number++;
				}

				//Do something what you want to do:	......
				m_pRs->MoveNext(); 
			}
		}
	}
	catch (_com_error &e)
	{
		::MessageBox(NULL,e.Description(),(LPCTSTR)(_T("警告")),MB_OK);
		
	}
	m_pRs->Close(); */

    number = 0;
	pWnd = (CComboBox*)GetDlgItem(IDC_COMBO_BRAND);
	pWnd->ResetContent();
	
	pWnd->InsertString(number,_T("全部"));
	number++;
	
	m_strSql.Format(_T("select SN,BRAND from BRAND_TABLE where ( SN > 0)") ); 
	m_pRs = sqlconnect.GetRecordSet( m_strSql );
	if ( m_pRs->GetRecordCount() > 0 )
	{
		_variant_t   TheValue;
		_bstr_t tmp;
		
		m_pRs->MoveFirst(); 
		while(m_pRs->adoEOF==VARIANT_FALSE)	
		{
			//Retrieve column's value: 	 									
			
			TheValue = m_pRs->Fields->GetItem(_variant_t("SN"))->Value;
			if( TheValue.vt != VT_NULL )
			{
				tmp=(_bstr_t)TheValue; 			
				CString str_tmp0 = tmp;
				//str_brand[number][0] = str_tmp0;
			}

			TheValue = m_pRs->Fields->GetItem(_variant_t("BRAND"))->Value;
			if( TheValue.vt != VT_NULL )
			{
				tmp=(_bstr_t)TheValue; 			
				CString str_tmp1 = tmp;
				//str_brand[number][1] = str_tmp1;
				pWnd->InsertString(number,str_tmp1);

				number++;
			}
	
			//Do something what you want to do:	......
			m_pRs->MoveNext(); 
		}	
	}
	
	/*m_strSql.Format(_T("select SN,BRAND from BRAND_TABLE where ( SN > 0)") ); 
	m_pRs.CreateInstance( __uuidof(Recordset) ); 
		
	
	try
	{	
		m_pRs->Open( _bstr_t(m_strSql), _variant_t((IDispatch *)pMyConnect,true), adOpenKeyset, adLockOptimistic, adCmdText);  
	
		if ( m_pRs->GetRecordCount() > 0 )
		{
			_variant_t   TheValue;
			_bstr_t tmp;
		
			m_pRs->MoveFirst(); 
			while(m_pRs->adoEOF==VARIANT_FALSE)	
			{
				//Retrieve column's value: 	 									
			
				TheValue = m_pRs->Fields->GetItem(_variant_t("SN"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					CString str_tmp0 = tmp;
					//str_brand[number][0] = str_tmp0;
				}

				TheValue = m_pRs->Fields->GetItem(_variant_t("BRAND"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					CString str_tmp1 = tmp;
					//str_brand[number][1] = str_tmp1;
					pWnd->InsertString(number,str_tmp1);

					number++;
				}
	
				//Do something what you want to do:	......
				m_pRs->MoveNext(); 
			}	
		}
	}
	catch (_com_error &e)
	{
		::MessageBox(NULL,e.Description(),(LPCTSTR)(_T("警告")),MB_OK);
		
	}
	m_pRs->Close(); */

	

	m_list_inout.SetExtendedStyle( LVS_EX_GRIDLINES );
    m_list_inout.InsertColumn(0,_T("序号"));         //插入列
	m_list_inout.InsertColumn(1,_T("状态"));
	m_list_inout.InsertColumn(2,_T("单号"));
	m_list_inout.InsertColumn(3,_T("型号"));
	m_list_inout.InsertColumn(4,_T("品牌"));
	m_list_inout.InsertColumn(5,_T("数量"));
	m_list_inout.InsertColumn(6,_T("时间"));
	if(bIncome)
	{
		m_list_inout.InsertColumn(7,_T("入库单位"));
	}
	else
	{
		m_list_inout.InsertColumn(7,_T("出库单位"));
	}
	m_list_inout.InsertColumn(8,_T("经办人"));
	m_list_inout.InsertColumn(9,_T("操作员"));
	m_list_inout.InsertColumn(10,_T("类型"));
	m_list_inout.InsertColumn(11,_T("备注"));
	CRect rect4;
	m_list_inout.GetClientRect(rect4);                    //获得当前客户区信息
	m_list_inout.SetColumnWidth(0,rect4.Width()/20);       //设置列的宽度。
	m_list_inout.SetColumnWidth(1,rect4.Width()/15);
	m_list_inout.SetColumnWidth(2,rect4.Width()/6);
	m_list_inout.SetColumnWidth(3,rect4.Width()/6);
	m_list_inout.SetColumnWidth(4,rect4.Width()/10);
	m_list_inout.SetColumnWidth(5,rect4.Width()/15);
	m_list_inout.SetColumnWidth(6,rect4.Width()/10);
	m_list_inout.SetColumnWidth(7,rect4.Width()/6);
	m_list_inout.SetColumnWidth(8,rect4.Width()/8);
	m_list_inout.SetColumnWidth(9,rect4.Width()/12);
	m_list_inout.SetColumnWidth(10,rect4.Width()/12);
    m_list_inout.SetColumnWidth(11,rect4.Width()/6);

	
	CWnd* pTemp;
	pTemp = GetDlgItem(IDC_BUTTON_ADD);
	if (bIncome)
	{
		SetWindowText(_T("入库操作"));
		
		pTemp->SetWindowText(_T("入库"));
	}
	else
	{
		SetWindowText(_T("出库操作"));
		pTemp->SetWindowText(_T("出库"));
	}

	pTemp = GetDlgItem(IDC_BUTTON_VERIFY);
	if(  bIncome )
	{
		pTemp->EnableWindow(FALSE);
	}
	else
	{
		pTemp->EnableWindow(TRUE);
	}

	pTemp = GetDlgItem(IDC_BUTTON_PRINTSENDLIST);
	if(  bIncome )
	{
		pTemp->EnableWindow(FALSE);
	}
	else
	{
		pTemp->EnableWindow(TRUE);
	}


	ResetTimeCtrl();


	return FALSE;// 将焦点设置到控件,否则返回 TRUE

}


void CIncome::ResetTimeCtrl()
{
	CTime t1(1999, 3, 10, 22, 15, 0); // 10:15 PM March 19, 1999
	CTime t2(1999, 3, 20, 22, 15, 0); // 10:15 PM March 20, 1999
	CTimeSpan ts = t2 - t1;    


	CDateTimeCtrl* pCtrl1 = (CDateTimeCtrl*) GetDlgItem(IDC_DATETIMEPICKER_START);
	ASSERT(pCtrl1 != NULL);
	pCtrl1->SetFormat(_T("yyyy-MM-dd HH:mm:ss"));



	CDateTimeCtrl* pCtrl2 = (CDateTimeCtrl*) GetDlgItem(IDC_DATETIMEPICKER_END);
	ASSERT(pCtrl2 != NULL);
	pCtrl2->SetFormat(_T("yyyy-MM-dd HH:mm:ss"));

	CTime CurrentTime = CTime::GetCurrentTime();
	CTime StartTime = CurrentTime - ts;
	pCtrl1->SetTime(&StartTime);
	pCtrl2->SetTime(&CurrentTime);
}


void CIncome::OnCbnSelchangeComboBrand()
{
	// TODO: Add your control notification handler code here
	//int iPos=((CComboBox*)GetDlgItem(IDC_COMBO_BRAND))->GetCurSel();//当前选中的行。
	//str_brandchoose = str_brand[iPos][1];

	CString str0;
	CComboBox* pTemp;
	pTemp = (CComboBox*)GetDlgItem(IDC_COMBO_BRAND);
	int iPos=pTemp ->GetCurSel();//当前选中的行。	
	int n = pTemp->GetLBTextLen( iPos );
	pTemp->GetLBText( iPos, str0.GetBuffer(n) );
	str0.ReleaseBuffer();

	m_list_inout.DeleteAllItems();

	int number = 0;
	_RecordsetPtr m_pRs; 
	CString m_strSql; 

	CComboBox* pWnd;
	pWnd = (CComboBox*)GetDlgItem(IDC_COMBO_MODE);
	pWnd->ResetContent();
	pWnd->InsertString(number,_T("全部"));
	number++;
	
	
	m_strSql.Format(_T("select SN,MODE from MODE_TABLE where ( BRAND='") +str0+  _T("')")); 
    m_pRs = sqlconnect.GetRecordSet( m_strSql );
	if ( m_pRs->GetRecordCount() > 0 )
	{
		_variant_t   TheValue;
		_bstr_t tmp;
		
		m_pRs->MoveFirst(); 
		while(m_pRs->adoEOF==VARIANT_FALSE)	
		{
			//Retrieve column's value: 	 		
			
			TheValue = m_pRs->Fields->GetItem(_variant_t("SN"))->Value;
			if( TheValue.vt != VT_NULL )
			{
				tmp=(_bstr_t)TheValue; 	
				CString str_tmp0 = tmp;
				//str_mode[number][0] = str_tmp0;
			}

			TheValue = m_pRs->Fields->GetItem(_variant_t("MODE"))->Value;
			if( TheValue.vt != VT_NULL )
			{
				tmp=(_bstr_t)TheValue; 			
				CString str_tmp1 = tmp;
				//str_mode[number][1] = str_tmp1;
				pWnd->InsertString(number,str_tmp1);

				number++;
			}

			//Do something what you want to do:	......
			m_pRs->MoveNext(); 
		}	
	}


	/*m_strSql.Format(_T("select SN,MODE from MODE_TABLE where ( BRAND='") +str0+  _T("')")); 
	m_pRs.CreateInstance( __uuidof(Recordset) ); 
		
	try
	{	
		m_pRs->Open( _bstr_t(m_strSql), _variant_t((IDispatch *)pMyConnect,true), adOpenKeyset, adLockOptimistic, adCmdText);  
	
		if ( m_pRs->GetRecordCount() > 0 )
		{
			_variant_t   TheValue;
			_bstr_t tmp;
		
			m_pRs->MoveFirst(); 
			while(m_pRs->adoEOF==VARIANT_FALSE)	
			{
				//Retrieve column's value: 	 									
			
				TheValue = m_pRs->Fields->GetItem(_variant_t("SN"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 	
					CString str_tmp0 = tmp;
					//str_mode[number][0] = str_tmp0;
				}

				TheValue = m_pRs->Fields->GetItem(_variant_t("MODE"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					CString str_tmp1 = tmp;
					//str_mode[number][1] = str_tmp1;
					pWnd->InsertString(number,str_tmp1);

					number++;
				}

				//Do something what you want to do:	......
				m_pRs->MoveNext(); 
			}	
		}
	}
	catch (_com_error &e)
	{
		::MessageBox(NULL,e.Description(),(LPCTSTR)(_T("警告")),MB_OK);
		
	}
	m_pRs->Close(); */

}

void CIncome::OnBnClickedButtonReport()
{
	// TODO: Add your control notification handler code here
	CString str0;
	CString str1;

	CString str2;
	CString str3;
	CString str_type;

	CWnd* pWnd;
		
	//TYPE
	
	pWnd = GetDlgItem(IDC_COMBO_TYPE);
	pWnd->GetWindowText(str_type);
	if ( str_type.GetLength() == 0 )
	{
		AfxMessageBox(_T("请选择操作类型!"));
		return;
	}
	CString str_type_sn = GetSTORAGETYPESN( str_type );
    str_select_typesn = str_type_sn;

	
	//BRAND
	pWnd = GetDlgItem(IDC_COMBO_BRAND);
	pWnd->GetWindowText(str0);
	if ( str0.GetLength() == 0 )
	{
		AfxMessageBox(_T("请选择品牌!"));
		return;
	}

	//MODE
	pWnd = GetDlgItem(IDC_COMBO_MODE);
	pWnd->GetWindowText(str1);
	if ( str1.GetLength() == 0 )
	{
		AfxMessageBox(_T("请选择型号!"));
		return;
	}

	//START TIME
	pWnd = GetDlgItem(IDC_DATETIMEPICKER_START);

⌨️ 快捷键说明

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