Commit 917c88d7 authored by 胡秀武's avatar 胡秀武

胡秀武:模型列表修改树空白问题

parent 413d0d23
......@@ -19,5 +19,7 @@ public interface ModelSubscribeMapper extends BaseMapper<ModelSubscribe> {
List<TreeNode> selectOrganData();
List<TreeNode> selectModelAndModelGroup(@Param("searchCondition") String searchCondition);
List<TreeNode> selectModelAndModelGroup();
List<TreeNode> getModelList(@Param("searchCondition") String searchCondition);
}
......@@ -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;
......
......@@ -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<ModelClassify> childrenList;
}
......@@ -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;
}
}
......@@ -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<TreeNode> modelProperList = modelSubscribeMapper.selectModelAndModelGroup(searchCondition);
if (CollectionUtil.isEmpty(modelProperList)){
List<TreeNode> modelGroupList = modelSubscribeMapper.selectModelAndModelGroup();
List<TreeNode> modelList = modelSubscribeMapper.getModelList(searchCondition);
List<TreeNode> groupAndChildrenList = setChildren(modelList,modelGroupList , (org, group) ->
org.getModelGroupCode().equals(group.getModelGroupCode())
);
if (CollectionUtil.isEmpty(groupAndChildrenList)){
return ResponseVO.error(CodeEnum.NO_DATA);
}
List<TreeNode> modelGroupList = TreeUtils.build(modelProperList);
List<TreeNode> newModelGroupList = TreeUtils.build(groupAndChildrenList);
//查询组织机构表
List<TreeNode> organList = modelSubscribeMapper.selectOrganData();
//将分类放入各自所属于的组织机构下
List<TreeNode> groupOrgList = setChildren(newModelGroupList, organList,(org, group) ->
org.getCompanyCode().equals(group.getCompanyCode())
);
List<TreeNode> result = TreeUtils.build(groupOrgList);
return ResponseVO.ok(result);
}
private List<TreeNode> setChildren(List<TreeNode> modelGroupList, List<TreeNode> organList, BiFunction<TreeNode,TreeNode,Boolean> 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<TreeNode> result = TreeUtils.build(organList);
return ResponseVO.ok(result);
return organList;
}
}
......@@ -7,33 +7,37 @@
<result column="group_company_code" property="companyCode"/>
<result column="model_group_name" property="name"/>
<result column="groupModelBelongLevel" property="belongLevel"/>
<collection property="children" ofType="com.pms.ocp.model.entity.TreeNode">
<collection column="model_group_code" property="children" ofType="com.pms.ocp.model.entity.TreeNode" select="getChildren">
<result column="model_name" property="name"/>
<result column="model_code" property="code"/>
<result column="modelLevel" property="belongLevel"/>
</collection>
</resultMap>
<select id="selectModelAndModelGroup" parameterType="java.lang.String" resultMap="modelAndModelGroupMap">
<select id="selectModelAndModelGroup" resultType="com.pms.ocp.model.entity.TreeNode">
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
</select>
<select id="getModelList" parameterType="java.lang.String" resultType="com.pms.ocp.model.entity.TreeNode">
select
3 as belongLevel,
model_name as name ,
model_code as code,
model_group_code as modelGroupCode
from
ocp_model_base
<if test="searchCondition != null and searchCondition != '' ">
where
model_name LIKE concat('%',#{searchCondition}::text ,'%')
model_name like concat('%',#{searchCondition}::text ,'%')
</if>
</select>
<select id="selectOrganData" resultType="com.pms.ocp.model.entity.TreeNode">
select
1 AS belongLevel,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment