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;
|
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.DateUtils;
|
import com.walker.infrastructure.utils.StringUtils;
|
import com.walker.jdbc.service.BaseServiceImpl;
|
|
/**
|
* @Description 部门管理
|
* @Author 卢庆阳
|
* @Date 2023/10/26
|
*/
|
@Service
|
public class FinSysTenantDepartmentServiceImpl extends BaseServiceImpl implements FinSysTenantDepartmentService {
|
|
/**
|
* @Description 根据 部门名称和机构id 查询部门
|
* @Author 卢庆阳
|
* @Date 2023/10/26
|
*/
|
@Override
|
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
|
if (tenantId != null) {
|
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());
|
}
|
|
/**
|
* @Description 新增
|
* @Author 卢庆阳
|
* @Date 2023/10/26
|
*/
|
@Override
|
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
|
*/
|
@Override
|
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 =: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());
|
}
|
|
/**
|
* @Description 编辑
|
* @Author 卢庆阳
|
* @Date 2023/10/26
|
*/
|
@Override
|
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
|
*/
|
@Override
|
public FinSysTenantDepartment getById(Long id) {
|
return this.get(new FinSysTenantDepartment(id));
|
}
|
|
/**
|
* @param department
|
* @param currentUser
|
* @Description 根据id删除部门
|
* @Author 卢庆阳
|
* @Date 2023/10/26
|
*/
|
@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);
|
}
|
|
/**
|
* 根据机构id查询部门
|
*
|
* @param agencyId
|
* @return
|
*/
|
@Override
|
public List<FinSysTenantDepartment> getByTenantId(Long agencyId) {
|
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);
|
}
|
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;
|
}
|
}
|