public Policy等额还本利息照付(lrsheet利润表 lrsheet利润表, jk还本付息表汇总Sheet jk还本付息表集合l) : base(lrsheet利润表, jk还本付息表集合l) { policyName = "等额还本利息照付"; }
public lrsheet利润表 initlr利润表(lrsheet利润表 lrsheet) { for (int i = 1; i <= globalpara.yyq运营期; i++) { lr利润 lr = new lr利润(); lr.year = i; lr.revenue收入 = revenue收入List.Where(x => x.year == i).First(); lr.butie补贴收入 = butie补贴收入List.Where(x => x.year == i).First(); //总成本初始化 zcb总成本 zcb = new zcb总成本(); zcb.year = i; zcb.jycb经营成本 = jycb经营成本List.Where(x => x.year == i).First(); zcb.tx摊销 = txlist.Where(x => x.year == i).First(); zcb.zj折旧 = qzlist.Where(x => x.period == i).First(); jklx借款还本利息 jk = new jklx借款还本利息(); jk.year = i; zcb.jklx借款还本利息 = jk; zcb.cal计算相关参数(); lr.zcb总成本 = zcb; zcb总成本List.Add(zcb); //增值税初始化 zzs增值税 zzs增值税 = new zzs增值税(); if (i == 1) { zzs增值税.qc期初固定资产增值税可抵扣进行税额 = ass.kdk可抵扣固定资产进项税额; } zzs增值税.xxsdq当期销项税 = lr.revenue收入.revenue含税收入值 * globalpara.zzs增值税税率; zzs增值税.jxsdq当期进项税 = lr.zcb总成本.jycb经营成本.jy含进项税经营成本值 * globalpara.zzs增值税税率; zzs增值税.qc当期增值税余额_销项税减去进项税 = zzs增值税.xxsdq当期销项税 - zzs增值税.jxsdq当期进项税; zzs增值税List.Add(zzs增值税); if (zzs增值税.qc当期增值税余额_销项税减去进项税 <= 0) { zzs增值税.zzx当期增值税应纳税额 = 0; } if (zzs增值税.qc当期增值税余额_销项税减去进项税 > 0) {//已经考虑到本年累计进去,如果累计到本年值含本年,与本年进行比较,如果大于0,那么就 double value = zzs增值税List.Where(x => x.year <= i).Sum(y => y.qc当期增值税余额_销项税减去进项税); if (value > 0) { if (zzs增值税.qc当期增值税余额_销项税减去进项税 >= value) { //说明历史上已经补完负值,并且也不是今年补的,目前暂时不考虑每年的销项税小于进项税的情况, zzs增值税.zzx当期增值税应纳税额 = zzs增值税.qc当期增值税余额_销项税减去进项税; } else {//说明历史上的负值,是今年补的 zzs增值税.zzx当期增值税应纳税额 = zzs增值税.qc当期增值税余额_销项税减去进项税 - value; } } else { zzs增值税.zzx当期增值税应纳税额 = 0; } } zzs增值税.zzx当期增值税附加 = zzs增值税.zzx当期增值税应纳税额 * globalpara.zzs增值税附加综合税率; zzs增值税List.Add(zzs增值税); lr.zzs增值税 = zzs增值税; lr.lr利润list = lrsheet.lr利润list; //下面增加借款的内容 // lr.zcb总成本.jklx借款还本利息.jkldzj流动资金借款 = zcb总成本List.Where(x => x.year == i).First().jklx借款还本利息.jkldzj流动资金借款; //lr.zcb总成本.jklx借款还本利息.jk建设期借款还本付息 = zcb总成本List.Where(x => x.year == i).First().jklx借款还本利息.jk建设期借款还本付息; //lr.zcb总成本.jklx借款还本利息.jk短期借款 = zcb总成本List.Where(x => x.year == i).First().jklx借款还本利息.jk短期借款; lrsheet.lr利润list.Add(lr); } return(lrsheet); }
static void Main(string[] args) { //例题5,P23 globalpara.jk短期借款利率 = 0; globalpara.sds所得税税率 = 0.25; globalpara.yyq运营期 = 6; globalpara.jsqjk建设期借款利息 = 0.06; globalpara.hkzq还款周期 = 4; globalpara.rate = globalpara.jsqjk建设期借款利息; globalpara.ldzj流动资金借款利息 = 0.04; //固定资产,无形资产,借款利息的输入后进行计算 inputdata ind = new inputdata(); ind.init固定资产(); List <qzjr期折旧额> qzlist = ind.qzlist; List <tx摊销> txlist = ind.init无形资产().txlist; globalpara.jsqjk建设期借款金额 = ind.ass.jsqjk建设期借款含利息金额; ind.init流动资金(); //把数据放入到利润表的模型中,然后准备进行计算 jk还本付息表汇总Sheet jkcollection = new cwpj.jk还本付息表汇总Sheet(); lrsheet利润表 lrsheet = new lrsheet利润表(); //设置关系 jkcollection.lrsheet利润表 = lrsheet; lrsheet.jk还本付息表汇总Sheet = jkcollection; List <jk建设期借款还本付息> jk建设期借款还本付息List = jkcollection.jk建设期借款还本付息list; //直接输入的值,收入 ind.init营业收入(); ind.init补贴收入(); // List<revenue收入> rlist = ind.revenue收入List; //List<butie补贴收入> blist = ind.butie补贴收入List; //成本 ind.initjy经营成本(); //List<jycb经营成本> jycblist = ind.jycb经营成本List; // ind.initzcb总成本(); //先计算利润表,得到利润表的部分值 ind.initlr利润表(lrsheet); //计算贷款的值 ind.init借款还本付息singleModel(lrsheet.lr利润list); string policyname = "等额还本付息"; //只会执行一个 if (policyname == "等额还本付息") { jkcollection.get等额还本付息(); } else { jkcollection.get等额还本付息照付(); } List <cwpj.singleDomain.revenue收入> revenue收入List = new List <singleDomain.revenue收入>(); jkcollection.get流动资金还本付息(); jkcollection.get等额还本付息(); //在计算贷款的过程中,更新lrsheet利润表的值 //这2个步骤结束之后,利润表及贷款表,各年的值就完成了。 //这个是程序计算的核心所在。 List <lr利润> lrlist = lrsheet.lr利润list; }
public policy等额还本付息(lrsheet利润表 lrsheet利润表, jk还本付息表汇总Sheet jk还本付息表集合l) : base(lrsheet利润表, jk还本付息表集合l) { dehbfxzr等额还本付息总额 = cal等额还本付息总额();//在构造函数中,计算一次 policyName = "等额还本付息"; }
//把外部的集合也传入进来,方便对短期借款的控制 public policy还款策略(lrsheet利润表 lrsheet利润表O, jk还本付息表汇总Sheet jk还本付息表集合l) { //this.com计算所需参数protected = com计算所需参数; this.lrsheet利润表 = lrsheet利润表O; this.jk还本付息表集合 = jk还本付息表集合l; }