1.展示:
2.实现:
在前端.html文件中字段下面插入如下:
对于带百分号的平均值:
footerFormatter: function (value) {
var sumBalance = 0;
var avg=0;
var n = 0;
for (var i in value) {
n++;
sumBalance += parseFloat(value[i].rateWholeCover);
}
avg = sumBalance/n*100;
avg=Math.round(avg * 100) * 0.01;
avg = avg+"%";
return avg;
}
3.缺点:此种方法只能计算分页后的一个页面的和和平均值,如果要求分页前,整个数据库中表的字段的和与平均值的话,需要:
(1)在.xml文件中写入查询语句,如果要求和的话,就要用sum,求平均值用avg,就可以直接从数据库中查询计算
<select id="heji2" resultType="com.ruoyi.system.domain.ConditionDeploymentUnit" resultMap="ConditionDeploymentUnitResult">
select sum(num_tier) as num_tier,
...
avg(rate_whole_cover) as rate_whole_cover,
avg(rate_reform) as rate_reform
from condition_deployment_unit
</select>
(2)在mapper和service中写入方法
mapper:
public ConditionDeploymentUnit heji2();
service:
ConditionDeploymentUnit heji2();
service实现类:
@Override
public ConditionDeploymentUnit heji2(){
return conditionDeploymentUnitMapper.heji2();
}
(3)在controller中
@ResponseBody
@RequestMapping("/statis/list")
public TableDataInfo fun1(StatisticXuncha statisticXuncha) {
StatisticXuncha jihe = statisticXunchaService.jihe();
jihe.setIsDelete("汇总");
System.out.println("jihe = " + jihe);
startPage();
List<StatisticXuncha> list = statisticXunchaService.selectStatisticXunchaList(statisticXuncha);
list.add(jihe);
return getDataTable(list);
}
(4)但是如果前段需要显示百分数的话,还需要在前端进行处理:
{
field: 'rateReform',
title: '整改措施完成率',
align: 'center',
rowspan: 2,
formatter: function (value, row, index) {
var rate = 0;
rate=value*100;
rate=Math.round(rate * 100) * 0.01;
rate=rate+"%";
return rate;
}
}