提交 49ce82ca authored 作者: wangjiahao's avatar wangjiahao

refactor:临时提交

上级 3a2bb24c
package io.dataease.base.mapper.ext; package io.dataease.base.mapper.ext;
import io.dataease.base.domain.DatasetTableField;
import io.dataease.dto.PanelViewLinkageDTO; import io.dataease.dto.PanelViewLinkageDTO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -8,5 +9,6 @@ import java.util.List; ...@@ -8,5 +9,6 @@ import java.util.List;
public interface ExtPanelViewLinkageMapper { public interface ExtPanelViewLinkageMapper {
List<PanelViewLinkageDTO> getViewLinkageGather(@Param("panelId") String panelId,@Param("sourceViewId") String sourceViewId,@Param("targetViewIds") List<String> targetViewIds); List<PanelViewLinkageDTO> getViewLinkageGather(@Param("panelId") String panelId,@Param("sourceViewId") String sourceViewId,@Param("targetViewIds") List<String> targetViewIds);
List<DatasetTableField> queryTableField(@Param("tableId") String tableId);
} }
...@@ -15,35 +15,29 @@ ...@@ -15,35 +15,29 @@
<result column="table_id" jdbcType="VARCHAR" property="tableId"/> <result column="table_id" jdbcType="VARCHAR" property="tableId"/>
<result column="targetViewName" jdbcType="VARCHAR" property="targetViewName"/> <result column="targetViewName" jdbcType="VARCHAR" property="targetViewName"/>
<result column="linkageActive" property="linkageActive"/> <result column="linkageActive" property="linkageActive"/>
<!-- <collection property="targetViewFields" ofType="io.dataease.base.domain.DatasetTableField" column="table_id"-->
<!-- select="queryTableField">-->
<!-- </collection>-->
<collection property="linkageFields" ofType="io.dataease.dto.PanelViewLinkageFieldDTO"> <collection property="linkageFields" ofType="io.dataease.dto.PanelViewLinkageFieldDTO">
<result column="source_filed" jdbcType="VARCHAR" property="sourceFiled"/> <result column="source_filed" jdbcType="VARCHAR" property="sourceFiled"/>
<result column="target_filed" jdbcType="VARCHAR" property="targetFiled"/> <result column="target_filed" jdbcType="VARCHAR" property="targetFiled"/>
</collection> </collection>
<collection property="targetViewFields" ofType="io.dataease.base.domain.DatasetTableField" column="table_id"
select="queryTableField">
</collection>
</resultMap> </resultMap>
<select id="getViewLinkageGather" resultMap="LinkageGatherMap"> <select id="getViewLinkageGather" resultMap="LinkageGatherMap">
SELECT SELECT
chart_view.`name` as 'targetViewName', chart_view.`name` as 'targetViewName',
chart_view.id as 'target_view_id', chart_view.id as 'target_view_id',
chart_view.table_id,
(case when panel_view_linkage.target_view_id is null then 0 else 1 end) as 'linkageActive', (case when panel_view_linkage.target_view_id is null then 0 else 1 end) as 'linkageActive',
panel_view_linkage_field.source_filed, panel_view_linkage_field.source_filed,
panel_view_linkage_field.target_filed, panel_view_linkage_field.target_filed
dataset_table_field.id as 'field_id',
dataset_table_field.origin_name,
dataset_table_field.`name` as 'field_name',
dataset_table_field.`type`,
dataset_table_field.de_type,
dataset_table_field.de_extract_type
FROM FROM
chart_view chart_view
LEFT JOIN panel_view_linkage ON chart_view.id = panel_view_linkage.target_view_id LEFT JOIN panel_view_linkage ON chart_view.id = panel_view_linkage.target_view_id
LEFT JOIN panel_view_linkage_field ON panel_view_linkage.id = panel_view_linkage_field.linkage_id LEFT JOIN panel_view_linkage_field ON panel_view_linkage.id = panel_view_linkage_field.linkage_id
AND panel_view_linkage.panel_id = #{panelId} AND panel_view_linkage.panel_id = #{panelId}
AND panel_view_linkage.source_view_id = #{sourceViewId} AND panel_view_linkage.source_view_id = #{sourceViewId}
LEFT JOIN dataset_table_field on chart_view.table_id = dataset_table_field.table_id
where chart_view.id in where chart_view.id in
<foreach collection="targetViewIds" item="targetViewId" index="index" open="(" close=")" separator=","> <foreach collection="targetViewIds" item="targetViewId" index="index" open="(" close=")" separator=",">
#{targetViewId} #{targetViewId}
...@@ -57,6 +51,7 @@ ...@@ -57,6 +51,7 @@
dataset_table_field.origin_name, dataset_table_field.origin_name,
dataset_table_field.name, dataset_table_field.name,
dataset_table_field.de_type dataset_table_field.de_type
from dataset_table_field where table_id =#{table_id} from dataset_table_field where table_id = #{tableId}
</select> </select>
</mapper> </mapper>
...@@ -28,8 +28,11 @@ public class PanelViewLinkageService { ...@@ -28,8 +28,11 @@ public class PanelViewLinkageService {
public Map<String, PanelViewLinkageDTO> getViewLinkageGather(PanelLinkageRequest request) { public Map<String, PanelViewLinkageDTO> getViewLinkageGather(PanelLinkageRequest request) {
if(CollectionUtils.isNotEmpty(request.getTargetViewIds())){ if(CollectionUtils.isNotEmpty(request.getTargetViewIds())){
Map<String, PanelViewLinkageDTO> result = Optional.ofNullable(extPanelViewLinkageMapper.getViewLinkageGather(request.getPanelId(),request.getSourceViewId(),request.getTargetViewIds())) List<PanelViewLinkageDTO> linkageDTOList = extPanelViewLinkageMapper.getViewLinkageGather(request.getPanelId(),request.getSourceViewId(),request.getTargetViewIds());
.orElse(new ArrayList<>()).stream() linkageDTOList.stream().forEach(linkage ->{
linkage.setTargetViewFields(extPanelViewLinkageMapper.queryTableField(linkage.getTableId()));
});
Map<String, PanelViewLinkageDTO> result = linkageDTOList.stream()
.collect(Collectors.toMap(PanelViewLinkageDTO::getTargetViewId,PanelViewLinkageDTO->PanelViewLinkageDTO)); .collect(Collectors.toMap(PanelViewLinkageDTO::getTargetViewId,PanelViewLinkageDTO->PanelViewLinkageDTO));
return result; return result;
} }
......
...@@ -8,11 +8,13 @@ ...@@ -8,11 +8,13 @@
<el-col :span="10"> <el-col :span="10">
<div class="ellip">联动视图</div> <div class="ellip">联动视图</div>
</el-col> </el-col>
<el-col :span="10" class="ellip"> <el-col :span="10">
<div class="ellip">{{ linkageInfo.targetViewName }}</div> <div class="ellip">{{ linkageInfo.targetViewName }}</div>
</el-col> </el-col>
</el-row> </el-row>
linkageInfo{{ linkageInfo }}
<el-row class="bottom"> <el-row class="bottom">
<el-button size="mini" type="success" icon="el-icon-plus" round>追加联动依赖字段</el-button> <el-button size="mini" type="success" icon="el-icon-plus" round>追加联动依赖字段</el-button>
</el-row> </el-row>
...@@ -96,6 +98,7 @@ export default { ...@@ -96,6 +98,7 @@ export default {
.ellip{ .ellip{
/*width: 100%;*/ /*width: 100%;*/
margin-left: 10px; margin-left: 10px;
margin-right: 10px;
overflow: hidden;/*超出部分隐藏*/ overflow: hidden;/*超出部分隐藏*/
white-space: nowrap;/*不换行*/ white-space: nowrap;/*不换行*/
text-overflow:ellipsis;/*超出部分文字以...显示*/ text-overflow:ellipsis;/*超出部分文字以...显示*/
...@@ -104,6 +107,7 @@ export default { ...@@ -104,6 +107,7 @@ export default {
font-size: 12px; font-size: 12px;
line-height: 24px; line-height: 24px;
height: 24px; height: 24px;
border-radius: 3px;
} }
</style> </style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论