zhitong.yu
2024-04-16 3734974695b65ccf63b1df9281deede91195fc11
通用版本V1.5    注:修复历史考勤时间范围查找
已修改2个文件
20 ■■■■■ 文件已修改
src/main/java/com/hxzk/mapper/KaoQinDao.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/hxzk/service/impl/KaoQinServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/hxzk/mapper/KaoQinDao.java
@@ -13,9 +13,9 @@
    @Select("select * from tb_kaoqing_${nyr}")
    public List<TbKaoqing> findAllKaoQin(String nyr);
    @Select("select * from tb_kaoqing_${name} where intime >= #{intime} and outtime <= #{outtime} UNION  select * from tb_kaoqing_${bumen} where intime >= #{intime} and outtime <= #{outtime}")
    @Select("select * from tb_kaoqing_${name} where intime >= #{intime} ${bumen} where outtime <= #{outtime}")
    public List<TbKaoqing> findSearchTime(TbKaoqing kaoqing);
    @Select("SELECT * FROM tb_kaoqing_${name} WHERE name = #{tagid} or tagid = #{tagid} and intime >= #{intime} and outtime <= #{outtime} UNION SELECT * FROM tb_kaoqing_${bumen} WHERE name = #{tagid} or tagid = #{tagid}  and intime >= #{intime} and outtime <= #{outtime}")
    @Select("SELECT * FROM tb_kaoqing_${name} WHERE name = #{tagid} or tagid = #{tagid}  UNION SELECT * FROM tb_kaoqing_${bumen} WHERE name = #{tagid} or tagid = #{tagid}  and intime >= #{intime} and outtime <= #{outtime}")
    public List<TbKaoqing> findSearch(TbKaoqing kaoqing);
}
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,6 +25,7 @@
    @Autowired
    KaoQinDao kaoQinDao;
    @Override
    public PageInfo<TbKaoqing> findAll(Integer page, Integer limit) {
        QueryWrapper queryWrapper = new QueryWrapper<>();
@@ -57,7 +59,21 @@
            e.printStackTrace();
        }
       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("")){