From 3734974695b65ccf63b1df9281deede91195fc11 Mon Sep 17 00:00:00 2001
From: zhitong.yu <xynz17@163.com>
Date: 星期二, 16 四月 2024 17:09:55 +0800
Subject: [PATCH] 通用版本V1.5 注:修复历史考勤时间范围查找
---
src/main/java/com/hxzk/service/impl/KaoQinServiceImpl.java | 50 +++++++++++++++++++++++++++++++++-----------------
1 files changed, 33 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/hxzk/service/impl/KaoQinServiceImpl.java b/src/main/java/com/hxzk/service/impl/KaoQinServiceImpl.java
index d73ea1e..a5dbb68 100644
--- a/src/main/java/com/hxzk/service/impl/KaoQinServiceImpl.java
+++ b/src/main/java/com/hxzk/service/impl/KaoQinServiceImpl.java
@@ -16,6 +16,7 @@
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
+import java.time.temporal.ChronoUnit;
import java.util.Date;
import java.util.List;
@@ -24,10 +25,11 @@
@Autowired
KaoQinDao kaoQinDao;
+
@Override
public PageInfo<TbKaoqing> findAll(Integer page, Integer limit) {
QueryWrapper queryWrapper = new QueryWrapper<>();
- PageHelper.startPage(page,limit);
+ PageHelper.startPage(page, limit);
LocalDate currentDate = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
String formattedDate = currentDate.format(formatter);
@@ -38,7 +40,7 @@
@Override
public PageInfo<TbKaoqing> findSearch(Integer page, Integer limit, TbKaoqing achor) {
- PageHelper.startPage(page,limit);
+ PageHelper.startPage(page, limit);
List<TbKaoqing> cardList = null;
String dateStr = achor.getName();
String dateStr1 = achor.getBumen();
@@ -56,22 +58,36 @@
} catch (ParseException e) {
e.printStackTrace();
}
- if (achor.getTagid() == null || achor.getTagid().equals("")){
- //鍙牴鎹椂闂存煡璇�
- cardList = kaoQinDao.findSearchTime(achor);
- }else{
- if (achor.getName() == null || achor.getName().equals("")){
- LocalDate currentDate = LocalDate.now();
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
- String formattedDate = currentDate.format(formatter);
- achor.setName(formattedDate);
- cardList = kaoQinDao.findSearch(achor);
- }else{
- cardList = kaoQinDao.findSearch(achor);
- }
- //鏍规嵁鏃堕棿鍜岃緭鍏ョ殑濮撳悕杩涜鏌ヨ
+ if (achor.getTagid() == null || achor.getTagid().equals("")) {
+ String s = achor.getIntime().split(" ")[0];
+ String e = achor.getOuttime().split(" ")[0];
+ String[] start = s.split("-");
+ String[] end = e.split("-");
+ String sql = new String();
+ //鍙牴鎹椂闂存煡璇�
+ LocalDate startDate = LocalDate.of(Integer.parseInt(start[0]), Integer.parseInt(start[1]), Integer.parseInt(start[2]));
+ LocalDate endDate = LocalDate.of(Integer.parseInt(end[0]), Integer.parseInt(end[1]), Integer.parseInt(end[2]));
+ long numOfDaysBetween = ChronoUnit.DAYS.between(startDate, endDate);
+ // 璁$畻涓や釜鏃ユ湡涔嬮棿鐨勫ぉ鏁�
+ for (int i = 1; i <= numOfDaysBetween; i++) {
+ LocalDate date = startDate.plusDays(i);
+ String riqi = date.toString().split("-")[0]+date.toString().split("-")[1]+date.toString().split("-")[2];
+ sql += " UNION select * from tb_kaoqing_" + riqi+" ";
+ achor.setBumen(sql);}
+ cardList = kaoQinDao.findSearchTime(achor);
+ } else {
+ if (achor.getName() == null || achor.getName().equals("")) {
+ LocalDate currentDate = LocalDate.now();
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
+ String formattedDate = currentDate.format(formatter);
+ achor.setName(formattedDate);
+ cardList = kaoQinDao.findSearch(achor);
+ } else {
+ cardList = kaoQinDao.findSearch(achor);
+ }
+ //鏍规嵁鏃堕棿鍜岃緭鍏ョ殑濮撳悕杩涜鏌ヨ
- }
+ }
PageInfo<TbKaoqing> info = new PageInfo<>(cardList);
return info;
}
--
Gitblit v1.10.0