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

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

parent 413d0d23
...@@ -19,5 +19,7 @@ public interface ModelSubscribeMapper extends BaseMapper<ModelSubscribe> { ...@@ -19,5 +19,7 @@ public interface ModelSubscribeMapper extends BaseMapper<ModelSubscribe> {
List<TreeNode> selectOrganData(); 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; ...@@ -4,7 +4,6 @@ package com.pms.ocp.model.dto;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.pms.ocp.common.constants.StringUtils;
import com.pms.ocp.model.entity.OcpTenantGroup; import com.pms.ocp.model.entity.OcpTenantGroup;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
......
...@@ -10,6 +10,7 @@ import lombok.experimental.Accessors; ...@@ -10,6 +10,7 @@ import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @Auther: wangjian * @Auther: wangjian
...@@ -83,4 +84,6 @@ public class ModelClassify { ...@@ -83,4 +84,6 @@ public class ModelClassify {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date groupUpdateTime; private Date groupUpdateTime;
@TableField(exist = false)
private List<ModelClassify> childrenList;
} }
...@@ -34,6 +34,9 @@ public class TreeNode implements Serializable { ...@@ -34,6 +34,9 @@ public class TreeNode implements Serializable {
@ApiModelProperty("公司编码") @ApiModelProperty("公司编码")
private String companyCode; private String companyCode;
@ApiModelProperty("子类")
private String modelGroupCode;
@ApiModelProperty("子类") @ApiModelProperty("子类")
private int belongLevel; private int belongLevel;
...@@ -52,4 +55,7 @@ public class TreeNode implements Serializable { ...@@ -52,4 +55,7 @@ public class TreeNode implements Serializable {
return companyCode == null ? "":companyCode; return companyCode == null ? "":companyCode;
} }
public String getModelGroupCode() {
return modelGroupCode == null ? "":modelGroupCode;
}
} }
...@@ -18,6 +18,7 @@ import javax.annotation.Resource; ...@@ -18,6 +18,7 @@ import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.function.BiFunction;
/** /**
* @Auther: wangjian * @Auther: wangjian
...@@ -99,18 +100,31 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService { ...@@ -99,18 +100,31 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService {
@Override @Override
public ResponseVO modelListNavigation(String searchCondition) { public ResponseVO modelListNavigation(String searchCondition) {
//查询模型和模型属性表列表 //查询模型和模型属性表列表
List<TreeNode> modelProperList = modelSubscribeMapper.selectModelAndModelGroup(searchCondition); List<TreeNode> modelGroupList = modelSubscribeMapper.selectModelAndModelGroup();
if (CollectionUtil.isEmpty(modelProperList)){ 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); 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> 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 organList.forEach(org
->{ ->{
modelGroupList.forEach(group->{ modelGroupList.forEach(group->{
if (org.getCompanyCode().equals(group.getCompanyCode())){ //org.getCompanyCode().equals(group.getCompanyCode()
if (function.apply(org,group)){
if(org.getChildren() == null){ if(org.getChildren() == null){
org.setChildren(new LinkedList<>()); org.setChildren(new LinkedList<>());
} }
...@@ -118,7 +132,6 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService { ...@@ -118,7 +132,6 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService {
} }
}); });
}); });
List<TreeNode> result = TreeUtils.build(organList); return organList;
return ResponseVO.ok(result);
} }
} }
...@@ -7,33 +7,37 @@ ...@@ -7,33 +7,37 @@
<result column="group_company_code" property="companyCode"/> <result column="group_company_code" property="companyCode"/>
<result column="model_group_name" property="name"/> <result column="model_group_name" property="name"/>
<result column="groupModelBelongLevel" property="belongLevel"/> <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_name" property="name"/>
<result column="model_code" property="code"/> <result column="model_code" property="code"/>
<result column="modelLevel" property="belongLevel"/> <result column="modelLevel" property="belongLevel"/>
</collection> </collection>
</resultMap> </resultMap>
<select id="selectModelAndModelGroup" parameterType="java.lang.String" resultMap="modelAndModelGroupMap"> <select id="selectModelAndModelGroup" resultType="com.pms.ocp.model.entity.TreeNode">
select select
2 AS groupModelBelongLevel, omg.model_group_name as name,
3 AS modelLevel, 2 as belongLevel,
omg.model_group_pcode, omg.model_group_pcode as pCode,
omg.group_company_code, omg.model_group_code as code,
omg.model_group_name, omg.model_group_code as modelGroupCode,
omg.model_group_code, omg.group_company_code as companyCode
omb.model_name,
omb.model_code
from from
ocp_model_group as omg ocp_model_group as omg
left join </select>
ocp_model_base omb
on omg.model_group_code = omb.model_group_code <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 != '' "> <if test="searchCondition != null and searchCondition != '' ">
where where
model_name LIKE concat('%',#{searchCondition}::text ,'%') model_name like concat('%',#{searchCondition}::text ,'%')
</if> </if>
</select> </select>
<select id="selectOrganData" resultType="com.pms.ocp.model.entity.TreeNode"> <select id="selectOrganData" resultType="com.pms.ocp.model.entity.TreeNode">
select select
1 AS belongLevel, 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