(1)境内源IP报表加入对界面时间字段的处理
(2)时间字段的处理放到baseController中 (3)界面ajax函数缩减为1个公用的函数
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
package com.nis.web.controller;
|
||||
import java.beans.PropertyEditorSupport;
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -45,6 +48,7 @@ import com.nis.exceptions.MaatConvertException;
|
||||
import com.nis.util.Configurations;
|
||||
//import com.nis.main.ConvertTool;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.DateUtil;
|
||||
import com.nis.util.DateUtils;
|
||||
import com.nis.util.DictUtils;
|
||||
import com.nis.util.JsonMapper;
|
||||
@@ -1001,5 +1005,114 @@ public class BaseController {
|
||||
}
|
||||
return msg.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* setReportSearchTime(报表查询设置开始时间与结束时间)
|
||||
* (这里描述这个方法适用条件 – 可选)
|
||||
* @param bean
|
||||
* @throws ParseException
|
||||
*void
|
||||
* @exception
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public void setReportSearchTime(SearchReport bean) throws ParseException{
|
||||
SimpleDateFormat sdf=new SimpleDateFormat(Constants.SEARCH_DATEFORMAT);
|
||||
String reportTime=bean.getReportTime();
|
||||
if(StringUtils.isNotBlank(reportTime)){
|
||||
Calendar startCal=Calendar.getInstance();
|
||||
startCal.setTime(getReportTime(reportTime));
|
||||
startCal.set(Calendar.MINUTE, 0);
|
||||
startCal.set(Calendar.SECOND, 0);
|
||||
startCal.set(Calendar.MILLISECOND, 0);
|
||||
Calendar endCal=Calendar.getInstance();
|
||||
endCal.setTime(getReportTime(reportTime));
|
||||
endCal.set(Calendar.MINUTE, 59);
|
||||
endCal.set(Calendar.SECOND, 59);
|
||||
endCal.set(Calendar.MILLISECOND, 0);
|
||||
if(bean.getReportType()==Constants.REPORT_TYPE_HOUR){
|
||||
startCal.set(Calendar.HOUR_OF_DAY, 0);
|
||||
endCal.set(Calendar.HOUR_OF_DAY, 23);
|
||||
}else if(bean.getReportType()==Constants.REPORT_TYPE_DAY){
|
||||
startCal.set(Calendar.HOUR_OF_DAY, 0);
|
||||
startCal.set(Calendar.DAY_OF_MONTH, 1);
|
||||
endCal.set(Calendar.HOUR_OF_DAY, 23);
|
||||
DateUtils.setLastDayOfMonth(endCal);
|
||||
}else if(bean.getReportType()==Constants.REPORT_TYPE_MONTH){
|
||||
startCal.set(Calendar.HOUR_OF_DAY, 0);
|
||||
startCal.set(Calendar.DAY_OF_MONTH, 1);
|
||||
startCal.set(Calendar.MONTH, 0);
|
||||
endCal.set(Calendar.HOUR_OF_DAY, 23);
|
||||
DateUtils.setLastDayOfMonth(endCal);
|
||||
endCal.set(Calendar.MONTH, 11);
|
||||
}
|
||||
bean.setReportStartTime(startCal.getTime());
|
||||
bean.setReportEndTime(endCal.getTime());
|
||||
bean.setSearchReportStartTime(sdf.format(startCal.getTime()));
|
||||
bean.setSearchReportEndTime(sdf.format(endCal.getTime()));
|
||||
}else{
|
||||
Date date=new Date();
|
||||
bean.setReportEndTime(date);
|
||||
bean.setSearchReportEndTime(sdf.format(date));
|
||||
Calendar startCal=Calendar.getInstance();
|
||||
startCal.setTime(date);
|
||||
startCal.set(Calendar.MINUTE, 0);
|
||||
startCal.set(Calendar.SECOND, 0);
|
||||
startCal.set(Calendar.MILLISECOND, 0);
|
||||
if(bean.getReportType()==Constants.REPORT_TYPE_HOUR){
|
||||
startCal.set(Calendar.HOUR_OF_DAY, 0);
|
||||
}else if(bean.getReportType()==Constants.REPORT_TYPE_DAY){
|
||||
startCal.set(Calendar.HOUR_OF_DAY, 0);
|
||||
startCal.set(Calendar.DAY_OF_MONTH, 1);
|
||||
}else if(bean.getReportType()==Constants.REPORT_TYPE_MONTH){
|
||||
startCal.set(Calendar.HOUR_OF_DAY, 0);
|
||||
startCal.set(Calendar.DAY_OF_MONTH, 1);
|
||||
startCal.set(Calendar.MONTH, 0);
|
||||
}
|
||||
bean.setReportStartTime(startCal.getTime());
|
||||
bean.setSearchReportStartTime(sdf.format(startCal.getTime()));
|
||||
|
||||
}
|
||||
logger.info("search start time "+bean.getSearchReportStartTime());
|
||||
logger.info("search end time "+bean.getSearchReportEndTime());
|
||||
}
|
||||
public List<String> getDateTitiles(SearchReport bean){
|
||||
SimpleDateFormat sdf=new SimpleDateFormat(Constants.SEARCH_DATEFORMAT);
|
||||
List<String> titles=new ArrayList<String>();
|
||||
Calendar cal=Calendar.getInstance();
|
||||
cal.setTime(bean.getReportStartTime());
|
||||
while(cal.getTimeInMillis()<bean.getReportEndTime().getTime()){//构造标题
|
||||
//报表时间单位加一
|
||||
if(bean.getReportType()==Constants.REPORT_TYPE_HOUR){
|
||||
titles.add(sdf.format(cal.getTime()).substring(0,13));
|
||||
cal.add(Calendar.HOUR_OF_DAY, 1);
|
||||
}else if(bean.getReportType()==Constants.REPORT_TYPE_DAY){
|
||||
titles.add(sdf.format(cal.getTime()).substring(0,10));
|
||||
cal.add(Calendar.DAY_OF_MONTH, 1);
|
||||
}else if(bean.getReportType()==Constants.REPORT_TYPE_MONTH){
|
||||
titles.add(sdf.format(cal.getTime()).substring(0,7));
|
||||
cal.add(Calendar.MONTH, 1);
|
||||
}
|
||||
}
|
||||
return titles;
|
||||
}
|
||||
public Date getReportTime(String reportTime) throws ParseException{
|
||||
Pattern datePattern=Pattern.compile("^[0-9]{4}-[0-9]{2}-[0-9]{2}$");
|
||||
Pattern monthPattern=Pattern.compile("^[0-9]{4}-[0-9]{2}$");
|
||||
Pattern yearPattern=Pattern.compile("^[0-9]{4}$");
|
||||
Matcher matcher=datePattern.matcher(reportTime);
|
||||
if(matcher.matches()){
|
||||
return new SimpleDateFormat("yyyy-MM-dd").parse(reportTime);
|
||||
}else{
|
||||
matcher=monthPattern.matcher(reportTime);
|
||||
if(matcher.matches()){
|
||||
return new SimpleDateFormat("yyyy-MM").parse(reportTime);
|
||||
}else{
|
||||
matcher=yearPattern.matcher(reportTime);
|
||||
if(matcher.matches()){
|
||||
return new SimpleDateFormat("yyyy").parse(reportTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user