diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttChangeDao.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttChangeDao.java
index 63f393a..2cbc80a 100644
--- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttChangeDao.java
+++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttChangeDao.java
@@ -2,6 +2,7 @@ package com.bonus.system.att.dao;
import com.bonus.system.api.domain.MapVo;
import com.bonus.system.att.entity.*;
+import com.bonus.system.basic.domain.SysOrg;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -74,4 +75,17 @@ public interface AttChangeDao {
* @param bean
*/
void addAtt(AttChangeBean bean);
+
+ /**
+ * 获取组织信息
+ * @param bean
+ * @return
+ */
+ SysOrg findOrgByOrgId(AttChangeBean bean);
+
+ /**
+ * 修改组织信息
+ * @param bean
+ */
+ void updateOrgIdByUserId(AttChangeBean bean);
}
diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttChangeServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttChangeServiceImpl.java
index 58ee20f..3c26947 100644
--- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttChangeServiceImpl.java
+++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttChangeServiceImpl.java
@@ -16,6 +16,7 @@ import com.bonus.system.att.tasks.NewAttTask;
import com.bonus.system.att.utils.RoleUtil;
import com.bonus.system.att.utils.WorkdayCalculator;
import com.bonus.system.basic.domain.SysNotice;
+import com.bonus.system.basic.domain.SysOrg;
import com.bonus.system.basic.service.SysNoticeService;
import com.bonus.system.file.service.FileUploadService;
import lombok.extern.log4j.Log4j2;
@@ -81,6 +82,10 @@ public class AttChangeServiceImpl implements AttChangeService {
if(i>0){
//修改部门信息
int l = attChangeDao.updateUser(bean);
+ //处理人员组织变更,休假/外出/等审批组织
+ SysOrg orgBean = attChangeDao.findOrgByOrgId(bean);
+ bean.setAfterOrgName(orgBean.getOrgName());
+ attChangeDao.updateOrgIdByUserId(bean);
//先去判断是否有该人员信息
AttChangeBean o = attChangeDao.getAttPerson(bean);
if(o!=null && o.getId()>0){
diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/dao/SysUserMapper.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/dao/SysUserMapper.java
index 051ee3a..5a4dcfe 100644
--- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/dao/SysUserMapper.java
+++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/dao/SysUserMapper.java
@@ -258,4 +258,10 @@ public interface SysUserMapper
* @date 2025/2/18 10:31
*/
void delAttGroupPersonRelation(Long userId);
+
+ /**
+ * 删除人员数据后,同步删除组织变更数据
+ * @param userId
+ */
+ void delChange(Long userId);
}
diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/service/impl/SysUserServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/service/impl/SysUserServiceImpl.java
index 0bdb925..14fb0dd 100644
--- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/service/impl/SysUserServiceImpl.java
+++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/service/impl/SysUserServiceImpl.java
@@ -272,6 +272,8 @@ public class SysUserServiceImpl implements SysUserService
subOrgServiceImpl.syncDelUser(userId);
// 删除考勤组数据
userMapper.delAttGroupPersonRelation(userId);
+ // 删除变更记录
+ userMapper.delChange(userId);
return userMapper.deleteUserById(userId);
} catch (Exception e) {
log.error(e.toString(),e);
diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttChangeMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttChangeMapper.xml
index 553a362..368dbaa 100644
--- a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttChangeMapper.xml
+++ b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttChangeMapper.xml
@@ -9,81 +9,104 @@
- INSERT INTO `att_change`(`user_id`, `old_att_id`, `after_att_id`, `old_org_id`, `after_org_id`, `create_user_id`)
+ INSERT INTO `att_change`(`user_id`, `old_att_id`, `after_att_id`, `old_org_id`, `after_org_id`,
+ `create_user_id`)
VALUES (#{userId}, #{oldAttId}, #{afterAttId}, #{oldOrgId}, #{afterOrgId}, #{createUserId})
UPDATE sys_user_org
SET `org_id` = #{afterOrgId}
- WHERE `user_id` = #{userId} and `is_active` = '1'
+ WHERE `user_id` = #{userId}
+ and `is_active` = '1'
- UPDATE `att_group_person_relation` SET `group_id` = #{afterAttId} WHERE `user_id` = #{userId} and `is_active` = '1'
+ UPDATE `att_group_person_relation`
+ SET `group_id` = #{afterAttId}
+ WHERE `user_id` = #{userId}
+ and `is_active` = '1'
+
+
+
+ UPDATE leave_apply
+ SET org_id = #{afterOrgId},
+ org_name = #{afterOrgName}
+ WHERE user_id = #{userId}
+
+
\ No newline at end of file
diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/basic/SysUserMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/basic/SysUserMapper.xml
index c2a7ff2..1c860b7 100644
--- a/bonus-modules/bonus-system/src/main/resources/mapper/basic/SysUserMapper.xml
+++ b/bonus-modules/bonus-system/src/main/resources/mapper/basic/SysUserMapper.xml
@@ -62,6 +62,11 @@
SET is_active = '0'
WHERE user_id = #{userId}
+
+ UPDATE att_change
+ SET is_active = '0'
+ WHERE user_id = #{userId}
+
update sys_user
set is_active = 0