diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/constant/UserStaffingTypeEnum.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/constant/UserStaffingTypeEnum.java index e6d63f96a..91fd95cef 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/constant/UserStaffingTypeEnum.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/constant/UserStaffingTypeEnum.java @@ -23,4 +23,9 @@ public enum UserStaffingTypeEnum { return Arrays.stream(values()).filter(v -> ObjectUtil.equals(type, v.getType())).findFirst().orElse(null); } + public static UserStaffingTypeEnum valueOfByDescription(String description) { + if (ObjectUtil.isEmpty(description)) return null; + return Arrays.stream(values()).filter(v -> ObjectUtil.equals(description, v.getDescription())).findFirst().orElse(null); + } + } diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserExcelFaceVo.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserExcelFaceVo.java index 56b9695fa..582f6d08f 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserExcelFaceVo.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserExcelFaceVo.java @@ -48,4 +48,11 @@ public class UserExcelFaceVo { */ @ExcelProperty("用户性别") private String sex; + + /** + * 编制 + */ + @ExcelProperty("编制") + private String staffingType; + } diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserExcelVO.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserExcelVO.java index 5482af766..f3d5b49b7 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserExcelVO.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserExcelVO.java @@ -98,6 +98,8 @@ public class UserExcelVO implements Serializable { @ExcelProperty("编制") private String staffingType; + private String staffingTypeParse; + /** * 锁定标记 */ diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java index f59a91e46..e8ef7b1f0 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java @@ -49,32 +49,23 @@ import com.bsd.pjcloud.admin.service.*; import com.bsd.pjcloud.admin.utils.excel.ExcelTool; import com.bsd.pjcloud.admin.utils.flow.FlowUtil; import com.bsd.pjcloud.admin.utils.flow.dto.UserApplyFlowDto; -import com.bsd.pjcloud.admin.utils.flow.dto.UserFaceApplyFlowDto; import com.bsd.pjcloud.common.audit.annotation.Audit; import com.bsd.pjcloud.common.core.constant.CacheConstants; import com.bsd.pjcloud.common.core.constant.CommonConstants; import com.bsd.pjcloud.common.core.constant.CommonRoleConstant; -import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum; import com.bsd.pjcloud.common.core.exception.ErrorCodes; import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.common.core.util.MsgUtils; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.data.resolver.ParamResolver; -import com.bsd.pjcloud.common.data.tenant.TenantContextHolder; import com.bsd.pjcloud.common.excel.vo.ErrorMessage; import com.bsd.pjcloud.common.security.service.PjcloudUser; import com.bsd.pjcloud.common.security.util.SecurityUtils; import com.bsd.pjcloud.flow.task.constant.TaskCheckStatusEnum; import com.bsd.pjcloud.flow.task.dto.ProcessNodeRecordAssignUserParamDto; import com.bsd.pjcloud.flow.task.dto.TaskDto; -import com.bsd.pjcloud.wallet.api.dto.recharge.excel.WalletRechargeExcelDto; -import com.bsd.pjcloud.wallet.api.entity.mch.MchManageEntity; -import com.bsd.pjcloud.wallet.api.feign.RemoteMchService; import com.bsd.pjcloud.wallet.api.feign.RemoteWalletService; -import com.bsd.pjcloud.wallet.api.utils.WalletDataUtil; -import com.bsd.pjcloud.wallet.api.vo.MchManageVo; -import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargeApplyVo; import cn.hutool.extra.spring.SpringUtil; import lombok.AllArgsConstructor; @@ -85,7 +76,6 @@ import org.springframework.beans.BeanUtils; import org.springframework.cache.Cache; import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.Caching; import org.springframework.context.annotation.Lazy; import org.springframework.mock.web.MockMultipartFile; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; @@ -533,6 +523,18 @@ public class SysUserServiceImpl extends ServiceImpl impl List postNameList = StrUtil.split(excel.getPostNameList(), StrUtil.COMMA); List postCollList = postList.stream().filter(post -> postNameList.stream().anyMatch(name -> post.getPostName().equals(name))).collect(Collectors.toList()); + // 判断输入的编制是否合法 + if (ObjectUtil.isEmpty(excel.getStaffingType())) { + errorMsg.add(MsgUtils.getMessage("编制不存在", excel.getStaffingType())); + } else { + UserStaffingTypeEnum staffingTypeEnum = UserStaffingTypeEnum.valueOfByDescription(excel.getStaffingType()); + if (ObjectUtil.isEmpty(staffingTypeEnum)) { + errorMsg.add(MsgUtils.getMessage("编制选择错误,请选择`在编`和`非在编`", excel.getStaffingType())); + } else { + excel.setStaffingTypeParse(staffingTypeEnum.getType()); + } + } + if (postCollList.size() != postNameList.size()) { errorMsg.add(MsgUtils.getMessage(ErrorCodes.SYS_POST_POSTNAME_INEXISTENCE, excel.getPostNameList())); } @@ -627,7 +629,21 @@ public class SysUserServiceImpl extends ServiceImpl impl } } + // 判断输入的编制是否合法 + String staffingType = null; + if (ObjectUtil.isEmpty(v.getStaffingType())) { + errorMsg.add("请选择编制"); + } else { + UserStaffingTypeEnum staffingTypeEnum = UserStaffingTypeEnum.valueOfByDescription(v.getStaffingType()); + if (ObjectUtil.isEmpty(staffingTypeEnum)) { + errorMsg.add("编制选择错误,请选择<在编>和<非在编>"); + } else { + staffingType = staffingTypeEnum.getType(); + } + } + if (CollUtil.isEmpty(errorMsg)) { + v.setStaffingType(staffingType); insertExcelUser(v, deptId, roleIds, face); } else { errorMessageList.add(new ErrorMessage(v.getLineNum(), errorMsg)); @@ -655,6 +671,7 @@ public class SysUserServiceImpl extends ServiceImpl impl userDTO.setName(excel.getName()); userDTO.setEmail(excel.getEmail()); userDTO.setLockFlag(excel.getLockFlag()); + userDTO.setStaffingType(excel.getStaffingTypeParse()); // 批量导入初始密码为手机号 userDTO.setPasswordModifyTime(LocalDateTime.now()); userDTO.setPassword(userDTO.getPhone()); @@ -678,6 +695,7 @@ public class SysUserServiceImpl extends ServiceImpl impl userDTO.setNickname(excel.getName().replaceAll("\\s+", "")); userDTO.setPhone(excel.getMobile().replaceAll("\\s+", "")); userDTO.setDeptId(deptId); + userDTO.setStaffingType(excel.getStaffingType()); // 批量导入初始密码为手机号 userDTO.setPasswordModifyTime(LocalDateTime.now()); userDTO.setPassword(userDTO.getPhone().replaceAll("\\s+", "")); diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/file/user.xlsx b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/file/user.xlsx index bb557ba59..d86950f6a 100644 Binary files a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/file/user.xlsx and b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/file/user.xlsx differ