refactor:设置弹出框优化

This commit is contained in:
wangjiahao
2021-08-05 16:54:47 +08:00
parent ea72141d45
commit 3a2bb24ca8
5 changed files with 93 additions and 51 deletions

View File

@@ -2,38 +2,61 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="io.dataease.base.mapper.ext.ExtPanelViewLinkageMapper">
<resultMap id="LinkageGatherMap" type="io.dataease.dto.PanelViewLinkageDTO">
<result column="target_view_id" jdbcType="VARCHAR" property="targetViewId" />
<result column="targetViewName" jdbcType="VARCHAR" property="targetViewName" />
<result column="linkageActive" property="linkageActive" />
<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>
<resultMap id="TableFieldMap" type="io.dataease.base.domain.DatasetTableField">
<id column="id" jdbcType="VARCHAR" property="id"/>
<result column="table_id" jdbcType="VARCHAR" property="tableId"/>
<result column="origin_name" jdbcType="VARCHAR" property="originName"/>
<result column="name" jdbcType="VARCHAR" property="name"/>
<result column="de_type" jdbcType="INTEGER" property="deType"/>
</resultMap>
<!-- <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>-->
</resultMap>
<resultMap id="LinkageGatherMap" type="io.dataease.dto.PanelViewLinkageDTO">
<result column="target_view_id" jdbcType="VARCHAR" property="targetViewId"/>
<result column="table_id" jdbcType="VARCHAR" property="tableId"/>
<result column="targetViewName" jdbcType="VARCHAR" property="targetViewName"/>
<result column="linkageActive" property="linkageActive"/>
<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
<select id="getViewLinkageGather" resultMap="LinkageGatherMap">
SELECT
chart_view.`name` as 'targetViewName',
chart_view.id as 'target_view_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.target_filed
FROM
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
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}
where chart_view.id in
<foreach collection="targetViewIds" item="targetViewId" index="index" open="(" close=")" separator=",">
#{targetViewId}
</foreach>
</select>
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}
</foreach>
</select>
<select id="queryTableField" resultMap="TableFieldMap">
select
dataset_table_field.id,
dataset_table_field.table_id,
dataset_table_field.origin_name,
dataset_table_field.name,
dataset_table_field.de_type
from dataset_table_field where table_id =#{table_id}
</select>
</mapper>

View File

@@ -22,7 +22,9 @@ public class PanelViewLinkageDTO extends PanelViewLinkage {
private List<PanelViewLinkageFieldDTO> linkageFields = new ArrayList<>();
private List<DatasetTableField> targetViewField = new ArrayList<>();
private List<DatasetTableField> targetViewFields = new ArrayList<>();
private String tableId;
@@ -30,12 +32,20 @@ public class PanelViewLinkageDTO extends PanelViewLinkage {
}
public List<DatasetTableField> getTargetViewField() {
return targetViewField;
public String getTableId() {
return tableId;
}
public void setTargetViewField(List<DatasetTableField> targetViewField) {
this.targetViewField = targetViewField;
public void setTableId(String tableId) {
this.tableId = tableId;
}
public List<DatasetTableField> getTargetViewFields() {
return targetViewFields;
}
public void setTargetViewFields(List<DatasetTableField> targetViewFields) {
this.targetViewFields = targetViewFields;
}
public String getTargetViewName() {