📄 invoice.cpp
字号:
{
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;
m_invoiceCommidityList.DeleteAllItems();
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)///捕捉异常
{
bt_lastPage->EnableWindow(false);
bt_nextPage->EnableWindow(false);
AfxMessageBox("已经到达纪录集的尾部!");
}
bt_firstPage->EnableWindow(true);
bt_prevPage->EnableWindow(true);
UpdateData(false);
}
void CInvoice::OnNew()
{
UpdateData(true);
tx_clientName->EnableWindow(true);
tx_department->EnableWindow(true);
tx_formDate->EnableWindow(true);
tx_saleType->EnableWindow(true);
tx_seller->EnableWindow(true);
tx_payCondition->EnableWindow(true);
tx_taxNO->EnableWindow(true);
tx_bank->EnableWindow(true);
tx_account->EnableWindow(true);
tx_remark->EnableWindow(true);
tx_invoiceID->EnableWindow(true);
bt_prevPage->EnableWindow(false);
bt_firstPage->EnableWindow(false);
bt_nextPage->EnableWindow(false);
bt_lastPage->EnableWindow(false);
bt_modify->EnableWindow(false);
// bt_addLine->EnableWindow(true);
bt_deleteLine->EnableWindow(true);
bt_save->EnableWindow(true);
bt_cancellation->EnableWindow(true);
bt_checked->EnableWindow(false);
bt_delete->EnableWindow(false);
m_clientName = _T("");
m_department = _T("");
m_formDate = COleDateTime::GetCurrentTime();
m_saleType = _T("");
m_seller = _T("");
m_payCondition = _T("");
m_taxNO = _T("");
m_bank = _T("");
m_account = _T("");
m_remark = _T("");
// m_invoiceID = _T("");
int invoiceID=((CSaleApp*)AfxGetApp())->m_pIDRecordset->GetCollect("invoiceID").intVal;
if(invoiceID<10)
m_invoiceID.Format("invoice0000%d",invoiceID);
else if(invoiceID<100&&invoiceID>9)
m_invoiceID.Format("invoice000%d",invoiceID);
else if(invoiceID<1000&&invoiceID>99)
m_invoiceID.Format("invoice00%d",invoiceID);
CString str;
str.Format("%d",invoiceID+1);
((CSaleApp*)AfxGetApp())->m_pIDRecordset->PutCollect("invoiceID",_variant_t(str));
((CSaleApp*)AfxGetApp())->m_pIDRecordset->Update();
m_invoiceCommidityList.DeleteAllItems();
bt_save->EnableWindow(true);
bt_cancellation->EnableWindow(true);
bt_checked->EnableWindow(false);
flag=1;
bt_deleteLine->EnableWindow(true);
SetDlgItemText(IDC_auditing,"审核");
UpdateData(false);
}
void CInvoice::OnModify()
{
UpdateData(true);
CString checked;
if(m_pInvoiceRecordset->adoEOF)
m_pInvoiceRecordset->MovePrevious();
checked=((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pInvoiceRecordset->GetCollect("checked"));
if(checked=="T")
{
AfxMessageBox("已经审核,不能修改!!!");
return;
}
tx_clientName->EnableWindow(true);
tx_department->EnableWindow(true);
tx_formDate->EnableWindow(true);
tx_saleType->EnableWindow(true);
tx_seller->EnableWindow(true);
tx_payCondition->EnableWindow(true);
tx_taxNO->EnableWindow(true);
tx_bank->EnableWindow(true);
tx_account->EnableWindow(true);
tx_remark->EnableWindow(true);
tx_invoiceID->EnableWindow(true);
flag=2;
bt_checked->EnableWindow(true);
bt_cancellation->EnableWindow(true);
bt_save->EnableWindow(true);
bt_delete->EnableWindow(false);
bt_deleteLine->EnableWindow(true);
UpdateData(false);
}
void CInvoice::OnDelete()
{
CAffirm dlg;
if(dlg.DoModal()!=IDOK)
{
return;
}
_variant_t RecordsAffected;
CString strSQL;
strSQL="delete from invoice where invoiceID='";
strSQL=strSQL+m_invoiceID+"'";
(((CSaleApp*)AfxGetApp())->m_pConn)->Execute((_bstr_t)strSQL,&RecordsAffected,adCmdText);
m_invoiceCommidityList.DeleteAllItems();
UpdateData(false);
AfxMessageBox("该发票已删除!");
OnNextPage();
}
void CInvoice::OnAddLine()
{
// TODO: Add your control notification handler code here
}
void CInvoice::OnDeleteLine()
{
CAffirm dlg;
if(dlg.DoModal()!=IDOK)
{
return;
}
POSITION pos = m_invoiceCommidityList.GetFirstSelectedItemPosition();
if(pos)
{
int nFirstSelItem = m_invoiceCommidityList.GetNextSelectedItem(pos);
m_invoiceCommidityList.DeleteItem(nFirstSelItem);
}
}
void CInvoice::OnSave()
{
UpdateData(true);
bt_checked->EnableWindow(true);
bt_cancellation->EnableWindow(false);
_RecordsetPtr m_pRecordset; //用于创建一个查询记录集
CString strSQL;
if(flag==1) //添加
{
m_pInvoiceRecordset->AddNew();
m_pInvoiceRecordset->PutCollect("clientName",(_bstr_t)m_clientName.Left(50));
m_pInvoiceRecordset->PutCollect("department",(_bstr_t)m_department.Left(50));
m_pInvoiceRecordset->PutCollect("formDate",(_variant_t)m_formDate);
m_pInvoiceRecordset->PutCollect("saleType",(_bstr_t)m_saleType.Left(50));
m_pInvoiceRecordset->PutCollect("seller",(_bstr_t)m_seller.Left(50));
m_pInvoiceRecordset->PutCollect("payCondition",(_bstr_t)m_payCondition.Left(50));
m_pInvoiceRecordset->PutCollect("taxNO",(_bstr_t)m_taxNO.Left(50));
m_pInvoiceRecordset->PutCollect("bank",(_bstr_t)m_bank.Left(50));
m_pInvoiceRecordset->PutCollect("account",(_bstr_t)m_account.Left(50));
m_pInvoiceRecordset->PutCollect("remark",(_bstr_t)m_remark.Left(100));
m_pInvoiceRecordset->PutCollect("invoiceID",(_bstr_t)m_invoiceID.Left(25));
m_pInvoiceRecordset->PutCollect("checked",(_bstr_t)"F");
m_pInvoiceRecordset->Update();
strSQL="SELECT * FROM invoiceCommidity" ;
try
{
HRESULT hTRes;
AfxMessageBox("Here");
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
TRACE(_T("连接成功!\n"));
for(int i=0;i<m_invoiceCommidityList.GetItemCount();i++)
{
m_pRecordset->AddNew();
m_pRecordset->PutCollect("invoiceID",_variant_t(m_invoiceID.Left(25)));
m_pRecordset->PutCollect("consignmentFormID",_variant_t(m_invoiceCommidityList.GetItemText(i,0)));
m_pRecordset->PutCollect("commidityID",_variant_t(m_invoiceCommidityList.GetItemText(i,1)));
m_pRecordset->PutCollect("commidityName",_variant_t(m_invoiceCommidityList.GetItemText(i,2)));
m_pRecordset->PutCollect("standard",_variant_t(m_invoiceCommidityList.GetItemText(i,3)));
m_pRecordset->PutCollect("model",_variant_t(m_invoiceCommidityList.GetItemText(i,4)));
m_pRecordset->PutCollect("num",_variant_t(m_invoiceCommidityList.GetItemText(i,5)));
m_pRecordset->PutCollect("price",_variant_t(m_invoiceCommidityList.GetItemText(i,6)));
m_pRecordset->PutCollect("total",_variant_t(m_invoiceCommidityList.GetItemText(i,7)));
m_pRecordset->Update();
strSQL="update consignmentFormCommidity set invoiced='T',invoiceID='";
strSQL=strSQL+m_invoiceID+"' where consignmentFormID='";
strSQL=strSQL+m_invoiceCommidityList.GetItemText(i,0)+"'" ;
strSQL=strSQL+" and commidityID='";
strSQL=strSQL+m_invoiceCommidityList.GetItemText(i,1)+"'";
AfxMessageBox(strSQL);
_variant_t affected;
((CSaleApp*)AfxGetApp())->m_pConn->Execute((_bstr_t)strSQL,&affected,adCmdText); }
AfxMessageBox("保存成功!");
}
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
MessageBox("创建记录集失败!","错误");
}
}
else if(flag==2) //修改
{
_variant_t RecordsAffected;
CString strSQL;
strSQL="delete from invoiceCommidity where invoiceID='";
strSQL=strSQL+m_invoiceID+"'";
(((CSaleApp*)AfxGetApp())->m_pConn)->Execute((_bstr_t)strSQL,&RecordsAffected,adCmdText);
strSQL="update consignmentFormCommidity set invoiced='F',invoiceID='' where invoiceID='";
strSQL=strSQL+m_invoiceID+"'";
AfxMessageBox(strSQL);
(((CSaleApp*)AfxGetApp())->m_pConn)->Execute((_bstr_t)strSQL,&RecordsAffected,adCmdText);
m_pInvoiceRecordset->PutCollect("clientName",(_bstr_t)m_clientName);
m_pInvoiceRecordset->PutCollect("department",(_bstr_t)m_department);
// m_pInvoiceRecordset->PutCollect("formDate",(_bstr_t)m_formDate);
m_pInvoiceRecordset->PutCollect("saleType",(_bstr_t)m_saleType);
m_pInvoiceRecordset->PutCollect("seller",(_bstr_t)m_seller);
m_pInvoiceRecordset->PutCollect("payCondition",(_bstr_t)m_payCondition);
m_pInvoiceRecordset->PutCollect("taxNO",(_bstr_t)m_taxNO);
m_pInvoiceRecordset->PutCollect("bank",(_bstr_t)m_bank);
m_pInvoiceRecordset->PutCollect("account",(_bstr_t)m_account);
m_pInvoiceRecordset->PutCollect("remark",(_bstr_t)m_remark);
m_pInvoiceRecordset->Update();
strSQL="SELECT * FROM invoiceCommidity" ;
try
{
HRESULT hTRes;
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
TRACE(_T("连接成功!\n"));
//------------------------------------------
for(int i=0;i<m_invoiceCommidityList.GetItemCount();i++)
{
m_pRecordset->AddNew();
m_pRecordset->PutCollect("invoiceID",_variant_t(m_invoiceID));
m_pRecordset->PutCollect("consignmentFormID",_variant_t(m_invoiceCommidityList.GetItemText(i,0)));
m_pRecordset->PutCollect("commidityID",_variant_t(m_invoiceCommidityList.GetItemText(i,1)));
m_pRecordset->PutCollect("commidityName",_variant_t(m_invoiceCommidityList.GetItemText(i,2)));
m_pRecordset->PutCollect("standard",_variant_t(m_invoiceCommidityList.GetItemText(i,3)));
m_pRecordset->PutCollect("model",_variant_t(m_invoiceCommidityList.GetItemText(i,4)));
m_pRecordset->PutCollect("num",_variant_t(m_invoiceCommidityList.GetItemText(i,5)));
m_pRecordset->PutCollect("price",_variant_t(m_invoiceCommidityList.GetItemText(i,6)));
m_pRecordset->PutCollect("total",_variant_t(m_invoiceCommidityList.GetItemText(i,7)));
m_pRecordset->Update();
strSQL="update consignmentFormCommidity set invoiced='T',invoiceID='";
strSQL=strSQL+m_invoiceID+"' where consignmentFormID='";
strSQL=strSQL+m_invoiceCommidityList.GetItemText(i,0)+"'" ;
strSQL=strSQL+" and commidityID='";
strSQL=strSQL+m_invoiceCommidityList.GetItemText(i,1)+"'";
AfxMessageBox(strSQL);
_variant_t affected;
((CSaleApp*)AfxGetApp())->m_pConn->Execute((_bstr_t)strSQL,&affected,adCmdText);
}
AfxMessageBox("保存成功!");
}
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
MessageBox("创建记录集失败!","错误");
}
}
bt_add->EnableWindow(true);
bt_delete->EnableWindow(true);
bt_prevPage->EnableWindow(true);
bt_firstPage->EnableWindow(true);
bt_nextPage->EnableWindow(true);
bt_lastPage->EnableWindow(true);
bt_modify->EnableWindow(true);
bt_deleteLine->EnableWindow(false);
bt_checked->EnableWindow(true);
bt_cancellation->EnableWindow(false);
UpdateData(false);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -