From d2048c247c446be08598abf8e1bc11a4ea77be32 Mon Sep 17 00:00:00 2001 From: luqingyang <lqy5492@163.com> Date: 星期三, 25 十月 2023 16:41:49 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- consum-base/src/main/java/com/consum/base/service/FinOrgServiceImpl.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 103 insertions(+), 0 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/FinOrgServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/FinOrgServiceImpl.java new file mode 100644 index 0000000..c68b75f --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/service/FinOrgServiceImpl.java @@ -0,0 +1,103 @@ +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"; + + /** + * 鏍规嵁鏈烘瀯浠g爜锛屾煡璇㈠敮涓�鏈烘瀯瀵硅薄銆� + * @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 鐨刬d 鍜宲artentId 杩欓噷鏀规垚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()); + } +} -- Gitblit v1.9.1