BJUI+SSM實現報表新增時間篩選功能
阿新 • • 發佈:2018-12-31
場景
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>