package com.consum.base.controller;
|
|
import com.consum.base.BaseController;
|
import com.consum.base.pojo.FinSysTenantDepartmentParam;
|
import com.consum.base.service.FinSysTenantDepartmentServiceImpl;
|
import com.consum.base.service.FinSysTenantServiceImpl;
|
import com.consum.model.po.FinSysTenantDepartment;
|
import com.consum.model.po.FinSysTenantUser;
|
import com.walker.db.page.GenericPager;
|
import com.walker.infrastructure.utils.StringUtils;
|
import com.walker.web.ResponseValue;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import java.util.List;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
/**
|
* @Description 部门管理
|
* @Author 卢庆阳
|
* @Date 2023/10/26
|
*/
|
@Api(value = "部门管理", tags = "部门管理")
|
@RestController
|
@RequestMapping("/pc/fin/sys/tenant/department")
|
public class FinSysTenantDepartmentController extends BaseController {
|
|
@Autowired
|
private FinSysTenantDepartmentServiceImpl departmentService;
|
@Autowired
|
private FinSysTenantServiceImpl finSysTenantService;
|
|
/**
|
* @Description 新增
|
* @Author 卢庆阳
|
* @Date 2023/10/26
|
*/
|
@ApiOperation(value = "新增", notes = "新增")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "param", value = "部门信息", required = true, dataType = "FinSysTenantDepartmentParam")
|
})
|
@PostMapping("/add")
|
public ResponseValue add(@RequestBody FinSysTenantDepartmentParam param) {
|
if (StringUtils.isEmpty(param.getName())) {
|
return ResponseValue.error("部门名称为空");
|
}
|
if (StringUtils.isEmpty(param.getCode())) {
|
return ResponseValue.error("编号为空");
|
}
|
FinSysTenantDepartment tenantDepartment = this.departmentService.selectByCode(param.getCode());
|
if (tenantDepartment != null) {
|
return ResponseValue.error("部门编号已存在");
|
}
|
//判断同一机构id下 部门名称 是否重复
|
FinSysTenantDepartment department = this.departmentService.getByNameAndTenantId(param.getName(), param.getTenantId());
|
if (department != null) {
|
return ResponseValue.error("部门名称已存在");
|
}
|
|
int result = this.departmentService.add(param, this.getSysInfo());
|
if (result > 0) {
|
return ResponseValue.success();
|
}
|
return ResponseValue.error("新增失败!");
|
}
|
|
/**
|
* @Description 部门列表查询
|
* @Author 卢庆阳
|
* @Date 2023/10/26
|
*/
|
//如果不传机构id,默认查省级机构的部门
|
@GetMapping("/list")
|
public ResponseValue queryList(FinSysTenantDepartmentParam param) {
|
FinSysTenantUser sysInfo = this.getSysInfo();
|
if (sysInfo == null) {
|
return ResponseValue.error("登录用户信息不存在");
|
}
|
GenericPager<FinSysTenantDepartment> pager = this.departmentService.queryList(param);
|
return ResponseValue.success(pager);
|
}
|
|
|
@ApiOperation(value = "根据机构id查询所有部门列表信息", notes = "根据机构id查询所有部门列表信息")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "param", value = "部门信息", required = true, dataType = "FinSysTenantDepartmentParam")
|
})
|
@GetMapping("/list/all")
|
public ResponseValue queryAllDepartment(Long tenantId) {
|
FinSysTenantUser sysInfo = this.getSysInfo();
|
if (sysInfo == null) {
|
return ResponseValue.error("登录用户信息不存在");
|
}
|
FinSysTenantDepartment finSysTenantDepartment = new FinSysTenantDepartment();
|
finSysTenantDepartment.setTenantId(tenantId);
|
List<FinSysTenantDepartment> finSysTenantDepartments = this.departmentService.select(finSysTenantDepartment);
|
return ResponseValue.success(finSysTenantDepartments);
|
}
|
|
/**
|
* @Description 编辑(修改状态)
|
* @Author 卢庆阳
|
* @Date 2023/10/26
|
*/
|
@PostMapping("/edit")
|
public ResponseValue edit(@RequestBody FinSysTenantDepartment department) {
|
Long id = department.getId();
|
if (id == null || id <= 0) {
|
return ResponseValue.error("编辑的部门不存在");
|
}
|
if (StringUtils.isEmpty(department.getName())) {
|
return ResponseValue.error("部门名称为空");
|
}
|
if (StringUtils.isEmpty(department.getCode())) {
|
return ResponseValue.error("部门编号为空");
|
}
|
FinSysTenantUser sysInfo = this.getSysInfo();
|
if (sysInfo == null) {
|
return ResponseValue.error("登录用户信息不存在");
|
}
|
FinSysTenantDepartment tenantDepartment = this.departmentService.selectByCode(department.getCode());
|
if (tenantDepartment != null) {
|
return ResponseValue.error("部门编号已存在");
|
}
|
int num = this.departmentService.updateFinSysTenantDepartment(department, sysInfo);
|
return num > 0 ? ResponseValue.success() : ResponseValue.error("编辑失败!");
|
}
|
|
/**
|
* 根据部门id查询部门详情
|
*
|
* @author 卢庆阳
|
* @Date 2023/10/26
|
*/
|
@GetMapping("/detail")
|
public ResponseValue getById(Long id) {
|
if (id == null) {
|
return ResponseValue.error("部门id为空");
|
}
|
FinSysTenantDepartment department = this.departmentService.getById(id);
|
if (department == null) {
|
return ResponseValue.error("查询失败!");
|
}
|
return ResponseValue.success("查询成功!", department);
|
}
|
|
/**
|
* @Description 根据id删除部门
|
* @Author 卢庆阳
|
* @Date 2023/10/26
|
*/
|
@DeleteMapping("/del")
|
public ResponseValue updateById(@RequestBody FinSysTenantDepartment department) {
|
if (department.getId() == null) {
|
return ResponseValue.error("部门id为空");
|
}
|
FinSysTenantUser sysInfo = this.getSysInfo();
|
if (sysInfo == null) {
|
return ResponseValue.error("登录用户信息不存在");
|
}
|
int num = this.departmentService.updateById(department, sysInfo);
|
|
return num > 0 ? ResponseValue.success(1) : ResponseValue.error("删除失败!");
|
}
|
|
|
}
|