增加未完成的工作
parent
d1c1714a2d
commit
65597d3927
|
|
@ -1,6 +1,7 @@
|
|||
package com.zcloud.basic.info.command;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
|
|
@ -25,6 +26,10 @@ import com.zcloud.gbscommon.zcloudhidden.request.HiddenStatisticsListQry;
|
|||
import com.zcloud.gbscommon.zcloudhidden.request.HiddenUpdateCmd;
|
||||
import com.zcloud.gbscommon.zcloudhidden.response.HiddenListByUserCO;
|
||||
import com.zcloud.gbscommon.zcloudhidden.response.HiddenListCO;
|
||||
import com.zcloud.gbscommon.zcloudrisk.facade.ZcloudRiskFacade;
|
||||
import com.zcloud.gbscommon.zcloudrisk.request.ListManagerQry;
|
||||
import com.zcloud.gbscommon.zcloudrisk.request.ListManagerStatusUpdateCmd;
|
||||
import com.zcloud.gbscommon.zcloudrisk.response.ListManagerListByUserCO;
|
||||
import com.zcloud.gbscommon.zclouduser.facade.ZcloudUserJobFacade;
|
||||
import com.zcloud.gbscommon.zclouduser.request.ZcloudUserJobQry;
|
||||
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserJobCo;
|
||||
|
|
@ -74,8 +79,8 @@ public class UserUpdateExe {
|
|||
private ZcloudRedisUtil zcloudRedisUtil;
|
||||
@DubboReference
|
||||
private ZcloudHiddenFacade zcloudHiddenFacade;
|
||||
|
||||
|
||||
@DubboReference
|
||||
private ZcloudRiskFacade zcloudRiskFacade;
|
||||
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
|
@ -86,11 +91,11 @@ public class UserUpdateExe {
|
|||
UserDO userDO = userRepository.getInfoById(userUpdateCmd.getId());
|
||||
UserE oldUserE = new UserE();
|
||||
BeanUtils.copyProperties(userDO, oldUserE);
|
||||
// boolean transferPositionFlag = userE.verifyTransferPosition(oldUserE, userE);
|
||||
// boolean transferPositionFlag = userE.verifyTransferPosition(oldUserE, userE);
|
||||
boolean transferFlowFlag = userE.verifyTransferFlow(oldUserE, userE);
|
||||
if(transferFlowFlag){
|
||||
if (transferFlowFlag) {
|
||||
List<UserCorpRecordDO> userCorpRecordDOList = userCorpRecordRepository.getInfoListByUserId(userDO.getId());
|
||||
if(CollUtil.isNotEmpty(userCorpRecordDOList)){
|
||||
if (CollUtil.isNotEmpty(userCorpRecordDOList)) {
|
||||
throw new BizException("该用户尚有未离职企业,不能修人员流动状态");
|
||||
}
|
||||
|
||||
|
|
@ -134,15 +139,15 @@ public class UserUpdateExe {
|
|||
|
||||
UserE userE = new UserE();
|
||||
userE.checkPassword(cmd.getNewPassword(), cmd.getConfirmPassword());
|
||||
if(!"123".equals(cmd.getPhoneCode())){
|
||||
if (!"123".equals(cmd.getPhoneCode())) {
|
||||
|
||||
|
||||
// 获取redis验证码
|
||||
Object phoneCodeObj = zcloudRedisUtil.get(RedisConstant.PHONE_CODE_KEY + cmd.getPhone());
|
||||
if(phoneCodeObj == null || !phoneCodeObj.toString().equals(cmd.getPhoneCode())){
|
||||
throw new BizException("验证码已过期或错误");
|
||||
}
|
||||
zcloudRedisUtil.del(RedisConstant.PHONE_CODE_KEY + cmd.getPhone());
|
||||
// 获取redis验证码
|
||||
Object phoneCodeObj = zcloudRedisUtil.get(RedisConstant.PHONE_CODE_KEY + cmd.getPhone());
|
||||
if (phoneCodeObj == null || !phoneCodeObj.toString().equals(cmd.getPhoneCode())) {
|
||||
throw new BizException("验证码已过期或错误");
|
||||
}
|
||||
zcloudRedisUtil.del(RedisConstant.PHONE_CODE_KEY + cmd.getPhone());
|
||||
}
|
||||
BeanUtils.copyProperties(cmd, userE);
|
||||
userE.setId(userDO.getId());
|
||||
|
|
@ -231,26 +236,25 @@ public class UserUpdateExe {
|
|||
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);
|
||||
List<UserJobHandoverDO> allJob = getUserJob(userDO.getId(), corpinfoId, userChangeRecordE.getUserChangeRecordId());
|
||||
if (CollUtil.isNotEmpty(allJob)) {
|
||||
userJobHandoverRepository.saveBatch(allJob);
|
||||
// //TODO 离职发送,循环调用,失败的话,返回失败,
|
||||
ResignatioChangeJob(allJob);
|
||||
}
|
||||
ResignatioChangeJob(allJob);
|
||||
}
|
||||
|
||||
//TODO gbs 处理离职
|
||||
//TODO gbs 处理离职
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void executeReviewStatus(UserReviewStatusCmd userReviewStatusCmd) {
|
||||
//获取用户信息,并更新审核状态
|
||||
UserDO userDO = userRepository.getInfoById(userReviewStatusCmd.getUserId());
|
||||
//
|
||||
if(UserEmploymentFlagEnum.ENTRY_AUDIT.getCode().equals(userReviewStatusCmd.getEmploymentFlag())){
|
||||
if (UserEmploymentFlagEnum.ENTRY_AUDIT.getCode().equals(userReviewStatusCmd.getEmploymentFlag())) {
|
||||
//入职待审核
|
||||
ReviewEntryAudit(userDO, userReviewStatusCmd);
|
||||
}else if(UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode().equals(userReviewStatusCmd.getEmploymentFlag())){
|
||||
} else if (UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode().equals(userReviewStatusCmd.getEmploymentFlag())) {
|
||||
//就是离职待审核
|
||||
ReviewResignationAudit(userDO, userReviewStatusCmd);
|
||||
}
|
||||
|
|
@ -259,6 +263,7 @@ public class UserUpdateExe {
|
|||
|
||||
/**
|
||||
* 离职
|
||||
*
|
||||
* @param userDO
|
||||
* @param userReviewStatusCmd
|
||||
*/
|
||||
|
|
@ -293,7 +298,7 @@ public class UserUpdateExe {
|
|||
userCorpRecordGateway.add(userCorpRecordE);
|
||||
}
|
||||
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);
|
||||
////TODO 通知GBS用户绑定租户
|
||||
|
||||
|
|
@ -302,8 +307,8 @@ public class UserUpdateExe {
|
|||
//处理未完成的工作
|
||||
//获取未完成工作
|
||||
List<UserJobHandoverDO> allJob = userJobHandoverRepository.getListByChangerRecordId(userChangeRecordE.getUserChangeRecordId());
|
||||
if(CollUtil.isNotEmpty(allJob)){
|
||||
ResignatioChangeJob(allJob);
|
||||
if (CollUtil.isNotEmpty(allJob)) {
|
||||
ResignatioChangeJob(allJob);
|
||||
}
|
||||
} else {
|
||||
//驳回
|
||||
|
|
@ -318,7 +323,7 @@ public class UserUpdateExe {
|
|||
userCorpRecordGateway.add(userCorpRecordE);
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
@ -350,14 +355,14 @@ public class UserUpdateExe {
|
|||
if (userCorpRecordDO != null) {
|
||||
BeanUtils.copyProperties(userCorpRecordDO, userCorpRecordE);
|
||||
userCorpRecordE.executeEntryAudit(userCorpRecordE, userE, UserEmploymentFlagEnum.ON.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode());
|
||||
userCorpRecordE.setStartTime( LocalDateTime.now());
|
||||
userCorpRecordE.setStartTime(LocalDateTime.now());
|
||||
userCorpRecordGateway.update(userCorpRecordE);
|
||||
}
|
||||
// 增加用户变更记录 ,获取变更记录
|
||||
UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
|
||||
|
||||
userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.ON.getCode(),UserChangeRecordStatusEnum.APPROVED.getCode());
|
||||
userCorpRecordE.setStartTime( LocalDateTime.now());
|
||||
userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.ON.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode());
|
||||
userCorpRecordE.setStartTime(LocalDateTime.now());
|
||||
userChangeRecordGateway.add(userChangeRecordE);
|
||||
|
||||
com.jjb.saas.system.client.user.request.UserAddCmd userAddCmd = new com.jjb.saas.system.client.user.request.UserAddCmd();
|
||||
|
|
@ -388,7 +393,7 @@ public class UserUpdateExe {
|
|||
userCorpRecordGateway.update(userCorpRecordE);
|
||||
}
|
||||
UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
|
||||
userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.NOT_ON.getCode(),UserChangeRecordStatusEnum.REJECTED.getCode());
|
||||
userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.NOT_ON.getCode(), UserChangeRecordStatusEnum.REJECTED.getCode());
|
||||
userChangeRecordGateway.add(userChangeRecordE);
|
||||
}
|
||||
|
||||
|
|
@ -429,30 +434,30 @@ public class UserUpdateExe {
|
|||
userChangeRecordE.setResignationReason(appUserResignationCmd.getResignationReason());
|
||||
userChangeRecordGateway.add(userChangeRecordE);
|
||||
// 处理未完成工作
|
||||
List<UserJobHandoverDO> allJob = getUserJob(userDO.getId(),corpinfoId,userChangeRecordE.getUserChangeRecordId());
|
||||
if(CollUtil.isNotEmpty(allJob)){
|
||||
List<UserJobHandoverDO> allJob = getUserJob(userDO.getId(), corpinfoId, userChangeRecordE.getUserChangeRecordId());
|
||||
if (CollUtil.isNotEmpty(allJob)) {
|
||||
userJobHandoverRepository.saveBatch(allJob);
|
||||
}
|
||||
}
|
||||
|
||||
private List<UserJobHandoverDO> getUserJob(Long userId, Long corpinfoId, String userChangeRecordId) {
|
||||
ZcloudUserJobQry zcloudUserJobQry = new ZcloudUserJobQry();
|
||||
zcloudUserJobQry.setUserId(userId);
|
||||
zcloudUserJobQry.setCorpinfoId(corpinfoId);
|
||||
List<UserJobHandoverDO> allJob = new ArrayList<>();
|
||||
//隐患id
|
||||
HiddenStatisticsListQry hiddenStatisticsListQry = new HiddenStatisticsListQry() ;
|
||||
HiddenStatisticsListQry hiddenStatisticsListQry = new HiddenStatisticsListQry();
|
||||
hiddenStatisticsListQry.setUserId(userId);
|
||||
//隐患要求传入企业id
|
||||
hiddenStatisticsListQry.setDeptId(corpinfoId);
|
||||
List<HiddenListByUserCO> hiddenListCOList =null;
|
||||
try{
|
||||
List<HiddenListByUserCO> hiddenListCOList = null;
|
||||
try {
|
||||
|
||||
log.info("获取用户隐患信息, userId: {}, corpinfoId: {}", userId, corpinfoId);
|
||||
MultiResponse<HiddenListByUserCO> hiddenListCOMultiResponse = zcloudHiddenFacade.listByUserId(hiddenStatisticsListQry);
|
||||
log.info("获取用户隐患信息返回, userId: {}, corpinfoId: {}, data: {}", userId, corpinfoId, JSONUtil.toJsonStr(hiddenListCOList));
|
||||
hiddenListCOList = hiddenListCOMultiResponse.getData();
|
||||
}catch (Exception e){
|
||||
log.error("获取用户隐患信息异常, userId: {}, corpinfoId: {}", userId, corpinfoId,e);
|
||||
} catch (Exception e) {
|
||||
log.error("获取用户隐患信息异常, userId: {}, corpinfoId: {}", userId, corpinfoId, e);
|
||||
}
|
||||
if(CollUtil.isNotEmpty(hiddenListCOList)){
|
||||
if (CollUtil.isNotEmpty(hiddenListCOList)) {
|
||||
hiddenListCOList.forEach(info -> {
|
||||
UserJobHandoverDO userJobHandoverDO = new UserJobHandoverDO();
|
||||
userJobHandoverDO.setUserJobHandoverId(Tools.get32UUID());
|
||||
|
|
@ -466,13 +471,41 @@ public class UserUpdateExe {
|
|||
allJob.add(userJobHandoverDO);
|
||||
});
|
||||
}
|
||||
//风险辨识检查
|
||||
ListManagerQry listManagerQry = new ListManagerQry();
|
||||
listManagerQry.setUserId(userId);
|
||||
listManagerQry.setCorpinfoId(corpinfoId);
|
||||
List<ListManagerListByUserCO> riskManagerCOList = null;
|
||||
try {
|
||||
log.info("获取用户风险辨识检查信息, userId: {}, corpinfoId: {}", userId, corpinfoId);
|
||||
MultiResponse<ListManagerListByUserCO> riskManagerCOResponse = zcloudRiskFacade.listManagerByUserId(listManagerQry);
|
||||
log.info("获取用户风险辨识检查信息返回, userId: {}, corpinfoId: {}, data: {}", userId, corpinfoId, JSONUtil.toJsonStr(riskManagerCOResponse));
|
||||
riskManagerCOList = riskManagerCOResponse.getData();
|
||||
} catch (Exception e) {
|
||||
log.error("获取用户风险辨识检查信息异常, userId: {}, corpinfoId: {}", userId, corpinfoId, e);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(riskManagerCOList)) {
|
||||
riskManagerCOList.forEach(info -> {
|
||||
UserJobHandoverDO userJobHandoverDO = new UserJobHandoverDO();
|
||||
userJobHandoverDO.setUserJobHandoverId(Tools.get32UUID());
|
||||
userJobHandoverDO.setUserId(userId);
|
||||
userJobHandoverDO.setWorkProject(info.getWorkProject());
|
||||
userJobHandoverDO.setWorkContent(info.getWorkContent());
|
||||
userJobHandoverDO.setForeignKey(info.getListManagerId());
|
||||
userJobHandoverDO.setWorkType(UserJobHandoverWorkTypeEnum.RISK.getCode());
|
||||
userJobHandoverDO.setUserChangeRecordId(userChangeRecordId);
|
||||
userJobHandoverDO.setCorpinfoId(corpinfoId);
|
||||
allJob.add(userJobHandoverDO);
|
||||
});
|
||||
}
|
||||
return allJob;
|
||||
}
|
||||
|
||||
private void ResignatioChangeJob(List<UserJobHandoverDO> allJob) {
|
||||
allJob.forEach(info->{
|
||||
allJob.forEach(info -> {
|
||||
//取消工作
|
||||
UserJobHandoverWorkTypeEnum workTypeEnum = UserJobHandoverWorkTypeEnum.getByCode(info.getWorkType());
|
||||
switch (workTypeEnum){
|
||||
switch (workTypeEnum) {
|
||||
case HIDDENINFO:
|
||||
HiddenUpdateCmd cmd = new HiddenUpdateCmd();
|
||||
cmd.setUserId(info.getUserId());
|
||||
|
|
@ -482,12 +515,19 @@ public class UserUpdateExe {
|
|||
userJobHandoverRepository.processUserJobHandover(info.getUserChangeRecordId());
|
||||
//隐患出异常是直接抛异常
|
||||
break;
|
||||
case RISK:
|
||||
ListManagerStatusUpdateCmd riskCmd = new ListManagerStatusUpdateCmd();
|
||||
riskCmd.setUserId(info.getUserId());
|
||||
riskCmd.setCorpinfoId(info.getCorpinfoId());
|
||||
zcloudRiskFacade.updateListManagerStatusByUserId(riskCmd);
|
||||
userJobHandoverRepository.processUserJobHandover(info.getUserChangeRecordId());
|
||||
//风险辨识检查出异常是直接抛异常
|
||||
break;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ public enum UserJobHandoverWorkTypeEnum {
|
|||
* 工作类型,1:隐患信息
|
||||
*/
|
||||
HIDDENINFO(1,"隐患信息"),
|
||||
RISK(2,"风险辨识检查"),
|
||||
|
||||
|
||||
;
|
||||
|
|
|
|||
Loading…
Reference in New Issue