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

📄 income.cpp

📁 自已做的简单的库存管理软件。包含员工信息管理等
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	pWnd->GetWindowText(str2);



    //STOP TIME
	pWnd = GetDlgItem(IDC_DATETIMEPICKER_END);
	pWnd->GetWindowText(str3);


	// Gain a pointer to the control
	CDateTimeCtrl* pCtrl1 = (CDateTimeCtrl*) GetDlgItem(IDC_DATETIMEPICKER_START);
	ASSERT(pCtrl1 != NULL);

	// get as a CTime
	CTime timeTime1;
	DWORD dwResult1 = pCtrl1->GetTime(timeTime1);


	CDateTimeCtrl* pCtrl2 = (CDateTimeCtrl*) GetDlgItem(IDC_DATETIMEPICKER_END);
	ASSERT(pCtrl2 != NULL);

	// get as a CTime
	CTime timeTime2;
	DWORD dwResult2 = pCtrl2->GetTime(timeTime2);
	
    if (timeTime1 > timeTime2)
	{
		AfxMessageBox(_T("起始时间必须小于或等于结束时间!"));
		return;
	}


	int number = 0;
	CString strTemp;
	m_list_inout.DeleteAllItems();

	_RecordsetPtr m_pRs; 
	CString m_strSql; 
	
	
	if(bIncome)
	{
		if ( str0 == _T("全部") )
		{
			m_strSql.Format(_T("select ISVERIFY,BILL_NO,MODE,BRAND,NUMBER,DATETIME,COMPANY,DEPART,STAFF_NAME,USER_NAME,NOTE from INOUT_TABLE where ( STORAGE_TYPE_SN ='") +str_type_sn+ _T("' and DATETIME>='") +str2+ _T("' and DATETIME<='") +str3+ _T("' and FLAG='A')")); 
		}
		else
		{
			if ( str1 == _T("全部") )
			{
				m_strSql.Format(_T("select ISVERIFY,BILL_NO,MODE,BRAND,NUMBER,DATETIME,COMPANY,DEPART,STAFF_NAME,USER_NAME,NOTE from INOUT_TABLE where ( STORAGE_TYPE_SN ='") +str_type_sn+ _T("' and BRAND='") +str0+ _T("' and DATETIME>='") +str2+ _T("' and DATETIME<='") +str3+ _T("' and FLAG='A')")); 
			}
			else
			{
				m_strSql.Format(_T("select ISVERIFY,BILL_NO,MODE,BRAND,NUMBER,DATETIME,COMPANY,DEPART,STAFF_NAME,USER_NAME,NOTE from INOUT_TABLE where ( STORAGE_TYPE_SN ='") +str_type_sn+ _T("' and BRAND='") +str0+  _T("' and MODE='") +str1+ _T("' and DATETIME>='") +str2+ _T("' and DATETIME<='") +str3+ _T("' and FLAG='A')")); 
			}
		}
		
	}
	else
	{
		if ( str0 == _T("全部") )
		{
			m_strSql.Format(_T("select ISVERIFY,BILL_NO,MODE,BRAND,NUMBER,DATETIME,COMPANY,DEPART,STAFF_NAME,USER_NAME,NOTE from INOUT_TABLE where ( STORAGE_TYPE_SN ='") +str_type_sn+ _T("' and DATETIME>='") +str2+ _T("' and DATETIME<='") +str3+ _T("' and FLAG='B')")); 
		}
		else
		{
			if ( str1 == _T("全部") )
			{
				m_strSql.Format(_T("select ISVERIFY,BILL_NO,MODE,BRAND,NUMBER,DATETIME,COMPANY,DEPART,STAFF_NAME,USER_NAME,NOTE from INOUT_TABLE where ( STORAGE_TYPE_SN ='") +str_type_sn+ _T("' and BRAND='") +str0+  _T("' and DATETIME>='") +str2+ _T("' and DATETIME<='") +str3+ _T("' and FLAG='B')")); 
			}
			else
			{
				m_strSql.Format(_T("select ISVERIFY,BILL_NO,MODE,BRAND,NUMBER,DATETIME,COMPANY,DEPART,STAFF_NAME,USER_NAME,NOTE from INOUT_TABLE where (  STORAGE_TYPE_SN ='") +str_type_sn+ _T("' and BRAND='") +str0+  _T("' and MODE='") +str1+ _T("' and DATETIME>='") +str2+ _T("' and DATETIME<='") +str3+ _T("' and FLAG='B')")); 
			}
		}
		
	}
	
	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: 	 									
			strTemp.Format(_T("%d"),number+1);
			m_list_inout.InsertItem(number,strTemp);      //插入第一个数据,即第0条数据。先插入,然后在修改其他的信息。

			TheValue = m_pRs->Fields->GetItem(_variant_t("ISVERIFY"))->Value;
			if( TheValue.vt != VT_NULL )
			{
				tmp=(_bstr_t)TheValue; 			
				m_list_inout.SetItemText(number,1,tmp);
			}
	
			TheValue = m_pRs->Fields->GetItem(_variant_t("BILL_NO"))->Value;
			if( TheValue.vt != VT_NULL )
			{
				tmp=(_bstr_t)TheValue; 			
				m_list_inout.SetItemText(number,2,tmp);
			}

			TheValue = m_pRs->Fields->GetItem(_variant_t("MODE"))->Value;
			if( TheValue.vt != VT_NULL )
			{
				tmp=(_bstr_t)TheValue; 			
				m_list_inout.SetItemText(number,3,tmp);
			}

			TheValue = m_pRs->Fields->GetItem(_variant_t("BRAND"))->Value;
			if( TheValue.vt != VT_NULL )
			{
				tmp=(_bstr_t)TheValue; 			
				m_list_inout.SetItemText(number,4,tmp);
			}

			TheValue = m_pRs->Fields->GetItem(_variant_t("NUMBER"))->Value;
			if( TheValue.vt != VT_NULL )
			{
				tmp=(_bstr_t)TheValue; 			
				m_list_inout.SetItemText(number,5,tmp);
			}

			TheValue = m_pRs->Fields->GetItem(_variant_t("DATETIME"))->Value;
			if( TheValue.vt != VT_NULL )
			{
				tmp=(_bstr_t)TheValue; 			
				m_list_inout.SetItemText(number,6,tmp);
			}

			TheValue = m_pRs->Fields->GetItem(_variant_t("COMPANY"))->Value;
			if( TheValue.vt != VT_NULL )
			{
				tmp=(_bstr_t)TheValue; 			
				m_list_inout.SetItemText(number,7,tmp);
			}


			TheValue = m_pRs->Fields->GetItem(_variant_t("STAFF_NAME"))->Value;
			if( TheValue.vt != VT_NULL )
			{
				tmp=(_bstr_t)TheValue; 			
				m_list_inout.SetItemText(number,8,tmp);
			}

			TheValue = m_pRs->Fields->GetItem(_variant_t("USER_NAME"))->Value;
			if( TheValue.vt != VT_NULL )
			{
				tmp=(_bstr_t)TheValue; 			
				m_list_inout.SetItemText(number,9,tmp);
			}

			m_list_inout.SetItemText(number,10,str_type);

			TheValue = m_pRs->Fields->GetItem(_variant_t("NOTE"))->Value;
			if( TheValue.vt != VT_NULL )
			{
				tmp=(_bstr_t)TheValue; 			
				m_list_inout.SetItemText(number,11,tmp);
			}

			number++;

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

	/*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: 	 									
				strTemp.Format(_T("%d"),number+1);
				m_list_inout.InsertItem(number,strTemp);      //插入第一个数据,即第0条数据。先插入,然后在修改其他的信息。

				TheValue = m_pRs->Fields->GetItem(_variant_t("ISVERIFY"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					m_list_inout.SetItemText(number,1,tmp);
				}
	
				TheValue = m_pRs->Fields->GetItem(_variant_t("BILL_NO"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					m_list_inout.SetItemText(number,2,tmp);
				}

				TheValue = m_pRs->Fields->GetItem(_variant_t("MODE"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					m_list_inout.SetItemText(number,3,tmp);
				}

				TheValue = m_pRs->Fields->GetItem(_variant_t("BRAND"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					m_list_inout.SetItemText(number,4,tmp);
				}

				TheValue = m_pRs->Fields->GetItem(_variant_t("NUMBER"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					m_list_inout.SetItemText(number,5,tmp);
				}

				TheValue = m_pRs->Fields->GetItem(_variant_t("DATETIME"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					m_list_inout.SetItemText(number,6,tmp);
				}

				TheValue = m_pRs->Fields->GetItem(_variant_t("COMPANY"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					m_list_inout.SetItemText(number,7,tmp);
				}


				TheValue = m_pRs->Fields->GetItem(_variant_t("STAFF_NAME"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					m_list_inout.SetItemText(number,8,tmp);
				}

				TheValue = m_pRs->Fields->GetItem(_variant_t("USER_NAME"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					m_list_inout.SetItemText(number,9,tmp);
				}

				m_list_inout.SetItemText(number,10,str_type);

				TheValue = m_pRs->Fields->GetItem(_variant_t("NOTE"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					m_list_inout.SetItemText(number,11,tmp);
				}

				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::OnCbnSelchangeComboMode()
{
	// TODO: Add your control notification handler code here
	int iPos=((CComboBox*)GetDlgItem(IDC_COMBO_MODE))->GetCurSel();//当前选中的行。
	//str_modechoose = str_mode[iPos][1];
}

void CIncome::OnNMClickListInout(NMHDR *pNMHDR, LRESULT *pResult)
{
	// TODO: Add your control notification handler code here
	::SendMessage(m_list_inout.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);
	*pResult = 0;
	
}

void CIncome::OnBnClickedButtonAdd()
{
	// TODO: Add your control notification handler code here
	if(  iClass < 2 )
	{
		AfxMessageBox(_T("您的权限不够,请换个用户名登录!"));
		return;
	}
	
	CAddIncome addincome;
	INT_PTR nResponse = addincome.DoModal();
	if (nResponse == IDOK)
	{
		// TODO: 在此处放置处理何时用“确定”来关闭
		//  对话框的代码
		ResetTimeCtrl();
	}
	else if (nResponse == IDCANCEL)
	{
		// TODO: 在此放置处理何时用“取消”来关闭
		//  对话框的代码
	}
}

void CIncome::OnBnClickedButtonExport()
{
	// TODO: Add your control notification handler code here

	CListCtrl* pWnd;

	pWnd = (CListCtrl*)GetDlgItem(IDC_LIST_INOUT);
	CString str_title;

	if(bIncome)
	{
		str_title = _T("入库清单");
	}
	else
	{
		str_title = _T("出库清单");
	}
	ExportListToExcel(pWnd, str_title);
}



void CIncome::OnBnClickedButtonPrint()
{
	// TODO: Add your control notification handler code here
	CString str_DocName;

	if(bIncome)
	{
		str_DocName = _T("入库清单");
	}
	else
	{
		str_DocName = _T("出库清单");
	}

	PrintListCtrl(m_list_inout, str_DocName,FALSE);
}

void CIncome::OnBnClickedButtonVerify()
{

	// TODO: 在此添加控件通知处理程序代码
	if(  iClass < 4 )
	{
		AfxMessageBox(_T("您的权限不够,请换个用户名登录!"));
		return;
	}


	UINT  uSelectedCount = m_list_inout.GetSelectedCount();
	int  nItem = -1;
	CString str_select = _T("");


	if (uSelectedCount < 1)
	{
		AfxMessageBox(_T("请选择一个单进行审核!"));
		return;
	}
	else if( uSelectedCount > 1 )
	{
		AfxMessageBox(_T("不能对多个单同时进行审核!"));
		return;			
	}
	else
	{
		nItem = m_list_inout.GetNextItem(nItem, LVNI_SELECTED);
		str_select =  m_list_inout.GetItemText(  nItem, 1 );

		
		if( str_select == _T("已审核") )
		{
			AfxMessageBox(_T("此单已审核,请选择其它单进行审核!"));
			return;
		}
		str_select_outcomebillno = m_list_inout.GetItemText(  nItem, 2 );
		str_select_outcomebrand = m_list_inout.GetItemText(  nItem, 4 );
		str_select_outcomemode = m_list_inout.GetItemText(  nItem, 3 );
		str_select_outcomenumber = m_list_inout.GetItemText(  nItem, 5 );

		CVERIFY verify;
		INT_PTR nResponse = verify.DoModal();
		if (nResponse == IDOK)
		{
			// TODO: 在此处放置处理何时用“确定”来关闭
			//  对话框的代码
			OnBnClickedButtonReport();
			
		}
		else if (nResponse == IDCANCEL)
		{
			// TODO: 在此放置处理何时用“取消”来关闭
			//  对话框的代码
		}

	}
}

void CIncome::OnBnClickedButtonPrintsendlist()
{
	// TODO: 在此添加控件通知处理程序代码
	if(  iClass < 2 )
	{
		AfxMessageBox(_T("您的权限不够,请换个用户名登录!"));
		return;
	}


	UINT  uSelectedCount = m_list_inout.GetSelectedCount();
	int  nItem = -1;
	CString str_select = _T("");


	if (uSelectedCount < 1)
	{
		AfxMessageBox(_T("请选择已审核出库单进行操作!"));
		return;
	}	
	if ( uSelectedCount > PRINT_SEND_LIST)
	{
		CString str_temp;
		str_temp.Format( _T("%02d"), PRINT_SEND_LIST);
		str_temp = _T("一张出货单最多进行打印的单号数是:") + str_temp;
		AfxMessageBox( str_temp );
		return;
	}


	CString str_oldcompany = _T("");
	
	for( int i = 0; i < uSelectedCount; i++ )
	{
		nItem = m_list_inout.GetNextItem(nItem, LVNI_SELECTED);
		str_select =  m_list_inout.GetItemText(  nItem, 1 );
		
		
		if( str_select == _T("待审核") )
		{
			AfxMessageBox(_T("请选择已审核的出库单进行操作!"));
			return;
		}
		
		str_select_outcomecompany =  m_list_inout.GetItemText(  nItem, 7 );	
		if ( i == 0 )
		{
			str_oldcompany = str_select_outcomecompany;
		}
		if( str_oldcompany !=  str_select_outcomecompany )
		{
			AfxMessageBox(_T("请选择相同出库单位进行操作!"));
			return;
		}

	}

	nItem = -1;
	for( int i = 0; i < uSelectedCount; i++ )
	{
		nItem = m_list_inout.GetNextItem(nItem, LVNI_SELECTED);
		str_printsendlist_billno[i] =  m_list_inout.GetItemText(  nItem, 2 );
        
	}
	iPrintsendlist_number = uSelectedCount;

	CPrintSendList printsendlist;
	INT_PTR nResponse = printsendlist.DoModal();
	if (nResponse == IDOK)
	{
		// TODO: 在此处放置处理何时用“确定”来关闭
		//  对话框的代码

	}
	else if (nResponse == IDCANCEL)
	{
		// TODO: 在此放置处理何时用“取消”来关闭
		//  对话框的代码
	}
}

⌨️ 快捷键说明

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