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

📄 invoice.cpp

📁 基于VC+SQL SERVER环境开发的企业商品销售系统.完整的数据库和原代码
💻 CPP
📖 第 1 页 / 共 3 页
字号:

void CInvoice::OnCancellation() 
{
	int invoiceID=((CSaleApp*)AfxGetApp())->m_pIDRecordset->GetCollect("invoiceID").intVal;
	CString str;
	str.Format("%d",invoiceID-1);
	((CSaleApp*)AfxGetApp())->m_pIDRecordset->PutCollect("invoiceID",_variant_t(str));
	((CSaleApp*)AfxGetApp())->m_pIDRecordset->Update();
	bt_cancellation->EnableWindow(false);
	OnNextPage();
	
}

void CInvoice::OnAuditing() 
{
	CString str;
	GetDlgItemText(IDC_auditing,str);
	if(str=="审核")
	{
		if(m_pInvoiceRecordset->adoEOF)
			m_pInvoiceRecordset->MovePrevious();
		m_pInvoiceRecordset->PutCollect("checked",_variant_t("T"));
		m_pInvoiceRecordset->Update();
		AfxMessageBox("通过审核!");
		bt_modify->EnableWindow(false);
		SetDlgItemText(IDC_auditing,"弃审");
	}
	else
	{
		if(m_pInvoiceRecordset->adoEOF)
			m_pInvoiceRecordset->MovePrevious();
		m_pInvoiceRecordset->PutCollect("checked",_variant_t("F"));
		m_pInvoiceRecordset->Update();
		AfxMessageBox("审核取消!");
		bt_modify->EnableWindow(true);
		SetDlgItemText(IDC_auditing,"审核");
	}
	
}

void CInvoice::OnExit() 
{
	this->OnCancel();	
}

BOOL CInvoice::OnInitDialog() 
{
	CDialog::OnInitDialog();

	tx_clientName=GetDlgItem(IDC_clientName);
	tx_department=GetDlgItem(IDC_department);
	tx_formDate=GetDlgItem(IDC_formDate);
	tx_saleType=GetDlgItem(IDC_saleType);
	tx_seller=GetDlgItem(IDC_seller);
	tx_payCondition=GetDlgItem(IDC_payCondition);
	tx_taxNO=GetDlgItem(IDC_taxNO);
	tx_bank=GetDlgItem(IDC_bank);
	tx_account=GetDlgItem(IDC_account);
	tx_remark=GetDlgItem(IDC_remark);
	tx_invoiceID=GetDlgItem(IDC_invoiceID);

	bt_firstPage=GetDlgItem(IDC_firstPage);
	bt_prevPage=GetDlgItem(IDC_prevPage);
	bt_nextPage=GetDlgItem(IDC_nextPage);
	bt_lastPage=GetDlgItem(IDC_lastPage);
	bt_add=GetDlgItem(IDC_new);
	bt_save=GetDlgItem(IDC_save);
	bt_modify=GetDlgItem(IDC_modify);
	bt_delete=GetDlgItem(IDC_delete);
	bt_deleteLine=GetDlgItem(IDC_deleteLine);
	bt_cancellation=GetDlgItem(IDC_cancellation);
	bt_checked=GetDlgItem(IDC_auditing);
	
	tx_clientName->EnableWindow(false);
	tx_department->EnableWindow(false);
	tx_formDate->EnableWindow(false);
	tx_saleType->EnableWindow(false);
	tx_seller->EnableWindow(false);
	tx_payCondition->EnableWindow(false);
	tx_taxNO->EnableWindow(false);
	tx_bank->EnableWindow(false);
	tx_account->EnableWindow(false);
	tx_remark->EnableWindow(false);
	tx_invoiceID->EnableWindow(false);
	
	DWORD style;
	style=m_invoiceCommidityList.GetExStyle();
	style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ;
	m_invoiceCommidityList.SetExtendedStyle(style);
	
	m_invoiceCommidityList.InsertColumn(0,"单据号",LVCFMT_LEFT,100);
	m_invoiceCommidityList.InsertColumn(1,"产品编号",LVCFMT_LEFT,100);
	m_invoiceCommidityList.InsertColumn(2,"产品名称",LVCFMT_LEFT,100);
	m_invoiceCommidityList.InsertColumn(3,"规格",LVCFMT_LEFT,100);
	m_invoiceCommidityList.InsertColumn(4,"型号",LVCFMT_LEFT,100);
	m_invoiceCommidityList.InsertColumn(5,"数量",LVCFMT_LEFT,100);
	m_invoiceCommidityList.InsertColumn(6,"单价",LVCFMT_LEFT,100);
	m_invoiceCommidityList.InsertColumn(7,"合计",LVCFMT_LEFT,100);

	CString strSQL;
	HRESULT hTRes;
	strSQL="select * from client";
	_RecordsetPtr m_pClientRecordset;
	hTRes = m_pClientRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		//----------------------------------------------------
		hTRes = m_pClientRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);
		if(SUCCEEDED(hTRes))
		{
			TRACE(_T("连接成功!\n"));
			while(!(m_pClientRecordset->adoEOF))
			{		
			m_clientCombo.AddString(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pClientRecordset->GetCollect("clientID")));
			m_pClientRecordset->MoveNext();
			}
		}
	}
	m_pClientRecordset->Close();


	strSQL="select * from department";
	_RecordsetPtr m_pDepartmentRecordset;
	hTRes = m_pDepartmentRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		hTRes = m_pDepartmentRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);
		if(SUCCEEDED(hTRes))
		{
			TRACE(_T("连接成功!\n"));
			while(!(m_pDepartmentRecordset->adoEOF))
			{		
				m_departmentCombo.AddString(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pDepartmentRecordset->GetCollect("departmentName")));
				m_pDepartmentRecordset->MoveNext();
			}
		}
	}
	m_pDepartmentRecordset->Close();


	strSQL="select * from saleType";
	_RecordsetPtr m_pSaleTypeRecordset;
	hTRes = m_pSaleTypeRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		//----------------------------------------------------
		hTRes = m_pSaleTypeRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);
		if(SUCCEEDED(hTRes))
		{
			TRACE(_T("连接成功!\n"));
			while(!(m_pSaleTypeRecordset->adoEOF))
			{		
				m_saleTypeCombo.AddString(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pSaleTypeRecordset->GetCollect("saleTypeName")));
				m_pSaleTypeRecordset->MoveNext();
			}
		}
	}
	m_pSaleTypeRecordset->Close();


	strSQL="select * from staff";
	_RecordsetPtr m_pStaffRecordset;
	hTRes = m_pStaffRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		//----------------------------------------------------
		hTRes = m_pStaffRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);
		if(SUCCEEDED(hTRes))
		{
			TRACE(_T("连接成功!\n"));
			while(!(m_pStaffRecordset->adoEOF))
			{		
				m_sellerCombo.AddString(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pStaffRecordset->GetCollect("staffID")));
				m_pStaffRecordset->MoveNext();
			}
		}
	}
	m_pStaffRecordset->Close();


	strSQL="select * from payConditionType";
	_RecordsetPtr m_pPayConditionTypeRecordset;
	hTRes = m_pPayConditionTypeRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		//----------------------------------------------------
		hTRes = m_pPayConditionTypeRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);
		if(SUCCEEDED(hTRes))
		{
			TRACE(_T("连接成功!\n"));
			while(!(m_pPayConditionTypeRecordset->adoEOF))
			{		
				m_payConditionCombo.AddString(((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pPayConditionTypeRecordset->GetCollect("payConditionTypeName")));
				m_pPayConditionTypeRecordset->MoveNext();
			}
		}
	}
	m_pPayConditionTypeRecordset->Close();

	_RecordsetPtr m_pRecordset;    //用于创建一个查询记录集	
	//-----------------------------------------------
	strSQL="SELECT * FROM invoice";
	try
	{			
		hTRes = m_pInvoiceRecordset.CreateInstance(_T("ADODB.Recordset"));
		if (SUCCEEDED(hTRes))
		{
			//----------------------------------------------------
			hTRes = m_pInvoiceRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
				((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);
			if(SUCCEEDED(hTRes))
			{
				TRACE(_T("连接成功!\n"));
				if(invoiceID!="")
				{
					while(!(m_pInvoiceRecordset->adoEOF))
					{
						CString str2=((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("invoiceID"));
						if(((CSaleApp*)AfxGetApp())->compareTwoCString(invoiceID,str2)==0)
							break;
						else
							m_pInvoiceRecordset->MoveNext();
					}
				}
				if (!(m_pInvoiceRecordset->adoEOF))
				{
					m_clientName=((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("clientName"));
					m_department=((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("department"));
					DATE dt;
					COleDateTime da;
					dt=m_pInvoiceRecordset->GetCollect("formDate").date;
					da=COleDateTime(dt); 
					m_formDate.SetDate(da.GetYear(),da.GetMonth(),da.GetDay());
					m_saleType=((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("saleType"));
					m_seller=((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("seller"));
					m_payCondition=((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("payCondition"));
					m_taxNO=((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("taxNO"));
					m_bank=((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("bank"));
					m_account=((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("account"));
					m_remark=((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("remark"));
					m_invoiceID=((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("invoiceID"));		


					CString checked;
					checked=((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("checked"));
					if(checked=="T")
					{
						bt_modify->EnableWindow(false);
						SetDlgItemText(IDC_auditing,"弃审");
					}
					else
					{
						bt_modify->EnableWindow(true);
						SetDlgItemText(IDC_auditing,"审核");
					}

					strSQL="select * from invoiceCommidity where invoiceID='";
					strSQL=strSQL+((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("invoiceID"));
					strSQL+="'";
				}
					
				hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
				hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
					((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
					adOpenDynamic,adLockPessimistic,adCmdText);

				
				int i=0;
				while(!(m_pRecordset->adoEOF))
				{
					m_invoiceCommidityList.InsertItem(i,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("consignmentFormID")));
					m_invoiceCommidityList.SetItemText(i,1,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("commidityID")));				
					m_invoiceCommidityList.SetItemText(i,2,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("commidityName")));
					m_invoiceCommidityList.SetItemText(i,3,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("standard")));				
					m_invoiceCommidityList.SetItemText(i,4,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("model")));
					m_invoiceCommidityList.SetItemText(i,5,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("num")));
					m_invoiceCommidityList.SetItemText(i,6,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("price")));				
					m_invoiceCommidityList.SetItemText(i,7,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("total")));
					if (!(m_pRecordset->adoEOF))
					{
						m_pRecordset->MoveNext();
						i++;
					}
				}
			}
		}
	}
	catch(_com_error e)///捕捉异常
	{
		CString errormessage;
		MessageBox("创建记录集失败!","错误");
	}

	flag=0;
	bt_deleteLine->EnableWindow(false);
	bt_prevPage->EnableWindow(false);
	bt_firstPage->EnableWindow(false);
//	bt_addLine->EnableWindow(false);
	bt_cancellation->EnableWindow(false);
	bt_save->EnableWindow(false);
	UpdateData(false);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CInvoice::OnClickList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	
	*pResult = 0;
}

void CInvoice::OnSelchangeClientName() 
{
	UpdateData(true);
	m_invoiceCommidityList.DeleteAllItems();
	
	CString strSQL;
	HRESULT hTRes;
	strSQL="select * from invoiceView where clientName='";
	strSQL=strSQL+m_clientName+"'";
	_RecordsetPtr m_pInvoiceCommidityRecordset;
	hTRes = m_pInvoiceCommidityRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		//----------------------------------------------------
		hTRes = m_pInvoiceCommidityRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);
		if(SUCCEEDED(hTRes))
		{
			TRACE(_T("连接成功!\n"));
			int i=0;
			while(!(m_pInvoiceCommidityRecordset->adoEOF))
			{	
				m_invoiceCommidityList.InsertItem(i,(LPCTSTR)(_bstr_t)m_pInvoiceCommidityRecordset->GetCollect("consignmentFormID"));
				m_invoiceCommidityList.SetItemText(i,1,(LPCTSTR)(_bstr_t)m_pInvoiceCommidityRecordset->GetCollect("commidityID"));
				m_invoiceCommidityList.SetItemText(i,2,(LPCTSTR)(_bstr_t)m_pInvoiceCommidityRecordset->GetCollect("commidityName"));
				m_invoiceCommidityList.SetItemText(i,3,(LPCTSTR)(_bstr_t)m_pInvoiceCommidityRecordset->GetCollect("standard"));
				m_invoiceCommidityList.SetItemText(i,4,(LPCTSTR)(_bstr_t)m_pInvoiceCommidityRecordset->GetCollect("model"));
				m_invoiceCommidityList.SetItemText(i,5,(LPCTSTR)(_bstr_t)m_pInvoiceCommidityRecordset->GetCollect("num"));
				m_invoiceCommidityList.SetItemText(i,6,(LPCTSTR)(_bstr_t)m_pInvoiceCommidityRecordset->GetCollect("truePrice"));
				m_invoiceCommidityList.SetItemText(i,7,(LPCTSTR)(_bstr_t)m_pInvoiceCommidityRecordset->GetCollect("total"));
				m_pInvoiceCommidityRecordset->MoveNext();
				i++;
			}
		}
	}
	m_pInvoiceCommidityRecordset->Close();
}

⌨️ 快捷键说明

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