黎星凯
2024-04-15 62b6a7fac3f2acde70b578431147c4a01f19c182
consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java
@@ -1,25 +1,30 @@
package com.consum.base.controller;
import java.util.List;
import cn.hutool.core.collection.CollectionUtil;
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.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.consum.base.BaseController;
import com.consum.base.core.type.StatesType;
import com.consum.base.core.utils.CommonUtil;
import com.consum.base.pojo.FinSysTenantDepartmentParam;
import com.consum.base.service.FinSysTenantDepartmentServiceImpl;
import com.consum.base.service.FinSysTenantDepartmentService;
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 部门管理
@@ -32,7 +37,7 @@
public class FinSysTenantDepartmentController extends BaseController {
    @Autowired
    private FinSysTenantDepartmentServiceImpl departmentService;
    private FinSysTenantDepartmentService departmentService;
    /**
     * @Description 新增
@@ -41,26 +46,38 @@
     */
    @ApiOperation(value = "新增", notes = "新增")
    @ApiImplicitParams(value = {
        @ApiImplicitParam(name = "param", value = "部门信息", required = true, dataType = "FinSysTenantDepartmentParam")
    })
        @ApiImplicitParam(name = "param", value = "部门信息", required = true, dataType = "FinSysTenantDepartmentParam")})
    @PostMapping("/add")
    public ResponseValue add(@RequestBody FinSysTenantDepartmentParam param) {
    public ResponseValue add() {
        FinSysTenantDepartmentParam param = CommonUtil.getObjFromReqBody(FinSysTenantDepartmentParam.class);
        FinSysTenantDepartmentParam finSysTenantDepartmentParam = new FinSysTenantDepartmentParam();
        CommonUtil.copyProperties(param, finSysTenantDepartmentParam);
        param = finSysTenantDepartmentParam;
        if (StringUtils.isEmpty(param.getName())) {
            return ResponseValue.error("部门名称为空");
        }
        if (StringUtils.isEmpty(param.getCode())) {
            return ResponseValue.error("编号为空");
        }
        FinSysTenantDepartment tenantDepartment = this.departmentService.selectByCode(param.getCode());
        FinSysTenantDepartment tenantDepartment =
            departmentService.getTenantDepartment(null, param.getTenantId(), param.getCode());
        if (tenantDepartment != null) {
            return ResponseValue.error("部门编号已存在");
        }
        //判断同一机构id下 部门名称 是否重复
        FinSysTenantDepartment department = this.departmentService.getByNameAndTenantId(param.getName(), param.getTenantId());
        // 判断同一机构id下 部门名称 是否重复
        FinSysTenantDepartment department =
            departmentService.getTenantDepartment(param.getName(), param.getTenantId(), null);
        if (department != null) {
            return ResponseValue.error("部门名称已存在");
        }
        // 部门编号
        FinSysTenantDepartmentParam finSysTenantDepartmentParam1 = new FinSysTenantDepartmentParam();
        finSysTenantDepartmentParam1.setCode(param.getCode());
        List<FinSysTenantDepartment> datas = departmentService.queryDataList(finSysTenantDepartmentParam1);
        if(!CollectionUtil.isEmpty(datas)){
            return ResponseValue.error("此编号已存在");
        }
        int result = this.departmentService.add(param, this.getSysInfo());
        if (result > 0) {
            return ResponseValue.success();
@@ -73,9 +90,14 @@
     * @Author 卢庆阳
     * @Date 2023/10/26
     */
    //如果不传机构id,默认查省级机构的部门
    // 如果不传机构id,默认查省级机构的部门
    @GetMapping("/list")
    public ResponseValue queryList(FinSysTenantDepartmentParam param) {
    public ResponseValue queryList() {
        FinSysTenantDepartmentParam param = CommonUtil.getObjFromReq(FinSysTenantDepartmentParam.class);
        FinSysTenantDepartmentParam param2 = new FinSysTenantDepartmentParam();
        CommonUtil.copyProperties(param, param2);
        param = param2;
        FinSysTenantUser sysInfo = this.getSysInfo();
        if (sysInfo == null) {
            return ResponseValue.error("登录用户信息不存在");
@@ -84,11 +106,9 @@
        return ResponseValue.success(pager);
    }
    @ApiOperation(value = "根据机构id查询所有部门列表信息", notes = "根据机构id查询所有部门列表信息")
    @ApiImplicitParams(value = {
        @ApiImplicitParam(name = "param", value = "部门信息", required = true, dataType = "FinSysTenantDepartmentParam")
    })
        @ApiImplicitParam(name = "param", value = "部门信息", required = true, dataType = "FinSysTenantDepartmentParam")})
    @GetMapping("/list/all")
    public ResponseValue queryAllDepartment(Long tenantId) {
        FinSysTenantUser sysInfo = this.getSysInfo();
@@ -97,6 +117,7 @@
        }
        FinSysTenantDepartment finSysTenantDepartment = new FinSysTenantDepartment();
        finSysTenantDepartment.setTenantId(tenantId);
        finSysTenantDepartment.setStatus(StatesType.NORMAL.getValue());
        List<FinSysTenantDepartment> finSysTenantDepartments = this.departmentService.select(finSysTenantDepartment);
        return ResponseValue.success(finSysTenantDepartments);
    }
@@ -107,26 +128,42 @@
     * @Date 2023/10/26
     */
    @PostMapping("/edit")
    public ResponseValue edit(@RequestBody FinSysTenantDepartment department) {
        Long id = department.getId();
    public ResponseValue edit() {
        FinSysTenantDepartment param = CommonUtil.getObjFromReqBody(FinSysTenantDepartment.class);
        FinSysTenantDepartment finSysTenantDepartment = new FinSysTenantDepartment();
        CommonUtil.copyProperties(param, finSysTenantDepartment);
        param = finSysTenantDepartment;
        Long id = param.getId();
        if (id == null || id <= 0) {
            return ResponseValue.error("编辑的部门不存在");
        }
        if (StringUtils.isEmpty(department.getName())) {
        if (StringUtils.isEmpty(param.getName())) {
            return ResponseValue.error("部门名称为空");
        }
        if (StringUtils.isEmpty(department.getCode())) {
        if (StringUtils.isEmpty(param.getCode())) {
            return ResponseValue.error("部门编号为空");
        }
        FinSysTenantUser sysInfo = this.getSysInfo();
        if (sysInfo == null) {
            return ResponseValue.error("登录用户信息不存在");
        }
        FinSysTenantDepartment tenantDepartment = this.departmentService.selectByCode(department.getCode());
        FinSysTenantDepartment tenantDepartment =
            this.departmentService.getTenantDepartment(null, param.getTenantId(), param.getCode());
        if (tenantDepartment != null) {
            return ResponseValue.error("部门编号已存在");
            //return ResponseValue.error("部门编号已存在");
        }
        int num = this.departmentService.updateFinSysTenantDepartment(department, sysInfo);
        // 部门编号
        FinSysTenantDepartmentParam finSysTenantDepartmentParam1 = new FinSysTenantDepartmentParam();
        finSysTenantDepartmentParam1.setCode(param.getCode());
        List<FinSysTenantDepartment> datas = departmentService.queryDataList(finSysTenantDepartmentParam1);
        if(!CollectionUtil.isEmpty(datas)){
            FinSysTenantDepartment finSysTenantDepartment1 = datas.get(0);
            if(!finSysTenantDepartment1.getId().equals(param.getId())){
                return ResponseValue.error("此编号已存在");
            }
        }
        int num = this.departmentService.updateFinSysTenantDepartment(param, sysInfo);
        return num > 0 ? ResponseValue.success() : ResponseValue.error("编辑失败!");
    }
@@ -154,19 +191,22 @@
     * @Date 2023/10/26
     */
    @DeleteMapping("/del")
    public ResponseValue updateById(@RequestBody FinSysTenantDepartment department) {
        if (department.getId() == null) {
    public ResponseValue updateById() {
        FinSysTenantDepartment param = CommonUtil.getObjFromReqBody(FinSysTenantDepartment.class);
        FinSysTenantDepartment finSysTenantDepartment = new FinSysTenantDepartment();
        CommonUtil.copyProperties(param, finSysTenantDepartment);
        param = finSysTenantDepartment;
        if (param.getId() == null) {
            return ResponseValue.error("部门id为空");
        }
        FinSysTenantUser sysInfo = this.getSysInfo();
        if (sysInfo == null) {
            return ResponseValue.error("登录用户信息不存在");
        }
        int num = this.departmentService.updateById(department, sysInfo);
        int num = this.departmentService.updateById(param, sysInfo);
        return num > 0 ? ResponseValue.success(1) : ResponseValue.error("删除失败!");
    }
}