From 52e4ba6897d5d808c4ed08720bbebad9cb006103 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期四, 05 十一月 2026 13:48:56 +0800
Subject: [PATCH] fix(hrm): 修复生成考勤统计报错、实出天数翻倍;调岗/离职审批通过同步人员信息

---
 yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeService.java |   64 +++++++++++++++++++++++++++++++
 1 files changed, 63 insertions(+), 1 deletions(-)

diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeService.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeService.java
index 709fc81..d01cc36 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeService.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeService.java
@@ -1,6 +1,9 @@
 package cn.iocoder.yudao.module.hrm.service.employee;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeeImportExcelVO;
+import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeeImportReqVO;
+import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeeImportRespVO;
 import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeePageReqVO;
 import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeeRespVO;
 import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeeSaveReqVO;
@@ -14,7 +17,7 @@
 /**
  * 鍛樺伐淇℃伅 Service 鎺ュ彛
  *
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
  */
 public interface HrmEmployeeService {
 
@@ -81,6 +84,34 @@
     List<HrmEmployeeDO> getEmployeeList(Collection<Long> ids);
 
     /**
+     * 鑾峰緱鎸囧畾鐘舵�佺殑鍛樺伐鍒楄〃锛堣繑鍥� DO锛�
+     *
+     * <p>娉ㄦ剰锛氫笉鑳芥妸 null 浼犵粰 {@link #getEmployeeList(Collection)}锛�
+     * MyBatis-Plus 鐨� selectByIds(null) 浼氭姏 "The expression 'coll' evaluated to a null value"銆�
+     *
+     * @param employeeStatus 鍛樺伐鐘舵�侊紝涓� null 鏃舵煡璇㈠叏閮�
+     * @return 鍛樺伐鍒楄〃
+     */
+    List<HrmEmployeeDO> getEmployeeListByStatus(Integer employeeStatus);
+
+    /**
+     * 璋冨矖鐢熸晥锛氭妸鍛樺伐妗f鐨勯儴闂�/宀椾綅鍚屾涓虹洰鏍囬儴闂�/鐩爣宀椾綅
+     *
+     * @param employeeId    鍛樺伐缂栧彿锛坔rm_employee.id锛�
+     * @param targetDeptId  鐩爣閮ㄩ棬缂栧彿锛屼负 null 鏃朵笉鏀�
+     * @param targetPostId  鐩爣宀椾綅缂栧彿锛屼负 null 鏃朵笉鏀�
+     */
+    void syncEmployeeTransfer(Long employeeId, Long targetDeptId, Long targetPostId);
+
+    /**
+     * 绂昏亴鐢熸晥锛氭妸鍛樺伐妗f鐘舵�佺疆涓恒�岀鑱屻��
+     *
+     * @param systemUserId 绯荤粺鐢ㄦ埛缂栧彿锛坔rm_employee.user_id锛屽嵆 system_users.id锛�
+     * @param leaveDate    绂昏亴鏃ユ湡锛屼负 null 鏃跺彇褰撳ぉ
+     */
+    void syncEmployeeResignation(Long systemUserId, java.time.LocalDate leaveDate);
+
+    /**
      * 鑾峰緱鎸囧畾鐘舵�佺殑鍛樺伐绠�鍗曞垪琛�
      *
      * @param employeeStatus 鍛樺伐鐘舵�侊紝涓� null 鏃舵煡璇㈠叏閮�
@@ -96,4 +127,35 @@
      */
     HrmEmployeeDO getEmployeeByUserId(Long userId);
 
+    /** 鏍规嵁鍛樺伐濮撳悕鑾峰彇鍛樺伐 */
+    HrmEmployeeDO getEmployeeByName(String name);
+
+    /** 鏍规嵁鍛樺伐濮撳悕鑾峰彇鎵�鏈夊悓鍚嶅憳宸� */
+    List<HrmEmployeeDO> getEmployeeListByName(String name);
+
+    /**
+     * 瀵煎叆鍛樺伐鍒楄〃
+     *
+     * @param importEmployees 鍛樺伐瀵煎叆鍒楄〃
+     * @param importReqVO 瀵煎叆璇锋眰
+     * @return 瀵煎叆缁撴灉
+     */
+    HrmEmployeeImportRespVO importEmployeeList(List<HrmEmployeeImportExcelVO> importEmployees,
+                                               HrmEmployeeImportReqVO importReqVO);
+
+    /**
+     * 鍛樺伐杞锛氫粎銆屽姵鍔ㄥ悎鍚屻�嶅彲杞锛堝姵鍔″悎鍚屼笉鍙級锛岀姸鎬� 璇曠敤 -> 鍦ㄨ亴锛岃褰曡浆姝f棩鏈�
+     *
+     * @param id 鍛樺伐ID
+     */
+    void regularizeEmployee(Long id);
+
+    /**
+     * 鑾峰緱寰呰浆姝f彁閱掑垪琛細璇曠敤涓�佷笖褰撳墠涓哄姵鍔ㄥ悎鍚屻�佽瘯鐢ㄦ湡鍦� days 澶╁唴鍒版湡鐨勫憳宸�
+     *
+     * @param days 鎻愬墠澶╂暟
+     * @return 鍛樺伐鍒楄〃
+     */
+    List<HrmEmployeeDO> getRegularizeReminderList(Integer days);
+
 }

--
Gitblit v1.9.3