用户管理: 导入导出修改

This commit is contained in:
furongxin 2024-03-27 15:38:27 +08:00
parent 677c7982a8
commit 02f02df9d0
9 changed files with 60 additions and 38 deletions

View File

@ -36,7 +36,6 @@ public class ExcelUtils {
EasyExcel.write(response.getOutputStream(), head) EasyExcel.write(response.getOutputStream(), head)
.autoCloseStream(false) // 不要自动关闭交给 Servlet 自己处理 .autoCloseStream(false) // 不要自动关闭交给 Servlet 自己处理
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 基于 column 长度自动适配最大 255 宽度 .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 基于 column 长度自动适配最大 255 宽度
.registerWriteHandler(new SpinnerWriteHandler())
.registerConverter(new LongStringConverter()) // 避免 Long 类型丢失精度 .registerConverter(new LongStringConverter()) // 避免 Long 类型丢失精度
.sheet(sheetName).doWrite(data); .sheet(sheetName).doWrite(data);

View File

@ -37,14 +37,14 @@ public class BpmOALeaveController {
private BpmOALeaveService leaveService; private BpmOALeaveService leaveService;
@PostMapping("/create") @PostMapping("/create")
@PreAuthorize("@ss.hasPermission('bpm:oa-leave:create')") // @PreAuthorize("@ss.hasPermission('bpm:oa-leave:create')")
@Operation(summary = "创建请求申请") @Operation(summary = "创建请求申请")
public CommonResult<Long> createLeave(@Valid @RequestBody BpmOALeaveCreateReqVO createReqVO) { public CommonResult<Long> createLeave(@Valid @RequestBody BpmOALeaveCreateReqVO createReqVO) {
return success(leaveService.createLeave(getLoginUserId(), createReqVO)); return success(leaveService.createLeave(getLoginUserId(), createReqVO));
} }
@GetMapping("/get") @GetMapping("/get")
@PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')") // @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')")
@Operation(summary = "获得请假申请") @Operation(summary = "获得请假申请")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
public CommonResult<BpmOALeaveRespVO> getLeave(@RequestParam("id") Long id) { public CommonResult<BpmOALeaveRespVO> getLeave(@RequestParam("id") Long id) {
@ -53,7 +53,7 @@ public class BpmOALeaveController {
} }
@GetMapping("/page") @GetMapping("/page")
@PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')") // @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')")
@Operation(summary = "获得请假申请分页") @Operation(summary = "获得请假申请分页")
public CommonResult<PageResult<BpmOALeaveRespVO>> getLeavePage(@Valid BpmOALeavePageReqVO pageVO) { public CommonResult<PageResult<BpmOALeaveRespVO>> getLeavePage(@Valid BpmOALeavePageReqVO pageVO) {
PageResult<BpmOALeaveDO> pageResult = leaveService.getLeavePage(getLoginUserId(), pageVO); PageResult<BpmOALeaveDO> pageResult = leaveService.getLeavePage(getLoginUserId(), pageVO);

View File

@ -30,14 +30,14 @@ public class BpmOAProcureController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建OA 采购申请") @Operation(summary = "创建OA 采购申请")
@PreAuthorize("@ss.hasPermission('bpm:oa-procure:create')") // @PreAuthorize("@ss.hasPermission('bpm:oa-procure:create')")
public CommonResult<Long> createOaProcure(@Valid @RequestBody BpmOAProcureSaveReqVO createReqVO) { public CommonResult<Long> createOaProcure(@Valid @RequestBody BpmOAProcureSaveReqVO createReqVO) {
return success(bpmOaProcureService.createOaProcure(createReqVO)); return success(bpmOaProcureService.createOaProcure(createReqVO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新OA 采购申请") @Operation(summary = "更新OA 采购申请")
@PreAuthorize("@ss.hasPermission('bpm:oa-procure:update')") // @PreAuthorize("@ss.hasPermission('bpm:oa-procure:update')")
public CommonResult<Boolean> updateOaProcure(@Valid @RequestBody BpmOAProcureSaveReqVO updateReqVO) { public CommonResult<Boolean> updateOaProcure(@Valid @RequestBody BpmOAProcureSaveReqVO updateReqVO) {
bpmOaProcureService.updateOaProcure(updateReqVO); bpmOaProcureService.updateOaProcure(updateReqVO);
return success(true); return success(true);
@ -46,7 +46,7 @@ public class BpmOAProcureController {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除OA 采购申请") @Operation(summary = "删除OA 采购申请")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('bpm:oa-procure:delete')") // @PreAuthorize("@ss.hasPermission('bpm:oa-procure:delete')")
public CommonResult<Boolean> deleteOaProcure(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteOaProcure(@RequestParam("id") Long id) {
bpmOaProcureService.deleteOaProcure(id); bpmOaProcureService.deleteOaProcure(id);
return success(true); return success(true);
@ -55,7 +55,7 @@ public class BpmOAProcureController {
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得OA 采购申请") @Operation(summary = "获得OA 采购申请")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('bpm:oa-procure:query')") // @PreAuthorize("@ss.hasPermission('bpm:oa-procure:query')")
public CommonResult<BpmOAProcureRespVO> getOaProcure(@RequestParam("id") Long id) { public CommonResult<BpmOAProcureRespVO> getOaProcure(@RequestParam("id") Long id) {
BpmOAProcureDO oaProcure = bpmOaProcureService.getOaProcure(id); BpmOAProcureDO oaProcure = bpmOaProcureService.getOaProcure(id);
return success(BpmOAProcureConvert.INSTANCE.convert(oaProcure)); return success(BpmOAProcureConvert.INSTANCE.convert(oaProcure));

View File

@ -39,14 +39,14 @@ public class BpmOAProcurePayController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建采购支付") @Operation(summary = "创建采购支付")
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:create')") // @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:create')")
public CommonResult<Long> createOAProcurePay(@Valid @RequestBody BpmOAProcurePaySaveReqVO createReqVO) { public CommonResult<Long> createOAProcurePay(@Valid @RequestBody BpmOAProcurePaySaveReqVO createReqVO) {
return success(oAProcurePayService.createOAProcurePay(createReqVO)); return success(oAProcurePayService.createOAProcurePay(createReqVO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新采购支付") @Operation(summary = "更新采购支付")
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:update')") // @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:update')")
public CommonResult<Boolean> updateOAProcurePay(@Valid @RequestBody BpmOAProcurePaySaveReqVO updateReqVO) { public CommonResult<Boolean> updateOAProcurePay(@Valid @RequestBody BpmOAProcurePaySaveReqVO updateReqVO) {
oAProcurePayService.updateOAProcurePay(updateReqVO); oAProcurePayService.updateOAProcurePay(updateReqVO);
return success(true); return success(true);
@ -55,7 +55,7 @@ public class BpmOAProcurePayController {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除采购支付") @Operation(summary = "删除采购支付")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:delete')") // @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:delete')")
public CommonResult<Boolean> deleteOAProcurePay(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteOAProcurePay(@RequestParam("id") Long id) {
oAProcurePayService.deleteOAProcurePay(id); oAProcurePayService.deleteOAProcurePay(id);
return success(true); return success(true);
@ -64,7 +64,7 @@ public class BpmOAProcurePayController {
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得采购支付") @Operation(summary = "获得采购支付")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:query')") // @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:query')")
public CommonResult<BpmOAProcurePayRespVO> getOAProcurePay(@RequestParam("id") Long id) { public CommonResult<BpmOAProcurePayRespVO> getOAProcurePay(@RequestParam("id") Long id) {
BpmOAProcurePayDO oAProcurePay = oAProcurePayService.getOAProcurePay(id); BpmOAProcurePayDO oAProcurePay = oAProcurePayService.getOAProcurePay(id);
return success(BeanUtils.toBean(oAProcurePay, BpmOAProcurePayRespVO.class)); return success(BeanUtils.toBean(oAProcurePay, BpmOAProcurePayRespVO.class));
@ -72,7 +72,7 @@ public class BpmOAProcurePayController {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得采购支付分页") @Operation(summary = "获得采购支付分页")
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:query')") // @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:query')")
public CommonResult<PageResult<BpmOAProcurePayRespVO>> getOAProcurePayPage(@Valid BpmOAProcurePayPageReqVO pageReqVO) { public CommonResult<PageResult<BpmOAProcurePayRespVO>> getOAProcurePayPage(@Valid BpmOAProcurePayPageReqVO pageReqVO) {
PageResult<BpmOAProcurePayDO> pageResult = oAProcurePayService.getOAProcurePayPage(pageReqVO); PageResult<BpmOAProcurePayDO> pageResult = oAProcurePayService.getOAProcurePayPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BpmOAProcurePayRespVO.class)); return success(BeanUtils.toBean(pageResult, BpmOAProcurePayRespVO.class));

View File

@ -31,14 +31,14 @@ public class BpmOAProcurePayItemController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建采购收款明细") @Operation(summary = "创建采购收款明细")
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:create')") // @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:create')")
public CommonResult<Long> createOAProcurePayItem(@Valid @RequestBody BpmOAProcurePayItemSaveReqVO createReqVO) { public CommonResult<Long> createOAProcurePayItem(@Valid @RequestBody BpmOAProcurePayItemSaveReqVO createReqVO) {
return success(oAProcurePayItemService.createOAProcurePayItem(createReqVO)); return success(oAProcurePayItemService.createOAProcurePayItem(createReqVO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新采购收款明细") @Operation(summary = "更新采购收款明细")
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:update')") // @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:update')")
public CommonResult<Boolean> updateOAProcurePayItem(@Valid @RequestBody BpmOAProcurePayItemSaveReqVO updateReqVO) { public CommonResult<Boolean> updateOAProcurePayItem(@Valid @RequestBody BpmOAProcurePayItemSaveReqVO updateReqVO) {
oAProcurePayItemService.updateOAProcurePayItem(updateReqVO); oAProcurePayItemService.updateOAProcurePayItem(updateReqVO);
return success(true); return success(true);
@ -47,7 +47,7 @@ public class BpmOAProcurePayItemController {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除采购收款明细") @Operation(summary = "删除采购收款明细")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:delete')") // @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:delete')")
public CommonResult<Boolean> deleteOAProcurePayItem(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteOAProcurePayItem(@RequestParam("id") Long id) {
oAProcurePayItemService.deleteOAProcurePayItem(id); oAProcurePayItemService.deleteOAProcurePayItem(id);
return success(true); return success(true);
@ -56,7 +56,7 @@ public class BpmOAProcurePayItemController {
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得采购收款明细") @Operation(summary = "获得采购收款明细")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:query')") // @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:query')")
public CommonResult<BpmOAProcurePayItemRespVO> getOAProcurePayItem(@RequestParam("id") Long id) { public CommonResult<BpmOAProcurePayItemRespVO> getOAProcurePayItem(@RequestParam("id") Long id) {
BpmOAProcurePayItemDO oAProcurePayItem = oAProcurePayItemService.getOAProcurePayItem(id); BpmOAProcurePayItemDO oAProcurePayItem = oAProcurePayItemService.getOAProcurePayItem(id);
return success(BeanUtils.toBean(oAProcurePayItem, BpmOAProcurePayItemRespVO.class)); return success(BeanUtils.toBean(oAProcurePayItem, BpmOAProcurePayItemRespVO.class));
@ -64,7 +64,7 @@ public class BpmOAProcurePayItemController {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得采购收款明细分页") @Operation(summary = "获得采购收款明细分页")
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:query')") // @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:query')")
public CommonResult<PageResult<BpmOAProcurePayItemRespVO>> getOAProcurePayItemPage(@Valid BpmOAProcurePayItemPageReqVO pageReqVO) { public CommonResult<PageResult<BpmOAProcurePayItemRespVO>> getOAProcurePayItemPage(@Valid BpmOAProcurePayItemPageReqVO pageReqVO) {
PageResult<BpmOAProcurePayItemDO> pageResult = oAProcurePayItemService.getOAProcurePayItemPage(pageReqVO); PageResult<BpmOAProcurePayItemDO> pageResult = oAProcurePayItemService.getOAProcurePayItemPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BpmOAProcurePayItemRespVO.class)); return success(BeanUtils.toBean(pageResult, BpmOAProcurePayItemRespVO.class));

View File

@ -28,10 +28,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
import java.util.Collections; import java.util.*;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@ -146,16 +143,14 @@ public class UserController {
//获取部门名称 //获取部门名称
List<DeptDO> deptDO = deptService.getDeptTree(); List<DeptDO> deptDO = deptService.getDeptTree();
List<String> deptName = deptDO.stream().map(DeptDO::getName).collect(Collectors.toList());
//获取岗位名称 //获取岗位名称
List<PostDO> postDO = postService.getPostList(null, Collections.singleton(CommonStatusEnum.ENABLE.getStatus())); List<PostDO> postDO = postService.getPostList(null, Collections.singleton(CommonStatusEnum.ENABLE.getStatus()));
postDO.sort(Comparator.comparing(PostDO::getSort)); postDO.sort(Comparator.comparing(PostDO::getSort));
List<String> postName = postDO.stream().map(PostDO::getName).collect(Collectors.toList());
// 输出 Excel // 输出 Excel
ExcelUtils.write(response, "用户数据.xls", "数据", UserRespVO.class, ExcelUtils.write(response, "用户数据.xls", "数据", UserRespVO.class,
UserConvert.INSTANCE.convertList(list, deptMap, postMap), deptName, postName); UserConvert.INSTANCE.convertList(list, deptMap, postMap), getDeptNameFun(deptDO), getPostNameFun(postDO));
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")
@ -171,15 +166,13 @@ public class UserController {
//获取部门名称 //获取部门名称
List<DeptDO> deptDO = deptService.getDeptTree(); List<DeptDO> deptDO = deptService.getDeptTree();
List<String> deptName = deptDO.stream().map(DeptDO::getName).collect(Collectors.toList());
//获取岗位名称 //获取岗位名称
List<PostDO> postDO = postService.getPostList(null, Collections.singleton(CommonStatusEnum.ENABLE.getStatus())); List<PostDO> postDO = postService.getPostList(null, Collections.singleton(CommonStatusEnum.ENABLE.getStatus()));
postDO.sort(Comparator.comparing(PostDO::getSort)); postDO.sort(Comparator.comparing(PostDO::getSort));
List<String> postName = postDO.stream().map(PostDO::getName).collect(Collectors.toList());
// 输出 // 输出
ExcelUtils.write(response, "用户导入模板.xls", "用户列表", UserImportExcelVO.class, null, deptName, postName); ExcelUtils.write(response, "用户导入模板.xls", "用户列表", UserImportExcelVO.class, null, getDeptNameFun(deptDO), getPostNameFun(postDO));
} }
@PostMapping("/import") @PostMapping("/import")
@ -194,4 +187,28 @@ public class UserController {
List<UserImportExcelVO> list = ExcelUtils.read(file, UserImportExcelVO.class); List<UserImportExcelVO> list = ExcelUtils.read(file, UserImportExcelVO.class);
return success(userService.importUserList(list, updateSupport)); return success(userService.importUserList(list, updateSupport));
} }
private List<String> getDeptNameFun(List<DeptDO> deptDO) {
List<String> deptName = new ArrayList<>();
for (DeptDO var : deptDO) {
deptName.add(var.getId() + ":" + var.getName());
}
return deptName;
}
private List<String> getPostNameFun(List<PostDO> postDO) {
List<String> postName = new ArrayList<>();
for (PostDO var : postDO) {
postName.add(var.getId() + ":" + var.getName());
}
return postName;
}
} }

View File

@ -24,7 +24,7 @@ public interface PostMapper extends BaseMapperX<PostDO> {
.likeIfPresent(PostDO::getCode, reqVO.getCode()) .likeIfPresent(PostDO::getCode, reqVO.getCode())
.likeIfPresent(PostDO::getName, reqVO.getName()) .likeIfPresent(PostDO::getName, reqVO.getName())
.eqIfPresent(PostDO::getStatus, reqVO.getStatus()) .eqIfPresent(PostDO::getStatus, reqVO.getStatus())
.orderByDesc(PostDO::getId)); .orderByAsc(PostDO::getSort));
} }
default PostDO selectByName(String name) { default PostDO selectByName(String name) {

View File

@ -155,9 +155,9 @@ public class RoleServiceImpl implements RoleService {
throw exception(ROLE_NOT_EXISTS); throw exception(ROLE_NOT_EXISTS);
} }
// 内置角色不允许删除 // 内置角色不允许删除
if (RoleTypeEnum.SYSTEM.getType().equals(roleDO.getType())) { // if (RoleTypeEnum.SYSTEM.getType().equals(roleDO.getType())) {
throw exception(ROLE_CAN_NOT_UPDATE_SYSTEM_TYPE_ROLE); // throw exception(ROLE_CAN_NOT_UPDATE_SYSTEM_TYPE_ROLE);
} // }
} }
@Override @Override

View File

@ -441,15 +441,21 @@ public class AdminUserServiceImpl implements AdminUserService {
updateUser.setAge(idCardDO.getAge()); updateUser.setAge(idCardDO.getAge());
updateUser.setBirthdayDay(idCardDO.getDate()); updateUser.setBirthdayDay(idCardDO.getDate());
//根据部门名称获取 部门ID
List<DeptDO> deptDO = deptService.getDeptList(new DeptListReqVO().setName(importUser.getDeptName()));
//设置部门ID //设置部门ID
updateUser.setDeptId(deptDO.get(0).getId()); if (importUser.getDeptName() != null && !importUser.getDeptName().isEmpty()) {
//excel接受到部门名称格式为 id:name
updateUser.setDeptId(Long.valueOf(importUser.getDeptName().split(":")[0]));
}
//根据岗位名称获取 岗位ID
PostDO postDO = postService.getByPostName(importUser.getPostName());
//设置岗位ID //设置岗位ID
updateUser.setPostIds(Collections.singleton(postDO.getId())); if (importUser.getPostName() != null && !importUser.getPostName().isEmpty()) {
//excel接受到部门名称格式为 id:name
String postID = importUser.getPostName().split(":")[0];
updateUser.setPostIds(Collections.singleton(Long.valueOf(postID)));
}
// 判断如果不存在在进行插入 // 判断如果不存在在进行插入
AdminUserDO existUser = userMapper.selectByUsername(importUser.getMobile()); AdminUserDO existUser = userMapper.selectByUsername(importUser.getMobile());