1. 程式人生 > >BJUI+SSM實現報表新增時間篩選功能

BJUI+SSM實現報表新增時間篩選功能

場景

BJUI前段報表展示,需要新增時間篩選條件,BJUI傳遞兩個時間與資料庫中的某個時間的欄位進行比較。

效果

實現

BJUI前段jsp頁面:

<label>開始時間:
   <input type="text" name="startDate" data-toggle="datepicker" data-pattern="yyyy-MM-dd" value="${pageResult.ext.startDate}" size="20">
     </label>
     <label>結束時間:
   <input type="text" name="endDate" data-toggle="datepicker" data-pattern="yyyy-MM-dd" value="${pageResult.ext.endDate}" size="20">
  </label>

傳遞到後端action:

@RequestMapping(value = "/toList")
 public  ModelAndView toList(Integer pageSize, Integer pageCurrent, String orderField, String orderDirection,
   String partnerName,String partnerNum,String startDate,String endDate) {
  ModelAndView mv = null;
  try {
   PageResult<PassPartnersBillseriaExt> pageResult = PageUtil.pageSet(this.getClass(), pageSize, pageCurrent, orderField, orderDirection);
   pageResult.getParam().put("status", "0");
   //插入模糊搜尋資料
   if (partnerName != null && !"".equals(partnerName)) {
    pageResult.getParam().put("partnerName", partnerName);
    pageResult.getExt().put("partnerName", partnerName);
   }
   if (partnerNum != null && !"".equals(partnerNum)) {
    pageResult.getParam().put("partnerNum", partnerNum);
    pageResult.getExt().put("partnerNum", partnerNum);
   }
   if (startDate != null && !"".equals(startDate)) {
    pageResult.getParam().put("startDate", startDate);
    pageResult.getExt().put("startDate", startDate);
   }
   if (endDate != null && !"".equals(endDate)) {
    pageResult.getParam().put("endDate", endDate);
    pageResult.getExt().put("endDate", endDate);
   }
   pageResult.setOrderField("ppb.RecordTime");
   pageResult.setOrderDirection("DESC");
   pageResult = this.passPartnersBillseriaService.getPartnerBillServialListPageResult(pageResult);
   mv = new ModelAndView();
   mv.addObject(ModelAndViewConstants.PAGE_RESULT, pageResult);
   mv.setViewName(ModelAndViewConstants.PASS_PARTNER_BILL_SERIAL_MAIN_VIEW);
  } catch (Exception e) {
   mv = new ModelAndView(ModelAndViewConstants.ERROR_VIEW);
   LogService.getInstance(this).debug(e);
  }
  return mv;
 
 }

Mapper檔案:

 <select id="getPartnersBillSerialListByParam" parameterType="java.util.Map" resultMap="PassPartnersBillSerialResultMap">
  select ppb.*,sc.CodeName TransactionTypeName
  from pass_partners_billseria ppb
  left join sys_code sc
  on ppb.TransactionType = sc.CodeValue
  and sc.CodeType ="transactionType"     
  <where>   
   <if test="partnerName"> and ppb.partnerName like CONCAT('%',#{partnerName},'%' )</if>
   <if test="partnerNum"> and ppb.partnerNum like CONCAT('%',#{partnerNum},'%' )</if>   
   <if test="status"> and ppb.Status = #{status}</if>
   <if test="startDate"> and  ppb.RecordTime >=CONCAT(#{startDate},' 00:00:00' ) </if>
   <if test="endDate"> and CONCAT(#{endDate},' 23:59:59' )>= ppb.RecordTime </if>
  </where>
  <if test="orderColumn != null">
   order by ${orderColumn}
   <if test="orderTurn != null">
    ${orderTurn}
   </if>
  </if>
  <if test="limit != null">
   limit
   <if test="offset != null">
    ${offset},
   </if>
   ${limit}
  </if>
 </select>