diff --git a/src/main/java/com/nis/util/DateUtils.java b/src/main/java/com/nis/util/DateUtils.java
index 011f1dd0a..2869881e6 100644
--- a/src/main/java/com/nis/util/DateUtils.java
+++ b/src/main/java/com/nis/util/DateUtils.java
@@ -53,6 +53,18 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
}
return formatDate;
}
+ /**
+ * 把指定时间转为指定格式
+ * @param date 需格式化时间
+ * @param parm 格式
+ * @return
+ */
+ public static String formatDateTimeByParm(Date date,String parm) {
+ if(StringUtil.isBlank(parm)){
+ parm="yyyy-MM-dd";
+ }
+ return formatDate(date, parm);
+ }
/**
* 得到日期时间字符串,转换格式(yyyy-MM-dd HH:mm:ss)
diff --git a/src/main/java/com/nis/web/controller/report/ReportController.java b/src/main/java/com/nis/web/controller/report/ReportController.java
index 6b2921094..b761321fa 100644
--- a/src/main/java/com/nis/web/controller/report/ReportController.java
+++ b/src/main/java/com/nis/web/controller/report/ReportController.java
@@ -68,9 +68,9 @@ public class ReportController extends BaseController {
params.put("searchFoundEndTime", log.getSearchFoundEndTime());
} else {
Calendar time = Calendar.getInstance();
- String searchEndTime = DateUtils.formatDateTime(time.getTime());
+ String searchEndTime = DateUtils.formatDateTimeByParm(time.getTime(),"yyyy-MM-dd HH")+":00:00";
time.add(Calendar.HOUR_OF_DAY, -1);
- String searchStartTime = DateUtils.formatDateTime(time.getTime());
+ String searchStartTime = DateUtils.formatDateTimeByParm(time.getTime(),"yyyy-MM-dd HH")+":00:00";;
params.put("searchFoundStartTime", searchStartTime);
params.put("searchFoundEndTime", searchEndTime);
diff --git a/src/main/webapp/WEB-INF/views/report/asnRecordList.jsp b/src/main/webapp/WEB-INF/views/report/asnRecordList.jsp
index dcf7d214f..2c15227d7 100644
--- a/src/main/webapp/WEB-INF/views/report/asnRecordList.jsp
+++ b/src/main/webapp/WEB-INF/views/report/asnRecordList.jsp
@@ -146,7 +146,7 @@
<%-- value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> --%>
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTimeByFormat('#searchFoundStartTime','#searchFoundEndTime',1,'w','yyyy-MM-dd hh:mm:ss',false,'yyyy-MM-dd hh')"/>
@@ -157,7 +157,7 @@
<%-- value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> --%>
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTimeByFormat('#searchFoundStartTime','#searchFoundEndTime',1,'w','yyyy-MM-dd hh:mm:ss',false,'yyyy-MM-dd hh')"/>
diff --git a/src/main/webapp/static/global/scripts/pzLog.js b/src/main/webapp/static/global/scripts/pzLog.js
index 498280561..3ae0d1a73 100644
--- a/src/main/webapp/static/global/scripts/pzLog.js
+++ b/src/main/webapp/static/global/scripts/pzLog.js
@@ -361,12 +361,12 @@ function setEndTime(startTimeSelector,endTimeSelector,granule,unit,formate,futur
function setStartTime(startTimeSelector,endTimeSelector,granule,unit,formate,future){
if(strIsBlank(granule)||strIsBlank(unit)){
- console.log("时间粒度或时间单位为空");
+ //console.log("时间粒度或时间单位为空");
return;
}
if(strIsBlank(startTimeSelector)||strIsBlank(endTimeSelector)){
- console.log("时间输入框选择器为空");
+ //console.log("时间输入框选择器为空");
return;
}
@@ -471,4 +471,179 @@ if(new RegExp("("+ k +")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
return fmt;
}
-/*======================时间验证方法end===========================*/
\ No newline at end of file
+/*======================时间验证方法end===========================*/
+
+
+
+
+/*======================新增按照需求指定时间范围,如取到天、小时等start=====================================*/
+//startTimeSelector:输入框开始时间选择器;
+//endTimeSelector:输入框结束时间选择器;
+//granule:时间粒度(数字);
+//unit:时间粒度单位(h-小时,d-天,w-周,m-月);
+//formate:时间格式;默认格式:yyyy-MM-dd hh:mm:ss
+//future:选择的时间是否可以为未来时间 true or false 默认false(不能为未来时间)
+//formatParm有效时间范围参数:yyyy-MM-dd HH例如时间范围限制到小时:yyyy-MM-dd HH:00:00;yyyy-MM-dd例如时间范围限制到天:yyyy-MM-dd 00:00:00
+function setEndTimeByFormat(startTimeSelector,endTimeSelector,granule,unit,formate,future,formatParm){
+
+ if(strIsBlank(granule)||strIsBlank(unit)){
+ console.log("时间粒度或时间单位为空");
+ return;
+ }
+
+ if(strIsBlank(startTimeSelector)||strIsBlank(endTimeSelector)){
+ console.log("时间输入框选择器为空");
+ return;
+ }
+
+ if(strIsBlank(formate)){
+ formate="yyyy-MM-dd hh:mm:ss"
+ }
+ var endStr="";
+ if(strIsBlank(formatParm)){
+ formatParm = formate;
+ }else{
+ if((formate.length-formatParm.length) == 3){
+ endStr="00";
+ }else if((formate.length-formatParm.length) == 6){
+ endStr=":00:00";
+ }else if((formate.length-formatParm.length) == 9){
+ endStr=" 00:00:00";
+ }else{
+ endStr="";
+ }
+ }
+
+ if(future==null || future==undefined){
+ future=false;
+ }
+ var startTimeVal=$(startTimeSelector).val();
+ var endTimeVal=$(endTimeSelector).val();
+ alert(startTimeVal);
+ alert(endTimeVal);
+ //alert(startTimeVal.substr(0,formatParm.length-1);
+ var startTime;
+ var endTime;
+
+ var diff=getTimeDiff(granule,unit);//得到时间粒度差值
+
+ if(!strIsBlank(endTimeVal)){
+ endTime=new Date(endTimeVal);
+ var currentTime=new Date().getTime();
+ if(!future&&endTime.getTime()>currentTime){ //endTime不能是未来时间
+ endTime=new Date();
+ }
+ if(strIsBlank(startTimeVal)){
+ startTime=new Date(endTime.getTime()-diff);
+ }else{//startTime和endTime都不为空
+ startTime=new Date(startTimeVal);
+ if(endTime.getTime()-startTime.getTime()>diff||endTime.getTime()-startTime.getTime()<=0){//startTime不在时间粒度之内
+ startTime=new Date(endTime.getTime()-diff);
+ }
+ }
+
+ }else{
+ if(strIsBlank(startTimeVal)){//startTime and endTime 都为空
+ endTime=new Date();
+ startTime=new Date(endTime.getTime()-diff);
+ }else{//startTime 不为空,endTime为空
+ setStartTimeByFormat(startTimeSelector,endTimeSelector,granule,unit,formate,future);
+ return;
+ }
+ }
+
+ //$(startTimeSelector).val(dateFtt(formate,startTime));
+ //$(endTimeSelector).val(dateFtt(formate,endTime));
+ $(startTimeSelector).val(dateFtt(formatParm,startTime)+endStr);
+ $(endTimeSelector).val(dateFtt(formatParm,endTime)+endStr);
+
+}
+
+//startTimeSelector:输入框开始时间选择器;
+//endTimeSelector:输入框结束时间选择器;
+//granule:时间粒度(数字);
+//unit:时间粒度单位(h-小时,d-天,w-周,m-月);
+//formate:时间格式;默认格式:yyyy-MM-dd hh:mm:ss
+//future:选择的时间是否可以为未来时间 true or false 默认false(不能为未来时间)
+function setStartTimeByFormat(startTimeSelector,endTimeSelector,granule,unit,formate,future,formatParm){
+
+ if(strIsBlank(granule)||strIsBlank(unit)){
+ //console.log("时间粒度或时间单位为空");
+ return;
+ }
+
+ if(strIsBlank(startTimeSelector)||strIsBlank(endTimeSelector)){
+ //console.log("时间输入框选择器为空");
+ return;
+ }
+
+ if(strIsBlank(formate)){
+ formate="yyyy-MM-dd hh:mm:ss"
+ }
+
+ var endStr="";
+ if(strIsBlank(formatParm)){
+ formatParm = formate;
+ }else{
+ if((formate.length-formatParm.length) == 3){
+ endStr="00";
+ }else if((formate.length-formatParm.length) == 6){
+ endStr=":00:00";
+ }else if((formate.length-formatParm.length) == 9){
+ endStr=" 00:00:00";
+ }else{
+ endStr="";
+ }
+ }
+ if(future==null || future==undefined){
+ future=false;
+ }
+ var startTimeVal=$(startTimeSelector).val();
+ var endTimeVal=$(endTimeSelector).val();
+
+ var startTime;
+ var endTime;
+
+ var diff=getTimeDiff(granule,unit);//得到时间粒度差值
+
+ if(!strIsBlank(startTimeVal)){
+ startTime=new Date(startTimeVal);
+ var currentTime=new Date().getTime();
+ if(!future&&startTime.getTime()>currentTime){//startTime是一个超过当前时间值
+ startTime=new Date(currentTime-diff);
+ }
+ if(strIsBlank(endTimeVal)){
+ if(startTime.getTime()+diff>currentTime){
+ endTime=new Date();
+ }else{
+ endTime=new Date(startTime.getTime()+diff);
+ }
+ }else{//startTime和endTime都不为空
+ endTime=new Date(endTimeVal);
+ if(endTime.getTime()-startTime.getTime()>diff||endTime.getTime()-startTime.getTime()<=0){//endTime不在时间粒度之内
+
+ if(startTime.getTime()+diff>currentTime){
+ endTime=new Date();
+ startTime=new Date(endTime.getTime()-5*60*1000);
+ }else{
+ endTime=new Date(startTime.getTime()+diff);
+ }
+ }
+ }
+ }else{
+ if(strIsBlank(endTimeVal)){//startTime和endTime 都为空
+ endTime=new Date();
+ startTime=new Date(endTime.getTime()-diff);
+
+ }else{
+ setEndTimeByFormat(startTimeSelector,endTimeSelector,granule,unit,formate,future);
+ return;
+ }
+ }
+
+ //$(startTimeSelector).val(dateFtt(formate,startTime));
+ //$(endTimeSelector).val(dateFtt(formate,endTime));
+ $(startTimeSelector).val(dateFtt(formatParm,startTime)+endStr);
+ $(endTimeSelector).val(dateFtt(formatParm,endTime)+endStr);
+}
+/*======================新增按照需求指定时间范围,如取到天、小时等end=====================================*/