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,

" +

" sei.name,

" +

" spp.id_card,

" +

" to_char(spp.time, "yyyy-MM-dd") time,

" +

" spp.ins,

" +

" spp.outs,

" +

" spp.score,

" +

" spp.minute,

" +

" spp.column_number,

" +

" spp.channel_number

" +

" from Security_Portrait_Portfolio spp, Security_Employee_Info sei

" +

" where spp.id_card = sei.idcard_num(+) and sei.office_name = ""+ deparent.getName() +""";

} else { // 1、当处室登录,选择其中某个站段进行了查询; 2、站段登录,获取当前站段ID

sql = "select spp.id,

" +

" sei.name,

" +

" spp.id_card,

" +

" to_char(spp.time, "yyyy-MM-dd") time,

" +

" spp.ins,

" +

" spp.outs,

" +

" spp.score,

" +

" spp.minute,

" +

" spp.column_number,

" +

" spp.channel_number

" +

" from Security_Portrait_Portfolio spp, Security_Employee_Info sei

" +

" 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点之间,这个时间段是可以修改的。在网上收了一下发现没有符合我的需求的,就自己琢磨了一下,感觉这样算还是可以的。

a044775e61b6d7736aface771372d069.png

思路:

如上图的那个圆形的钟表,可以从开始时间剪断,把钟表的环铺平,此时就变成了一个刻度尺,这样就好比较了

代码块

测试代码:

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 + "" + (d + emp) % 24 + "" + (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实现按时间段查询数据操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持云海天教程。

原文链接:https://blog.csdn.net/u013199013/article/details/81744925

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值