diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java index 7e657d5..6e2a0f7 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java @@ -32,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import javax.annotation.Resource; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -137,7 +138,9 @@ public class UserAddExe { BeanUtils.copyProperties(cmd, userE); // 3-相关方 userE.setUserType(3); - + if(UserFlowFlagEnum.FIXED.getCode().equals(cmd.getFlowFlag())){ + userE.setEmploymentFlag(UserEmploymentFlagEnum.NOT_ON.getCode()); + } userGateway.update(userE); return true; @@ -147,7 +150,8 @@ public class UserAddExe { public boolean executeOnboarding(AppUserOnboardingCmd cmd) { //// 如果是流动人员, 判断user_corp表是否有未离职的数据, 如果有则不能入职(1-离职) - List userCorpDOS = userCorpRepository.listByUserIdAndCorpIdAndNoStatus(cmd.getId(), cmd.getCorpinfoId(), UserEmploymentFlagEnum.RESIGNATION.getCode()); + List statusList = Arrays.asList(UserEmploymentFlagEnum.RESIGNATION.getCode(), UserEmploymentFlagEnum.NOT_ON.getCode()); + List userCorpDOS = userCorpRepository.listByUserIdAndCorpIdAndNoStatus(cmd.getId(), cmd.getCorpinfoId(), statusList); if(CollUtil.isNotEmpty(userCorpDOS)){ throw new BizException("该用户在当前企业存在未离职信息,无法入职"); } @@ -167,7 +171,7 @@ public class UserAddExe { throw new BizException("用户不存在"); } if(UserFlowFlagEnum.FLOW.getCode().equals(userDO.getFlowFlag())){ - List userCorpList = userCorpRepository.listByUserIdAndCorpIdAndStatus(cmd.getId(), cmd.getCorpinfoId(), UserEmploymentFlagEnum.RESIGNATION.getCode()); + List userCorpList = userCorpRepository.listByUserIdAndCorpIdAndStatus(cmd.getId(), cmd.getCorpinfoId(), statusList); if(CollUtil.isNotEmpty(userCorpList)){ if(userCorpList.size() > 1){ throw new BizException("用户在当前企业存在多条离职数据,请联系管理员。"); diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/query/UserQueryExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/query/UserQueryExe.java index dc39bfa..d0ca4fc 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/query/UserQueryExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/query/UserQueryExe.java @@ -103,6 +103,7 @@ public class UserQueryExe { userCO.setRoleId(userCorpDO.getRoleId()); userCO.setSort(userCorpDO.getSort()); userCO.setCorpinfoId(userCorpDO.getCorpinfoId()); + userCO.setEmploymentFlag(userCorpDO.getEmploymentFlag()); } return SingleResponse.of(userCO); diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserCorpRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserCorpRepository.java index be15ce0..19615e8 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserCorpRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserCorpRepository.java @@ -21,9 +21,9 @@ public interface UserCorpRepository extends BaseRepository { UserCorpDO getUserCorpInfoByUserId(Long userId); - List listByUserIdAndCorpIdAndNoStatus(Long userId, Long corpinfoId, Integer status); + List listByUserIdAndCorpIdAndNoStatus(Long userId, Long corpinfoId, List statusList); - List listByUserIdAndCorpIdAndStatus(Long userId, Long corpinfoId, Integer status); + List listByUserIdAndCorpIdAndStatus(Long userId, Long corpinfoId, List statusList); List listByUserIdAndNoStatus(Long userId, Integer status); diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserCorpRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserCorpRepositoryImpl.java index 198c904..848a801 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserCorpRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserCorpRepositoryImpl.java @@ -54,20 +54,20 @@ public class UserCorpRepositoryImpl extends BaseRepositoryImpl listByUserIdAndCorpIdAndNoStatus(Long userId, Long corpinfoId, Integer status) { + public List listByUserIdAndCorpIdAndNoStatus(Long userId, Long corpinfoId, List statusList) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("user_id", userId); queryWrapper.eq("corpinfo_id", corpinfoId); - queryWrapper.ne("employment_flag", status); + queryWrapper.notIn("employment_flag", statusList); return list(queryWrapper); } @Override - public List listByUserIdAndCorpIdAndStatus(Long userId, Long corpinfoId, Integer status) { + public List listByUserIdAndCorpIdAndStatus(Long userId, Long corpinfoId, List statusList) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("user_id", userId); queryWrapper.eq("corpinfo_id", corpinfoId); - queryWrapper.eq("employment_flag", status); + queryWrapper.in("employment_flag", statusList); return list(queryWrapper); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java index 354f015..7cc68fb 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java @@ -240,7 +240,7 @@ public class UserRepositoryImpl extends BaseRepositoryImpl i userDO.setSort(9999); } // 新增用户默认入职待审核 - userDO.setEmploymentFlag(11); + // userDO.setEmploymentFlag(11); // 默认不是主账号 userDO.setMainCorpFlag(0); userDO.setUserId(UuidUtil.get32UUID());