DeptController.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. package com.bootdo.system.controller;
  2. import com.bootdo.common.annotation.Log;
  3. import com.bootdo.common.config.Constant;
  4. import com.bootdo.common.controller.BaseController;
  5. import com.bootdo.common.domain.Tree;
  6. import com.bootdo.common.utils.R;
  7. import com.bootdo.common.utils.ShiroUtils;
  8. import com.bootdo.system.domain.DeptDO;
  9. import com.bootdo.system.domain.UserDO;
  10. import com.bootdo.system.service.DeptService;
  11. import io.swagger.annotations.ApiOperation;
  12. import org.apache.shiro.authz.annotation.RequiresPermissions;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Controller;
  15. import org.springframework.ui.Model;
  16. import org.springframework.web.bind.annotation.*;
  17. import java.util.HashMap;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. * 部门管理
  22. *
  23. * @author chglee
  24. * @email 1992lcg@163.com
  25. * @date 2017-09-27 14:40:36
  26. */
  27. @Controller
  28. @RequestMapping("/system/sysDept")
  29. public class DeptController extends BaseController {
  30. private String prefix = "system/dept";
  31. @Autowired
  32. private DeptService sysDeptService;
  33. @Log("访问机构管理")
  34. @GetMapping()
  35. @RequiresPermissions("system:sysDept:sysDept")
  36. String dept() {
  37. return prefix + "/dept";
  38. }
  39. //@ApiOperation(value = "获取部门列表", notes = "")
  40. @ResponseBody
  41. @GetMapping("/list")
  42. @RequiresPermissions("system:sysDept:sysDept")
  43. public List<DeptDO> list() {
  44. Map<String, Object> query = new HashMap<>(16);
  45. List<DeptDO> sysDeptList = sysDeptService.list(query);
  46. return sysDeptList;
  47. }
  48. @GetMapping("/add/{pId}")
  49. @RequiresPermissions("system:sysDept:add")
  50. String add(@PathVariable("pId") Long pId, Model model) {
  51. model.addAttribute("pId", pId);
  52. if (pId == 0) {
  53. model.addAttribute("pName", "总部门");
  54. } else {
  55. model.addAttribute("pName", sysDeptService.get(pId).getName());
  56. }
  57. return prefix + "/add";
  58. }
  59. @GetMapping("/edit/{deptId}")
  60. @RequiresPermissions("system:sysDept:edit")
  61. String edit(@PathVariable("deptId") Long deptId, Model model) {
  62. DeptDO sysDept = sysDeptService.get(deptId);
  63. model.addAttribute("sysDept", sysDept);
  64. if (Constant.DEPT_ROOT_ID.equals(sysDept.getParentId())) {
  65. model.addAttribute("parentDeptName", "无");
  66. } else {
  67. DeptDO parDept = sysDeptService.get(sysDept.getParentId());
  68. model.addAttribute("parentDeptName", parDept.getName());
  69. }
  70. return prefix + "/edit";
  71. }
  72. /**
  73. * 保存
  74. */
  75. @ResponseBody
  76. @PostMapping("/save")
  77. @RequiresPermissions("system:sysDept:add")
  78. public R save(DeptDO sysDept) {
  79. if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
  80. return R.error(1, "演示系统不允许修改,完整体验请部署程序");
  81. }
  82. if (sysDeptService.save(sysDept) > 0) {
  83. return R.ok();
  84. }
  85. return R.error();
  86. }
  87. /**
  88. * 修改
  89. */
  90. @ResponseBody
  91. @RequestMapping("/update")
  92. @RequiresPermissions("system:sysDept:edit")
  93. public R update(DeptDO sysDept) {
  94. if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
  95. return R.error(1, "演示系统不允许修改,完整体验请部署程序");
  96. }
  97. if (sysDeptService.update(sysDept) > 0) {
  98. return R.ok();
  99. }
  100. return R.error();
  101. }
  102. /**
  103. * 删除
  104. */
  105. @PostMapping("/remove")
  106. @ResponseBody
  107. @RequiresPermissions("system:sysDept:remove")
  108. public R remove(Long deptId) {
  109. if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
  110. return R.error(1, "演示系统不允许删除,完整体验请部署程序");
  111. }
  112. Map<String, Object> map = new HashMap<String, Object>();
  113. map.put("parentId", deptId);
  114. if (sysDeptService.count(map) > 0) {
  115. return R.error(1, "包含下级部门,不允许删除");
  116. }
  117. if (sysDeptService.checkDeptHasUser(deptId)) {
  118. if (sysDeptService.remove(deptId) > 0) {
  119. return R.ok();
  120. }
  121. } else {
  122. return R.error(1, "部门包含用户,不允许删除");
  123. }
  124. return R.error();
  125. }
  126. /**
  127. * 删除
  128. */
  129. @PostMapping("/batchRemove")
  130. @ResponseBody
  131. @RequiresPermissions("system:sysDept:batchRemove")
  132. public R remove(@RequestParam("ids[]") Long[] deptIds) {
  133. if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
  134. return R.error(1, "演示系统不允许修改,完整体验请部署程序");
  135. }
  136. sysDeptService.batchRemove(deptIds);
  137. return R.ok();
  138. }
  139. @GetMapping("/tree")
  140. @ResponseBody
  141. public Tree<DeptDO> tree() {
  142. Tree<DeptDO> tree = new Tree<DeptDO>();
  143. tree = sysDeptService.getTree();
  144. return tree;
  145. }
  146. @GetMapping("/treeView")
  147. String treeView() {
  148. return prefix + "/deptTree";
  149. }
  150. /**
  151. * @Description: 获取当前部门平级部门信息
  152. * @Author: wangp
  153. * @Date: 2022/3/21 19:55
  154. * @Return: List<DeptDO>
  155. */
  156. @ResponseBody
  157. @GetMapping("/list/queryDept")
  158. public List<DeptDO> queryDept() {
  159. // 用户信息
  160. UserDO currUser = ShiroUtils.getUser();
  161. String deptId = "";
  162. if (null != currUser) {
  163. deptId = String.valueOf(ShiroUtils.getUser().getDeptId());
  164. }
  165. // 查询列表数据
  166. List<DeptDO> list = sysDeptService.queryDept(deptId);
  167. return list;
  168. }
  169. }