【380天】每日项目总结系列117(2018.02.20)

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

叨叨两句

  1. ~

ERP

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

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

你可能感兴趣的:(java)