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