chore(build): 人资对接调整,未测试

dev_human_push_v1
zhaokai 2026-07-13 10:43:15 +08:00
parent 4e66d236d9
commit c631087511
1 changed files with 35 additions and 53 deletions

View File

@ -193,19 +193,12 @@ public class HumanUserUpdateExe {
* @return GBS id id
*/
private Long executeChangeCorp(UserDO oldUserDO, UserUpdateCmd userUpdateCmd) {
if (UserEmploymentFlagEnum.RESIGNATION.getCode().equals(oldUserDO.getEmploymentFlag())) {
return addHumanUser(userUpdateCmd);
}
UserE oldUserE = buildUserE(oldUserDO);
oldUserE.setEmploymentFlag(UserEmploymentFlagEnum.INFO_CHANGE.getCode());
oldUserE.setRzFlag(CommonFlagEnum.YES.getCode());
markCurrentCorpRecordPending(oldUserDO);
UserChangeRecordE userChangeRecordE = createCrossCorpChangeRecord(oldUserDO, userUpdateCmd);
userChangeRecordGateway.add(userChangeRecordE);
log.info("开始汇总跨企业变更待交接任务用户id:{}, 原企业id:{}, 新企业id:{}, 变更记录:{}",
log.info("开始汇总跨企业变更待交接任务用户id:{}, 原企业id:{}, 目标企业id:{}, 变更记录id:{}",
oldUserDO.getId(), oldUserDO.getCorpinfoId(), userUpdateCmd.getCorpinfoId(), userChangeRecordE.getUserChangeRecordId());
List<UserJobHandoverDO> allJob = getUserJob(
oldUserDO.getId(),
@ -213,24 +206,14 @@ public class HumanUserUpdateExe {
oldUserDO.getCorpinfoId(),
userChangeRecordE.getUserChangeRecordId());
if (CollUtil.isNotEmpty(allJob)) {
log.info("用户{}跨企业调整存在{}条待交接任务,先挂起交接,待交接完成后再进入新企业",
log.info("用户{}跨企业变更存在{}条待交接任务,已保存交接数据,等待人工审批后继续处理",
oldUserDO.getId(), allJob.size());
userJobHandoverRepository.saveBatch(allJob);
userGateway.update(oldUserE);
return oldUserDO.getId();
}
log.info("用户{}跨企业调整不存在待交接任务,直接完成原企业离职并在新企业入职", oldUserDO.getId());
// oldUserE.setEmploymentFlag(UserEmploymentFlagEnum.RESIGNATION.getCode());
// userGateway.update(oldUserE);
userRepository.updateEmploymentFlagAndDeleteEnum(
oldUserE.getId(),
UserEmploymentFlagEnum.RESIGNATION.getCode(),
"TRUE");
completeResignation(oldUserDO, userChangeRecordE);
return createEntryUserByChangeRecord(oldUserDO, userChangeRecordE, userUpdateCmd.getRoleId());
log.info("用户{}跨企业变更已记录待审批变更单,本次不自动执行离职和入职", oldUserDO.getId());
return oldUserDO.getId();
}
/**
*
* after
@ -239,21 +222,19 @@ public class HumanUserUpdateExe {
* @param userUpdateCmd
*/
private void executeInsideCorpUpdate(UserDO oldUserDO, UserUpdateCmd userUpdateCmd) {
// userUpdateCmd.setEmploymentFlag(oldUserDO.getEmploymentFlag());
UserUpdateCmd userUpdateCmdNew = new UserUpdateCmd();
BeanUtils.copyProperties(oldUserDO, userUpdateCmdNew);
userUpdateCmdNew.setRzFlag(CommonFlagEnum.YES.getCode());
userUpdateExe.execute(userUpdateCmdNew);
updateRzFlagOnly(oldUserDO, userUpdateCmd);
UserDO newUserDO = userRepository.getInfoById(oldUserDO.getId());
if (newUserDO == null) {
throw new BizException("用户修改完成后未查询到最新数据");
}
UserE oldUserE = buildUserE(oldUserDO);
UserE newUserE = buildUserE(userUpdateCmd, oldUserDO.getId());
String corpinfoName = resolveChangedCorpinfoName(userUpdateCmd, oldUserDO);
String departmentName = resolveChangedDepartmentName(userUpdateCmd, oldUserDO);
createOrUpdateCurrentCorpRecord(buildUserE(newUserDO), resolveCorpinfoName(newUserDO), resolveDepartmentName(newUserDO));
createUpdateChangeRecord(oldUserDO, newUserDO);
UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
userChangeRecordE.initUserUpdate(newUserE, oldUserE, corpinfoName, departmentName,
UserChangeRecordStatusEnum.PENDING.getCode());
userChangeRecordGateway.add(userChangeRecordE);
log.info("用户{}企业内资料调整已记录待审批变更单本次仅同步rz_flag", oldUserDO.getId());
}
/**
*
*
@ -264,12 +245,6 @@ public class HumanUserUpdateExe {
* @return true false
*/
private boolean executeHumanResignation(UserDO oldUserDO) {
UserE oldUserE = buildUserE(oldUserDO);
oldUserE.setEmploymentFlag(UserEmploymentFlagEnum.INFO_CHANGE.getCode());
oldUserE.setRzFlag(CommonFlagEnum.YES.getCode());
markCurrentCorpRecordPending(oldUserDO);
UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
userChangeRecordE.executeResignation(buildUserE(oldUserDO),
UserEmploymentFlagEnum.RESIGNATION.getCode(),
@ -277,28 +252,34 @@ public class HumanUserUpdateExe {
oldUserDO.getEmploymentFlag());
userChangeRecordGateway.add(userChangeRecordE);
log.info("开始汇总用户离职前待交接任务用户id:{}, 部门id:{}, 企业id:{}, 变更记录:{}",
log.info("开始汇总用户离职前待交接任务用户id:{}, 部门id:{}, 企业id:{}, 变更记录id:{}",
oldUserDO.getId(), oldUserDO.getDepartmentId(), oldUserDO.getCorpinfoId(), userChangeRecordE.getUserChangeRecordId());
List<UserJobHandoverDO> allJob = getUserJob(oldUserDO.getId(), oldUserDO.getDepartmentId(), oldUserDO.getCorpinfoId(), userChangeRecordE.getUserChangeRecordId());
if (CollUtil.isNotEmpty(allJob)) {
log.info("用户{}存在{}条待交接任务,保存工作交接记录并将用户状态更新为信息变更中",
log.info("用户{}存在{}条待交接任务,已保存交接数据,等待人工审批后继续处理",
oldUserDO.getId(), allJob.size());
userJobHandoverRepository.saveBatch(allJob);
userGateway.update(oldUserE);
return false;
}
log.info("用户{}不存在待交接任务,直接完成离职处理", oldUserDO.getId());
// oldUserE.setEmploymentFlag(UserEmploymentFlagEnum.RESIGNATION.getCode());
// userGateway.update(oldUserE);
userRepository.updateEmploymentFlagAndDeleteEnum(
oldUserE.getId(),
UserEmploymentFlagEnum.RESIGNATION.getCode(),
"TRUE");
completeResignation(oldUserDO, userChangeRecordE);
return true;
log.info("用户{}离职变更已记录待审批变更单,本次不自动执行离职", oldUserDO.getId());
return false;
}
/**
*
*
* @param oldUserDO
* @param userUpdateCmd
*/
private void updateRzFlagOnly(UserDO oldUserDO, UserUpdateCmd userUpdateCmd) {
if (userUpdateCmd.getRzFlag() == null || Objects.equals(userUpdateCmd.getRzFlag(), oldUserDO.getRzFlag())) {
return;
}
UserE userE = new UserE();
userE.setId(oldUserDO.getId());
userE.setRzFlag(userUpdateCmd.getRzFlag());
userGateway.update(userE);
log.info("用户{}仅同步rz_flag旧值:{}, 新值:{}", oldUserDO.getId(), oldUserDO.getRzFlag(), userUpdateCmd.getRzFlag());
}
/**
*
*
@ -1278,3 +1259,4 @@ public class HumanUserUpdateExe {
return userJobHandoverDO;
}
}