DeptController.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. package com.ifast.sys.controller;
  2. import com.ifast.common.annotation.Log;
  3. import com.ifast.common.base.AdminBaseController;
  4. import com.ifast.common.config.Constant;
  5. import com.ifast.common.domain.Tree;
  6. import com.ifast.common.type.EnumErrorCode;
  7. import com.ifast.common.utils.Result;
  8. import com.ifast.sys.domain.DeptDO;
  9. import com.ifast.sys.service.DeptService;
  10. import io.swagger.annotations.ApiOperation;
  11. import org.apache.shiro.authz.annotation.RequiresPermissions;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Controller;
  14. import org.springframework.ui.Model;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.util.Arrays;
  17. import java.util.HashMap;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. * <pre>
  22. * 部门管理
  23. * </pre>
  24. *
  25. * <small> 2018年3月23日 | Aron</small>
  26. */
  27. @Controller
  28. @RequestMapping("/sys/dept")
  29. public class DeptController extends AdminBaseController {
  30. private String prefix = "sys/dept";
  31. @Autowired
  32. private DeptService sysDeptService;
  33. @GetMapping()
  34. @RequiresPermissions("system:sysDept:sysDept")
  35. String dept() {
  36. return prefix + "/dept";
  37. }
  38. @ApiOperation(value = "获取部门列表", notes = "")
  39. @ResponseBody
  40. @GetMapping("/list")
  41. @RequiresPermissions("system:sysDept:sysDept")
  42. public List<DeptDO> list(DeptDO deptDTO) {
  43. return sysDeptService.findByKv("name", deptDTO.getName());
  44. }
  45. @GetMapping("/add/{pId}")
  46. @RequiresPermissions("system:sysDept:add")
  47. String add(@PathVariable("pId") Long pId, Model model) {
  48. model.addAttribute("pId", pId);
  49. if (pId == 0) {
  50. model.addAttribute("pName", "总部门");
  51. } else {
  52. model.addAttribute("pName", sysDeptService.selectById(pId).getName());
  53. }
  54. return prefix + "/add";
  55. }
  56. @GetMapping("/edit/{deptId}")
  57. @RequiresPermissions("system:sysDept:edit")
  58. String edit(@PathVariable("deptId") Long deptId, Model model) {
  59. DeptDO sysDept = sysDeptService.selectById(deptId);
  60. model.addAttribute("sysDept", sysDept);
  61. if (Constant.Sys.DEPT_ROOT_ID.equals(sysDept.getParentId())) {
  62. model.addAttribute("parentDeptName", "无");
  63. } else {
  64. DeptDO parDept = sysDeptService.selectById(sysDept.getParentId());
  65. model.addAttribute("parentDeptName", parDept.getName());
  66. }
  67. return prefix + "/edit";
  68. }
  69. /**
  70. * 保存
  71. */
  72. @ResponseBody
  73. @PostMapping("/save")
  74. @RequiresPermissions("system:sysDept:add")
  75. @Log("添加部门")
  76. public Result<String> save(DeptDO sysDept) {
  77. sysDeptService.insert(sysDept);
  78. return Result.ok();
  79. }
  80. /**
  81. * 修改
  82. */
  83. @Log("更新部门")
  84. @ResponseBody
  85. @RequestMapping("/update")
  86. @RequiresPermissions("system:sysDept:edit")
  87. public Result<String> update(DeptDO sysDept) {
  88. sysDeptService.updateById(sysDept);
  89. return Result.ok();
  90. }
  91. /**
  92. * 删除
  93. */
  94. @PostMapping("/remove")
  95. @ResponseBody
  96. @RequiresPermissions("system:sysDept:remove")
  97. @Log("删除部门")
  98. public Result<String> remove(Long id) {
  99. Map<String, Object> map = new HashMap<String, Object>();
  100. map.put("parentId", id);
  101. int size = sysDeptService.selectByMap(map).size();
  102. if (size > 0) {
  103. return Result.build(EnumErrorCode.deptUpdateErrorExistChilds.getCode(),
  104. EnumErrorCode.deptUpdateErrorExistChilds.getMsg());
  105. }
  106. if (sysDeptService.checkDeptHasUser(id)) {
  107. sysDeptService.deleteById(id);
  108. return Result.ok();
  109. } else {
  110. return Result.build(EnumErrorCode.deptDeleteErrorExistUsers.getCode(),
  111. EnumErrorCode.deptDeleteErrorExistUsers.getMsg());
  112. }
  113. }
  114. /**
  115. * 删除
  116. */
  117. @PostMapping("/batchRemove")
  118. @ResponseBody
  119. @RequiresPermissions("system:sysDept:batchRemove")
  120. @Log("删除部门")
  121. public Result<String> remove(@RequestParam("ids[]") Long[] deptIds) {
  122. sysDeptService.deleteBatchIds(Arrays.asList(deptIds));
  123. return Result.ok();
  124. }
  125. @GetMapping("/tree")
  126. @ResponseBody
  127. public Tree<DeptDO> tree() {
  128. Tree<DeptDO> tree = new Tree<DeptDO>();
  129. tree = sysDeptService.getTree();
  130. return tree;
  131. }
  132. @GetMapping("/treeView")
  133. String treeView() {
  134. return prefix + "/deptTree";
  135. }
  136. }