From 917c88d7c467d91f2ad44728a3e3f5a3c129220a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E7=A7=80=E6=AD=A6?= <18621965254@yeah.net> Date: Thu, 24 Mar 2022 15:14:35 +0800 Subject: [PATCH] =?UTF-8?q?=E8=83=A1=E7=A7=80=E6=AD=A6:=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E4=BF=AE=E6=94=B9=E6=A0=91=E7=A9=BA=E7=99=BD?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pms/ocp/mapper/ModelSubscribeMapper.java | 4 ++- .../com/pms/ocp/model/dto/TenanBaseDto.java | 1 - .../pms/ocp/model/entity/ModelClassify.java | 3 ++ .../com/pms/ocp/model/entity/TreeNode.java | 6 ++++ .../impl/ModelSubscribeServiceImpl.java | 25 ++++++++++---- .../resources/mapper/ModelSubscribeMapper.xml | 34 +++++++++++-------- 6 files changed, 50 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/pms/ocp/mapper/ModelSubscribeMapper.java b/src/main/java/com/pms/ocp/mapper/ModelSubscribeMapper.java index d879203..29e2306 100644 --- a/src/main/java/com/pms/ocp/mapper/ModelSubscribeMapper.java +++ b/src/main/java/com/pms/ocp/mapper/ModelSubscribeMapper.java @@ -19,5 +19,7 @@ public interface ModelSubscribeMapper extends BaseMapper { List selectOrganData(); - List selectModelAndModelGroup(@Param("searchCondition") String searchCondition); + List selectModelAndModelGroup(); + + List getModelList(@Param("searchCondition") String searchCondition); } diff --git a/src/main/java/com/pms/ocp/model/dto/TenanBaseDto.java b/src/main/java/com/pms/ocp/model/dto/TenanBaseDto.java index 93327b7..fef5c89 100644 --- a/src/main/java/com/pms/ocp/model/dto/TenanBaseDto.java +++ b/src/main/java/com/pms/ocp/model/dto/TenanBaseDto.java @@ -4,7 +4,6 @@ package com.pms.ocp.model.dto; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; -import com.pms.ocp.common.constants.StringUtils; import com.pms.ocp.model.entity.OcpTenantGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/src/main/java/com/pms/ocp/model/entity/ModelClassify.java b/src/main/java/com/pms/ocp/model/entity/ModelClassify.java index 3be93a4..463432a 100644 --- a/src/main/java/com/pms/ocp/model/entity/ModelClassify.java +++ b/src/main/java/com/pms/ocp/model/entity/ModelClassify.java @@ -10,6 +10,7 @@ import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; +import java.util.List; /** * @Auther: wangjian @@ -83,4 +84,6 @@ public class ModelClassify { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date groupUpdateTime; + @TableField(exist = false) + private List childrenList; } diff --git a/src/main/java/com/pms/ocp/model/entity/TreeNode.java b/src/main/java/com/pms/ocp/model/entity/TreeNode.java index a4de34f..a0aa1ce 100644 --- a/src/main/java/com/pms/ocp/model/entity/TreeNode.java +++ b/src/main/java/com/pms/ocp/model/entity/TreeNode.java @@ -34,6 +34,9 @@ public class TreeNode implements Serializable { @ApiModelProperty("公司编码") private String companyCode; + @ApiModelProperty("子类") + private String modelGroupCode; + @ApiModelProperty("子类") private int belongLevel; @@ -52,4 +55,7 @@ public class TreeNode implements Serializable { return companyCode == null ? "":companyCode; } + public String getModelGroupCode() { + return modelGroupCode == null ? "":modelGroupCode; + } } diff --git a/src/main/java/com/pms/ocp/service/impl/ModelSubscribeServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/ModelSubscribeServiceImpl.java index cecac40..30433cf 100644 --- a/src/main/java/com/pms/ocp/service/impl/ModelSubscribeServiceImpl.java +++ b/src/main/java/com/pms/ocp/service/impl/ModelSubscribeServiceImpl.java @@ -18,6 +18,7 @@ import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.LinkedList; import java.util.List; +import java.util.function.BiFunction; /** * @Auther: wangjian @@ -99,18 +100,31 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService { @Override public ResponseVO modelListNavigation(String searchCondition) { //查询模型和模型属性表列表 - List modelProperList = modelSubscribeMapper.selectModelAndModelGroup(searchCondition); - if (CollectionUtil.isEmpty(modelProperList)){ + List modelGroupList = modelSubscribeMapper.selectModelAndModelGroup(); + List modelList = modelSubscribeMapper.getModelList(searchCondition); + List groupAndChildrenList = setChildren(modelList,modelGroupList , (org, group) -> + org.getModelGroupCode().equals(group.getModelGroupCode()) + ); + if (CollectionUtil.isEmpty(groupAndChildrenList)){ return ResponseVO.error(CodeEnum.NO_DATA); } - List modelGroupList = TreeUtils.build(modelProperList); + List newModelGroupList = TreeUtils.build(groupAndChildrenList); //查询组织机构表 List organList = modelSubscribeMapper.selectOrganData(); //将分类放入各自所属于的组织机构下 + List groupOrgList = setChildren(newModelGroupList, organList,(org, group) -> + org.getCompanyCode().equals(group.getCompanyCode()) + ); + List result = TreeUtils.build(groupOrgList); + return ResponseVO.ok(result); + } + + private List setChildren(List modelGroupList, List organList, BiFunction function) { organList.forEach(org ->{ modelGroupList.forEach(group->{ - if (org.getCompanyCode().equals(group.getCompanyCode())){ + //org.getCompanyCode().equals(group.getCompanyCode() + if (function.apply(org,group)){ if(org.getChildren() == null){ org.setChildren(new LinkedList<>()); } @@ -118,7 +132,6 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService { } }); }); - List result = TreeUtils.build(organList); - return ResponseVO.ok(result); + return organList; } } diff --git a/src/main/resources/mapper/ModelSubscribeMapper.xml b/src/main/resources/mapper/ModelSubscribeMapper.xml index 8e7c417..c852b88 100644 --- a/src/main/resources/mapper/ModelSubscribeMapper.xml +++ b/src/main/resources/mapper/ModelSubscribeMapper.xml @@ -7,33 +7,37 @@ - + - select - 2 AS groupModelBelongLevel, - 3 AS modelLevel, - omg.model_group_pcode, - omg.group_company_code, - omg.model_group_name, - omg.model_group_code, - omb.model_name, - omb.model_code + omg.model_group_name as name, + 2 as belongLevel, + omg.model_group_pcode as pCode, + omg.model_group_code as code, + omg.model_group_code as modelGroupCode, + omg.group_company_code as companyCode from ocp_model_group as omg - left join - ocp_model_base omb - on omg.model_group_code = omb.model_group_code + + + -