JAVA實現按時間段查詢數據操作
html / jsp
<span style='vertical-align: -webkit-baseline-middle;font-size:16px;font-weight:bold;'>開始時間:</span> <input name='startTime' type='text' onfocus='WdatePicker()' style='height: 34px; line-height: 34px; border-radius: 4px; border: 1px solid #ccc; font-size: 14px;'><span style='font-size:16px;font-weight:bold;'>結束時間: </span><input name='endTime' type='text' onfocus='WdatePicker()' style='height: 34px; line-height: 34px; border-radius: 4px; border: 1px solid #ccc; font-size: 14px;'><input type='submit' value='查詢' onClick='toFindTime();' />
js方法:
function timeCheckInfo(page,startTime,endTime,officeVal){ var startTime=$('#startTime').val(); var endTime=$('#endTime').val(); $.ajax({ url: '../../security/base/peoplesafeimg!findPortFolioByTime.action', type: 'post', data:{ pagenum:page, startTime:startTime, endTime:endTime, deptid:officeid, // 處室ID來源于默認(頁面傳值)和下拉框選擇 lenian 2018 06 29 depotid:depotid }, dataType: 'json', success: function (data) { //alert(JSON.stringify(data)); var dataset = data[0].result; $(dataset).each(function(i,val) { }); }, error:function(){ alert('查詢數據失敗') } }); }
PeoplesafeimgAction.java
/** * @author lenian 2018 06 12 * 根據時間查詢人員畫像機務處、運輸處、貨運處工作量數據并展示 * @param page * @param startTime * @param endTime * @return */public String findPortFolioByTime(){ page.setPageNo(pagenum); page = (Page<Map<String, Object>>) peopleSafeImgManager.getPortFolioByTime(page, startTime, endTime, deptid, depotid); JSONArray jsonArray = JSONArray.fromObject(page); renderTextJSONGBK(jsonArray.toString()); return null;}PeopleSafeImgManager.java/** * @author lenian 2018 06 12 * 根據時間查詢人員畫像機務處、運輸處、貨運處工作量數據并展示 * @param page * @param startTime * @param endTime * @return */@SuppressWarnings('unchecked')public Page<Map<String, Object>> getPortFolioByTime(Page<Map<String, Object>> page, String startTime, String endTime, Long deptid, Long depotid) { String depotName = null; // 判斷當站段登錄時,傳到后臺的depotid為空 if (depotid == null) { Long depot_id = SessionManager.getDepartmentId(); Department department = departmentManager.getObjectById(depot_id); depotName = department.getName();//站段 } else if (depotid != null && depotid != 0) { // 當處室登錄,選擇其中某個站段進行了查詢 Department department = departmentManager.getObjectById(depotid); depotName = department.getName();//站段 } // 根據處室將數據區分開來 lenian 2018 06 25 Department deparent = departmentManager.getObjectById(deptid); // 當處室登錄,并且depotid==0,表示查詢所有(注:以上操作可示為參數的準備) String sql; if (depotid != null && depotid == 0) { sql = 'select spp.id,n' + ' sei.name,n' + ' spp.id_card,n' + ' to_char(spp.time, ’yyyy-MM-dd’) time,n' + ' spp.ins,n' + ' spp.outs,n' + ' spp.score,n' + ' spp.minute,n' + ' spp.column_number,n' + ' spp.channel_numbern' + ' from Security_Portrait_Portfolio spp, Security_Employee_Info sein' + ' where spp.id_card = sei.idcard_num(+) and sei.office_name = ’'+ deparent.getName() +'’'; } else { // 1、當處室登錄,選擇其中某個站段進行了查詢; 2、站段登錄,獲取當前站段ID sql = 'select spp.id,n' + ' sei.name,n' + ' spp.id_card,n' + ' to_char(spp.time, ’yyyy-MM-dd’) time,n' + ' spp.ins,n' + ' spp.outs,n' + ' spp.score,n' + ' spp.minute,n' + ' spp.column_number,n' + ' spp.channel_numbern' + ' from Security_Portrait_Portfolio spp, Security_Employee_Info sein' + ' where spp.id_card = sei.idcard_num(+) and spp.depot = ’'+ depotName +'’ and sei.office_name = ’'+ deparent.getName() +'’'; } if (StrUtils.stringQuery(startTime) && StrUtils.stringQuery(endTime)) { sql += 'and to_char(spp.time, ’yyyy-MM-dd’) between ’'+ startTime +'’ and ’'+ endTime +'’'; } sql += 'order by spp.create_time desc'; SQLQuery query = dao.getSession().createSQLQuery(sql); Integer count = Integer.parseInt(dao.getSession() .createSQLQuery('select count(1) from (' + sql + ')') .uniqueResult().toString()); if (page.isAutoCount()) { page.setTotalCount(count); } if (page.isFirstSetted()) { query.setFirstResult(page.getFirst()); } if (page.isPageSizeSetted()) { query.setMaxResults(page.getPageSize()); } query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); page.setResult(query.list()); return page;}
補充知識:Java 實現判斷時間是否在某個區間內(如是否在23點到凌晨4點之間)
最近遇到一個需求,就是判斷一個時間是否在23點到凌晨4點之間,這個時間段是可以修改的。在網上收了一下發現沒有符合我的需求的,就自己琢磨了一下,感覺這樣算還是可以的。
思路:
如上圖的那個圓形的鐘表,可以從開始時間剪斷,把鐘表的環鋪平,此時就變成了一個刻度尺,這樣就好比較了
代碼塊
測試代碼:
public static void main(String[] args) { int start = 23; int end = 4; int emp = 24 - start; for (int d = 0; d < 24; d++) { System.out.println((start + emp) % 24 + 't' + (d + emp) % 24 + 't' + (end + emp) % 24); }}
輸出:
0 1 50 2 50 3 50 4 50 5 50 6 50 7 50 8 50 9 50 10 50 11 50 12 50 13 50 14 50 15 50 16 50 17 50 18 50 19 50 20 50 21 50 22 50 23 50 0 5
以上這篇JAVA實現按時間段查詢數據操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: