package com.stylefeng.guns.modular.code.controller;
|
|
import com.stylefeng.guns.core.common.annotion.BussinessLog;
|
import com.stylefeng.guns.core.common.constant.dictmap.DeptDict;
|
import com.stylefeng.guns.core.common.constant.factory.ConstantFactory;
|
import com.stylefeng.guns.core.common.exception.BizExceptionEnum;
|
import com.stylefeng.guns.core.exception.GunsException;
|
import com.stylefeng.guns.core.log.LogObjectHolder;
|
import com.stylefeng.guns.core.mutidatasource.annotion.DataSource;
|
import com.stylefeng.guns.core.node.ZTreeNode;
|
import com.stylefeng.guns.core.util.ToolUtil;
|
import com.stylefeng.guns.modular.system.model.Dept;
|
import com.stylefeng.guns.modular.system.service.IDeptService;
|
import com.stylefeng.guns.modular.system.util.ResultUtil;
|
import com.stylefeng.guns.modular.system.warpper.DeptWarpper;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.xml.transform.Result;
|
import java.util.List;
|
import java.util.Map;
|
|
@Controller
|
@RequestMapping("/base/dept")
|
public class SysDeptController {
|
|
@Autowired
|
private IDeptService deptService;
|
|
|
@DataSource(name = "dataSourceBiz")
|
@GetMapping(value = "/list")
|
@ApiOperation(value = "列表", tags = {"后台-部门管理"})
|
@ResponseBody
|
public Object list(String fullname) {
|
List<Map<String, Object>> list = this.deptService.list(fullname);
|
return list;
|
}
|
|
@DataSource(name = "dataSourceGuns")
|
@BussinessLog(value = "添加部门", key = "simplename", dict = DeptDict.class)
|
@ApiOperation(value = "添加部门", tags = {"后台-部门管理"})
|
@PostMapping(value = "/add")
|
@ResponseBody
|
public ResultUtil add(Dept dept) {
|
if (ToolUtil.isOneEmpty(dept, dept.getSimplename())) {
|
throw new GunsException(BizExceptionEnum.REQUEST_NULL);
|
}
|
//完善pids,根据pid拿到pid的pids
|
dept.setPid(0);
|
deptSetPids(dept);
|
this.deptService.insert(dept);
|
return ResultUtil.success("添加成功");
|
|
}
|
|
|
@DataSource(name = "dataSourceBiz")
|
@GetMapping(value = "/tree")
|
@ApiOperation(value = "获取部下拉框", tags = {"后台-部门管理"})
|
@ResponseBody
|
public List<Dept> tree() {
|
List<ZTreeNode> tree = this.deptService.tree();
|
tree.add(ZTreeNode.createParent());
|
|
return deptService.selectList(null);
|
// return tree;
|
}
|
|
@DeleteMapping ("/delete")
|
@ResponseBody
|
@ApiOperation(value = "删除部门", tags = {"后台-部门管理"})
|
public ResultUtil delete(Integer id) {
|
deptService.deleteById(id);
|
return ResultUtil.success("删除成功");
|
}
|
|
@GetMapping ("pre/edit/{deptId}")
|
public Dept deptUpdate(@PathVariable Integer deptId, Model model) {
|
Dept dept = deptService.selectById(deptId);
|
return dept;
|
}
|
|
|
@DataSource(name = "dataSourceGuns")
|
@BussinessLog(value = "修改部门", key = "simplename", dict = DeptDict.class)
|
@ApiOperation(value = "修改部门", tags = {"后台-部门管理"})
|
@PutMapping (value = "/update")
|
@ResponseBody
|
public ResultUtil update(Dept dept) {
|
if (ToolUtil.isEmpty(dept) || dept.getId() == null) {
|
throw new GunsException(BizExceptionEnum.REQUEST_NULL);
|
}
|
dept.setPid(0);
|
deptSetPids(dept);
|
Dept dept1 = deptService.selectById(dept.getId());
|
deptService.updateById(dept);
|
return ResultUtil.success("修改成功");
|
}
|
|
|
private void deptSetPids(Dept dept) {
|
if (ToolUtil.isEmpty(dept.getPid()) || dept.getPid().equals(0)) {
|
dept.setPid(0);
|
dept.setPids("[0],");
|
} else {
|
int pid = dept.getPid();
|
Dept temp = deptService.selectById(pid);
|
String pids = temp.getPids();
|
dept.setPid(pid);
|
dept.setPids(pids + "[" + pid + "],");
|
}
|
}
|
}
|