相关方入职离职

dev_xiangguanfang
zhaokai 2025-12-25 11:01:56 +08:00
parent faed5624b1
commit ca1edfbb1e
6 changed files with 39 additions and 21 deletions

View File

@ -225,8 +225,8 @@ public class UserAddExe {
userCorpGateway.add(userCorpE); userCorpGateway.add(userCorpE);
} }
}else{ }else{
if(userDO.getCorpinfoId() != null && userDO.getCorpinfoId().equals(cmd.getCorpinfoId())){ if(userDO.getCorpinfoId() != null ){
throw new BizException("用户在当前企业已入职,无法入职"); throw new BizException("固定用户在当前企业已入职,无法入职");
} }

View File

@ -1,6 +1,8 @@
package com.zcloud.basic.info.command; package com.zcloud.basic.info.command;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.exception.BizException; import com.alibaba.cola.exception.BizException;
import com.jjb.saas.system.client.user.facade.UserFacade; import com.jjb.saas.system.client.user.facade.UserFacade;
import com.zcloud.basic.info.constant.RedisConstant; import com.zcloud.basic.info.constant.RedisConstant;
@ -17,6 +19,7 @@ import com.zcloud.basic.info.persistence.repository.UserRepository;
import com.zcloud.gbscommon.utils.Const; import com.zcloud.gbscommon.utils.Const;
import com.zcloud.gbscommon.utils.ZcloudRedisUtil; import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboReference;
import org.junit.platform.commons.function.Try; import org.junit.platform.commons.function.Try;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -33,6 +36,7 @@ import java.util.List;
*/ */
@Component @Component
@AllArgsConstructor @AllArgsConstructor
@Slf4j
public class UserRemoveExe { public class UserRemoveExe {
private final UserGateway userGateway; private final UserGateway userGateway;
private final UserRepository userRepository; private final UserRepository userRepository;
@ -51,7 +55,6 @@ public class UserRemoveExe {
e.printStackTrace(); e.printStackTrace();
throw new BizException("删除失败"); throw new BizException("删除失败");
} }
// zcloudRedisUtil.del(Const.REDIS_USER_PREFIX+id);
return true; return true;
} }
@ -80,17 +83,15 @@ public class UserRemoveExe {
} }
// 删除底座用户信息
userFacade.delete(cmd.getId());
// 删除用户表 // 删除用户表
Long userId = cmd.getId(); Long userId = cmd.getId();
userGateway.deletedUserById(userId); userGateway.deletedUserById(userId);
// 删除user_corp表 // 删除user_corp表
userCorpRepository.removeByUserId(userId); userCorpRepository.removeByUserId(userId);
log.info("删除底座用户信息,userId:{}",userId);
Response delete = userFacade.delete(cmd.getId());
log.info("删除底座用户信息,userId:{},返回结果:{}",userId, JSONUtil.toJsonStr( delete));
} catch (Exception e){ } catch (Exception e){
e.printStackTrace(); e.printStackTrace();

View File

@ -9,6 +9,7 @@ import com.alibaba.cola.exception.BizException;
import com.jjb.saas.framework.auth.utils.AuthContext; import com.jjb.saas.framework.auth.utils.AuthContext;
import com.jjb.saas.system.client.user.facade.UserFacade; import com.jjb.saas.system.client.user.facade.UserFacade;
import com.jjb.saas.system.client.user.request.RoleDeptAddCmd; import com.jjb.saas.system.client.user.request.RoleDeptAddCmd;
import com.jjb.saas.system.client.user.request.UserUpdateQuitCmd;
import com.jjb.saas.system.enums.user.UserAuditStatusEnum; import com.jjb.saas.system.enums.user.UserAuditStatusEnum;
import com.zcloud.basic.info.constant.RedisConstant; import com.zcloud.basic.info.constant.RedisConstant;
import com.zcloud.basic.info.command.convertor.UserJobHandoverCoConvertor; import com.zcloud.basic.info.command.convertor.UserJobHandoverCoConvertor;
@ -235,15 +236,20 @@ public class UserUpdateExe {
UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
userChangeRecordE.executeResignation(userE, UserEmploymentFlagEnum.RESIGNATION.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode(), employmentFlagBefore); userChangeRecordE.executeResignation(userE, UserEmploymentFlagEnum.RESIGNATION.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode(), employmentFlagBefore);
userChangeRecordGateway.add(userChangeRecordE); userChangeRecordGateway.add(userChangeRecordE);
//TODO 处理未完成工作 // 处理未完成工作
List<UserJobHandoverDO> allJob = getUserJob(userDO.getId(), corpinfoId, userChangeRecordE.getUserChangeRecordId()); List<UserJobHandoverDO> allJob = getUserJob(userDO.getId(), corpinfoId, userChangeRecordE.getUserChangeRecordId());
if (CollUtil.isNotEmpty(allJob)) { if (CollUtil.isNotEmpty(allJob)) {
userJobHandoverRepository.saveBatch(allJob); userJobHandoverRepository.saveBatch(allJob);
// //TODO 离职发送,循环调用,失败的话,返回失败, // // 离职发送,循环调用,失败的话,返回失败,
ResignatioChangeJob(allJob); ResignatioChangeJob(allJob);
} }
//TODO gbs 处理离职 // gbs 处理离职
UserUpdateQuitCmd quitCmd = new UserUpdateQuitCmd();
quitCmd.setId(userDO.getId());
log.info("GBS离职处理开始,用户id:{},企业id:{}", userDO.getId(), corpinfoId);
Response quit = userFacade.quit(quitCmd);
log.info("GBS离职处理结束,用户id:{},结果:{}", userDO.getId(), JSONUtil.toJsonStr(quit));
} }
@ -300,16 +306,17 @@ public class UserUpdateExe {
UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.RESIGNATION.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode()); userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.RESIGNATION.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode());
userChangeRecordGateway.add(userChangeRecordE); userChangeRecordGateway.add(userChangeRecordE);
////TODO 通知GBS用户绑定租户
// TODO 人员离职,相关工作处理,有一个失败则,审批失败
//处理未完成的工作 //处理未完成的工作
//获取未完成工作
List<UserJobHandoverDO> allJob = userJobHandoverRepository.getListByChangerRecordId(userChangeRecordE.getUserChangeRecordId()); List<UserJobHandoverDO> allJob = userJobHandoverRepository.getListByChangerRecordId(userChangeRecordE.getUserChangeRecordId());
if (CollUtil.isNotEmpty(allJob)) { if (CollUtil.isNotEmpty(allJob)) {
ResignatioChangeJob(allJob); ResignatioChangeJob(allJob);
} }
log.info("GBS离职处理开始,用户id:{}", userDO.getId());
UserUpdateQuitCmd quitCmd = new UserUpdateQuitCmd();
quitCmd.setId(userDO.getId());
Response quit = userFacade.quit(quitCmd);
log.info("GBS离职处理结束,用户id:{},结果:{}", userDO.getId(), JSONUtil.toJsonStr(quit));
} else { } else {
//驳回 //驳回
UserCorpRecordDO userCorpRecordDO = userCorpRecordRepository.getInfoByUserStatus(userDO.getId(), corpinfoId, UserChangeRecordStatusEnum.PENDING.getCode()); UserCorpRecordDO userCorpRecordDO = userCorpRecordRepository.getInfoByUserStatus(userDO.getId(), corpinfoId, UserChangeRecordStatusEnum.PENDING.getCode());
@ -325,6 +332,8 @@ public class UserUpdateExe {
UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.ON.getCode(), UserChangeRecordStatusEnum.REJECTED.getCode()); userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.ON.getCode(), UserChangeRecordStatusEnum.REJECTED.getCode());
userChangeRecordGateway.add(userChangeRecordE); userChangeRecordGateway.add(userChangeRecordE);
//将未完成的工作删除
userJobHandoverRepository.deleteUserJob(userDO.getId(), corpinfoId);
} }
} }
@ -367,7 +376,6 @@ public class UserUpdateExe {
com.jjb.saas.system.client.user.request.UserAddCmd userAddCmd = new com.jjb.saas.system.client.user.request.UserAddCmd(); com.jjb.saas.system.client.user.request.UserAddCmd userAddCmd = new com.jjb.saas.system.client.user.request.UserAddCmd();
userAddCmd.setAccount(userDO.getPhone()); userAddCmd.setAccount(userDO.getPhone());
// userAddCmd.setMobile(userDO.getPhone());
userAddCmd.setName(userDO.getPhone()); userAddCmd.setName(userDO.getPhone());
RoleDeptAddCmd roleDeptAddCmd = new RoleDeptAddCmd(); RoleDeptAddCmd roleDeptAddCmd = new RoleDeptAddCmd();
Long roleId = userRepository.getDefaultRoleId(); Long roleId = userRepository.getDefaultRoleId();
@ -376,12 +384,12 @@ public class UserUpdateExe {
List<RoleDeptAddCmd> roleDeptAddCmdList = Collections.singletonList(roleDeptAddCmd); List<RoleDeptAddCmd> roleDeptAddCmdList = Collections.singletonList(roleDeptAddCmd);
userAddCmd.setRoleDepts(roleDeptAddCmdList); userAddCmd.setRoleDepts(roleDeptAddCmdList);
// userAddCmd.setTenantId(userDO.getCorpinfoId()); // userAddCmd.setTenantId(userDO.getCorpinfoId());
userAddCmd.setPassword(userDO.getPassword());
log.info("GBS入职处理开始,用户id:{}", userDO.getId());
SingleResponse<Long> gbsResult = userFacade.add(userAddCmd); SingleResponse<Long> gbsResult = userFacade.add(userAddCmd);
log.info("GBS入职处理结束,用户id:{},结果:{}", userDO.getId(), JSONUtil.toJsonStr(gbsResult));
userDO.setId(gbsResult.getData()); userDO.setId(gbsResult.getData());
//TODO 通知GBS用户绑定租户底座尚不支持用户绑定多个租户
} else { } else {
//驳回 //驳回
//驳回 //驳回
@ -472,7 +480,7 @@ public class UserUpdateExe {
}); });
} }
//风险辨识检查 //风险辨识检查
ListManagerQry listManagerQry = new ListManagerQry(); /* ListManagerQry listManagerQry = new ListManagerQry();
listManagerQry.setUserId(userId); listManagerQry.setUserId(userId);
listManagerQry.setCorpinfoId(corpinfoId); listManagerQry.setCorpinfoId(corpinfoId);
List<ListManagerListByUserCO> riskManagerCOList = null; List<ListManagerListByUserCO> riskManagerCOList = null;
@ -497,7 +505,7 @@ public class UserUpdateExe {
userJobHandoverDO.setCorpinfoId(corpinfoId); userJobHandoverDO.setCorpinfoId(corpinfoId);
allJob.add(userJobHandoverDO); allJob.add(userJobHandoverDO);
}); });
} }*/
return allJob; return allJob;
} }

View File

@ -27,5 +27,7 @@ public interface UserJobHandoverRepository extends BaseRepository<UserJobHandove
void processUserJobHandover(String userChangeRecordId); void processUserJobHandover(String userChangeRecordId);
List<UserJobHandoverDO> getListByUserId(Long userId, Long corpinfoId); List<UserJobHandoverDO> getListByUserId(Long userId, Long corpinfoId);
void deleteUserJob(Long id, Long corpinfoId);
} }

View File

@ -90,5 +90,11 @@ public class UserJobHandoverRepositoryImpl extends BaseRepositoryImpl<UserJobHan
List<UserJobHandoverDO> result = userJobHandoverMapper.selectList(queryWrapper); List<UserJobHandoverDO> result = userJobHandoverMapper.selectList(queryWrapper);
return result; return result;
} }
@Override
public void deleteUserJob(Long id, Long corpinfoId) {
//根据用户id和企业id删除数据
userJobHandoverMapper.delete(new QueryWrapper<UserJobHandoverDO>().eq("user_id", id).eq("corpinfo_id", corpinfoId).eq("delete_enum", "FALSE"));
}
} }

View File

@ -173,6 +173,7 @@
ELSE p.post_name ELSE p.post_name
END AS post_name, END AS post_name,
u.id, u.id,
u.password,
u.user_id, u.user_id,
u.username, u.username,
u.name, u.name,