@(一只心中无码的程序员)专栏

叨叨两句

  1. ~

ERP

/**
 * 销售趋势
 * @param year
 * @return
 */
public List<Map<String,Object>> trendReport(int year){
    //保存每个月份的销售额
    List<Map<String, Object>> result = new ArrayList<Map<String,Object>>(12);
    //获取当年每月销售额
    List<Map<String,Object>> yearData = reportDao.getSumMoney(year);
    //把从DB中得到的当年每月销售额转换成map集合,用于下面的查缺补漏,因为可能存在某些月份没有销售额的情况
    Map<String, Map<String,Object>> map = new HashMap<String,Map<String,Object>>();
    for(Map<String,Object> m : yearData){
        map.put((String)m.get("month"), m);
    }

    Map<String,Object> data = null;
    //按12个月,对每个月份的数据进行封装,最终以List<Map<String,Object>>形式返回
    for(int i = 1; i <= 12; i++){
        data = map.get(i + "月");
        if(null == data){
            //如果当月没有销售额,则补上当月的月份和数据0
            data = new HashMap<String,Object>();
            data.put("month", i+"月");
            data.put("y", 0);
        }
        result.add(data);
    }
    return result;
}

Wall_Breaker
2.1k 声望1.2k 粉丝

生死之间,就是我的跃迁之路,全程记录,欢迎见证