【380天】每日項目總結系列117(2018.02.20)

@(一隻心中無碼的程序員)專欄程序員

叨叨兩句

  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;
}
相關文章
相關標籤/搜索