diff --git a/science-admin/src/main/java/com/yiboshi/science/rest/v1/SystemParameterController.java b/science-admin/src/main/java/com/yiboshi/science/rest/v1/SystemParameterController.java
index 4ba6142b1e36915dde8497f9fa4e5888a407bb82..83e7740f039ccfb9cfbd359c66845cca97c54c42 100644
--- a/science-admin/src/main/java/com/yiboshi/science/rest/v1/SystemParameterController.java
+++ b/science-admin/src/main/java/com/yiboshi/science/rest/v1/SystemParameterController.java
@@ -4,6 +4,7 @@ import com.yiboshi.arch.base.ResponseDataModel;
 import com.yiboshi.science.base.Pagination;
 import com.yiboshi.science.config.annotation.Anonymous;
 import com.yiboshi.science.config.annotation.Logs;
+import com.yiboshi.science.entity.SelectCodeListItem;
 import com.yiboshi.science.entity.SelectListItem;
 import com.yiboshi.science.entity.SystemParameter;
 import com.yiboshi.science.enumeration.CommonEnum;
@@ -155,9 +156,17 @@ public class SystemParameterController extends BaseController<SystemParameterSer
 
     @ApiOperation(value = "获取学科代码树列表", httpMethod = "GET", notes = "获取学科代码树列表")
     @GetMapping
-    @RequestMapping("/getKnowledgeParameterTreeList")
-    public ResponseDataModel<List<SelectListItem>> getKnowledgeParameterTreeList() {
-        List<SelectListItem> list = systemParameterService.getKnowledgeInfoList();
+    @RequestMapping("/getKnowledgeInfoList1")
+    public ResponseDataModel<List<SelectListItem>> getKnowledgeInfoList1() {
+        List<SelectListItem> list = systemParameterService.getKnowledgeInfoList1();
+        return ResponseDataModel.ok(list);
+    }
+
+    @ApiOperation(value = "获取学科代码树列表", httpMethod = "GET", notes = "获取学科代码树列表")
+    @GetMapping
+    @RequestMapping("/getKnowledgeInfoList2")
+    public ResponseDataModel<List<SelectCodeListItem>> getKnowledgeInfoList2() {
+        List<SelectCodeListItem> list = systemParameterService.getKnowledgeInfoList2();
         return ResponseDataModel.ok(list);
     }
 
diff --git a/science-admin/src/main/java/com/yiboshi/science/service/SystemParameterService.java b/science-admin/src/main/java/com/yiboshi/science/service/SystemParameterService.java
index 059ce19dda4af2ec1aeb2f3e047bab22f672d69c..2ac0ec036e25f681d26fc98cb63d4e9743fe8fea 100644
--- a/science-admin/src/main/java/com/yiboshi/science/service/SystemParameterService.java
+++ b/science-admin/src/main/java/com/yiboshi/science/service/SystemParameterService.java
@@ -1,5 +1,6 @@
 package com.yiboshi.science.service;
 import com.yiboshi.science.base.BaseService;
+import com.yiboshi.science.entity.SelectCodeListItem;
 import com.yiboshi.science.entity.SelectListItem;
 import com.yiboshi.science.entity.SystemParameter;
 import com.yiboshi.science.param.dto.SpecDTO;
@@ -99,10 +100,16 @@ public interface SystemParameterService extends BaseService<SystemParameterQuery
     List<SystemParameter> getParameterListBySystemCode(String SystemCodeOrName);
 
     /**
-     * 获取学科代码树列表
+     * 获取学科代码树列表1
      * @return
      */
-    List<SelectListItem> getKnowledgeInfoList();
+    List<SelectListItem> getKnowledgeInfoList1();
+
+    /**
+     * 获取学科代码树列表1
+     * @return
+     */
+    List<SelectCodeListItem> getKnowledgeInfoList2();
 
     /**
      * 专业数组代码列表
diff --git a/science-admin/src/main/java/com/yiboshi/science/service/impl/SystemParameterServiceImpl.java b/science-admin/src/main/java/com/yiboshi/science/service/impl/SystemParameterServiceImpl.java
index 31a216bae685e6b35d65348dccd7bfbbe7ae1b31..33e7316d9a5b29cb65f0f380d0e002cf7bb2b840 100644
--- a/science-admin/src/main/java/com/yiboshi/science/service/impl/SystemParameterServiceImpl.java
+++ b/science-admin/src/main/java/com/yiboshi/science/service/impl/SystemParameterServiceImpl.java
@@ -6,6 +6,7 @@ import com.yiboshi.arch.exception.BusinessException;
 import com.yiboshi.science.base.BaseServiceImpl;
 import com.yiboshi.science.base.Pagination;
 import com.yiboshi.science.dao.SystemParameterDAO;
+import com.yiboshi.science.entity.SelectCodeListItem;
 import com.yiboshi.science.entity.SelectListItem;
 import com.yiboshi.science.entity.SystemParameter;
 import com.yiboshi.science.entity.SystemParameterType;
@@ -333,19 +334,31 @@ public class SystemParameterServiceImpl extends BaseServiceImpl<SystemParameterD
         return findList;
     }
 
-    public List<SelectListItem> getKnowledgeInfoList() {
+    public List<SelectListItem> getKnowledgeInfoList1() {
         List<SelectListItem> list = null;
-        Object obj = redisUtils.get(RedisKey.KnowledgeCodeList);
+        Object obj = redisUtils.get(RedisKey.KnowledgeCodeList1);
         if (null != obj)
-            list = (List<SelectListItem>) redisUtils.get(RedisKey.KnowledgeCodeList);
+            list = (List<SelectListItem>) redisUtils.get(RedisKey.KnowledgeCodeList1);
         if (null == list || list.size() == 0) {
-            list = getKnowledgeParameterTreeList();
-            redisUtils.set(RedisKey.KnowledgeCodeList, list, 7, TimeUnit.DAYS);
+            list = getKnowledgeParameterTreeList1();
+            redisUtils.set(RedisKey.KnowledgeCodeList1, list, 7, TimeUnit.DAYS);
         }
         return list;
     }
 
-    private List<SelectListItem> getKnowledgeParameterTreeList() {
+    public List<SelectCodeListItem> getKnowledgeInfoList2() {
+        List<SelectCodeListItem> list = null;
+        Object obj = redisUtils.get(RedisKey.KnowledgeCodeList2);
+        if (null != obj)
+            list = (List<SelectCodeListItem>) redisUtils.get(RedisKey.KnowledgeCodeList2);
+        if (null == list || list.size() == 0) {
+            list = getKnowledgeParameterTreeList2();
+            redisUtils.set(RedisKey.KnowledgeCodeList2, list, 7, TimeUnit.DAYS);
+        }
+        return list;
+    }
+
+    private List<SelectListItem> getKnowledgeParameterTreeList1() {
         List<SystemParameter> parentList = this.getListByType(68);
 
         List<SelectListItem> list = new ArrayList<>();
@@ -377,6 +390,38 @@ public class SystemParameterServiceImpl extends BaseServiceImpl<SystemParameterD
         return SelectList;
     }
 
+    private List<SelectCodeListItem> getKnowledgeParameterTreeList2() {
+        List<SystemParameter> parentList = this.getListByType(68);
+
+        List<SelectCodeListItem> list = new ArrayList<>();
+        List<SystemParameter> FirstList = parentList.stream().filter(e -> e.getSystemCode().equals("C") || e.getSystemCode().equals("G") || e.getSystemCode().equals("H") || e.getSystemCode().equals("F")).collect(Collectors.toList());
+        FirstList.forEach(e -> {
+            SelectCodeListItem treeListItem = new SelectCodeListItem(e.getName(), e.getId(), e.getSystemCode(), false, false, new ArrayList<>());
+            list.add(treeListItem);
+        });
+
+        list.forEach(e -> {
+            List<SelectCodeListItem> SecondList = AddChildList(parentList, e, 3);
+            e.setChildren(SecondList);
+            SecondList.forEach(f -> {
+                List<SelectCodeListItem> ThirdList = AddChildList(parentList, f, 5);
+                f.setChildren(ThirdList);
+            });
+        });
+
+        return list;
+    }
+
+    private List<SelectCodeListItem> AddChildList(List<SystemParameter> parentList, SelectCodeListItem s, int CodeLenght) {
+        List<SelectCodeListItem> SelectList = new ArrayList<>();
+        List<SystemParameter> itemList = parentList.stream().filter(f -> f.getSystemCode().contains(s.getDescription()) && f.getSystemCode().length() == CodeLenght).collect(Collectors.toList());
+        itemList.forEach(e -> {
+            SelectCodeListItem treeListItem = new SelectCodeListItem(e.getName(), e.getId(), e.getSystemCode(), false, false, new ArrayList<>());
+            SelectList.add(treeListItem);
+        });
+        return SelectList;
+    }
+
     public List<SpecDTO> getSpecArray() {
         List<SpecDTO> list = null;
         Object obj = redisUtils.get(RedisKey.SpecArrayList);
diff --git a/science-admin/src/main/java/com/yiboshi/science/utils/RedisKey.java b/science-admin/src/main/java/com/yiboshi/science/utils/RedisKey.java
index 5b7ff44a5eea6ce696f04634c96b97f2db966bf7..7fb8b256b889c8aa71165f2b010b657fd15b9612 100644
--- a/science-admin/src/main/java/com/yiboshi/science/utils/RedisKey.java
+++ b/science-admin/src/main/java/com/yiboshi/science/utils/RedisKey.java
@@ -18,8 +18,10 @@ public class RedisKey {
     public final static String RoleList = "role-list";
     //项目KPI绩效指标
     public final static String ProjectKPIList = "project-kpi-list";
-    //学科代码列表
-    public final static String KnowledgeCodeList = "knowledge-code-list";
+    //学科代码列表1
+    public final static String KnowledgeCodeList1 = "knowledge-code-list1";
+    //学科代码列表2
+    public final static String KnowledgeCodeList2 = "knowledge-code-list2";
     //专业数组代码列表
     public final static String SpecArrayList = "spec-array-list";
 }
diff --git a/science-base/src/main/java/com/yiboshi/science/entity/SelectCodeListItem.java b/science-base/src/main/java/com/yiboshi/science/entity/SelectCodeListItem.java
index d04f79fb98db622634411c894f8d3d773defa02c..af1f2a4a1050a6d9dc9303f2c8e4908ddb35ad0f 100644
--- a/science-base/src/main/java/com/yiboshi/science/entity/SelectCodeListItem.java
+++ b/science-base/src/main/java/com/yiboshi/science/entity/SelectCodeListItem.java
@@ -14,17 +14,15 @@ import java.util.List;
 @AllArgsConstructor
 public class SelectCodeListItem implements Serializable {
     /** 获取或设置选定项的文本 */
-    private String title ;
+    private String label;
     /** 获取或设置选定项的值 */
-    private String key;
-    private String pkey;
-    private String ppkey;
+    private String value;
     /** description */
-    private String description ;
+    private String description;
     /** 获取或设置选定项的文本 */
-    private boolean selected ;
+    private boolean selected;
     /** 获取或设置一个值,该值指示是否禁用 */
-    private boolean disabled ;
+    private boolean disabled;
     /** 子选项 */
-    private List<SelectListItem> children ;
+    private List<SelectCodeListItem> children;
 }