test

        <pre name="code" class="csharp">        /// <summary>
        /// 根据条件获取公司级别实际完成接替率
        /// </summary>
        /// <param name="startYear">起始年份</param>
        /// <param name="endYear">终止年份</param>
        /// <returns>实际完成接替率数据</returns>
        private List<ReplacementRateModel> GetCompanyActualReplacementRateBy(int startYear, int endYear)
        {
            List<ReplacementRateModel> models = new List<ReplacementRateModel>();//ReplacementRateModel是一个视图模型
            string sqlOil = GetSqlFromXml.GetSqlBy("GetCompanyActualReplacementRateBy", fileName, "select");//通过xml找到对应的sql语句
            string sqlOilSelect = string.Format(sqlOil, startYear, endYear);//将对应的参数填充到sql语句中去
            DataTable dtCompany = helper.ExecDataTable(sqlOilSelect);//执行sql语句
            foreach (DataRow row in dtCompany.Rows)//验证数据并做运算处理
            {
                int year = CommOp.ToInt(row["ACTIVITYYEAR"]);
                if(year==startYear)
                {
                    continue;
                }
                DataRow tempRow = year == 0 ? null : PerformanceTransfer.GetLastReserves(year, dtCompany);
                double lastOilReserves = tempRow == null ? 0 : CommOp.ToDouble(tempRow["OILRESERVES"]);
                double lastGasReserves = tempRow == null ? 0 :CommOp.ToDouble(tempRow["GASRESERVES"]);
                double dangOilReserves = CommOp.ToDouble(row["OILRESERVES"]);
                double oilProduction = CommOp.ToDouble(row["OILSJNCL"]);
                double dangGasReserves = CommOp.ToDouble(row["GASRESERVES"]);
                double gasProduction = CommOp.ToDouble(row["GASJNCL"]);
                models.Add(new ReplacementRateModel
                {
                    Year = year,
                    DangOilReserves = Math.Round(dangOilReserves,2),
                    OilProduction = Math.Round(oilProduction,2),
                    LastOilReserves =Math.Round( lastOilReserves,2),
                    OilAddReserves = Math.Round(dangOilReserves + oilProduction - lastOilReserves, 2),//石油新增证实储量
                    OilReplacementRate = oilProduction == 0 ? 0.00 : Math.Round((dangOilReserves + oilProduction - lastOilReserves) / oilProduction,2),
                    DangGasReserves = Math.Round(dangGasReserves,2),
                    GasProduction = Math.Round(gasProduction,2),
                    LastGasReserves =Math.Round( lastGasReserves,2),
                    GasAddReserves = Math.Round(dangGasReserves + gasProduction - lastGasReserves, 2),//天然气新增证实储量
                    GasReplacementRate = gasProduction == 0 ? 0.00 : Math.Round((dangGasReserves + gasProduction - lastGasReserves) / gasProduction, 2)
                });
            }
            return models;//返回视图模型,以供页面显示
        }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值