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實現按時間段查詢數據操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
1. ThinkPHP5 通過ajax插入圖片并實時顯示(完整代碼)2. IntelliJ IDEA設置條件斷點的方法步驟3. Java構建JDBC應用程序的實例操作4. Express 框架中使用 EJS 模板引擎并結合 silly-datetime 庫進行日期格式化的實現方法5. Python使用oslo.vmware管理ESXI虛擬機的示例參考6. IDEA EasyCode 一鍵幫你生成所需代碼7. 一篇文章帶你了解JavaScript-對象8. javascript設計模式 ? 建造者模式原理與應用實例分析9. python flask框架快速入門10. 解決Python paramiko 模塊遠程執行ssh 命令 nohup 不生效的問題
