热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

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

这篇文章主要介绍了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实现按时间段查询数据操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 本文介绍了如何使用jQuery和AJAX来实现动态更新两个div的方法。通过调用PHP文件并返回JSON字符串,可以将不同的文本分别插入到两个div中,从而实现页面的动态更新。 ... [详细]
  • 本文介绍了Java后台Jsonp处理方法及其应用场景。首先解释了Jsonp是一个非官方的协议,它允许在服务器端通过Script tags返回至客户端,并通过javascript callback的形式实现跨域访问。然后介绍了JSON系统开发方法,它是一种面向数据结构的分析和设计方法,以活动为中心,将一连串的活动顺序组合成一个完整的工作进程。接着给出了一个客户端示例代码,使用了jQuery的ajax方法请求一个Jsonp数据。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • 本文介绍了一种处理AJAX操作授权过期的全局方式,以解决Asp.net MVC中Session过期异常的问题。同时还介绍了基于WebImage的图片上传工具类。详细内容请参考链接:https://www.cnblogs.com/starluck/p/8284949.html ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
author-avatar
阿门路亚_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有