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