JAVA实现按时间段查询数据操作的方法

发布时间:2020-08-17 09:56:01

来源:亿速云

阅读:161

作者:小新

小编给大家分享一下JAVA实现按时间段查询数据操作的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

html / jsp

开始时间:

结束时间:

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>) 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> getPortFolioByTime(Page> 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_number\n" +

" from Security_Portrait_Portfolio spp, Security_Employee_Info sei\n" +

" 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_number\n" +

" from Security_Portrait_Portfolio spp, Security_Employee_Info sei\n" +

" 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 5

0 2 5

0 3 5

0 4 5

0 5 5

0 6 5

0 7 5

0 8 5

0 9 5

0 10 5

0 11 5

0 12 5

0 13 5

0 14 5

0 15 5

0 16 5

0 17 5

0 18 5

0 19 5

0 20 5

0 21 5

0 22 5

0 23 5

0 0 5

看完了这篇文章,相信你对JAVA实现按时间段查询数据操作的方法有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

java时间段的查询_JAVA实现按时间段查询数据操作的方法相关推荐

  1. java 限制参数类型_java定义受限制的类型参数操作

    有时您可能想限制可以在参数化类型中用作类型参数的类型. 例如,对数字进行操作的方法可能只希望接受Number或其子类的实例. 这就是有界类型参数的用途. 受限制参数类型的方法示例 要声明有界类型参数, ...

  2. mysql修改的值子查询语句_MySQL的SQL语句 - 数据操作语句(13)- 子查询(13)

    子查询的限制 ● 通常,不能在子查询中修改表并从同一表中进行选择.例如,此限制适用于以下形式的语法: 1. DELETE FROM t WHERE ... (SELECT ... FROM t ... ...

  3. java xml 查询_Java DOM解析器 - 查询XML文档

    演示示例 这是需要我们查询的输入XML文件: Ferarri 101 Ferarri 201 Ferarri 301 Lamborgini 001 Lamborgini 002 Lamborgini ...

  4. java对Oracle数据库查询_java 连接Oracle数据库 查询

    java 连接Oracle数据库 查询 (2014-03-03 16:07:15) 标签: it 在ADF要先引入jar包 Oracle JDBC ;不然加载驱动不会成功. public static ...

  5. java 分页查询_java开发之分页查询

    工具类 package com.luer.comm.utils; import java.util.List; public class PageBean { //已知数据 private int p ...

  6. java hive查询_java程序调用hive查询的一个异常

    最近在java程序中调用hive做查询时,碰到一个异常,被困扰了许久,经过几番调试,逐步把问题定位清楚. 在异常描述前先给出异常信息:java.sql.SQLException: Error whil ...

  7. java ip归属地查询_JAVA版IP地址查询调用示例

    package cn.juhe; import net.sf.json.JSONObject; import org.springframework.web.client.RestTemplate; ...

  8. java xml 查询_java对xml进行查询操作代码

    java对xml进行查询操作代码 (2008-07-29 13:15:00) 标签: it test.java ---------- package com.shao; import java.io. ...

  9. java编程电话号码查询_java课程设计电话号码查询系统(15页)-原创力文档

    山东建筑大学 Java 课程设计报告 设计题目 电话号码查询系统 学生姓名黄瑜 学号 2010121187 专业班级信计101 指导教师 王文 1 1 1.设计目的 1.通过JAVA 课程设计,使大家 ...

  10. java mysql 查询_java连接mysql数据库达成数据查询详细教程

    前言:本篇文章适用于所有前后端开发者 众所周知,只要是编程,那肯定是需要存储数据的,无论是c语言还是java,都离不开数据的读写,数据之间传输不止,这也就形成了现代互联网的一种相互存在关系! 而读写存 ...

最新文章

  1. 使用putty远程linux服务
  2. Atom:A hackable text editor for the 21st Century
  3. 国际农民丰收节贸易会-万祥军: 全球TOP10农企携手阿里
  4. 北京活动:4月20号《科技媒体、SEO与PM》主题活动
  5. linux svn配置教程,linux svn搭建及配置
  6. QBXT Day 5图论相关
  7. Java项目上出现红色感叹号
  8. android自定义换行居中CenterTextView
  9. protobuf生成java类
  10. 2013年蓝桥杯真题
  11. Win11没有nvidia控制面板怎么解决
  12. Rational Rose安装使用教程
  13. 数据库MySQL学习——内含34道MySQL练习题及答案
  14. Linux小游戏——单机掷骰子
  15. Windows10桌面优化 | 如何修改图标大小 | 如何把win10快捷方式小箭头去掉
  16. 咸鱼 转转,苹果产品真伪验证
  17. 易语言单窗口单进程单IP技术
  18. 曾经社交王者人人为何如今失魂落魄
  19. 转:走向自治:关于德鲁克的五个关键词
  20. 服务器运行Microsoft.Office.Interop.Word出错{00024500-0000-0000-C000-000000000046}问题总结

热门文章

  1. Word 2010如何对论文中参考文献进行标注
  2. CSS字体样式设置、CSS文本样式设置
  3. C/C++编程:#pragma once用法总结
  4. mysql无法加载主类_错误: 找不到或无法加载主类 JDBC
  5. 胡因梦 :自我觉察是一切智慧的基础
  6. 局域网查共享计算机的ip地址吗,如何查看电脑的内网IP地址?
  7. 苹果应用商店反垄断案败诉,市值蒸发500多亿美元;脸书杠上了土耳其政府;Nutanix 扩展多云产品组合……...
  8. 网站java验证码不显示_jsp验证码无法显示
  9. 怎么压缩html的文件,css如何压缩?
  10. 计算机应用画画教程,小学生信息技术之电脑绘画教学