feat:在编,非在编导入

This commit is contained in:
dzc committed 2025-12-07 16:47:31 +08:00
1 parent b576031346
commit bc92b16b85
5 files changed
+42 -10

No files matched your search

@@ -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);
}
}
@@ -48,4 +48,11 @@ public class UserExcelFaceVo {
*/
@ExcelProperty("用户性别")
private String sex;
/**
* 编制
*/
@ExcelProperty("编制")
private String staffingType;
}
@@ -98,6 +98,8 @@ public class UserExcelVO implements Serializable {
@ExcelProperty("编制")
private String staffingType;
private String staffingTypeParse;
/**
* 锁定标记
*/
@@ -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<SysUserMapper, SysUser> impl
List<String> postNameList = StrUtil.split(excel.getPostNameList(), StrUtil.COMMA);
List<SysPost> 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<SysUserMapper, SysUser> 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<SysUserMapper, SysUser> 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<SysUserMapper, SysUser> 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+", ""));