luqingyang
2023-10-26 a085e789a2225fd88b4f739828273e0a85b1fb13
部门管理 相关代码
3个文件已添加
2个文件已修改
391 ■■■■■ 已修改文件
consum-base/src/main/java/com/consum/base/Constants.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/BaseCategoryController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/FinSysTenantDepartmentParam.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/FinSysTenantDepartmentServiceImpl.java 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/Constants.java
@@ -53,4 +53,9 @@
    public static final Integer STATES_DISABLE = 2;
    public static final Integer STATES_DELETED = 3;
    //is_delete 逻辑删除(0 否 1 是)
    public static final Integer IS_DELETE_NO = 0;
    public static final Integer IS_DELETE_YES = 1;
}
consum-base/src/main/java/com/consum/base/controller/BaseCategoryController.java
@@ -86,11 +86,7 @@
        if (baseCategory.getOrderNumber() == null) {
            return ResponseValue.error("顺序号为空");
        }
        //判断同一父类id下分类名称是否重复
        BaseCategory category = this.baseCategoryService.getByCategoryNameAndFatherCategoryId(baseCategory.getCategoryName(), baseCategory.getFatherCategoryId());
        if (category != null) {
            return ResponseValue.error("分类名称已存在");
        }
        S_user_core currentUser = this.getCurrentUser();
        if (currentUser == null) {
            return ResponseValue.error("登录用户信息不存在");
consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java
New file
@@ -0,0 +1,138 @@
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.BaseCategory;
import com.consum.model.po.FinSysTenant;
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.*;
/**
 * @Description 部门管理
 * @Author 卢庆阳
 * @Date 2023/10/26
 */
@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/25
     */
    @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(1);
        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);
    }
    /**
     * @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("登录用户信息不存在");
        }
        int num = this.departmentService.updateFinSysTenantDepartment(department,sysInfo);
        return num > 0 ? ResponseValue.success(1) : 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("删除失败!");
    }
}
consum-base/src/main/java/com/consum/base/pojo/FinSysTenantDepartmentParam.java
New file
@@ -0,0 +1,90 @@
package com.consum.base.pojo;
import com.walker.web.param.ParamRequest;
public class FinSysTenantDepartmentParam extends ParamRequest {
    /**
     * id
     */
    private Long id;
    /**
     * 编号
     */
    private String code;
    /**
     * 部门名称
     */
    private String name;
    /**
     * 顺序号
     */
    private Integer orderNum;
    /**
     * 状态
     */
    private Integer status;
    /**
     * 备注
     */
    private String summary;
    /**
     * 机构id
     */
    private Long tenantId;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getOrderNum() {
        return orderNum;
    }
    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    public String getSummary() {
        return summary;
    }
    public void setSummary(String summary) {
        this.summary = summary;
    }
    public Long getTenantId() {
        return tenantId;
    }
    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }
}
consum-base/src/main/java/com/consum/base/service/FinSysTenantDepartmentServiceImpl.java
New file
@@ -0,0 +1,152 @@
package com.consum.base.service;
import com.consum.base.Constants;
import com.consum.base.pojo.FinSysTenantDepartmentParam;
import com.consum.base.util.IdUtil;
import com.consum.model.po.BaseCategory;
import com.consum.model.po.FinSysTenant;
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.DateUtils;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
/**
 * @Description 部门管理
 * @Author 卢庆阳
 * @Date 2023/10/26
 */
@Service
public class FinSysTenantDepartmentServiceImpl extends BaseServiceImpl {
    private static final String QUERY_BY_CODE = "SELECT * FROM fin_sys_tenant_department WHERE CODE = ?";
    /**
     * @Description  根据 部门名称和机构id 查询部门
     * @Author 卢庆阳
     * @Date 2023/10/26
     */
    public FinSysTenantDepartment getByNameAndTenantId(String name,Long tenantId) {
        StringBuilder sql = new StringBuilder("SELECT * FROM fin_sys_tenant_department WHERE 1 = 1 ");
        HashMap<String, Object> paramts = new HashMap<>();
        //部门名称
        if (!StringUtils.isEmpty(name)) {
            sql.append(" and name =:name ");
            paramts.put("name", name);
        }
        //机构id
        if (tenantId != null) {
            sql.append(" and TENANT_ID =:TENANT_ID ");
            paramts.put("TENANT_ID", tenantId);
        }
        return this.get(sql.toString(), paramts, new FinSysTenantDepartment());
    }
    /**
     * @Description  新增
     * @Author 卢庆阳
     * @Date 2023/10/26
     */
    public int add(FinSysTenantDepartmentParam param, FinSysTenantUser sysInfo) {
        FinSysTenantDepartment department = new FinSysTenantDepartment();
        BeanUtils.copyProperties(param, department);
        department.setId(IdUtil.generateId());
        //创建人姓名
        department.setCreateBy(sysInfo.getUserName());
        //创建时间
        department.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
        return this.insert(department);
    }
    /**
     * @Description 部门列表查询
     * @Author 卢庆阳
     * @Date 2023/10/26
     */
    public GenericPager<FinSysTenantDepartment> queryList(FinSysTenantDepartmentParam param) {
        StringBuilder sql = new StringBuilder("SELECT * FROM fin_sys_tenant_department WHERE 1 = 1 and is_delete = 0 ");
        HashMap<String, Object> paramts = new HashMap<>();
        //部门名称
        if (!StringUtils.isEmpty(param.getName())) {
            sql.append(" and name like:name ");
            paramts.put("name", StringUtils.CHAR_PERCENT + param.getName() + StringUtils.CHAR_PERCENT);
        }
        //编号
        if (!StringUtils.isEmpty(param.getCode())) {
            sql.append(" and code like:code ");
            paramts.put("code", StringUtils.CHAR_PERCENT + param.getCode() + StringUtils.CHAR_PERCENT);
        }
        //状态
        if (param.getStatus() != null) {
            sql.append(" and status =:status ");
            paramts.put("status", param.getStatus());
        }
        //机构id
        if (param.getTenantId() != null) {
            sql.append(" and TENANT_ID =:TENANT_ID ");
            paramts.put("TENANT_ID", param.getTenantId());
        } else {
            sql.append(" and TENANT_ID = 100 ");
        }
        sql.append(" ORDER BY ORDER_NUM,CREATE_TIME DESC ");
        return selectSplit(sql.toString(), paramts, new FinSysTenantDepartment());
    }
    public FinSysTenantDepartment selectByCode(String code) {
        List<FinSysTenantDepartment> select = this.select(QUERY_BY_CODE, new Object[]{code}, new FinSysTenantDepartment());
        if (StringUtils.isEmptyList(select)) {
            return null;
        } else {
            return select.get(0);
        }
    }
    /**
     * @Description 编辑
     * @Author 卢庆阳
     * @Date 2023/10/26
     */
    public int updateFinSysTenantDepartment(FinSysTenantDepartment department, FinSysTenantUser sysInfo) {
        department.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
        department.setUpdateBy(sysInfo.getUserName());
        return this.update(department);
    }
    /**
     * 根据部门id查询部门详情
     * @author 卢庆阳
     * @Date 2023/10/26
     */
    public FinSysTenantDepartment getById(Long id) {
        return this.get(new FinSysTenantDepartment(id));
    }
    /**
     * @Description 根据id删除部门
     * @Author 卢庆阳
     * @Date 2023/10/26
     * @param department
     * @param currentUser
     */
    public int updateById(FinSysTenantDepartment department, FinSysTenantUser currentUser) {
        department.setIsDelete(Constants.IS_DELETE_YES);
        //删除时间
        department.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
        //删除人姓名
        department.setUpdateBy(currentUser.getUserName());
        return this.update(department);
    }
}