mirror of
https://github.com/201206030/novel-plus.git
synced 2025-07-01 15:26:37 +00:00
162 lines
4.2 KiB
Java
162 lines
4.2 KiB
Java
package com.java2nb.system.controller;
|
|
|
|
import com.java2nb.common.config.Constant;
|
|
import com.java2nb.common.controller.BaseController;
|
|
import com.java2nb.common.domain.Tree;
|
|
import com.java2nb.common.utils.R;
|
|
import com.java2nb.system.domain.DeptDO;
|
|
import com.java2nb.system.service.DeptService;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.ui.Model;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* 部门管理
|
|
*
|
|
* @author xiongxy
|
|
* @email 1179705413@qq.com
|
|
* @date 2019-09-27 14:40:36
|
|
*/
|
|
|
|
@Controller
|
|
@RequestMapping("/system/sysDept")
|
|
public class DeptController extends BaseController {
|
|
private String prefix = "system/dept";
|
|
@Autowired
|
|
private DeptService sysDeptService;
|
|
|
|
@GetMapping()
|
|
@RequiresPermissions("system:sysDept:sysDept")
|
|
String dept() {
|
|
return prefix + "/dept";
|
|
}
|
|
|
|
@ApiOperation(value="获取部门列表", notes="获取部门列表")
|
|
@ResponseBody
|
|
@GetMapping("/list")
|
|
@RequiresPermissions("system:sysDept:sysDept")
|
|
public List<DeptDO> list() {
|
|
Map<String, Object> query = new HashMap<>(16);
|
|
List<DeptDO> sysDeptList = sysDeptService.list(query);
|
|
return sysDeptList;
|
|
}
|
|
|
|
@GetMapping("/add/{pId}")
|
|
@RequiresPermissions("system:sysDept:add")
|
|
String add(@PathVariable("pId") Long pId, Model model) {
|
|
model.addAttribute("pId", pId);
|
|
if (pId == 0) {
|
|
model.addAttribute("pName", "总部门");
|
|
} else {
|
|
model.addAttribute("pName", sysDeptService.get(pId).getName());
|
|
}
|
|
return prefix + "/add";
|
|
}
|
|
|
|
@GetMapping("/edit/{deptId}")
|
|
@RequiresPermissions("system:sysDept:edit")
|
|
String edit(@PathVariable("deptId") Long deptId, Model model) {
|
|
DeptDO sysDept = sysDeptService.get(deptId);
|
|
model.addAttribute("sysDept", sysDept);
|
|
if(Constant.DEPT_ROOT_ID.equals(sysDept.getParentId())) {
|
|
model.addAttribute("parentDeptName", "无");
|
|
}else {
|
|
DeptDO parDept = sysDeptService.get(sysDept.getParentId());
|
|
model.addAttribute("parentDeptName", parDept.getName());
|
|
}
|
|
return prefix + "/edit";
|
|
}
|
|
|
|
/**
|
|
* 保存
|
|
*/
|
|
@ResponseBody
|
|
@PostMapping("/save")
|
|
@RequiresPermissions("system:sysDept:add")
|
|
public R save(DeptDO sysDept) {
|
|
if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
|
|
return R.error(1, "演示系统不允许修改,完整体验请部署程序");
|
|
}
|
|
if (sysDeptService.save(sysDept) > 0) {
|
|
return R.ok();
|
|
}
|
|
return R.error();
|
|
}
|
|
|
|
/**
|
|
* 修改
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/update")
|
|
@RequiresPermissions("system:sysDept:edit")
|
|
public R update(DeptDO sysDept) {
|
|
if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
|
|
return R.error(1, "演示系统不允许修改,完整体验请部署程序");
|
|
}
|
|
if (sysDeptService.update(sysDept) > 0) {
|
|
return R.ok();
|
|
}
|
|
return R.error();
|
|
}
|
|
|
|
/**
|
|
* 删除
|
|
*/
|
|
@PostMapping("/remove")
|
|
@ResponseBody
|
|
@RequiresPermissions("system:sysDept:remove")
|
|
public R remove(Long deptId) {
|
|
if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
|
|
return R.error(1, "演示系统不允许修改,完整体验请部署程序");
|
|
}
|
|
Map<String, Object> map = new HashMap<String, Object>();
|
|
map.put("parentId", deptId);
|
|
if(sysDeptService.count(map)>0) {
|
|
return R.error(1, "包含下级部门,不允许修改");
|
|
}
|
|
if(sysDeptService.checkDeptHasUser(deptId)) {
|
|
if (sysDeptService.remove(deptId) > 0) {
|
|
return R.ok();
|
|
}
|
|
}else {
|
|
return R.error(1, "部门包含用户,不允许修改");
|
|
}
|
|
return R.error();
|
|
}
|
|
|
|
/**
|
|
* 删除
|
|
*/
|
|
@PostMapping("/batchRemove")
|
|
@ResponseBody
|
|
@RequiresPermissions("system:sysDept:batchRemove")
|
|
public R remove(@RequestParam("ids[]") Long[] deptIds) {
|
|
if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
|
|
return R.error(1, "演示系统不允许修改,完整体验请部署程序");
|
|
}
|
|
sysDeptService.batchRemove(deptIds);
|
|
return R.ok();
|
|
}
|
|
|
|
@GetMapping("/tree")
|
|
@ResponseBody
|
|
public Tree<DeptDO> tree() {
|
|
Tree<DeptDO> tree = new Tree<DeptDO>();
|
|
tree = sysDeptService.getTree();
|
|
return tree;
|
|
}
|
|
|
|
@GetMapping("/treeView")
|
|
String treeView() {
|
|
return prefix + "/deptTree";
|
|
}
|
|
|
|
}
|