|
@ -11,6 +11,8 @@ import com.qs.serve.common.model.enums.HttpCode; |
|
|
import com.qs.serve.common.util.*; |
|
|
import com.qs.serve.common.util.*; |
|
|
import com.qs.serve.modules.bms.entity.BmsRegionUser; |
|
|
import com.qs.serve.modules.bms.entity.BmsRegionUser; |
|
|
import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; |
|
|
import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; |
|
|
|
|
|
import com.qs.serve.modules.bms.service.impl.BmsSupplierApplicationService; |
|
|
|
|
|
import com.qs.serve.modules.his.service.HisUserSupplierService; |
|
|
import com.qs.serve.modules.sys.entity.*; |
|
|
import com.qs.serve.modules.sys.entity.*; |
|
|
import com.qs.serve.modules.sys.entity.bo.SysUserLeaveBo; |
|
|
import com.qs.serve.modules.sys.entity.bo.SysUserLeaveBo; |
|
|
import com.qs.serve.modules.sys.entity.dto.SysUpdateSeeYonPassword; |
|
|
import com.qs.serve.modules.sys.entity.dto.SysUpdateSeeYonPassword; |
|
@ -41,15 +43,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl |
|
|
private final SysPostUserService sysPostUserService; |
|
|
private final SysPostUserService sysPostUserService; |
|
|
private final SysUserRoleService sysUserRoleService; |
|
|
private final SysUserRoleService sysUserRoleService; |
|
|
private final SysUserLeaveService sysUserLeaveService; |
|
|
private final SysUserLeaveService sysUserLeaveService; |
|
|
private final SysRoleMenuMapper sysRoleMenuMapper; |
|
|
|
|
|
private final SysPermitService sysPermitService; |
|
|
private final SysPermitService sysPermitService; |
|
|
private final SysRoleService sysRoleService; |
|
|
private final SysRoleService sysRoleService; |
|
|
private final SysDeptMapper sysDeptMapper; |
|
|
private final SysDeptMapper sysDeptMapper; |
|
|
private final SysMenuMapper sysMenuMapper; |
|
|
private final SysMenuMapper sysMenuMapper; |
|
|
private final SysPostMapper postMapper; |
|
|
private final SysPostMapper postMapper; |
|
|
private final SysPostUserMapper postUserMapper; |
|
|
|
|
|
private final BmsSupplierMapper supplierMapper; |
|
|
private final BmsSupplierMapper supplierMapper; |
|
|
private SeeYonProperties seeYonProperties; |
|
|
private final BmsSupplierApplicationService supplierApplicationService; |
|
|
|
|
|
private final SeeYonProperties seeYonProperties; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void updateSeeYonPassword(String syUserId, String password) { |
|
|
public void updateSeeYonPassword(String syUserId, String password) { |
|
@ -272,17 +273,68 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void leaveNow(String userId) { |
|
|
public void leaveNow(List<String> userIds,Boolean updateLeaveStatus) { |
|
|
SysUser user = new SysUser(); |
|
|
if(userIds==null||userIds.size()<1){ |
|
|
user.setId(userId); |
|
|
return; |
|
|
user.setServingState(0); |
|
|
} |
|
|
user.setLoginEnable(0); |
|
|
//人员业务继承-start
|
|
|
user.setServingLeaveDate(LocalDate.now()); |
|
|
LambdaQueryWrapper<SysUserLeave> lqw = new LambdaQueryWrapper<>(); |
|
|
this.updateById(user); |
|
|
lqw.in(SysUserLeave::getUserId,userIds); |
|
|
supplierMapper.updateBmsSuppliersOtherUserNullById(Arrays.asList(userId)); |
|
|
lqw.eq(SysUserLeave::getLeaveStatus,0); |
|
|
supplierMapper.updateBmsSuppliersUserNullById(Arrays.asList(userId)); |
|
|
List<SysUserLeave> sysUserLeaves = sysUserLeaveService.list(lqw); |
|
|
|
|
|
|
|
|
|
|
|
for (String userId : userIds) { |
|
|
|
|
|
SysUser leaveUser = super.baseMapper.selectById(userId); |
|
|
|
|
|
boolean match = false; |
|
|
|
|
|
for (SysUserLeave userLeave : sysUserLeaves) { |
|
|
|
|
|
if(userId.equals(userLeave.getUserId())){ |
|
|
|
|
|
match = true; |
|
|
|
|
|
//客户交接人
|
|
|
|
|
|
String cusUserId = userLeave.getCusUserId(); |
|
|
|
|
|
if(StringUtils.hasText(cusUserId)){ |
|
|
|
|
|
SysUser cusUser = super.baseMapper.selectById(userId); |
|
|
|
|
|
supplierApplicationService.removeUserOfSupplierList(leaveUser,cusUser); |
|
|
|
|
|
} |
|
|
|
|
|
//角色交接人
|
|
|
|
|
|
String roleUserId = userLeave.getRoleUserId(); |
|
|
|
|
|
//工作交接人
|
|
|
|
|
|
String flowUserId = userLeave.getFlowUserId(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
//不匹配也要移除客户权限和角色
|
|
|
|
|
|
if(!match){ |
|
|
|
|
|
supplierApplicationService.removeUserOfSupplierList(leaveUser,null); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//更新离职记录标为完成
|
|
|
|
|
|
if(updateLeaveStatus&&sysUserLeaves.size()>0){ |
|
|
|
|
|
for (SysUserLeave userLeaf : sysUserLeaves) { |
|
|
|
|
|
userLeaf.setLeaveStatus(1); |
|
|
|
|
|
} |
|
|
|
|
|
sysUserLeaveService.updateBatchById(sysUserLeaves); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//离职人员信息更新
|
|
|
|
|
|
LambdaQueryWrapper<SysUser> updLqw = new LambdaQueryWrapper<>(); |
|
|
|
|
|
updLqw.in(SysUser::getId,userIds); |
|
|
|
|
|
SysUser sysUser = new SysUser(); |
|
|
|
|
|
sysUser.setServingState(0); |
|
|
|
|
|
sysUser.setLoginEnable(0); |
|
|
|
|
|
sysUser.setServingLeaveDate(LocalDate.now()); |
|
|
|
|
|
super.update(sysUser,updLqw); |
|
|
|
|
|
HisUserSupplierService hisUserSupplierService = SpringUtils.getBean(HisUserSupplierService.class); |
|
|
|
|
|
hisUserSupplierService.cleanTable(); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void cancelLeave(String userId) { |
|
|
public void cancelLeave(String userId) { |
|
|
SysUser sysUser = this.getById(userId); |
|
|
SysUser sysUser = this.getById(userId); |
|
|