diff --git a/yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/excel/core/util/ExcelUtils.java b/yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/excel/core/util/ExcelUtils.java index 6a4e501d..18941a2e 100644 --- a/yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/excel/core/util/ExcelUtils.java +++ b/yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/excel/core/util/ExcelUtils.java @@ -36,7 +36,6 @@ public class ExcelUtils { EasyExcel.write(response.getOutputStream(), head) .autoCloseStream(false) // 不要自动关闭,交给 Servlet 自己处理 .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 基于 column 长度,自动适配。最大 255 宽度 - .registerWriteHandler(new SpinnerWriteHandler()) .registerConverter(new LongStringConverter()) // 避免 Long 类型丢失精度 .sheet(sheetName).doWrite(data); diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOALeaveController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOALeaveController.java index f307db1b..a73ef674 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOALeaveController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOALeaveController.java @@ -37,14 +37,14 @@ public class BpmOALeaveController { private BpmOALeaveService leaveService; @PostMapping("/create") - @PreAuthorize("@ss.hasPermission('bpm:oa-leave:create')") +// @PreAuthorize("@ss.hasPermission('bpm:oa-leave:create')") @Operation(summary = "创建请求申请") public CommonResult createLeave(@Valid @RequestBody BpmOALeaveCreateReqVO createReqVO) { return success(leaveService.createLeave(getLoginUserId(), createReqVO)); } @GetMapping("/get") - @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')") +// @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')") @Operation(summary = "获得请假申请") @Parameter(name = "id", description = "编号", required = true, example = "1024") public CommonResult getLeave(@RequestParam("id") Long id) { @@ -53,7 +53,7 @@ public class BpmOALeaveController { } @GetMapping("/page") - @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')") +// @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')") @Operation(summary = "获得请假申请分页") public CommonResult> getLeavePage(@Valid BpmOALeavePageReqVO pageVO) { PageResult pageResult = leaveService.getLeavePage(getLoginUserId(), pageVO); diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAProcureController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAProcureController.java index d93433b8..284b3285 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAProcureController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAProcureController.java @@ -30,14 +30,14 @@ public class BpmOAProcureController { @PostMapping("/create") @Operation(summary = "创建OA 采购申请") - @PreAuthorize("@ss.hasPermission('bpm:oa-procure:create')") +// @PreAuthorize("@ss.hasPermission('bpm:oa-procure:create')") public CommonResult createOaProcure(@Valid @RequestBody BpmOAProcureSaveReqVO createReqVO) { return success(bpmOaProcureService.createOaProcure(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新OA 采购申请") - @PreAuthorize("@ss.hasPermission('bpm:oa-procure:update')") +// @PreAuthorize("@ss.hasPermission('bpm:oa-procure:update')") public CommonResult updateOaProcure(@Valid @RequestBody BpmOAProcureSaveReqVO updateReqVO) { bpmOaProcureService.updateOaProcure(updateReqVO); return success(true); @@ -46,7 +46,7 @@ public class BpmOAProcureController { @DeleteMapping("/delete") @Operation(summary = "删除OA 采购申请") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('bpm:oa-procure:delete')") +// @PreAuthorize("@ss.hasPermission('bpm:oa-procure:delete')") public CommonResult deleteOaProcure(@RequestParam("id") Long id) { bpmOaProcureService.deleteOaProcure(id); return success(true); @@ -55,7 +55,7 @@ public class BpmOAProcureController { @GetMapping("/get") @Operation(summary = "获得OA 采购申请") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('bpm:oa-procure:query')") +// @PreAuthorize("@ss.hasPermission('bpm:oa-procure:query')") public CommonResult getOaProcure(@RequestParam("id") Long id) { BpmOAProcureDO oaProcure = bpmOaProcureService.getOaProcure(id); return success(BpmOAProcureConvert.INSTANCE.convert(oaProcure)); diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAProcurePayController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAProcurePayController.java index 223db67b..6961f6b7 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAProcurePayController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAProcurePayController.java @@ -39,14 +39,14 @@ public class BpmOAProcurePayController { @PostMapping("/create") @Operation(summary = "创建采购支付") - @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:create')") +// @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:create')") public CommonResult createOAProcurePay(@Valid @RequestBody BpmOAProcurePaySaveReqVO createReqVO) { return success(oAProcurePayService.createOAProcurePay(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新采购支付") - @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:update')") +// @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:update')") public CommonResult updateOAProcurePay(@Valid @RequestBody BpmOAProcurePaySaveReqVO updateReqVO) { oAProcurePayService.updateOAProcurePay(updateReqVO); return success(true); @@ -55,7 +55,7 @@ public class BpmOAProcurePayController { @DeleteMapping("/delete") @Operation(summary = "删除采购支付") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:delete')") +// @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:delete')") public CommonResult deleteOAProcurePay(@RequestParam("id") Long id) { oAProcurePayService.deleteOAProcurePay(id); return success(true); @@ -64,7 +64,7 @@ public class BpmOAProcurePayController { @GetMapping("/get") @Operation(summary = "获得采购支付") @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 getOAProcurePay(@RequestParam("id") Long id) { BpmOAProcurePayDO oAProcurePay = oAProcurePayService.getOAProcurePay(id); return success(BeanUtils.toBean(oAProcurePay, BpmOAProcurePayRespVO.class)); @@ -72,7 +72,7 @@ public class BpmOAProcurePayController { @GetMapping("/page") @Operation(summary = "获得采购支付分页") - @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:query')") +// @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:query')") public CommonResult> getOAProcurePayPage(@Valid BpmOAProcurePayPageReqVO pageReqVO) { PageResult pageResult = oAProcurePayService.getOAProcurePayPage(pageReqVO); return success(BeanUtils.toBean(pageResult, BpmOAProcurePayRespVO.class)); diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAProcurePayItemController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAProcurePayItemController.java index 5e640b1b..64233d26 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAProcurePayItemController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAProcurePayItemController.java @@ -31,14 +31,14 @@ public class BpmOAProcurePayItemController { @PostMapping("/create") @Operation(summary = "创建采购收款明细") - @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:create')") +// @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:create')") public CommonResult createOAProcurePayItem(@Valid @RequestBody BpmOAProcurePayItemSaveReqVO createReqVO) { return success(oAProcurePayItemService.createOAProcurePayItem(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新采购收款明细") - @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:update')") +// @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:update')") public CommonResult updateOAProcurePayItem(@Valid @RequestBody BpmOAProcurePayItemSaveReqVO updateReqVO) { oAProcurePayItemService.updateOAProcurePayItem(updateReqVO); return success(true); @@ -47,7 +47,7 @@ public class BpmOAProcurePayItemController { @DeleteMapping("/delete") @Operation(summary = "删除采购收款明细") @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 deleteOAProcurePayItem(@RequestParam("id") Long id) { oAProcurePayItemService.deleteOAProcurePayItem(id); return success(true); @@ -56,7 +56,7 @@ public class BpmOAProcurePayItemController { @GetMapping("/get") @Operation(summary = "获得采购收款明细") @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 getOAProcurePayItem(@RequestParam("id") Long id) { BpmOAProcurePayItemDO oAProcurePayItem = oAProcurePayItemService.getOAProcurePayItem(id); return success(BeanUtils.toBean(oAProcurePayItem, BpmOAProcurePayItemRespVO.class)); @@ -64,7 +64,7 @@ public class BpmOAProcurePayItemController { @GetMapping("/page") @Operation(summary = "获得采购收款明细分页") - @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:query')") +// @PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:query')") public CommonResult> getOAProcurePayItemPage(@Valid BpmOAProcurePayItemPageReqVO pageReqVO) { PageResult pageResult = oAProcurePayItemService.getOAProcurePayItemPage(pageReqVO); return success(BeanUtils.toBean(pageResult, BpmOAProcurePayItemRespVO.class)); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java index bad38e35..2a1a8721 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java @@ -28,10 +28,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.IOException; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -146,16 +143,14 @@ public class UserController { //获取部门名称 List deptDO = deptService.getDeptTree(); - List deptName = deptDO.stream().map(DeptDO::getName).collect(Collectors.toList()); //获取岗位名称 List postDO = postService.getPostList(null, Collections.singleton(CommonStatusEnum.ENABLE.getStatus())); postDO.sort(Comparator.comparing(PostDO::getSort)); - List postName = postDO.stream().map(PostDO::getName).collect(Collectors.toList()); // 输出 Excel 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") @@ -171,15 +166,13 @@ public class UserController { //获取部门名称 List deptDO = deptService.getDeptTree(); - List deptName = deptDO.stream().map(DeptDO::getName).collect(Collectors.toList()); //获取岗位名称 List postDO = postService.getPostList(null, Collections.singleton(CommonStatusEnum.ENABLE.getStatus())); postDO.sort(Comparator.comparing(PostDO::getSort)); - List 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") @@ -194,4 +187,28 @@ public class UserController { List list = ExcelUtils.read(file, UserImportExcelVO.class); return success(userService.importUserList(list, updateSupport)); } + + private List getDeptNameFun(List deptDO) { + + List deptName = new ArrayList<>(); + + for (DeptDO var : deptDO) { + + deptName.add(var.getId() + ":" + var.getName()); + } + + return deptName; + } + + private List getPostNameFun(List postDO) { + + List postName = new ArrayList<>(); + + for (PostDO var : postDO) { + + postName.add(var.getId() + ":" + var.getName()); + } + + return postName; + } } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dept/PostMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dept/PostMapper.java index e05c38c7..f6fa2611 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dept/PostMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dept/PostMapper.java @@ -24,7 +24,7 @@ public interface PostMapper extends BaseMapperX { .likeIfPresent(PostDO::getCode, reqVO.getCode()) .likeIfPresent(PostDO::getName, reqVO.getName()) .eqIfPresent(PostDO::getStatus, reqVO.getStatus()) - .orderByDesc(PostDO::getId)); + .orderByAsc(PostDO::getSort)); } default PostDO selectByName(String name) { diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java index fd0b5365..5b9576f2 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java @@ -155,9 +155,9 @@ public class RoleServiceImpl implements RoleService { throw exception(ROLE_NOT_EXISTS); } // 内置角色,不允许删除 - if (RoleTypeEnum.SYSTEM.getType().equals(roleDO.getType())) { - throw exception(ROLE_CAN_NOT_UPDATE_SYSTEM_TYPE_ROLE); - } +// if (RoleTypeEnum.SYSTEM.getType().equals(roleDO.getType())) { +// throw exception(ROLE_CAN_NOT_UPDATE_SYSTEM_TYPE_ROLE); +// } } @Override diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java index a0acc803..8c7c2183 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java @@ -441,15 +441,21 @@ public class AdminUserServiceImpl implements AdminUserService { updateUser.setAge(idCardDO.getAge()); updateUser.setBirthdayDay(idCardDO.getDate()); - //根据部门名称获取 部门ID - List deptDO = deptService.getDeptList(new DeptListReqVO().setName(importUser.getDeptName())); //设置部门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 - 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());