public voidsumDays () {String nf= getPara("tjnf");
String yf= getPara("tjyf");
List jyrslist =JyrstjService.service.findjyrstj(nf,yf); //有数据的时间段和数量
Map jymap = new HashMap<>();for(Record record : jyrslist) {
jymap.put(record.getStr("sj"), record);
}
List jylist = new ArrayList<>();int total = 0;if ( !"".equals(yf) && yf != null && !"".equals(nf) && nf != null) {try{
Date start=ToolDateTime.parse(nf + "-" + yf + "-01",ToolDateTime.pattern_ymd);
Date end=ToolDateTime.parse(nf + "-" + (Integer.valueOf(yf)+1) + "-00",ToolDateTime.pattern_ymd);
List daySpaceDate =ToolDateTime.getDaySpaceDate(start, end); //连续的时间段for(String day : daySpaceDate) {
Record record= newRecord();
Date date=ToolDateTime.parse(day,ToolDateTime.pattern_ymd);
record.set("sj", date.getDate()); //把连续时间段变成对象属性 1-30 天数if( jymap.containsKey(day)) { // 有数量 就 set 数量 进一个对象
String sum= jymap.get(day).get("sum").toString();
total+=Integer.valueOf(sum); //合计,与重点无关
record.set("sum", sum);
}else{
record.set("sum", 0);
}
jylist.add(record);
}
}catch(Exception e) {
}
}else if ( !"".equals(nf) && nf != null) {for (int i = 0; i < 12; i++) {
String day= nf + "-" + (i < 10 ? "0" : "") + (i+1);
Record record= newRecord();
Date date= ToolDateTime.parse(day + "-01",ToolDateTime.pattern_ymd);
record.set("sj", (date.getMonth()+1) ); //某年的连续月份处理if( jymap.containsKey(day)) {
String sum= jymap.get(day).get("sum").toString();
total+=Integer.valueOf(sum);
record.set("sum", jymap.get(day).get("sum"));
}else{
record.set("sum", 0);
}
jylist.add(record);
}
}
setAttr("total", total);
setAttr("jylist", jylist);
render("/platform/xxgl/jyrstj/content.html");
}