📄 incomewizarddlg.cpp
字号:
ListAllBank();
return ;
}
void CIncomeWizardDlg::Bank3Next ()
{
//首先判断数据是否合法
m_pBank3_Step6->UpdateData ();
m_pBank2_Step5->UpdateData ();
m_pBank1_Step4->UpdateData();
m_pBank_Step3->UpdateData ();
if(m_pBank3_Step6->m_sCardId==L"")
{
MessageBox(L"\n银行卡简号不能为空!\n",L"警告",MB_ICONEXCLAMATION);
return ;
}
if(m_pBank3_Step6->m_dAmount==0)
{
MessageBox(L"\n操作金额不能为空!\n",L"警告",MB_ICONEXCLAMATION);
return ;
}
//数据都合法,则根据m_pCount判断下一步
if(m_pCount->m_iBankCount >4)
{
//如果多于四个银行操作,则进入下一个银行操作,数据已经初始化,直接进入
UpdateStep(BANK4_STEP7);
m_pCount->m_iCurBank =5;
return ;
}
//只有四个银行操作,则判断有没有其他的
if(m_pFlow->m_bOutcome )//首先判断是否有支出
{
UpdateStep(OUTCOME_STEP8);
return ;
}//支出没有则判断投资
if(m_pFlow->m_bInvest )
{
UpdateStep(INVESTCOUNT_STEP15);
return ;
}//投资没有则判断借贷
if(m_pFlow->m_bBorrow )
{
UpdateStep(BORROWCOUNT_STEP21);
return ;
}
//如果都没有了,则给出最终的结束会话
//但之前必须判断收入总金额是否等于银行操作金额
m_pFlow->m_dBankAmount =GetBankAmount();
double dAmount=m_pFlow->m_dBankAmount ;
if(m_pIncome_Step1->m_bCash )//如果有流入了现金
{
if(m_pIncome_Step1->m_dAmount >dAmount)
{
//除了银行剩余全部流入现金
m_pFlow->m_dCashAmount =GetCashAmount();
//可以结束登记了
UpdateStep(FINISH_STEP27);
ListAllBank();
ListCash();
return ;
}
else
{
MessageBox(L"收入总金额与登记在银行总额与现金的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
}//如果没有流入现金
if(m_pIncome_Step1->m_dAmount!=dAmount)
{
MessageBox(L"收入总金额与登记在银行不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
UpdateStep(FINISH_STEP27);
ListAllBank();
return ;
}
void CIncomeWizardDlg::Bank4Next ()
{
//首先判断数据是否合法
m_pBank4_Step7->UpdateData ();
m_pBank3_Step6->UpdateData ();
m_pBank2_Step5->UpdateData ();
m_pBank1_Step4->UpdateData();
m_pBank_Step3->UpdateData ();
if(m_pBank4_Step7->m_sCardId==L"")
{
MessageBox(L"\n银行卡简号不能为空!\n",L"警告",MB_ICONEXCLAMATION);
return ;
}
if(m_pBank4_Step7->m_dAmount==0)
{
MessageBox(L"\n操作金额不能为空!\n",L"警告",MB_ICONEXCLAMATION);
return ;
}
//最多只有五个银行操作,则判断有没有其他的
if(m_pFlow->m_bOutcome )//首先判断是否有支出
{
UpdateStep(OUTCOME_STEP8);
return ;
}//支出没有则判断投资
if(m_pFlow->m_bInvest )
{
UpdateStep(INVESTCOUNT_STEP15);
return ;
}//投资没有则判断借贷
if(m_pFlow->m_bBorrow )
{
UpdateStep(BORROWCOUNT_STEP21);
return ;
}
//如果都没有了,则给出最终的结束会话
//但之前必须判断收入总金额是否等于银行操作金额
m_pFlow->m_dBankAmount =GetBankAmount();
double dAmount=m_pFlow->m_dBankAmount;
if(m_pIncome_Step1->m_bCash )//如果有流入了现金
{
if(m_pIncome_Step1->m_dAmount >dAmount)
{
//除了银行剩余全部流入现金
m_pFlow->m_dCashAmount =GetCashAmount();
//可以结束登记了
UpdateStep(FINISH_STEP27);
ListAllBank();
ListCash();
return ;
}
else
{
MessageBox(L"收入总金额与登记在银行总额与现金的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
}//如果没有流入现金
if(m_pIncome_Step1->m_dAmount!=dAmount)
{
MessageBox(L"收入总金额与登记在银行不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
UpdateStep(FINISH_STEP27);
ListAllBank();
}
void CIncomeWizardDlg::OutcomeNext ()
{
m_pIncome_Step1->UpdateData ();
m_pOutcome_Step8->UpdateData ();
//先判断支出的选项是否合格
if(m_pOutcome_Step8->m_sName==L"")
{
MessageBox(L"支出名称不能为空!",L"提示",MB_ICONEXCLAMATION);
return ;
}
if(m_pOutcome_Step8->m_bOther ==FALSE&&m_pOutcome_Step8->m_bTangible==FALSE )
{
//如果都为空,则说明没有选择支出类型
MessageBox(L"支出类型不能为空!",L"提示",MB_ICONEXCLAMATION);
return ;
}
m_pFlow->m_bOtherConsum =m_pOutcome_Step8->m_bOther ;
m_pFlow->m_bTangible =m_pOutcome_Step8->m_bTangible ;
//下面再根据是否有物品消费决定下一步
if(m_pOutcome_Step8->m_bTangible )
{
//准备进入下一步
UpdateStep(TANGIBLECOUNT_STEP9);
return ;
}
//如果没有物品支出,则只需要登记下面的了
if(m_pFlow->m_bInvest )
{
UpdateStep(INVESTCOUNT_STEP15);
return ;
}//投资没有则判断借贷
if(m_pFlow->m_bBorrow )
{
UpdateStep(BORROWCOUNT_STEP21);
return ;
}
//进入结束之前必须判断收入总金额与所有一切之和是否大于等于,大于的话就归入现金(当选了现金),否则,不给下一步
m_pFlow->m_dOutcomeAmount=GetOutcomeAmount();//支出
m_pFlow->m_dOtherConsumAmount=GetOtherConsumAmount();//支出就是其他支出
m_pFlow->m_dBankAmount =GetBankAmount();
double Amount=m_pFlow->m_dBankAmount +m_pFlow->m_dOutcomeAmount;
if(m_pFlow->m_bCash )//如果有流入现金
{
m_pFlow->m_dCashAmount =GetCashAmount();
//则必须有钱多余流入现金
if(m_pFlow->m_dCashAmount>0)
{
//有多于钱了
UpdateStep(FINISH_STEP27);
ListAllBank();
ListCash();
ListOtherConsum();
return ;
}
else
{
MessageBox(L"收入总金额与登记在现有步骤的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
}
if(m_pIncome_Step1->m_dAmount !=Amount)
{
MessageBox(L"收入总金额与登记在现有步骤的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
UpdateStep(FINISH_STEP27);
ListAllBank();
ListOtherConsum();
return ;
}
void CIncomeWizardDlg::TangibleCountNext ()
{
//首先判断输入正不正确
m_pTangibleCount_Step9->UpdateData ();
m_pCount->m_iTangibleCount =m_pTangibleCount_Step9->m_iTangibleCount ;
if(m_pCount->m_iTangibleCount ==0)//如果只选择了0个,不允许前进
{
MessageBox(L"所选择的购物种数不能为0,否则必须退回起始界面修改收入流向!",L"警告",MB_ICONEXCLAMATION);
return ;
}
else//否则,进入物品购买登记
{
m_pCount->m_iCurTangible =1;
UpdateStep(TANGIBLE_STEP10);
return ;
}
}
void CIncomeWizardDlg::TangibleNext ()
{
//首先判断输入是否正确
m_pOutcome_Step8->UpdateData ();
m_pTangible_Step10->UpdateData ();
if(m_pTangible_Step10->m_sName ==L"")
{
MessageBox(L"\n物品名称不能为空!\n",L"提示",MB_ICONEXCLAMATION);
return ;
}
if(m_pTangible_Step10->m_iQuantity=0)
{
MessageBox(L"\n物品个数不能为空!\n",L"提示",MB_ICONEXCLAMATION);
return ;
}
if(m_pTangible_Step10->m_sKind==L"")
{
MessageBox(L"\n物品类型不能为空!\n",L"提示",MB_ICONEXCLAMATION);
return ;
}
//数据合格了,现在处理下一步
//判断是否还有Tangible
if(m_pCount->m_iTangibleCount >1)//如果多于一个物品
{
UpdateStep(TANGIBLE1_STEP11);
m_pCount->m_iCurTangible =2;
return ;
}//否则,根据m_pCount判断是否有投资等,进入之前必须判断支出部分有没有问题,我的意思是会不会出现支出总额小于物品支出加其他支出
if(m_pFlow->m_bInvest )
{
double Amount=m_pTangible_Step10->m_dSum ;
if(m_pFlow->m_bOtherConsum )//如果有流入其他支出
{
if(m_pOutcome_Step8->m_dAmount -Amount<=0)
{
MessageBox(L"支出总金额与登记在物品支出和其他支出的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
}
UpdateStep(INVESTCOUNT_STEP15);
return ;
}//投资没有则判断借贷
if(m_pFlow->m_bBorrow )
{
double Amount=m_pTangible_Step10->m_dSum ;
if(m_pFlow->m_bOtherConsum )//如果有流入其他支出
{
if(m_pOutcome_Step8->m_dAmount -Amount<=0)
{
MessageBox(L"支出总金额与登记在物品支出和其他支出的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
}
UpdateStep(BORROWCOUNT_STEP21);
return ;
}
//如果都没有了,则给出最终的结束会话
//但之前必须判断支出总金额是否等于前面操作步骤金额之和
///记住,物品消费是归支出来结算的,而不是用收入登记向导统一结算的
m_pFlow->m_dCashAmount =GetCashAmount();
if(m_pFlow->m_dCashAmount==0&&m_pFlow->m_bCash )
{
MessageBox(L"收入总金额与登记先前所有的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
double dAmount=m_pTangible_Step10->m_dSum ;
m_pFlow->m_dTangibleAmount =GetTangibleAmount();
m_pFlow->m_dBankAmount =GetBankAmount();
if(m_pOutcome_Step8->m_bOther )//如果有流入其他支出
{
//则必须留一些钱流向其他支出
if(m_pOutcome_Step8->m_dAmount >dAmount)
{
//除了Tangible剩余全部流入其他消费
m_pFlow->m_dOtherConsumAmount =m_pOutcome_Step8->m_dAmount -dAmount;
//可以结束登记了
UpdateStep(FINISH_STEP27);
ListOtherConsum();
ListAllBank();
ListCash();
ListAllTangible();
return ;
}
else
{
MessageBox(L"支出总金额与登记在物品支出和其他支出的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
}//如果没有流入其他支出
if(m_pOutcome_Step8->m_dAmount!=dAmount)
{
MessageBox(L"支出总金额与登记在物品支出和其他支出的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
m_pFlow->m_dOutcomeAmount =GetOutcomeAmount();
/*
dAmount=m_pFlow->m_dBankAmount +m_pFlow->m_dOutcomeAmount ;
if(m_pIncome_Step1->m_dAmount<dAmount)
{
MessageBox(L"收入总11111金额与登记先前所有的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
*/
UpdateStep(FINISH_STEP27);
ListAllBank();
ListCash();
ListAllTangible();
return ;
}
void CIncomeWizardDlg::Tangible1Next ()
{
//首先判断输入是否正确
m_pOutcome_Step8->UpdateData ();
m_pTangible1_Step11->UpdateData ();
if(m_pTangible1_Step11->m_sName ==L"")
{
MessageBox(L"\n物品名称不能为空!\n",L"提示",MB_ICONEXCLAMATION);
return ;
}
if(m_pTangible_Step10->m_iQuantity=0)
{
MessageBox(L"\n物品个数不能为空!\n",L"提示",MB_ICONEXCLAMATION);
return ;
}
if(m_pTangible1_Step11->m_sKind==L"")
{
MessageBox(L"\n物品类型不能为空!\n",L"提示",MB_ICONEXCLAMATION);
return ;
}
//数据合格了,现在处理下一步
//判断是否还有Tangible
if(m_pCount->m_iTangibleCount >2)//如果多于两个物品
{
UpdateStep(TANGIBLE2_STEP12);
m_pCount->m_iCurTangible =3;
return ;
}//否则,根据m_pCount判断是否有投资等
if(m_pFlow->m_bInvest )
{
double Amount=m_pTangible_Step10->m_dSum +m_pTangible1_Step11->m_dSum ;
if(m_pFlow->m_bOtherConsum )//如果有流入其他支出
{
if(m_pOutcome_Step8->m_dAmount -Amount<=0)
{
MessageBox(L"支出总金额与登记在物品支出和其他支出的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
}
UpdateStep(INVESTCOUNT_STEP15);
return ;
}//投资没有则判断借贷
if(m_pFlow->m_bBorrow )
{
double Amount=m_pTangible_Step10->m_dSum +m_pTangible1_Step11->m_dSum ;
if(m_pFlow->m_bOtherConsum )//如果有流入其他支出
{
if(m_pOutcome_Step8->m_dAmount -Amount<=0)
{
MessageBox(L"支出总金额与登记在物品支出和其他支出的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
}
UpdateStep(BORROWCOUNT_STEP21);
return ;
}
//如果都没有了,则给出最终的结束会话
//但之前必须判断支出总金额是否等于前面操作步骤金额之和
///记住,物品消费是归支出来结算的,而不是用收入登记向导统一结算的
m_pFlow->m_dCashAmount=GetCashAmount();
if(m_pFlow->m_dCashAmount==0&&m_pFlow->m_bCash )
{
MessageBox(L"收入总金额与登记先前所有的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
return ;
}
double dAmount=m_pTangible_Step10->m_dSum+ m_pTangible1_Step11->m_dSum;
m_pFlow->m_dTangibleAmount =GetTangibleAmount();
m_pFlow->m_dBankAmount=GetBankAmount();
if(m_pOutcome_Step8->m_bOther )//如果有流入其他支出
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -