最近项目中有的需求需要用到报表统计 用到了FusionCharts这款插件,刚刚开始时也是一头雾水,去网上找资料看demo,可网上的大部分都是静态数据,所以自已仔细研究了一个通宵,现虽说不上精通,但总算能用它来做项目完成我的需求了,所以今天将代码贴出来
由于本人做的不是小demo示例,而是项目,所以代码量会比较多,为了代码的可读性我就只把需求用到的部分代码贴出来
后台代码:
本人项目用的是SpringMvc Mybatis struts2 前台请求访问的是这个方法,这个方法目的就是给前台返回需要显示数据的健值对key/value,当然得是json
由于本人做的不是小demo示例,而是项目,所以代码量会比较多,为了代码的可读性我就只把需求用到的部分代码贴出来
后台代码:
本人项目用的是SpringMvc Mybatis struts2 前台请求访问的是这个方法,这个方法目的就是给前台返回需要显示数据的健值对key/value,当然得是json
/**
* 此方法返回统计图所对应的数据
*/
public String getDataStatistics(){
SessionAdminUser sessionUser = (SessionAdminUser) this.getSessionUser(Constant.Session_AdminInfo);
//查询条件
whereInfo.addQuery(DUnitInfoExample.Data_SaiId, sessionUser.getSaiId());
whereInfo.addQuery(DUnitInfoExample.Data_MuiId,sessionUser.getMuiId());
whereInfo.addOrder(DUnitInfoExample.Field_DuiRate1,Order.OrderDESC);
List<DUnitInfo> list = unitInfoService.selectByWhere(whereInfo);
// 存储数据库返回所有单位<只包含页面所需字段/数据>的list集合
List<Map<String, Object>> pageDataList = new ArrayList<Map<String, Object>>();
if(null != list && list.size() > 0){
for (int i = 0; i < list.size(); i++) {
DUnitInfo info = list.get(i);
DecimalFormat mat = new DecimalFormat("######0.0");
double dou = Double.parseDouble(info.getDuiRate1()) * 100;
info.setDuiRate1(mat.format(dou));
//存储每个单位完成度的map集合 key:单位名称 value:单位完成度
Map<String, Object> pageDataMap=new HashMap<String, Object>();
pageDataMap.put("label",list.get(i).getDuiName());
pageDataMap.put("value",list.get(i).getDuiRate1());
pageDataList.add(pageDataMap); // 将所有map全部放入list集合
}
}
this.d