黎星凯
2024-04-15 62b6a7fac3f2acde70b578431147c4a01f19c182
consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java
@@ -1,59 +1,87 @@
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.FinSysTenantServiceImpl;
import com.consum.model.po.BaseCategory;
import com.consum.model.po.FinSysTenant;
import com.consum.base.service.FinSysTenantDepartmentService;
import com.consum.model.po.FinSysTenantDepartment;
import com.consum.model.po.FinSysTenantUser;
import com.iplatform.model.po.S_user_core;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.web.ResponseValue;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
/**
 * @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;
    private FinSysTenantDepartmentService departmentService;
    /**
     * @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) {
    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(1);
        if (result > 0) {
            return ResponseValue.success();
        }
        return ResponseValue.error("新增失败!");
    }
@@ -62,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("登录用户信息不存在");
@@ -73,34 +106,70 @@
        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);
        finSysTenantDepartment.setStatus(StatesType.NORMAL.getValue());
        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();
    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("登录用户信息不存在");
        }
        int num = this.departmentService.updateFinSysTenantDepartment(department,sysInfo);
        return num > 0 ? ResponseValue.success(1) : ResponseValue.error("编辑失败!");
        FinSysTenantDepartment tenantDepartment =
            this.departmentService.getTenantDepartment(null, param.getTenantId(), param.getCode());
        if (tenantDepartment != null) {
            //return ResponseValue.error("部门编号已存在");
        }
        // 部门编号
        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("编辑失败!");
    }
    /**
     * 根据部门id查询部门详情
     *
     * @author 卢庆阳
     * @Date 2023/10/26
     */
@@ -110,7 +179,9 @@
            return ResponseValue.error("部门id为空");
        }
        FinSysTenantDepartment department = this.departmentService.getById(id);
        if (department == null) return ResponseValue.error("查询失败!");
        if (department == null) {
            return ResponseValue.error("查询失败!");
        }
        return ResponseValue.success("查询成功!", department);
    }
@@ -120,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("删除失败!");
    }
}