Browse Source

人员离职角色交接

v1.0
Yen 2 years ago
parent
commit
bd63e81181
  1. 2
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierApplicationService.java
  2. 2
      src/main/java/com/qs/serve/modules/sys/service/SysUserRoleService.java
  3. 16
      src/main/java/com/qs/serve/modules/sys/service/impl/SysUserRoleServiceImpl.java
  4. 4
      src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java

2
src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierApplicationService.java

@ -83,6 +83,7 @@ public class BmsSupplierApplicationService {
}
//其它负责人
List<String> otherUserIdList = new ArrayList<>();
if(supplier.getOtherUserIds()!=null){
for (String otherUserId : supplier.getOtherUserIds()) {
if(otherUserId.equals(leaveUserId)){
if(enterUserId==null){
@ -94,6 +95,7 @@ public class BmsSupplierApplicationService {
}
otherUserIdList.add(otherUserId);
}
}
if(otherUserIdList.size()>0){
String userIds = otherUserIdList.stream().distinct().collect(Collectors.joining(","));
supplier.setOtherUserIdsString(userIds);

2
src/main/java/com/qs/serve/modules/sys/service/SysUserRoleService.java

@ -24,5 +24,7 @@ public interface SysUserRoleService extends IService<SysUserRole> {
boolean remove(String roleId,List<String> userIds);
boolean replaceAndRemove(String leafUserId,String enterUserId);
}

16
src/main/java/com/qs/serve/modules/sys/service/impl/SysUserRoleServiceImpl.java

@ -3,6 +3,7 @@ package com.qs.serve.modules.sys.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.sys.entity.SysUserRole;
import com.qs.serve.modules.sys.mapper.SysUserRoleMapper;
import com.qs.serve.modules.sys.service.SysUserRoleService;
@ -61,5 +62,20 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
return remove(wrapper);
}
@Override
public boolean replaceAndRemove(String leafUserId, String enterUserId) {
LambdaQueryWrapper<SysUserRole> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysUserRole::getUserId,leafUserId);
if(!StringUtils.hasText(enterUserId)){
super.remove(wrapper);
}else {
List<SysUserRole> list = super.list(wrapper);
for (SysUserRole userRole : list) {
userRole.setUserId(enterUserId);
}
super.updateBatchById(list);
}
return true;
}
}

4
src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java

@ -45,6 +45,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
private final SysUserLeaveService sysUserLeaveService;
private final SysPermitService sysPermitService;
private final SysRoleService sysRoleService;
private final SysUserRoleService userRoleService;
private final SysDeptMapper sysDeptMapper;
private final SysMenuMapper sysMenuMapper;
private final SysPostMapper postMapper;
@ -273,6 +274,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
@Override
@Transactional(rollbackFor = Exception.class)
public void leaveNow(List<String> userIds,Boolean updateLeaveStatus) {
if(userIds==null||userIds.size()<1){
return;
@ -297,8 +299,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
//角色交接人
String roleUserId = userLeave.getRoleUserId();
userRoleService.replaceAndRemove(userId,roleUserId);
//工作交接人
String flowUserId = userLeave.getFlowUserId();
}
}
//不匹配也要移除客户权限和角色

Loading…
Cancel
Save