相关方入职离职

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);
}
}else{
if(userDO.getCorpinfoId() != null && userDO.getCorpinfoId().equals(cmd.getCorpinfoId())){
throw new BizException("用户在当前企业已入职,无法入职");
if(userDO.getCorpinfoId() != null ){
throw new BizException("固定用户在当前企业已入职,无法入职");
}

View File

@ -1,6 +1,8 @@
package com.zcloud.basic.info.command;
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.jjb.saas.system.client.user.facade.UserFacade;
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.ZcloudRedisUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.junit.platform.commons.function.Try;
import org.springframework.beans.factory.annotation.Autowired;
@ -33,6 +36,7 @@ import java.util.List;
*/
@Component
@AllArgsConstructor
@Slf4j
public class UserRemoveExe {
private final UserGateway userGateway;
private final UserRepository userRepository;
@ -51,7 +55,6 @@ public class UserRemoveExe {
e.printStackTrace();
throw new BizException("删除失败");
}
// zcloudRedisUtil.del(Const.REDIS_USER_PREFIX+id);
return true;
}
@ -80,17 +83,15 @@ public class UserRemoveExe {
}
// 删除底座用户信息
userFacade.delete(cmd.getId());
// 删除用户表
Long userId = cmd.getId();
userGateway.deletedUserById(userId);
// 删除user_corp表
userCorpRepository.removeByUserId(userId);
log.info("删除底座用户信息,userId:{}",userId);
Response delete = userFacade.delete(cmd.getId());
log.info("删除底座用户信息,userId:{},返回结果:{}",userId, JSONUtil.toJsonStr( delete));
} catch (Exception e){
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.system.client.user.facade.UserFacade;
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.zcloud.basic.info.constant.RedisConstant;
import com.zcloud.basic.info.command.convertor.UserJobHandoverCoConvertor;
@ -235,15 +236,20 @@ public class UserUpdateExe {
UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
userChangeRecordE.executeResignation(userE, UserEmploymentFlagEnum.RESIGNATION.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode(), employmentFlagBefore);
userChangeRecordGateway.add(userChangeRecordE);
//TODO 处理未完成工作
// 处理未完成工作
List<UserJobHandoverDO> allJob = getUserJob(userDO.getId(), corpinfoId, userChangeRecordE.getUserChangeRecordId());
if (CollUtil.isNotEmpty(allJob)) {
userJobHandoverRepository.saveBatch(allJob);
// //TODO 离职发送,循环调用,失败的话,返回失败,
// // 离职发送,循环调用,失败的话,返回失败,
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.executeReviewStatus(userEOld, UserEmploymentFlagEnum.RESIGNATION.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode());
userChangeRecordGateway.add(userChangeRecordE);
////TODO 通知GBS用户绑定租户
// TODO 人员离职,相关工作处理,有一个失败则,审批失败
//处理未完成的工作
//获取未完成工作
List<UserJobHandoverDO> allJob = userJobHandoverRepository.getListByChangerRecordId(userChangeRecordE.getUserChangeRecordId());
if (CollUtil.isNotEmpty(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 {
//驳回
UserCorpRecordDO userCorpRecordDO = userCorpRecordRepository.getInfoByUserStatus(userDO.getId(), corpinfoId, UserChangeRecordStatusEnum.PENDING.getCode());
@ -325,6 +332,8 @@ public class UserUpdateExe {
UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.ON.getCode(), UserChangeRecordStatusEnum.REJECTED.getCode());
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();
userAddCmd.setAccount(userDO.getPhone());
// userAddCmd.setMobile(userDO.getPhone());
userAddCmd.setName(userDO.getPhone());
RoleDeptAddCmd roleDeptAddCmd = new RoleDeptAddCmd();
Long roleId = userRepository.getDefaultRoleId();
@ -376,12 +384,12 @@ public class UserUpdateExe {
List<RoleDeptAddCmd> roleDeptAddCmdList = Collections.singletonList(roleDeptAddCmd);
userAddCmd.setRoleDepts(roleDeptAddCmdList);
// userAddCmd.setTenantId(userDO.getCorpinfoId());
userAddCmd.setPassword(userDO.getPassword());
log.info("GBS入职处理开始,用户id:{}", userDO.getId());
SingleResponse<Long> gbsResult = userFacade.add(userAddCmd);
log.info("GBS入职处理结束,用户id:{},结果:{}", userDO.getId(), JSONUtil.toJsonStr(gbsResult));
userDO.setId(gbsResult.getData());
//TODO 通知GBS用户绑定租户底座尚不支持用户绑定多个租户
} else {
//驳回
//驳回
@ -472,7 +480,7 @@ public class UserUpdateExe {
});
}
//风险辨识检查
ListManagerQry listManagerQry = new ListManagerQry();
/* ListManagerQry listManagerQry = new ListManagerQry();
listManagerQry.setUserId(userId);
listManagerQry.setCorpinfoId(corpinfoId);
List<ListManagerListByUserCO> riskManagerCOList = null;
@ -497,7 +505,7 @@ public class UserUpdateExe {
userJobHandoverDO.setCorpinfoId(corpinfoId);
allJob.add(userJobHandoverDO);
});
}
}*/
return allJob;
}

View File

@ -27,5 +27,7 @@ public interface UserJobHandoverRepository extends BaseRepository<UserJobHandove
void processUserJobHandover(String userChangeRecordId);
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);
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
END AS post_name,
u.id,
u.password,
u.user_id,
u.username,
u.name,