Compare commits

...

2 Commits

Author SHA1 Message Date
zhaokai 5b6233931f Merge remote-tracking branch 'origin/main'
# Conflicts:
#	web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserCorpRepository.java
#	web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserCorpRepositoryImpl.java
2025-12-03 16:31:47 +08:00
zhaokai 141f6cfed8 离职入职相关 2025-12-03 16:31:02 +08:00
7 changed files with 29 additions and 17 deletions

View File

@ -139,18 +139,25 @@ public class UserUpdateExe {
//
UserE userE=null;
Long corpinfoId = userResignationCmd.getCorpinfoId()==null?AuthContext.getTenantId():userResignationCmd.getCorpinfoId();
Integer employmentFlagBefore;
if(UserFlowFlagEnum.FLOW.getCode().equals(userDO.getFlowFlag())){
userE=userCorpRepository.executeResignation(userDO.getId(), corpinfoId,UserEmploymentFlagEnum.RESIGNATION.getCode());
UserCorpDO userCorpDO = userCorpRepository.getInfoByUserId(userDO.getId(), corpinfoId);
if (userCorpDO == null) {
return;
}
employmentFlagBefore = userCorpDO.getEmploymentFlag();
userE=userCorpRepository.executeResignation(userCorpDO, corpinfoId,UserEmploymentFlagEnum.RESIGNATION.getCode());
}else{
userE = new UserE();
BeanUtils.copyProperties(userDO, userE);
employmentFlagBefore = userDO.getEmploymentFlag();
userE.setEmploymentFlag(UserEmploymentFlagEnum.RESIGNATION.getCode());
userGateway.update(userE);
}
if(userE==null){
return;
}
//修改企业入职记录
UserCorpRecordDO userCorpRecordDO = userCorpRecordRepository.getInfoByUserId(userDO.getId(), corpinfoId,UserEmploymentFlagEnum.ON.getCode());
@ -166,7 +173,7 @@ public class UserUpdateExe {
// 增加用户变更记录
UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
userChangeRecordE.executeResignation(userE,UserEmploymentFlagEnum.RESIGNATION.getCode(),UserChangeRecordStatusEnum.APPROVED.getCode());
userChangeRecordE.executeResignation(userE,UserEmploymentFlagEnum.RESIGNATION.getCode(),UserChangeRecordStatusEnum.APPROVED.getCode(),employmentFlagBefore);
userChangeRecordGateway.add(userChangeRecordE);
//TODO 处理未完成工作
@ -278,17 +285,24 @@ public class UserUpdateExe {
}
UserE userE = null;
Long corpinfoId = appUserResignationCmd.getCorpinfoId()==null?AuthContext.getTenantId():appUserResignationCmd.getCorpinfoId();
Integer employmentFlagBefore = null;
if(UserFlowFlagEnum.FLOW.getCode().equals(userDO.getFlowFlag())){
userE=userCorpRepository.executeResignation(userDO.getId(), corpinfoId,UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode());
UserCorpDO userCorpDO = userCorpRepository.getInfoByUserId(userDO.getId(), corpinfoId);
if (userCorpDO == null) {
return;
}
employmentFlagBefore = userCorpDO.getEmploymentFlag();
userE=userCorpRepository.executeResignation(userCorpDO, corpinfoId,UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode());
}else{
userE = new UserE();
BeanUtils.copyProperties(userDO, userE);
employmentFlagBefore = userDO.getEmploymentFlag();
userE.setEmploymentFlag(UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode());
userGateway.update(userE);
}
//插入变更记录
UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
userChangeRecordE.executeResignation(userE,UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode(),UserChangeRecordStatusEnum.PENDING.getCode());
userChangeRecordE.executeResignation(userE,UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode(),UserChangeRecordStatusEnum.PENDING.getCode(),employmentFlagBefore);
userChangeRecordGateway.add(userChangeRecordE);
//TODO 处理未完成工作

View File

@ -94,7 +94,7 @@ public class UserChangeRecordE extends BaseE {
* @param userE
* @param code
*/
public void executeResignation(UserE userE, Integer code, Integer status) {
public void executeResignation(UserE userE, Integer code, Integer status, Integer employmentFlagBefore) {
this.setUserId(userE.getId());
this.setChangeTime(new Date());
this.setCorpinfoIdBefore(userE.getCorpinfoId());
@ -103,7 +103,7 @@ public class UserChangeRecordE extends BaseE {
this.setDepartmentNameBefore(userE.getDepartmentName());
this.setPostIdBefore(userE.getPostId());
this.setPostNameBefore(userE.getPostName());
this.setUserStatusBefore(userE.getEmploymentFlag());
this.setUserStatusBefore(employmentFlagBefore);
this.setCorpinfoIdAfter(null);
this.setCorpinfoNameAfter(null);
this.setDepartmentIdAfter(null);

View File

@ -2,6 +2,7 @@ package com.zcloud.basic.info.gatewayimpl;
import com.alibaba.cola.dto.Response;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.zcloud.basic.info.domain.enums.UserEmploymentFlagEnum;
import com.zcloud.basic.info.domain.gateway.UserGateway;
import com.zcloud.basic.info.domain.model.UserE;
import com.zcloud.basic.info.persistence.dataobject.UserDO;
@ -46,6 +47,8 @@ public class UserGatewayImpl implements UserGateway {
@Override
public boolean addXgf(UserE userE) {
UserDO d = new UserDO();
// 新增用户默认在职
userE.setEmploymentFlag(UserEmploymentFlagEnum.ON.getCode());
BeanUtils.copyProperties(userE, d);
userE.resetPassword();
userRepository.saveUserXgf(d);

View File

@ -25,7 +25,7 @@ public interface UserCorpRepository extends BaseRepository<UserCorpDO> {
UserE executeResignation(Long id, Long corpinfoId);
UserE executeResignation(Long id, Long corpinfoId, Integer employmentFlag);
UserE executeResignation(UserCorpDO userCorpDO, Long corpinfoId, Integer employmentFlag);
UserE executeReviewStatus(Long id, Long corpinfoId, Integer reviewStatus);
}

View File

@ -63,11 +63,7 @@ public class UserCorpRepositoryImpl extends BaseRepositoryImpl<UserCorpMapper, U
}
@Override
public UserE executeResignation(Long id, Long corpinfoId, Integer employmentFlag) {
UserCorpDO userCorpDO = getInfoByUserId(id, corpinfoId);
if (userCorpDO == null) {
return null;
}
public UserE executeResignation(UserCorpDO userCorpDO, Long corpinfoId, Integer employmentFlag) {
userCorpDO.setEmploymentFlag(employmentFlag);
userCorpMapper.updateById(userCorpDO);
UserE userE = new UserE();

View File

@ -282,8 +282,7 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
if(userDO.getSort() == null){
userDO.setSort(9999);
}
// 新增用户默认在职
userDO.setEmploymentFlag(1);
save(userDO);
}

View File

@ -277,7 +277,7 @@
u.name AS name,
u.main_corp_flag AS mainCorpFlag,
u.user_type AS userType,
u.department_id AS departmentId,
u.post_id AS postId,
u.role_id AS roleId,
u.email AS email,
@ -312,7 +312,7 @@
CASE
WHEN u.flow_flag = 0 THEN u.department_id
WHEN u.flow_flag = 1 THEN cpd.id
END AS queryDepartmentId,
END AS departmentId,
CASE
WHEN u.flow_flag = 0 THEN u.corpinfo_id
WHEN u.flow_flag = 1 THEN cp.corpinfo_id