📄 outcomewizarddlg1.cpp
字号:
m_pFinish_Step14->m_cFinish_List .SetItemText (0,4,Step);
m_pFinish_Step14->UpdateData (FALSE);
}
void COutcomeWizardDlg1::DeleteInfo(UINT nStep)
{
CString sStep;
int Count=m_pFinish_Step14->m_cFinish_List .GetItemCount ();
if(Count==0)
return ;
if(nStep==FINISH_STEP14)
{
m_pFinish_Step14->m_cFinish_List .DeleteAllItems ();
m_pFinish_Step14->UpdateData (FALSE);
return ;
}
for(int i=0; i<Count; i++)
{
sStep=m_pFinish_Step14->m_cFinish_List .GetItemText (i,3);
if(nStep==_ttol(sStep)||OUTCOME_CASH_STEP==_ttol(sStep)||OUTCOME_STEP1==_ttol(sStep))
m_pFinish_Step14->m_cFinish_List .DeleteItem (i);
}
m_pFinish_Step14->UpdateData (FALSE);
}
void COutcomeWizardDlg1::UpdateStep(UINT nStep)
{
nCurrentPage=nStep;
ShowPage(nCurrentPage);
SetCaption(nCurrentPage);
//位置入栈
LinkStack.Push (nCurrentPage);
}
void COutcomeWizardDlg1::ListAllBank()
{
//由银行的个数数据来实现
m_pBank4_Step13->UpdateData ();
m_pBank3_Step12->UpdateData ();
m_pBank2_Step11->UpdateData ();
m_pBank1_Step10->UpdateData ();
m_pBank_Step9->UpdateData ();
if(m_pSource->m_bBank==FALSE )//根本没有银行操作,则返回
return ;
//有银行操作
switch(m_pCount->m_iBankCount )
{
case 1:
InsertInfo(L"银行",m_pBank_Step9->m_sCardId ,m_pBank_Step9->m_dAmount,BANK_STEP9 );
break;
case 2:
InsertInfo(L"银行",m_pBank1_Step10->m_sCardId ,m_pBank1_Step10->m_dAmount,BANK1_STEP10 );
InsertInfo(L"银行",m_pBank_Step9->m_sCardId ,m_pBank_Step9->m_dAmount,BANK_STEP9 );
break;
case 3:
InsertInfo(L"银行",m_pBank2_Step11->m_sCardId ,m_pBank2_Step11->m_dAmount,BANK2_STEP11 );
InsertInfo(L"银行",m_pBank1_Step10->m_sCardId ,m_pBank1_Step10->m_dAmount,BANK1_STEP10 );
InsertInfo(L"银行",m_pBank_Step9->m_sCardId ,m_pBank_Step9->m_dAmount,BANK_STEP9 );
break;
case 4:
InsertInfo(L"银行",m_pBank3_Step12->m_sCardId ,m_pBank3_Step12->m_dAmount,BANK3_STEP12 );
InsertInfo(L"银行",m_pBank2_Step11->m_sCardId ,m_pBank2_Step11->m_dAmount,BANK2_STEP11 );
InsertInfo(L"银行",m_pBank1_Step10->m_sCardId ,m_pBank1_Step10->m_dAmount,BANK1_STEP10 );
InsertInfo(L"银行",m_pBank_Step9->m_sCardId ,m_pBank_Step9->m_dAmount,BANK_STEP9 );
break;
case 5:
InsertInfo(L"银行",m_pBank4_Step13->m_sCardId ,m_pBank4_Step13->m_dAmount,BANK4_STEP13 );
InsertInfo(L"银行",m_pBank3_Step12->m_sCardId ,m_pBank3_Step12->m_dAmount,BANK3_STEP12 );
InsertInfo(L"银行",m_pBank2_Step11->m_sCardId ,m_pBank2_Step11->m_dAmount,BANK2_STEP11 );
InsertInfo(L"银行",m_pBank2_Step11->m_sCardId ,m_pBank2_Step11->m_dAmount,BANK1_STEP10 );
InsertInfo(L"银行",m_pBank_Step9->m_sCardId ,m_pBank_Step9->m_dAmount,BANK_STEP9 );
break;
}
}
void COutcomeWizardDlg1::ListOutcome ()
{
m_pOutcome_Step1->UpdateData ();
InsertInfo(L"支出",L"支出",m_pOutcome_Step1->m_dAmount ,OUTCOME_STEP1);
}
void COutcomeWizardDlg1::ListAllTangible()
{
m_pTangible_Step3->UpdateData ();
m_pTangible1_Step4->UpdateData ();
m_pTangible2_Step5->UpdateData ();
m_pTangible3_Step6->UpdateData ();
m_pTangible4_Step7->UpdateData ();
if(m_pFlow->m_bTangible ==FALSE)
return ;
switch(m_pCount->m_iTangibleCount )
{
case 1:
InsertInfo(L"物品支出",m_pTangible_Step3->m_sName,m_pTangible_Step3->m_dSum,TANGIBLE_STEP3);
break;
case 2:
InsertInfo(L"物品支出",m_pTangible_Step3->m_sName ,m_pTangible_Step3->m_dSum,TANGIBLE_STEP3);
InsertInfo(L"物品支出",m_pTangible1_Step4->m_sName ,m_pTangible1_Step4->m_dSum,TANGIBLE1_STEP4);
break;
case 3:
InsertInfo(L"物品支出",m_pTangible_Step3->m_sName ,m_pTangible_Step3->m_dSum,TANGIBLE_STEP3);
InsertInfo(L"物品支出",m_pTangible1_Step4->m_sName ,m_pTangible1_Step4->m_dSum,TANGIBLE1_STEP4);
InsertInfo(L"物品支出",m_pTangible2_Step5->m_sName ,m_pTangible2_Step5->m_dSum,TANGIBLE2_STEP5);
break;
case 4:
InsertInfo(L"物品支出",m_pTangible_Step3->m_sName ,m_pTangible_Step3->m_dSum,TANGIBLE_STEP3);
InsertInfo(L"物品支出",m_pTangible1_Step4->m_sName ,m_pTangible1_Step4->m_dSum,TANGIBLE1_STEP4);
InsertInfo(L"物品支出",m_pTangible2_Step5->m_sName ,m_pTangible2_Step5->m_dSum,TANGIBLE2_STEP5);
InsertInfo(L"物品支出",m_pTangible3_Step6->m_sName ,m_pTangible3_Step6->m_dSum,TANGIBLE3_STEP6);
break;
case 5:
InsertInfo(L"物品支出",m_pTangible_Step3->m_sName ,m_pTangible_Step3->m_dSum,TANGIBLE_STEP3);
InsertInfo(L"物品支出",m_pTangible1_Step4->m_sName ,m_pTangible1_Step4->m_dSum,TANGIBLE1_STEP4);
InsertInfo(L"物品支出",m_pTangible2_Step5->m_sName ,m_pTangible2_Step5->m_dSum,TANGIBLE2_STEP5);
InsertInfo(L"物品支出",m_pTangible3_Step6->m_sName ,m_pTangible3_Step6->m_dSum,TANGIBLE3_STEP6);
InsertInfo(L"物品支出",m_pTangible4_Step7->m_sName ,m_pTangible4_Step7->m_dSum,TANGIBLE4_STEP7);
break;
}
return ;
}
void COutcomeWizardDlg1::ListOtherConsum ()
{
m_pOutcome_Step1->UpdateData ();
if(m_pOutcome_Step1->m_bOther )
InsertInfo(L"其他消费",L"其他消费",m_pOutcome_Step1->m_dAmount -GetTangibleAmount(),OTHERCONSUM_STEP2 );//总支出减去物品的就是其他消费
return ;
}
void COutcomeWizardDlg1::ListCash()
{
if(m_pSource->m_bCash )
InsertInfo(L"现金",L"现金",GetCashAmount(),OUTCOME_CASH_STEP );
return ;
}
double COutcomeWizardDlg1::GetBankAmount()
{
m_pBank4_Step13->UpdateData ();
m_pBank3_Step12->UpdateData ();
m_pBank2_Step11->UpdateData ();
m_pBank1_Step10->UpdateData ();
m_pBank_Step9->UpdateData ();
if(m_pSource->m_bBank==FALSE )
return 0;
switch(m_pCount->m_iBankCount )
{
case 1:
return m_pBank_Step9->m_dAmount ;
break;
case 2:
return m_pBank_Step9->m_dAmount +m_pBank1_Step10->m_dAmount ;
break;
case 3:
return m_pBank_Step9->m_dAmount+m_pBank1_Step10->m_dAmount+m_pBank2_Step11->m_dAmount ;
break;
case 4:
return m_pBank_Step9->m_dAmount+m_pBank1_Step10->m_dAmount+
m_pBank2_Step11->m_dAmount+m_pBank3_Step12->m_dAmount ;
break;
case 5:
return m_pBank_Step9->m_dAmount+m_pBank1_Step10->m_dAmount+
m_pBank2_Step11->m_dAmount+m_pBank3_Step12->m_dAmount+m_pBank4_Step13->m_dAmount ;
break;
default:break;
}
return 0;
}
double COutcomeWizardDlg1::GetTangibleAmount()
{
m_pTangible_Step3->UpdateData ();
m_pTangible1_Step4->UpdateData ();
m_pTangible2_Step5->UpdateData ();
m_pTangible3_Step6->UpdateData ();
m_pTangible4_Step7->UpdateData ();
if(m_pFlow->m_bTangible ==FALSE)
return 0;
switch(m_pCount->m_iTangibleCount )
{
case 1: return m_pTangible_Step3->m_dSum ;
break;
case 2: return m_pTangible_Step3->m_dSum+m_pTangible1_Step4->m_dSum ;
break;
case 3: return m_pTangible_Step3->m_dSum+m_pTangible1_Step4->m_dSum +m_pTangible2_Step5->m_dSum ;
break;
case 4: return m_pTangible_Step3->m_dSum+m_pTangible1_Step4->m_dSum +
m_pTangible2_Step5->m_dSum+m_pTangible3_Step6->m_dSum ;
break;
case 5: return m_pTangible_Step3->m_dSum+m_pTangible1_Step4->m_dSum +
m_pTangible2_Step5->m_dSum+m_pTangible3_Step6->m_dSum+m_pTangible4_Step7->m_dSum ;
break;
default:break;
}
return 0;
}
double COutcomeWizardDlg1::GetOtherConsumAmount()
{
m_pOutcome_Step1->UpdateData ();
if(m_pOutcome_Step1->m_bOther )
return m_pOutcome_Step1->m_dAmount-GetTangibleAmount() ;
return 0;
}
double COutcomeWizardDlg1::GetCashAmount()
{
m_pOutcome_Step1->UpdateData ();
if(m_pSource->m_bCash ==FALSE)
return 0;
return m_pOutcome_Step1->m_dAmount -GetBankAmount();
}
void COutcomeWizardDlg1::SaveBank (CIncomeWizardBankDlg *dlg)
{
dlg->UpdateData();
if(m_pBankSet.IsOpen ())
m_pBankSet.Close ();
m_pBankSet.Open (AFX_DB_USE_DEFAULT_TYPE,L"Select * from Bank order by bODate");
m_pBankSet.m_strFilter.Empty ();
m_pBankSet.AddNew ();
m_pBankSet.m_bCardId =dlg->m_sCardId ;
m_pBankSet.m_bAction =true;
m_pBankSet.m_bLastLeft =dlg->m_dLastLeft ;
m_pBankSet.m_bAccount =dlg->m_dAmount ;
m_pBankSet.m_bLeft =dlg->m_dLeft ;
m_pBankSet.m_bODate =dlg->m_tODate ;
//登记日期,由系统生成
m_pBankSet.m_bRDate =CTime::GetCurrentTime();
m_pBankSet.m_bRemark =dlg->m_sRemark ;
m_pBankSet.Update ();
m_pBankSet.MoveLast ();
m_pBankSet.Close ();
}
void COutcomeWizardDlg1::SaveOutcome (COutcomeWizardOutcomeDlg *dlg)
{
dlg->UpdateData();
if(m_pOutcomeSet.IsOpen ())
m_pOutcomeSet.Close ();
m_pOutcomeSet.Open (AFX_DB_USE_DEFAULT_TYPE,L"Select * from Outcome order by oDate");
m_pOutcomeSet.m_strFilter.Empty ();
m_pOutcomeSet.MoveFirst ();
m_pOutcomeSet.AddNew ();
m_pOutcomeSet.m_oName=dlg->m_sName;
if(dlg->m_bBank)
m_pOutcomeSet.m_oSource+=L"银行;";
if(dlg->m_bCash)
m_pOutcomeSet.m_oSource +=L"现金";
if(dlg->m_bOther &&dlg->m_bTangible )
m_pOutcomeSet.m_oKind =L"综合消费";
else
{
if(dlg->m_bTangible )
m_pOutcomeSet.m_oKind =L"物品消费" ;
if(dlg->m_bOther )
m_pOutcomeSet.m_oKind =L"其他消费";
}
m_pOutcomeSet.m_oAmount =dlg->m_dAmount ;
m_pOutcomeSet.m_oDate =dlg->m_tDate ;
m_pOutcomeSet.m_oRemark =dlg->m_sRemark ;
m_pOutcomeSet.Update ();
m_pOutcomeSet.MoveLast ();
m_pOutcomeSet.Close ();
}
void COutcomeWizardDlg1::SaveTangible (CIncomeWizardTangibleDlg *dlg)
{
dlg->UpdateData();
if(m_pTangibleSet.IsOpen ())
m_pTangibleSet.Close ();
m_pTangibleSet.Open (AFX_DB_USE_DEFAULT_TYPE,L"Select * from Tangible order by tDate");
m_pTangibleSet.m_strFilter.Empty ();
m_pTangibleSet.AddNew ();
m_pTangibleSet.m_tName=dlg->m_sName ;
m_pTangibleSet.m_tKind =dlg->m_sKind ;
m_pTangibleSet.m_tQuantity =dlg->m_iQuantity ;
m_pTangibleSet.m_tPrice =dlg->m_dPrice ;
m_pTangibleSet.m_tDate =dlg->m_tDate ;
m_pTangibleSet.m_tSum =dlg->m_iQuantity *dlg->m_dPrice;
m_pTangibleSet.m_tRemark =dlg->m_sRemark ;
m_pTangibleSet.Update ();
m_pTangibleSet.MoveLast ();
m_pTangibleSet.Close ();
}
void COutcomeWizardDlg1::SaveCash ()
{
double MoneyLast;
if(m_pCashSet.IsOpen ())
m_pCashSet.Close ();
m_pCashSet.Open (AFX_DB_USE_DEFAULT_TYPE,L"Select * from Cash order by cDate ASC");
m_pCashSet.m_strFilter .Empty ();
if(m_pCashSet.GetRecordCount ()==0)
MoneyLast=0;
else
{
m_pCashSet.MoveLast ();
MoneyLast=m_pCashSet.m_cAmount ;
}
MoneyLast-=GetCashAmount();
m_pCashSet.AddNew ();
m_pCashSet.m_cAmount =MoneyLast;
m_pCashSet.m_cDate =CTime::GetCurrentTime();
m_pCashSet.Update();
m_pCashSet.MoveLast ();
m_pCashSet.Close ();
}
void COutcomeWizardDlg1::SaveAllBank ()
{
if(m_pSource->m_bBank ==FALSE)
return ;
switch(m_pCount->m_iBankCount )
{
case 1:
SaveBank(m_pBank_Step9);
break;
case 2:
SaveBank(m_pBank_Step9);
SaveBank(m_pBank1_Step10);
break;
case 3:
SaveBank(m_pBank_Step9);
SaveBank(m_pBank1_Step10);
SaveBank(m_pBank2_Step11);
break;
case 4:
SaveBank(m_pBank_Step9);
SaveBank(m_pBank1_Step10);
SaveBank(m_pBank2_Step11);
SaveBank(m_pBank3_Step12);
break;
case 5:
SaveBank(m_pBank_Step9);
SaveBank(m_pBank1_Step10);
SaveBank(m_pBank2_Step11);
SaveBank(m_pBank3_Step12);
SaveBank(m_pBank4_Step13);
break;
default:break;
}
}
void COutcomeWizardDlg1::SaveAllTangible ()
{
if(m_pFlow->m_bTangible ==FALSE)
return ;
switch(m_pCount->m_iTangibleCount )
{
case 1:
SaveTangible(m_pTangible_Step3);
break;
case 2:
SaveTangible(m_pTangible_Step3);
SaveTangible(m_pTangible1_Step4);
break;
case 3:
SaveTangible(m_pTangible_Step3);
SaveTangible(m_pTangible1_Step4);
SaveTangible(m_pTangible2_Step5);
break;
case 4:
SaveTangible(m_pTangible_Step3);
SaveTangible(m_pTangible1_Step4);
SaveTangible(m_pTangible2_Step5);
SaveTangible(m_pTangible3_Step6);
break;
case 5:
SaveTangible(m_pTangible_Step3);
SaveTangible(m_pTangible1_Step4);
SaveTangible(m_pTangible2_Step5);
SaveTangible(m_pTangible3_Step6);
SaveTangible(m_pTangible4_Step7);
break;
default:break;
}
}
void COutcomeWizardDlg1::SaveAllCash ()
{
if(m_pSource->m_bCash ==FALSE)
return ;
SaveCash();
}
double COutcomeWizardDlg1::GetDatabaseCash()
{
double MoneyLast;
if(m_pCashSet.IsOpen ())
m_pCashSet.Close ();
m_pCashSet.Open (AFX_DB_USE_DEFAULT_TYPE,L"Select * from Cash order by cDate ASC");
if(m_pCashSet.GetRecordCount ()==0)
{
//数据库为空,则说明没有现金
m_pCashSet.Close ();
return 0;
}
//否则,移动到最后一行,然后读取
m_pCashSet.MoveLast ();
MoneyLast=m_pCashSet.m_cAmount ;
m_pCashSet.Close ();
return MoneyLast;
}
HBRUSH COutcomeWizardDlg1::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何属性
if(m_bColor)//如果用系统的,则直接返回
return hbr;
pDC->SetTextColor (m_RGB_CtrlColor);
pDC->SetBkMode(BKMODE_LAST);pDC->SetBkColor (m_RGB_BkColor);
return (HBRUSH)m_brush.GetSafeHandle ();
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
// return hbr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -