背景:
使用定时任务每天0点查询某张表的数据进行汇总到新的汇总表。
当在BJUI框架中点击某个权限中时会跳到指定 的action。
在此action中会对数据进行查询以及导出。
当直接点击权限列表时,即初始化加载时,不经过页面的筛选条件,这里是
searchTime。
此时在action中的doList下的ModelAnddView中加入参数
String searchTime
然后:
//余额汇总默认查询昨天的
Date today = new Date();//获取当前日期
//获取昨天日期
Date yesterday = new Date(today.getTime() - 86400000L);//86400000L;1天的时间=24小时 x 60分钟 x 60秒 x 1000毫秒 单位是L。
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd ");//设置日期格式
String yesterdayFormat=df.format(yesterday);//
//如果是初始化时进来的,即不经过筛选条件进来的,那么searchTime肯定为空,然后把格式化后的昨天存到参数里
if(searchTime==null||!"".equals(searchTime)){
pageResult.getParam().put("searchTime", yesterdayFormat);
pageResult.getExt().put("searchTime", yesterdayFormat);
}
//如果不为空,那么就是通过晒选得到的页面进来的,那么将传过来的searchTime放在参数里
if(searchTime!=null&&!"".equals(searchTime)){
pageResult.getParam().put("searchTime", searchTime);
pageResult.getExt().put("searchTime", searchTime);
}
然后在mapper里面:
<iftest="searchTime!= null and searchTime != ''">and DATE_FORMAT(bmf.recordTime,'%y-%m-%d') = DATE_FORMAT( #{searchTime},'%y-%m-%d')</if>
导出Excel功能:
在@RequestMapping("/exportMerchantBalanceSumReport")下:
方法名参数下加上:
String searchTime
然后:
Date today = new Date();
Date yesterday = new Date(today.getTime() - 86400000L);//86400000L,1天的时间=24小时 x 60分钟 x 60秒 x 1000毫秒 单位是L。
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd ");//设置日期格式
String yesterdayFormat=df.format(yesterday);
//判空同上
if(StringUtils.isBlank(searchTime)) {
param.put("searchTime", yesterdayFormat);
pageResult.getExt().put("searchTime", yesterdayFormat);
multiFuzzyQuery.add(true);
}else {
multiFuzzyQuery.add(false);
}
if(StringUtils.isNotBlank(searchTime)) {
param.put("searchTime", searchTime);
pageResult.getExt().put("searchTime", searchTime);
multiFuzzyQuery.add(true);
}else {
multiFuzzyQuery.add(false);
}
jsp页面:
<label>日期:
<input type="text" name="searchTime" data-toggle="datepicker" data-pattern="yyyy-MM-dd" value="${pageResult.ext.searchTime}" size="20" placeholder="请输入时间" >
</label>