consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantDepartmentServiceImpl.java
@@ -1,5 +1,11 @@
package com.consum.base.service.impl;
import java.util.HashMap;
import java.util.List;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.consum.base.Constants;
import com.consum.base.core.utils.IdUtil;
import com.consum.base.pojo.FinSysTenantDepartmentParam;
@@ -10,12 +16,6 @@
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.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
 * @Description 部门管理
@@ -25,28 +25,32 @@
@Service
public class FinSysTenantDepartmentServiceImpl extends BaseServiceImpl implements FinSysTenantDepartmentService {
    private static final String QUERY_BY_CODE = "SELECT * FROM fin_sys_tenant_department WHERE CODE = ?";
    /**
     * @Description 根据 部门名称和机构id 查询部门
     * @Author 卢庆阳
     * @Date 2023/10/26
     */
    @Override
    public FinSysTenantDepartment getByNameAndTenantId(String name, Long tenantId) {
    public FinSysTenantDepartment getTenantDepartment(String name, Long tenantId, String code) {
        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
        // 机构id
        if (tenantId != null) {
            sql.append(" and TENANT_ID =:TENANT_ID ");
            paramts.put("TENANT_ID", tenantId);
            sql.append(" and TENANT_ID =:tenantId ");
            paramts.put("tenantId", tenantId);
        }
        if (!StringUtils.isEmpty(code)) {
            sql.append("and CODE = :code ");
            paramts.put("code", code);
        }
        sql.append("and status = 1");
        return this.get(sql.toString(), paramts, new FinSysTenantDepartment());
    }
@@ -61,9 +65,9 @@
        BeanUtils.copyProperties(param, department);
        department.setId(IdUtil.generateId());
        //创建人姓名
        // 创建人姓名
        department.setCreateBy(sysInfo.getUserName());
        //创建时间
        // 创建时间
        department.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
        return this.insert(department);
@@ -79,48 +83,31 @@
        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
        // 机构id
        if (param.getTenantId() != null) {
            sql.append(" and TENANT_ID =:TENANT_ID ");
            paramts.put("TENANT_ID", param.getTenantId());
            sql.append(" and TENANT_ID =:tenantId ");
            paramts.put("tenantId", 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());
    }
    @Override
    public FinSysTenantDepartment selectByCode(String code, Long id) {
        StringBuilder sql = new StringBuilder(QUERY_BY_CODE);
        ArrayList<Object> param = new ArrayList<>(2);
        param.add(code);
        if (id != null) {
            sql.append(" and id != ?");
            param.add(id);
        }
        List<FinSysTenantDepartment> select = this.select(sql.toString(), param.toArray(), new FinSysTenantDepartment());
        if (StringUtils.isEmptyList(select)) {
            return null;
        } else {
            return select.get(0);
        }
    }
    /**
@@ -156,9 +143,9 @@
    @Override
    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);
    }
@@ -174,11 +161,33 @@
        StringBuilder sql = new StringBuilder("SELECT * FROM fin_sys_tenant_department WHERE 1 = 1 and is_delete = 0 ");
        HashMap<String, Object> paramts = new HashMap<>();
        //机构id
        // 机构id
        if (agencyId != null) {
            sql.append(" and TENANT_ID =:TENANT_ID ");
            paramts.put("TENANT_ID", agencyId);
            sql.append(" and TENANT_ID =:tenantId ");
            paramts.put("tenantId", agencyId);
        }
        return this.select(sql.toString(), paramts, new FinSysTenantDepartment());
    }
    @Override
    public FinSysTenantDepartment getByTenantIdAndName(Long agencyId, String name) {
        StringBuilder sql = new StringBuilder("SELECT * FROM fin_sys_tenant_department WHERE 1 = 1 and is_delete = 0 ");
        HashMap<String, Object> paramts = new HashMap<>();
        // 机构id
        if (agencyId != null) {
            sql.append(" and TENANT_ID =:tenantId ");
            paramts.put("tenantId", agencyId);
        }
        // name
        if (name != null) {
            sql.append(" and name =:name ");
            paramts.put("name", name);
        }
        List<FinSysTenantDepartment> select = this.select(sql.toString(), paramts, new FinSysTenantDepartment());
        if(select!=null && select.size()>0){
            return select.get(0);
        }
        return null;
    }
}