From c22dd7309bbf7b162f4580cf55e9f26cc171d1c7 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 04 十一月 2026 15:21:32 +0800
Subject: [PATCH] 修复考勤汇总生成与新增节假日报错

---
 yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java                      |    8 ++++++++
 yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/vo/HrmAttendanceHolidaySaveReqVO.java |    4 ++--
 yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/dataobject/attendance/HrmAttendanceSummaryDO.java             |    4 ++++
 yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceHolidayServiceImpl.java           |    5 ++---
 4 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/vo/HrmAttendanceHolidaySaveReqVO.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/vo/HrmAttendanceHolidaySaveReqVO.java
index 8f2fcb6..918502a 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/vo/HrmAttendanceHolidaySaveReqVO.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/vo/HrmAttendanceHolidaySaveReqVO.java
@@ -26,8 +26,8 @@
     @NotNull(message = "绫诲瀷涓嶈兘涓虹┖")
     private Integer type;
 
-    @Schema(description = "鏄惁娉曞畾鑺傚亣鏃ワ細0-鍚︼紝1-鏄�", example = "1")
-    private Integer isLegal;
+    @Schema(description = "鏄惁娉曞畾鑺傚亣鏃ワ細false-鍚︼紝true-鏄紙鍏煎 0/1 鏁板瓧锛�", example = "true")
+    private Boolean isLegal;
 
     @Schema(description = "澶囨敞", example = "鏄ヨ妭鍋囨湡")
     private String remark;
diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/dataobject/attendance/HrmAttendanceSummaryDO.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/dataobject/attendance/HrmAttendanceSummaryDO.java
index 56d350a..0177efd 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/dataobject/attendance/HrmAttendanceSummaryDO.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/dataobject/attendance/HrmAttendanceSummaryDO.java
@@ -2,6 +2,7 @@
 
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.*;
@@ -43,7 +44,10 @@
 
     /**
      * 骞存湀锛屾牸寮忥細yyyy-MM
+     *
+     * year_month 鏄� MySQL 淇濈暀瀛楋紙INTERVAL 鍗曚綅锛夛紝涓嶅姞鍙嶅紩鍙蜂細鎶� SQL 璇硶閿欒
      */
+    @TableField("`year_month`")
     private String yearMonth;
 
     /**
diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceHolidayServiceImpl.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceHolidayServiceImpl.java
index 0981a6a..a39fb82 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceHolidayServiceImpl.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceHolidayServiceImpl.java
@@ -35,9 +35,7 @@
         // 鏍¢獙鏃ユ湡鏄惁宸插瓨鍦ㄩ厤缃�
         validateAttendanceHolidayDateExists(createReqVO.getDate());
         HrmAttendanceHolidayDO attendanceHoliday = BeanUtils.toBean(createReqVO, HrmAttendanceHolidayDO.class);
-        if (attendanceHoliday.getIsLegal() == null) {
-            attendanceHoliday.setIsLegal(0);
-        }
+        attendanceHoliday.setIsLegal(Boolean.TRUE.equals(createReqVO.getIsLegal()) ? 1 : 0);
         attendanceHolidayMapper.insert(attendanceHoliday);
         return attendanceHoliday.getId();
     }
@@ -51,6 +49,7 @@
             validateAttendanceHolidayDateExists(updateReqVO.getDate());
         }
         HrmAttendanceHolidayDO updateObj = BeanUtils.toBean(updateReqVO, HrmAttendanceHolidayDO.class);
+        updateObj.setIsLegal(Boolean.TRUE.equals(updateReqVO.getIsLegal()) ? 1 : 0);
         attendanceHolidayMapper.updateById(updateObj);
     }
 
diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java
index eefe7a7..05ad5f0 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java
@@ -340,6 +340,14 @@
 
     @Override
     public List<HrmEmployeeDO> getEmployeeList(Collection<Long> ids) {
+        // ids 涓� null 鏃惰〃绀烘煡璇㈠叏閮ㄥ憳宸ワ紙鑰冨嫟姹囨�汇�佽柂閰牳绠楃瓑鎵归噺鍦烘櫙渚濊禆姝よ涔夛級锛�
+        // 鏄惧紡浼犲叆绌洪泦鍚堟椂杩斿洖绌猴紝閬垮厤璇煡鍏ㄥ憳
+        if (ids == null) {
+            return employeeMapper.selectList(null);
+        }
+        if (ids.isEmpty()) {
+            return Collections.emptyList();
+        }
         return employeeMapper.selectByIds(ids);
     }
 

--
Gitblit v1.9.3