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; }