diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java index 769cc431..b475d930 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java @@ -8,8 +8,10 @@ import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.vo.SysDepartTreeModel; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.formula.functions.T; import org.apache.shiro.SecurityUtils; import com.jero.common.api.vo.Result; import com.jero.common.constant.CacheConstant; @@ -48,7 +50,7 @@ import lombok.extern.slf4j.Slf4j; *

* 部门表 前端控制器 *

- * + * * @Author: Steve @Since: 2019-01-22 */ @RestController @@ -69,7 +71,8 @@ public class SysDepartController { * * @return */ - @RequestMapping(value = "/queryMyDeptTreeList", method = RequestMethod.GET) +// @RequestMapping(value = "/queryMyDeptTreeList", method = RequestMethod.GET) + @GetMapping("/queryMyDeptTreeList") public Result> queryMyDeptTreeList() { Result> result = new Result<>(); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); @@ -96,10 +99,11 @@ public class SysDepartController { /** * 查询数据 查出所有部门,并以树结构数据格式响应给前端 - * + * * @return */ - @RequestMapping(value = "/queryTreeList", method = RequestMethod.GET) +// @RequestMapping(value = "/queryTreeList", method = RequestMethod.GET) + @GetMapping("/queryTreeList") public Result> queryTreeList() { Result> result = new Result<>(); try { @@ -122,7 +126,8 @@ public class SysDepartController { * * @return */ - @RequestMapping(value = "/queryDepartTreeSync", method = RequestMethod.GET) +// @RequestMapping(value = "/queryDepartTreeSync", method = RequestMethod.GET) + @GetMapping("/queryDepartTreeSync") public Result> queryDepartTreeSync(@RequestParam(name = "pid", required = false) String parentId) { Result> result = new Result<>(); try { @@ -142,7 +147,7 @@ public class SysDepartController { * @param orgCode 根据orgCode查,departId和orgCode必须有一个不为空 */ @GetMapping("/queryAllParentId") - public Result queryParentIds( + public Result queryParentIds( @RequestParam(name = "departId", required = false) String departId, @RequestParam(name = "orgCode", required = false) String orgCode ) { @@ -164,13 +169,14 @@ public class SysDepartController { /** * 添加新数据 添加用户新建的部门对象数据,并保存到数据库 - * + * * @param sysDepart * @return */ //@RequiresRoles({"admin"}) @RequiresPermissions("sys:depart:add") - @RequestMapping(value = "/add", method = RequestMethod.POST) +// @RequestMapping(value = "/add", method = RequestMethod.POST) + @PostMapping("/add") @CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true) public Result add(@RequestBody SysDepart sysDepart, HttpServletRequest request) { String username = JwtUtil.getUserNameByToken(request); @@ -186,13 +192,14 @@ public class SysDepartController { /** * 编辑数据 编辑部门的部分数据,并保存到数据库 - * + * * @param sysDepart * @return */ //@RequiresRoles({"admin"}) @RequiresPermissions("sys:depart:edit") - @RequestMapping(value = "/edit", method = RequestMethod.PUT) +// @RequestMapping(value = "/edit", method = RequestMethod.PUT) + @PutMapping("/edit") @CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true) public Result edit(@RequestBody SysDepart sysDepart, HttpServletRequest request) { String username = JwtUtil.getUserNameByToken(request); @@ -208,7 +215,7 @@ public class SysDepartController { } return Result.OK(); } - + /** * 通过id删除 * @param id @@ -216,7 +223,8 @@ public class SysDepartController { */ //@RequiresRoles({"admin"}) @RequiresPermissions("sys:depart:del") - @RequestMapping(value = "/delete", method = RequestMethod.DELETE) +// @RequestMapping(value = "/delete", method = RequestMethod.DELETE) + @DeleteMapping("/delete") @CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true) public Result delete(@RequestParam(name="id",required=true) String id) { SysDepart sysDepart = sysDepartService.getById(id); @@ -234,13 +242,14 @@ public class SysDepartController { /** * 批量删除 根据前端请求的多个ID,对数据库执行删除相关部门数据的操作 - * + * * @param ids * @return */ //@RequiresRoles({"admin"}) @RequiresPermissions("sys:depart:del") - @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE) +// @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE) + @DeleteMapping("/deleteBatch") @CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true) public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { if (ids == null || "".equals(ids.trim())) { @@ -253,10 +262,11 @@ public class SysDepartController { /** * 查询数据 添加或编辑页面对该方法发起请求,以树结构形式加载所有部门的名称,方便用户的操作 - * + * * @return */ - @RequestMapping(value = "/queryIdTree", method = RequestMethod.GET) +// @RequestMapping(value = "/queryIdTree", method = RequestMethod.GET) + @GetMapping("/queryIdTree") public Result> queryIdTree() { try { List list = sysDepartService.queryDepartIdTreeList(); @@ -266,16 +276,17 @@ public class SysDepartController { return Result.error("查询失败"); } } - + /** *

* 部门搜索功能方法,根据关键字模糊搜索相关部门 *

- * + * * @param keyWord * @return */ - @RequestMapping(value = "/searchBy", method = RequestMethod.GET) +// @RequestMapping(value = "/searchBy", method = RequestMethod.GET) + @GetMapping("/searchBy") public Result> searchBy(@RequestParam(name = "keyWord", required = true) String keyWord,@RequestParam(name = "myDeptSearch", required = false) String myDeptSearch) { //部门查询,myDeptSearch为1时为我的部门查询,登录用户为上级时查只查负责部门下数据 LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); @@ -284,7 +295,7 @@ public class SysDepartController { departIds = user.getDepartIds(); } List treeList = this.sysDepartService.searhBy(keyWord,myDeptSearch,departIds); - if (treeList == null || treeList.size() == 0) { + if (treeList == null || treeList.isEmpty()) { return Result.error("未查询匹配数据!"); } return Result.OK(treeList); @@ -305,17 +316,12 @@ public class SysDepartController { ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); List pageList = sysDepartService.list(queryWrapper); //按字典排序 - Collections.sort(pageList, new Comparator() { - @Override - public int compare(SysDepart arg0, SysDepart arg1) { - return arg0.getOrgCode().compareTo(arg1.getOrgCode()); - } - }); + Collections.sort(pageList,(SysDepart arg0, SysDepart arg1)-> arg0.getOrgCode().compareTo(arg1.getOrgCode())); //导出文件名称 - mv.addObject(NormalExcelConstants.FILE_NAME, "部门列表"); - mv.addObject(NormalExcelConstants.CLASS, SysDepart.class); + mv.addObject(JeroController.FILE_NAME, "部门列表"); + mv.addObject(JeroController.CLASS, SysDepart.class); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("部门列表数据", "导出人:"+user.getRealname(), "导出信息")); + mv.addObject(JeroController.PARAMS, new ExportParams("部门列表数据", "导出人:"+user.getRealname(), "导出信息")); mv.addObject(NormalExcelConstants.DATA_LIST, pageList); return mv; } @@ -329,9 +335,10 @@ public class SysDepartController { */ //@RequiresRoles({"admin"}) @RequiresPermissions("sys:depart:import") - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) +// @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + @PostMapping("/importExcel") @CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true) - public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; List errorMessageList = new ArrayList<>(); List listSysDeparts = null; @@ -346,24 +353,25 @@ public class SysDepartController { // orgCode编码长度 int codeLength = YouBianCodeUtil.zhanweiLength; listSysDeparts = ExcelImportUtil.importExcel(file.getInputStream(), SysDepart.class, params); - //按长度排序 - Collections.sort(listSysDeparts, new Comparator() { + //按长度排序 todo 当比较到最后一个元素时会出现空指针 导入需要做orgCode必填效验 + /*Collections.sort(listSysDeparts, new Comparator() { @Override public int compare(SysDepart arg0, SysDepart arg1) { return arg0.getOrgCode().length() - arg1.getOrgCode().length(); } - }); + });*/ + Collections.sort(listSysDeparts, (SysDepart arg0, SysDepart arg1) -> arg0.getOrgCode().length() - arg1.getOrgCode().length()); int num = 0; for (SysDepart sysDepart : listSysDeparts) { String orgCode = sysDepart.getOrgCode(); if(orgCode.length() > codeLength) { String parentCode = orgCode.substring(0, orgCode.length()-codeLength); - QueryWrapper queryWrapper = new QueryWrapper(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("org_code", parentCode); try { SysDepart parentDept = sysDepartService.getOne(queryWrapper); - if(!parentDept.equals(null)) { + if(parentDept != null) { sysDepart.setParentId(parentDept.getId()); } else { sysDepart.setParentId(""); @@ -408,10 +416,10 @@ public class SysDepartController { */ @GetMapping("listAll") public Result> listAll(@RequestParam(name = "id", required = false) String id) { - LambdaQueryWrapper query = new LambdaQueryWrapper(); + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.orderByAsc(SysDepart::getOrgCode); if(oConvertUtils.isNotEmpty(id)){ - String arr[] = id.split(","); + String[] arr = id.split(","); query.in(SysDepart::getId,arr); } List ls = this.sysDepartService.list(query); @@ -422,14 +430,15 @@ public class SysDepartController { * * @return */ - @RequestMapping(value = "/queryTreeByKeyWord", method = RequestMethod.GET) +// @RequestMapping(value = "/queryTreeByKeyWord", method = RequestMethod.GET) + @GetMapping("/queryTreeByKeyWord") public Result> queryTreeByKeyWord(@RequestParam(name = "keyWord", required = false) String keyWord) { Result> result = new Result<>(); try { - Map map=new HashMap(); + Map map=new HashMap<>(); List list = sysDepartService.queryTreeByKeyWord(keyWord); //根据keyWord获取用户信息 - LambdaQueryWrapper queryUser = new LambdaQueryWrapper(); + LambdaQueryWrapper queryUser = new LambdaQueryWrapper<>(); queryUser.eq(SysUser::getDelFlag,CommonConstant.DEL_FLAG_0); queryUser.and(i -> i.like(SysUser::getUsername, keyWord).or().like(SysUser::getRealname, keyWord)); List sysUsers = this.sysUserService.list(queryUser);