mirror of
https://github.com/dataease/dataease.git
synced 2026-05-16 14:31:00 +08:00
refactor(仪表板): 做联动配置时,同一数据集的视图首次配置默认全部选中
This commit is contained in:
@@ -18,9 +18,6 @@ public class PanelViewLinkageDTO extends PanelViewLinkage {
|
||||
@ApiModelProperty("目标视图名称")
|
||||
//目标视图名称
|
||||
private String targetViewName;
|
||||
@ApiModelProperty("启用联动")
|
||||
//关联状态
|
||||
private boolean linkageActive = false;
|
||||
@ApiModelProperty("联动字段")
|
||||
private List<PanelViewLinkageField> linkageFields = new ArrayList<>();
|
||||
|
||||
@@ -60,17 +57,8 @@ public class PanelViewLinkageDTO extends PanelViewLinkage {
|
||||
}
|
||||
|
||||
public PanelViewLinkageDTO(boolean linkageActive) {
|
||||
this.linkageActive = linkageActive;
|
||||
super.setLinkageActive(linkageActive);
|
||||
}
|
||||
|
||||
public boolean isLinkageActive() {
|
||||
return linkageActive;
|
||||
}
|
||||
|
||||
public void setLinkageActive(boolean linkageActive) {
|
||||
this.linkageActive = linkageActive;
|
||||
}
|
||||
|
||||
public List<PanelViewLinkageField> getLinkageFields() {
|
||||
return linkageFields;
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
<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="sourceViewId" jdbcType="VARCHAR" property="sourceViewId"/>
|
||||
<result column="linkageActive" property="linkageActive"/>
|
||||
<collection property="targetViewFields" ofType="io.dataease.plugins.common.base.domain.DatasetTableField" column="table_id"
|
||||
select="queryTableField">
|
||||
@@ -37,7 +38,8 @@
|
||||
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.source_view_id as 'sourceViewId',
|
||||
(case when panel_view_linkage.target_view_id is null then 0 else panel_view_linkage.linkage_active end) as 'linkageActive',
|
||||
panel_view_linkage_field.source_field,
|
||||
panel_view_linkage_field.target_field
|
||||
FROM
|
||||
@@ -109,6 +111,8 @@
|
||||
LEFT JOIN panel_view_linkage_field ON panel_view_linkage.id = panel_view_linkage_field.linkage_id
|
||||
WHERE
|
||||
panel_view_linkage.panel_id = #{panelId}
|
||||
and panel_view_linkage.linkage_active=1
|
||||
and panel_view_linkage_field.id is not null
|
||||
</select>
|
||||
|
||||
<insert id="copyViewLinkage">
|
||||
|
||||
@@ -72,18 +72,17 @@ public class PanelViewLinkageService {
|
||||
String targetViewId = entry.getKey();
|
||||
PanelViewLinkageDTO linkageDTO = entry.getValue();
|
||||
List<PanelViewLinkageField> linkageFields = linkageDTO.getLinkageFields();
|
||||
|
||||
if (CollectionUtils.isNotEmpty(linkageFields) && linkageDTO.isLinkageActive()) {
|
||||
String linkageId = UUID.randomUUID().toString();
|
||||
PanelViewLinkage linkage = new PanelViewLinkage();
|
||||
linkage.setId(linkageId);
|
||||
linkage.setPanelId(panelId);
|
||||
linkage.setSourceViewId(sourceViewId);
|
||||
linkage.setTargetViewId(targetViewId);
|
||||
linkage.setUpdatePeople(AuthUtils.getUser().getUsername());
|
||||
linkage.setUpdateTime(updateTime);
|
||||
panelViewLinkageMapper.insert(linkage);
|
||||
|
||||
String linkageId = UUID.randomUUID().toString();
|
||||
PanelViewLinkage linkage = new PanelViewLinkage();
|
||||
linkage.setId(linkageId);
|
||||
linkage.setPanelId(panelId);
|
||||
linkage.setSourceViewId(sourceViewId);
|
||||
linkage.setTargetViewId(targetViewId);
|
||||
linkage.setUpdatePeople(AuthUtils.getUser().getUsername());
|
||||
linkage.setUpdateTime(updateTime);
|
||||
linkage.setLinkageActive(linkageDTO.getLinkageActive());
|
||||
panelViewLinkageMapper.insert(linkage);
|
||||
if (CollectionUtils.isNotEmpty(linkageFields) && linkageDTO.getLinkageActive()) {
|
||||
linkageFields.forEach(linkageField -> {
|
||||
linkageField.setId(UUID.randomUUID().toString());
|
||||
linkageField.setLinkageId(linkageId);
|
||||
|
||||
@@ -35,4 +35,9 @@ RETURN concat(chartName,'-',chartNameCount);
|
||||
|
||||
END
|
||||
;;
|
||||
delimiter ;
|
||||
delimiter ;
|
||||
|
||||
ALTER TABLE `panel_view_linkage`
|
||||
ADD COLUMN `linkage_active` tinyint(1) NULL DEFAULT 0 COMMENT '是否启用关联' AFTER `update_people`;
|
||||
|
||||
update panel_view_linkage set linkage_active=1;
|
||||
Reference in New Issue
Block a user