public class ReportActionUtil {
public static BaseReportReq getQueryReq(String startMonthStr, String endMonthStr) {
BaseReportReq reportReq = new BaseReportReq();
String startDateStr = "";
String endDateStr = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (startMonthStr == null && endMonthStr == null) {
// 获取前三个月的第一天
Calendar minCal = Calendar.getInstance();
minCal.setTime(new Date());
minCal.add(Calendar.MONTH, -1);
minCal.set(Calendar.DAY_OF_MONTH, minCal.getActualMinimum(Calendar.DAY_OF_MONTH));
startDateStr = sdf.format(minCal.getTime());
// 获取上一个月的最后一天
Calendar maxCal = Calendar.getInstance();
maxCal.setTime(new Date());
maxCal.set(Calendar.DAY_OF_MONTH, maxCal.getActualMaximum(Calendar.DAY_OF_MONTH));
endDateStr = sdf.format(maxCal.getTime());
startMonthStr = startDateStr.substring(0, 7);
endMonthStr = endDateStr.substring(0, 7);
} else {
try {
startDateStr = startMonthStr + "-01";
Date endMonth = sdf.parse(endMonthStr + "-01");
Calendar maxCal = Calendar.getInstance();
maxCal.setTime(endMonth);
maxCal.set(Calendar.DAY_OF_MONTH, maxCal.getActualMaximum(Calendar.DAY_OF_MONTH));
endDateStr = sdf.format(maxCal.getTime());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 获取所有月份
List<String> yearMonthList = new ArrayList<String>();
try {
Date beginMonthDay = sdf.parse(startMonthStr + "-01");
Date endMonthDay = sdf.parse(endMonthStr + "-01");
yearMonthList.add(startMonthStr.replace("-", ""));
while (beginMonthDay.before(endMonthDay)) {
// 获取每个月的下一天
Calendar maxCal = Calendar.getInstance();
maxCal.setTime(beginMonthDay);
maxCal.add(Calendar.MONTH, 1);
String beginDate = sdf.format(maxCal.getTime());
yearMonthList.add(beginDate.substring(0, 7).replace("-", ""));
beginMonthDay = sdf.parse(beginDate);
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
reportReq.setYearMonthList(yearMonthList);
reportReq.setBeginDate(DateUtil.parseDate(startDateStr));
reportReq.setEndDate(DateUtil.parseDate(endDateStr));
return reportReq;
}
public static RealTimeReportReq getQueryRealReq(String startDateStr, String endDateStr) {
RealTimeReportReq reportReq = new RealTimeReportReq();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (startDateStr == null && endDateStr == null) {
// 获取当前月的的第一天
Calendar minCal = Calendar.getInstance();
minCal.setTime(new Date());
minCal.set(Calendar.DAY_OF_MONTH, minCal.getActualMinimum(Calendar.DAY_OF_MONTH));
startDateStr = sdf.format(minCal.getTime());
// 获取当前月的最后一天
Calendar maxCal = Calendar.getInstance();
maxCal.setTime(new Date());
maxCal.set(Calendar.DAY_OF_MONTH, maxCal.getActualMaximum(Calendar.DAY_OF_MONTH));
endDateStr = sdf.format(maxCal.getTime());
}
reportReq.setYearMonth(startDateStr.substring(0,7).replace("-", ""));
startDateStr="2015-09-01";
endDateStr="2015-10-01";
reportReq.setPchTimeBegin(DateUtil.parseDate(startDateStr));
reportReq.setPchTimeEnd(DateUtil.parseDate(endDateStr));
return reportReq;
}
}