package com.consum.base.service;
|
|
import com.consum.model.po.FinSysOrg;
|
import com.iplatform.model.po.S_dept;
|
import com.walker.infrastructure.utils.StringUtils;
|
import com.walker.jdbc.service.BaseServiceImpl;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Service
|
public class FinOrgServiceImpl extends BaseServiceImpl {
|
|
private static final String QUERY_SYS_ORG_BY_TENANT_ID = "select * from FIN_SYS_ORG where TENANT_ID = ?";
|
private static final String QUERY_TREE_ALL = "select * from FIN_SYS_ORG where org_type = ? order by parent_id, LV ASC";
|
private static final String QUERY_TREE_ONE = "select * from FIN_SYS_ORG where org_type = ? and parent_id = ? order by parent_id, LV ASC";
|
private static final String QUERY_SYS_ORG_BY_ORGID = "SELECT * FROM FIN_SYS_ORG WHERE PARENT_ID IN (\n" +
|
"SELECT PARENT_ID FROM FIN_SYS_ORG where ID = ? AND ORG_TYPE = ?) ORDER BY ORG_CODE ASC";
|
|
/**
|
* 根据机构代码,查询唯一机构对象。
|
* @param orgCode
|
* @return
|
* @date 2023-07-05
|
*/
|
public FinSysOrg queryOneByCode(String orgCode){
|
FinSysOrg org = new FinSysOrg();
|
org.setOrgCode(orgCode);
|
List<FinSysOrg> orgList = this.select(org);
|
if(!StringUtils.isEmptyList(orgList)){
|
return orgList.get(0);
|
}
|
return null;
|
}
|
|
/**
|
* 批量写入新的机构集合。
|
* @param finSysOrgList
|
* @date 2023-07-05
|
*/
|
public List<S_dept> execBatchInsertOrgList(List<FinSysOrg> finSysOrgList){
|
if(StringUtils.isEmptyList(finSysOrgList)){
|
return null;
|
}
|
List<S_dept> deptList = new ArrayList<>(finSysOrgList.size());
|
for(FinSysOrg e : finSysOrgList){
|
deptList.add(this.acquirePlatformDept(e));
|
}
|
this.insertBatch(deptList);
|
this.insertBatch(finSysOrgList);
|
return deptList;
|
}
|
|
private S_dept acquirePlatformDept(FinSysOrg finSysOrg){
|
S_dept dept = new S_dept();
|
dept.setId(Long.valueOf(finSysOrg.getId())); // FinSysOrg 的id 和partentId 这里改成String类型了
|
dept.setDept_name(finSysOrg.getName());
|
dept.setOrder_num(finSysOrg.getOrderNum());
|
dept.setOrg_type(finSysOrg.getOrgType());
|
dept.setCreate_time(finSysOrg.getCreateTime());
|
|
if(finSysOrg.getParentId() != null){
|
//if(finSysOrg.getParentId().longValue() == 0){
|
if(finSysOrg.getParentId() == null){
|
// 父节点不存在,
|
dept.setAncestors("0");
|
} else {
|
dept.setAncestors(String.valueOf(finSysOrg.getParentId()));
|
}
|
dept.setOrg_id(Long.valueOf(finSysOrg.getParentId()));
|
dept.setParent_id(Long.valueOf(finSysOrg.getParentId()));
|
} else {
|
dept.setAncestors("0");
|
dept.setOrg_id(dept.getId());
|
dept.setParent_id(0L);
|
}
|
return dept;
|
}
|
|
/**
|
* @Description 查询机构树
|
* @Author wh
|
* @Date 2023/7/11 11:32
|
*/
|
public List<FinSysOrg> queryOrgListForTree(int orgType, Long parentId) {
|
if (parentId <= 0) {
|
// 展示全部节点
|
return this.select(QUERY_TREE_ALL, new Object[]{orgType}, new FinSysOrg());
|
} else {
|
// 显示指定下级
|
return this.select(QUERY_TREE_ONE, new Object[]{orgType, parentId}, new FinSysOrg());
|
}
|
}
|
|
public List<FinSysOrg> getAllSysOrgByPhone(String orgId, Integer orgType) {
|
return this.select(QUERY_SYS_ORG_BY_ORGID, new Object[]{orgId, orgType}, new FinSysOrg());
|
}
|
|
public List<FinSysOrg> getByTenantId(String tenantId) {
|
return this.select(QUERY_SYS_ORG_BY_TENANT_ID, new Object[]{tenantId}, new FinSysOrg());
|
}
|
}
|