commit
This commit is contained in:
@@ -180,4 +180,23 @@ public class View_user {
|
||||
|
||||
@Column
|
||||
private String professionalLevel;
|
||||
|
||||
@Column
|
||||
private String jobCategory;
|
||||
|
||||
@Column
|
||||
private String employeeSource;
|
||||
|
||||
@Column
|
||||
private String administrativeLevel;
|
||||
|
||||
@Column
|
||||
private String positionSeries;
|
||||
|
||||
@Column
|
||||
private String administrativePositionLevel;
|
||||
|
||||
@Column
|
||||
private String expectedLeaveSchoolDate;
|
||||
|
||||
}
|
||||
|
||||
+223
@@ -0,0 +1,223 @@
|
||||
package com.budwk.app.zhgh.staffmanage.member.controller.info;
|
||||
|
||||
import cn.afterturn.easypoi.excel.ExcelExportUtil;
|
||||
import cn.afterturn.easypoi.excel.entity.ExportParams;
|
||||
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
|
||||
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.DesensitizedUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.exception.BaseException;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.utils.CommonDownloadUtil;
|
||||
import com.budwk.app.sys.models.Sys_role;
|
||||
import com.budwk.app.sys.models.Sys_user;
|
||||
import com.budwk.app.sys.models.Sys_user_role;
|
||||
import com.budwk.app.sys.services.SysRoleService;
|
||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.MemberBatchMakeParam;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberInfoPageForm;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberStatisticsPageForm;
|
||||
import com.budwk.app.zhgh.staffmanage.member.service.MemberCommonService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:MemberBatchMakeController
|
||||
* @Date 2025/9/23 16:51
|
||||
* @注释 批量设置会员
|
||||
*/
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@At("/platform/member/info/batchMake")
|
||||
public class MemberBatchMakeController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private SysRoleService sysRoleService;
|
||||
@Inject
|
||||
private MemberCommonService memberCommonService;
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("member.info.batchMake")
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/member/info/batchmake/index.html")
|
||||
public void index() {}
|
||||
|
||||
@At
|
||||
@ApiOperation("查询非会员列表")
|
||||
@SaCheckPermission("member.info.batchMake")
|
||||
public Result pageData(MemberInfoPageForm pageForm){
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
id,
|
||||
loginname,
|
||||
username,
|
||||
sex,
|
||||
userState,
|
||||
personType,
|
||||
preparedBy,
|
||||
unionName,
|
||||
unitName,
|
||||
mobile
|
||||
from
|
||||
`user`
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("member", "=", false);
|
||||
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.orLike("username", pageForm.getSearchKeyword());
|
||||
seg.orLike("loginname", pageForm.getSearchKeyword());
|
||||
cnd.and(seg);
|
||||
}
|
||||
|
||||
// 权限判断
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.or("unionId", "=", SecurityUtil.getUnionId());
|
||||
seg.or("unionId", "is", null);
|
||||
seg.or("unionId", "=", "");
|
||||
cnd.and(seg);
|
||||
} else {
|
||||
cnd.andEX("unionId", "=", pageForm.getUnionId());
|
||||
cnd.andEX("unitId", "=", pageForm.getUnitId());
|
||||
}
|
||||
|
||||
cnd.andEX("userState", "in", pageForm.getUserStates());
|
||||
cnd.andEX("preparedBy", "in", pageForm.getPreparedBys());
|
||||
cnd.andEX("personType", "in", pageForm.getPersonTypes());
|
||||
|
||||
sql.setCondition(cnd);
|
||||
|
||||
Pagination pagination = memberCommonService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ApiOperation("批量设置会员")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SLog(tag = "会员信息", msg = "批量设置会员")
|
||||
@SaCheckPermission("member.info.batchMake")
|
||||
public Result batchMake(MemberBatchMakeParam param){
|
||||
List<String> userIds = param.getUserIds();
|
||||
// 查询会员角色
|
||||
Sys_role role = sysRoleService.getByCode(RoleConstant.MEMBER);
|
||||
if (role == null) {
|
||||
throw new BaseException("会员角色不存在");
|
||||
}
|
||||
|
||||
dao.update(Sys_user.class, Chain.make("member", true)
|
||||
.addSpecial("memberTime", DateUtil.now()),
|
||||
Cnd.where("id", "in", userIds));
|
||||
|
||||
// 添加会员角色
|
||||
List<Sys_user_role> roleList = userIds.stream().map(v -> {
|
||||
Sys_user_role userRole = new Sys_user_role();
|
||||
userRole.setUserId(v);
|
||||
userRole.setRoleId(role.getId());
|
||||
return userRole;
|
||||
}).toList();
|
||||
dao.insert(roleList);
|
||||
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@Ok("void")
|
||||
@SaCheckPermission("member.statistics.comprehensive")
|
||||
public void doExport(MemberStatisticsPageForm pageForm, HttpServletResponse response){
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
id,
|
||||
loginname,
|
||||
username,
|
||||
sex,
|
||||
userState,
|
||||
personType,
|
||||
preparedBy,
|
||||
unionName,
|
||||
unitName,
|
||||
mobile
|
||||
from
|
||||
`user`
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("member", "=", false);
|
||||
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.orLike("username", pageForm.getSearchKeyword());
|
||||
seg.orLike("loginname", pageForm.getSearchKeyword());
|
||||
cnd.and(seg);
|
||||
}
|
||||
|
||||
// 权限判断
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.or("unionId", "=", SecurityUtil.getUnionId());
|
||||
seg.or("unionId", "is", null);
|
||||
seg.or("unionId", "=", "");
|
||||
cnd.and(seg);
|
||||
} else {
|
||||
cnd.andEX("unionId", "=", pageForm.getUnionId());
|
||||
cnd.andEX("unitId", "=", pageForm.getUnitId());
|
||||
}
|
||||
|
||||
cnd.andEX("userState", "in", pageForm.getUserStates());
|
||||
cnd.andEX("preparedBy", "in", pageForm.getPreparedBys());
|
||||
cnd.andEX("personType", "in", pageForm.getPersonTypes());
|
||||
|
||||
sql.setCondition(cnd);
|
||||
List<NutMap> list = memberCommonService.listMap(sql);
|
||||
for (NutMap row : list) {
|
||||
row.put("mobile", DesensitizedUtil.mobilePhone(row.getString("mobile")));
|
||||
}
|
||||
try {
|
||||
List<ExcelExportEntity> exportEntities = new ArrayList<>();
|
||||
exportEntities.add(new ExcelExportEntity("工号", "loginname", 20));
|
||||
exportEntities.add(new ExcelExportEntity("姓名", "username", 20));
|
||||
exportEntities.add(new ExcelExportEntity("性别", "sex", 20));
|
||||
exportEntities.add(new ExcelExportEntity("联系电话", "mobile", 20));
|
||||
exportEntities.add(new ExcelExportEntity("在职状态", "userState", 20));
|
||||
exportEntities.add(new ExcelExportEntity("聘用方式", "preparedBy", 20));
|
||||
exportEntities.add(new ExcelExportEntity("人员类型", "personType", 20));
|
||||
exportEntities.add(new ExcelExportEntity("所属工会", "unionName", 20));
|
||||
exportEntities.add(new ExcelExportEntity("所属单位", "unitName", 30));
|
||||
|
||||
ExportParams exportParams = new ExportParams();
|
||||
exportParams.setType(ExcelType.XSSF);
|
||||
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, exportEntities, list);
|
||||
CommonDownloadUtil.download("非会员列表.xlsx", workbook, response);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
package com.budwk.app.zhgh.staffmanage.member.controller.info;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.utils.PageUtil;
|
||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberInfoPageForm;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:MemberDataManageController
|
||||
* @Date 2025/9/23 17:55
|
||||
* @注释 数据管理工具
|
||||
*/
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@At("/platform/member/info/dataManage")
|
||||
public class MemberDataManageController {
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("member.info.dataManage")
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/member/info/datamanage/index.html")
|
||||
public void index() {}
|
||||
|
||||
|
||||
@At
|
||||
@ApiOperation("数据管理工具")
|
||||
@SaCheckPermission("member.info.dataManage")
|
||||
public Result pageData(MemberInfoPageForm pageForm) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
id,
|
||||
loginname,
|
||||
username,
|
||||
sex,
|
||||
userState,
|
||||
personType,
|
||||
preparedBy,
|
||||
unionName,
|
||||
unitName,
|
||||
mobile
|
||||
from
|
||||
`user`
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.orLike("username", pageForm.getSearchKeyword());
|
||||
seg.orLike("loginname", pageForm.getSearchKeyword());
|
||||
cnd.and(seg);
|
||||
}
|
||||
|
||||
// 权限判断
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.or("unionId", "=", SecurityUtil.getUnionId());
|
||||
seg.or("unionId", "is", null);
|
||||
seg.or("unionId", "=", "");
|
||||
cnd.and(seg);
|
||||
} else {
|
||||
cnd.andEX("unionId", "=", pageForm.getUnionId());
|
||||
cnd.andEX("unitId", "=", pageForm.getUnitId());
|
||||
}
|
||||
|
||||
cnd.andEX("userState", "in", pageForm.getUserStates());
|
||||
cnd.andEX("preparedBy", "in", pageForm.getPreparedBys());
|
||||
cnd.andEX("personType", "in", pageForm.getPersonTypes());
|
||||
|
||||
if (StrUtil.isAllNotBlank(pageForm.getPageOrderName(), pageForm.getPageOrderBy())) {
|
||||
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
||||
} else {
|
||||
cnd.asc("unitcode").asc("loginname");
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
+1
-3
@@ -8,7 +8,7 @@ import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.zhgh.staffmanage.member.models.MemberHistory;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.MemberInfoPageForm;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberInfoPageForm;
|
||||
import com.budwk.app.zhgh.staffmanage.member.service.MemberInfoService;
|
||||
import com.budwk.app.zhgh.staffmanage.member.vo.MemberImportVo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -23,7 +23,6 @@ import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.AdaptBy;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
import org.nutz.mvc.upload.TempFile;
|
||||
import org.nutz.mvc.upload.UploadAdaptor;
|
||||
|
||||
@@ -31,7 +30,6 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.utils.CommonDownloadUtil;
|
||||
import com.budwk.app.sys.models.Sys_union;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.MemberInfoPageForm;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberInfoPageForm;
|
||||
import com.budwk.app.zhgh.staffmanage.member.service.MemberInfoService;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.nutz.dao.Cnd;
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.budwk.app.zhgh.staffmanage.member.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:MemberBatchMakeParam
|
||||
* @Date 2025/9/23 17:10
|
||||
* @注释
|
||||
*/
|
||||
@Data
|
||||
public class MemberBatchMakeParam {
|
||||
|
||||
@NotEmpty(message = "设置人员不能为空")
|
||||
private List<String> userIds;
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
package com.budwk.app.zhgh.staffmanage.member.param;
|
||||
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:MemberInfoPageForm
|
||||
* @Date 2024/8/8 10:08
|
||||
* @注释 会员信息page
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class MemberInfoPageForm extends PageForm {
|
||||
|
||||
private Integer year;
|
||||
|
||||
private String unionId;
|
||||
|
||||
private String unitId;
|
||||
|
||||
private String threeUnitId;
|
||||
|
||||
private String unionGroupId;
|
||||
|
||||
private String userState;
|
||||
|
||||
private String preparedBy;
|
||||
|
||||
private String personType;
|
||||
|
||||
private List<String> personTypes;
|
||||
|
||||
private List<String> preparedBys;
|
||||
|
||||
private List<String> userStates;
|
||||
|
||||
private String sex;
|
||||
|
||||
private List<String> sexTypes;
|
||||
|
||||
private Integer memberStatus;
|
||||
|
||||
private String position;
|
||||
|
||||
private String jobTitle;
|
||||
|
||||
private String memberSearchName;
|
||||
|
||||
private String memberSearchKeyWord;
|
||||
|
||||
private Integer pageNumber = 1;
|
||||
|
||||
private Integer pageSize = 10;
|
||||
}
|
||||
+82
@@ -0,0 +1,82 @@
|
||||
package com.budwk.app.zhgh.staffmanage.member.param.pageform;
|
||||
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:MemberInfoPageForm
|
||||
* @Date 2024/8/8 10:08
|
||||
* @注释 会员信息page
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("信息管理参数")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class MemberInfoPageForm extends PageForm {
|
||||
|
||||
@ApiModelProperty("年份")
|
||||
private Integer year;
|
||||
|
||||
@ApiModelProperty("性别")
|
||||
private String sex;
|
||||
|
||||
@ApiModelProperty("性别数组")
|
||||
private List<String> sexTypes;
|
||||
|
||||
@ApiModelProperty("工会Id")
|
||||
private String unionId;
|
||||
|
||||
@ApiModelProperty("部门Id")
|
||||
private String unitId;
|
||||
|
||||
@ApiModelProperty("三级单位Id")
|
||||
private String threeUnitId;
|
||||
|
||||
@ApiModelProperty("工会小组Id")
|
||||
private String unionGroupId;
|
||||
|
||||
@ApiModelProperty("在职状态")
|
||||
private String userState;
|
||||
|
||||
@ApiModelProperty("编制类型")
|
||||
private String preparedBy;
|
||||
|
||||
@ApiModelProperty("人员类型")
|
||||
private String personType;
|
||||
|
||||
@ApiModelProperty("人员类型数组")
|
||||
private List<String> personTypes;
|
||||
|
||||
@ApiModelProperty("编制类型数组")
|
||||
private List<String> preparedBys;
|
||||
|
||||
@ApiModelProperty("在职状态数组")
|
||||
private List<String> userStates;
|
||||
|
||||
@ApiModelProperty("会员状态")
|
||||
private Integer memberStatus;
|
||||
|
||||
@ApiModelProperty("职位")
|
||||
private String position;
|
||||
|
||||
@ApiModelProperty("职位")
|
||||
private String jobTitle;
|
||||
|
||||
@ApiModelProperty("会员搜索名称")
|
||||
private String memberSearchName;
|
||||
|
||||
@ApiModelProperty("会员搜索关键字")
|
||||
private String memberSearchKeyWord;
|
||||
|
||||
@ApiModelProperty("工号开头")
|
||||
private String startLoginNames;
|
||||
|
||||
@ApiModelProperty("工号结尾")
|
||||
private String endLoginNames;
|
||||
}
|
||||
@@ -2,7 +2,7 @@ package com.budwk.app.zhgh.staffmanage.member.service;
|
||||
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.sys.models.Sys_user;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.MemberInfoPageForm;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberInfoPageForm;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
|
||||
+1
-2
@@ -17,7 +17,7 @@ import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.sys.models.Sys_user;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.staffmanage.member.models.MemberHistory;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.MemberInfoPageForm;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberInfoPageForm;
|
||||
import com.budwk.app.zhgh.staffmanage.member.service.MemberInfoService;
|
||||
import com.budwk.app.zhgh.staffmanage.member.vo.MemberImportVo;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
@@ -40,7 +40,6 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user