CriteriaBuilder jpa 日期date查询
2024-08-25 02:30:20
概要:前端日期选择器选择完之后传一个String到后台,后台的字段的数据类型是date
前端:
<label class="layui-form-label" >单据日期</label>
<div class="layui-input-inline">
<input type="text" id="taxDate" placeholder="单据日期"
autocomplete="off" class="layui-input">
</div>
//单据日期
laydate.render({
elem: '#taxDate'
,type: 'date' //默认,可不填
});
后端:
@Override
public Page<SalesOrder> findPage(SalesOrderModel salesOrderModel, int currentPage, int pageSize) { Specification<SalesOrder> specification = new Specification<SalesOrder>() { @Override
public Predicate toPredicate(Root<SalesOrder> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
List<Predicate> list = new ArrayList<>();
Predicate deleteMark = cb.equal(root.get("deleteMark").as(Boolean.class), false);
list.add(deleteMark);
// 单据编号
if (!CommonUtil.isEmpty(salesOrderModel.getOrderId())) {
Predicate orderId = cb.like(root.get("orderId"), "%" + salesOrderModel.getOrderId().trim() + "%");
list.add(orderId);
} // 内部编号
if (!CommonUtil.isEmpty(salesOrderModel.getEntryId())) {
Predicate entryId = cb.like(root.get("entryId"), "%" + salesOrderModel.getEntryId().trim() + "%");
list.add(entryId);
} // 单据日期
if (!CommonUtil.isEmpty(salesOrderModel.getTaxDate())) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date startDate = null;
Date endDate = null;
try {
startDate = format.parse(salesOrderModel.getTaxDate());
endDate = format.parse(salesOrderModel.getTaxDate());
} catch (ParseException e) {
startDate = new Date();
endDate = new Date();
}
Predicate taxDate = cb.between(root.<Date>get("taxDate"),startDate, endDate);//开始日期和结束日期是同一个 list.add(taxDate);
}
Predicate[] predicates = new Predicate[list.size()]; return cb.and(list.toArray(predicates));
} };
List<Order> orders = new ArrayList<>(); orders.add(new Order(Direction.DESC, "createDate"));
Sort sort = Sort.by(orders); Pageable pageable = PageRequest.of(currentPage - 1, pageSize, sort); return salesOrderRepository.findAll(specification, pageable);
}
最新文章
- 07@Pattern_Note_LabVIEW工厂模式理解
- Linux:使用nohup让进程在后台可靠运行
- vs2016 vsto excel addin deploy error: vsto 无法解析属性type的值
- DBA_Tablespace表空间的概念和管控(概念)
- unity, audio falloff
- 【C++基础】 多态 虚函数
- JS函数的参数对象arguments在严格模式下的限制
- Ubuntu server下安装JDK和Tomcat7
- D - D 田忌赛马
- wpf 9张图片的连连看
- 用Python做SVD文档聚类---奇异值分解----文档相似性----LSI(潜在语义分析)
- 大数据项目之_15_电信客服分析平台_03&;04_数据分析
- Python自动化开发 - RESTful API
- JS获取周、月、季度日期
- Codeforces 898F - Restoring the Expression(字符串hash)
- web.xml文件头出错
- 【软件位置】Linux查看软件安装的位置
- Centos7手动编译安装Python3
- 【转】linux下,如何把整个文件夹上传到服务器(另一台linux)
- beans.xml的用法