refactor:临时提交

This commit is contained in:
wangjiahao 2021-08-05 18:41:47 +08:00
parent 3a2bb24ca8
commit 49ce82cac7
4 changed files with 19 additions and 15 deletions

View File

@ -1,5 +1,6 @@
package io.dataease.base.mapper.ext;
import io.dataease.base.domain.DatasetTableField;
import io.dataease.dto.PanelViewLinkageDTO;
import org.apache.ibatis.annotations.Param;
@ -8,5 +9,6 @@ import java.util.List;
public interface ExtPanelViewLinkageMapper {
List<PanelViewLinkageDTO> getViewLinkageGather(@Param("panelId") String panelId,@Param("sourceViewId") String sourceViewId,@Param("targetViewIds") List<String> targetViewIds);
List<DatasetTableField> queryTableField(@Param("tableId") String tableId);
}

View File

@ -15,35 +15,29 @@
<result column="table_id" jdbcType="VARCHAR" property="tableId"/>
<result column="targetViewName" jdbcType="VARCHAR" property="targetViewName"/>
<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">
<result column="source_filed" jdbcType="VARCHAR" property="sourceFiled"/>
<result column="target_filed" jdbcType="VARCHAR" property="targetFiled"/>
</collection>
<collection property="targetViewFields" ofType="io.dataease.base.domain.DatasetTableField" column="table_id"
select="queryTableField">
</collection>
</resultMap>
<select id="getViewLinkageGather" resultMap="LinkageGatherMap">
SELECT
chart_view.`name` as 'targetViewName',
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',
panel_view_linkage_field.source_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
panel_view_linkage_field.target_filed
FROM
chart_view
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
AND panel_view_linkage.panel_id = #{panelId}
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
<foreach collection="targetViewIds" item="targetViewId" index="index" open="(" close=")" separator=",">
#{targetViewId}
@ -57,6 +51,7 @@
dataset_table_field.origin_name,
dataset_table_field.name,
dataset_table_field.de_type
from dataset_table_field where table_id =#{table_id}
from dataset_table_field where table_id = #{tableId}
</select>
</mapper>

View File

@ -28,8 +28,11 @@ public class PanelViewLinkageService {
public Map<String, PanelViewLinkageDTO> getViewLinkageGather(PanelLinkageRequest request) {
if(CollectionUtils.isNotEmpty(request.getTargetViewIds())){
Map<String, PanelViewLinkageDTO> result = Optional.ofNullable(extPanelViewLinkageMapper.getViewLinkageGather(request.getPanelId(),request.getSourceViewId(),request.getTargetViewIds()))
.orElse(new ArrayList<>()).stream()
List<PanelViewLinkageDTO> linkageDTOList = extPanelViewLinkageMapper.getViewLinkageGather(request.getPanelId(),request.getSourceViewId(),request.getTargetViewIds());
linkageDTOList.stream().forEach(linkage ->{
linkage.setTargetViewFields(extPanelViewLinkageMapper.queryTableField(linkage.getTableId()));
});
Map<String, PanelViewLinkageDTO> result = linkageDTOList.stream()
.collect(Collectors.toMap(PanelViewLinkageDTO::getTargetViewId,PanelViewLinkageDTO->PanelViewLinkageDTO));
return result;
}

View File

@ -8,11 +8,13 @@
<el-col :span="10">
<div class="ellip">联动视图</div>
</el-col>
<el-col :span="10" class="ellip">
<el-col :span="10">
<div class="ellip">{{ linkageInfo.targetViewName }}</div>
</el-col>
</el-row>
linkageInfo{{ linkageInfo }}
<el-row class="bottom">
<el-button size="mini" type="success" icon="el-icon-plus" round>追加联动依赖字段</el-button>
</el-row>
@ -96,6 +98,7 @@ export default {
.ellip{
/*width: 100%;*/
margin-left: 10px;
margin-right: 10px;
overflow: hidden;/*超出部分隐藏*/
white-space: nowrap;/*不换行*/
text-overflow:ellipsis;/*超出部分文字以...显示*/
@ -104,6 +107,7 @@ export default {
font-size: 12px;
line-height: 24px;
height: 24px;
border-radius: 3px;
}
</style>