feat(数据集):草稿,数据集 关联视图 功能。自助数据集需要关联视图做支撑,先简单做个 数据集 关联视图 的功能,后边再优化

This commit is contained in:
junjie 2021-05-07 14:51:40 +08:00
parent 5a2a5bb368
commit ac938c281b
14 changed files with 1636 additions and 3 deletions

View File

@ -0,0 +1,27 @@
package io.dataease.base.domain;
import java.io.Serializable;
import lombok.Data;
@Data
public class DatasetTableUnion implements Serializable {
private String id;
private String sourceTableId;
private String sourceTableFieldId;
private String sourceUnionRelation;
private String targetTableId;
private String targetTableFieldId;
private String targetUnionRelation;
private String createBy;
private Long createTime;
private static final long serialVersionUID = 1L;
}

View File

@ -0,0 +1,820 @@
package io.dataease.base.domain;
import java.util.ArrayList;
import java.util.List;
public class DatasetTableUnionExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public DatasetTableUnionExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(String value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(String value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(String value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(String value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(String value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(String value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdLike(String value) {
addCriterion("id like", value, "id");
return (Criteria) this;
}
public Criteria andIdNotLike(String value) {
addCriterion("id not like", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<String> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<String> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(String value1, String value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(String value1, String value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andSourceTableIdIsNull() {
addCriterion("source_table_id is null");
return (Criteria) this;
}
public Criteria andSourceTableIdIsNotNull() {
addCriterion("source_table_id is not null");
return (Criteria) this;
}
public Criteria andSourceTableIdEqualTo(String value) {
addCriterion("source_table_id =", value, "sourceTableId");
return (Criteria) this;
}
public Criteria andSourceTableIdNotEqualTo(String value) {
addCriterion("source_table_id <>", value, "sourceTableId");
return (Criteria) this;
}
public Criteria andSourceTableIdGreaterThan(String value) {
addCriterion("source_table_id >", value, "sourceTableId");
return (Criteria) this;
}
public Criteria andSourceTableIdGreaterThanOrEqualTo(String value) {
addCriterion("source_table_id >=", value, "sourceTableId");
return (Criteria) this;
}
public Criteria andSourceTableIdLessThan(String value) {
addCriterion("source_table_id <", value, "sourceTableId");
return (Criteria) this;
}
public Criteria andSourceTableIdLessThanOrEqualTo(String value) {
addCriterion("source_table_id <=", value, "sourceTableId");
return (Criteria) this;
}
public Criteria andSourceTableIdLike(String value) {
addCriterion("source_table_id like", value, "sourceTableId");
return (Criteria) this;
}
public Criteria andSourceTableIdNotLike(String value) {
addCriterion("source_table_id not like", value, "sourceTableId");
return (Criteria) this;
}
public Criteria andSourceTableIdIn(List<String> values) {
addCriterion("source_table_id in", values, "sourceTableId");
return (Criteria) this;
}
public Criteria andSourceTableIdNotIn(List<String> values) {
addCriterion("source_table_id not in", values, "sourceTableId");
return (Criteria) this;
}
public Criteria andSourceTableIdBetween(String value1, String value2) {
addCriterion("source_table_id between", value1, value2, "sourceTableId");
return (Criteria) this;
}
public Criteria andSourceTableIdNotBetween(String value1, String value2) {
addCriterion("source_table_id not between", value1, value2, "sourceTableId");
return (Criteria) this;
}
public Criteria andSourceTableFieldIdIsNull() {
addCriterion("source_table_field_id is null");
return (Criteria) this;
}
public Criteria andSourceTableFieldIdIsNotNull() {
addCriterion("source_table_field_id is not null");
return (Criteria) this;
}
public Criteria andSourceTableFieldIdEqualTo(String value) {
addCriterion("source_table_field_id =", value, "sourceTableFieldId");
return (Criteria) this;
}
public Criteria andSourceTableFieldIdNotEqualTo(String value) {
addCriterion("source_table_field_id <>", value, "sourceTableFieldId");
return (Criteria) this;
}
public Criteria andSourceTableFieldIdGreaterThan(String value) {
addCriterion("source_table_field_id >", value, "sourceTableFieldId");
return (Criteria) this;
}
public Criteria andSourceTableFieldIdGreaterThanOrEqualTo(String value) {
addCriterion("source_table_field_id >=", value, "sourceTableFieldId");
return (Criteria) this;
}
public Criteria andSourceTableFieldIdLessThan(String value) {
addCriterion("source_table_field_id <", value, "sourceTableFieldId");
return (Criteria) this;
}
public Criteria andSourceTableFieldIdLessThanOrEqualTo(String value) {
addCriterion("source_table_field_id <=", value, "sourceTableFieldId");
return (Criteria) this;
}
public Criteria andSourceTableFieldIdLike(String value) {
addCriterion("source_table_field_id like", value, "sourceTableFieldId");
return (Criteria) this;
}
public Criteria andSourceTableFieldIdNotLike(String value) {
addCriterion("source_table_field_id not like", value, "sourceTableFieldId");
return (Criteria) this;
}
public Criteria andSourceTableFieldIdIn(List<String> values) {
addCriterion("source_table_field_id in", values, "sourceTableFieldId");
return (Criteria) this;
}
public Criteria andSourceTableFieldIdNotIn(List<String> values) {
addCriterion("source_table_field_id not in", values, "sourceTableFieldId");
return (Criteria) this;
}
public Criteria andSourceTableFieldIdBetween(String value1, String value2) {
addCriterion("source_table_field_id between", value1, value2, "sourceTableFieldId");
return (Criteria) this;
}
public Criteria andSourceTableFieldIdNotBetween(String value1, String value2) {
addCriterion("source_table_field_id not between", value1, value2, "sourceTableFieldId");
return (Criteria) this;
}
public Criteria andSourceUnionRelationIsNull() {
addCriterion("source_union_relation is null");
return (Criteria) this;
}
public Criteria andSourceUnionRelationIsNotNull() {
addCriterion("source_union_relation is not null");
return (Criteria) this;
}
public Criteria andSourceUnionRelationEqualTo(String value) {
addCriterion("source_union_relation =", value, "sourceUnionRelation");
return (Criteria) this;
}
public Criteria andSourceUnionRelationNotEqualTo(String value) {
addCriterion("source_union_relation <>", value, "sourceUnionRelation");
return (Criteria) this;
}
public Criteria andSourceUnionRelationGreaterThan(String value) {
addCriterion("source_union_relation >", value, "sourceUnionRelation");
return (Criteria) this;
}
public Criteria andSourceUnionRelationGreaterThanOrEqualTo(String value) {
addCriterion("source_union_relation >=", value, "sourceUnionRelation");
return (Criteria) this;
}
public Criteria andSourceUnionRelationLessThan(String value) {
addCriterion("source_union_relation <", value, "sourceUnionRelation");
return (Criteria) this;
}
public Criteria andSourceUnionRelationLessThanOrEqualTo(String value) {
addCriterion("source_union_relation <=", value, "sourceUnionRelation");
return (Criteria) this;
}
public Criteria andSourceUnionRelationLike(String value) {
addCriterion("source_union_relation like", value, "sourceUnionRelation");
return (Criteria) this;
}
public Criteria andSourceUnionRelationNotLike(String value) {
addCriterion("source_union_relation not like", value, "sourceUnionRelation");
return (Criteria) this;
}
public Criteria andSourceUnionRelationIn(List<String> values) {
addCriterion("source_union_relation in", values, "sourceUnionRelation");
return (Criteria) this;
}
public Criteria andSourceUnionRelationNotIn(List<String> values) {
addCriterion("source_union_relation not in", values, "sourceUnionRelation");
return (Criteria) this;
}
public Criteria andSourceUnionRelationBetween(String value1, String value2) {
addCriterion("source_union_relation between", value1, value2, "sourceUnionRelation");
return (Criteria) this;
}
public Criteria andSourceUnionRelationNotBetween(String value1, String value2) {
addCriterion("source_union_relation not between", value1, value2, "sourceUnionRelation");
return (Criteria) this;
}
public Criteria andTargetTableIdIsNull() {
addCriterion("target_table_id is null");
return (Criteria) this;
}
public Criteria andTargetTableIdIsNotNull() {
addCriterion("target_table_id is not null");
return (Criteria) this;
}
public Criteria andTargetTableIdEqualTo(String value) {
addCriterion("target_table_id =", value, "targetTableId");
return (Criteria) this;
}
public Criteria andTargetTableIdNotEqualTo(String value) {
addCriterion("target_table_id <>", value, "targetTableId");
return (Criteria) this;
}
public Criteria andTargetTableIdGreaterThan(String value) {
addCriterion("target_table_id >", value, "targetTableId");
return (Criteria) this;
}
public Criteria andTargetTableIdGreaterThanOrEqualTo(String value) {
addCriterion("target_table_id >=", value, "targetTableId");
return (Criteria) this;
}
public Criteria andTargetTableIdLessThan(String value) {
addCriterion("target_table_id <", value, "targetTableId");
return (Criteria) this;
}
public Criteria andTargetTableIdLessThanOrEqualTo(String value) {
addCriterion("target_table_id <=", value, "targetTableId");
return (Criteria) this;
}
public Criteria andTargetTableIdLike(String value) {
addCriterion("target_table_id like", value, "targetTableId");
return (Criteria) this;
}
public Criteria andTargetTableIdNotLike(String value) {
addCriterion("target_table_id not like", value, "targetTableId");
return (Criteria) this;
}
public Criteria andTargetTableIdIn(List<String> values) {
addCriterion("target_table_id in", values, "targetTableId");
return (Criteria) this;
}
public Criteria andTargetTableIdNotIn(List<String> values) {
addCriterion("target_table_id not in", values, "targetTableId");
return (Criteria) this;
}
public Criteria andTargetTableIdBetween(String value1, String value2) {
addCriterion("target_table_id between", value1, value2, "targetTableId");
return (Criteria) this;
}
public Criteria andTargetTableIdNotBetween(String value1, String value2) {
addCriterion("target_table_id not between", value1, value2, "targetTableId");
return (Criteria) this;
}
public Criteria andTargetTableFieldIdIsNull() {
addCriterion("target_table_field_id is null");
return (Criteria) this;
}
public Criteria andTargetTableFieldIdIsNotNull() {
addCriterion("target_table_field_id is not null");
return (Criteria) this;
}
public Criteria andTargetTableFieldIdEqualTo(String value) {
addCriterion("target_table_field_id =", value, "targetTableFieldId");
return (Criteria) this;
}
public Criteria andTargetTableFieldIdNotEqualTo(String value) {
addCriterion("target_table_field_id <>", value, "targetTableFieldId");
return (Criteria) this;
}
public Criteria andTargetTableFieldIdGreaterThan(String value) {
addCriterion("target_table_field_id >", value, "targetTableFieldId");
return (Criteria) this;
}
public Criteria andTargetTableFieldIdGreaterThanOrEqualTo(String value) {
addCriterion("target_table_field_id >=", value, "targetTableFieldId");
return (Criteria) this;
}
public Criteria andTargetTableFieldIdLessThan(String value) {
addCriterion("target_table_field_id <", value, "targetTableFieldId");
return (Criteria) this;
}
public Criteria andTargetTableFieldIdLessThanOrEqualTo(String value) {
addCriterion("target_table_field_id <=", value, "targetTableFieldId");
return (Criteria) this;
}
public Criteria andTargetTableFieldIdLike(String value) {
addCriterion("target_table_field_id like", value, "targetTableFieldId");
return (Criteria) this;
}
public Criteria andTargetTableFieldIdNotLike(String value) {
addCriterion("target_table_field_id not like", value, "targetTableFieldId");
return (Criteria) this;
}
public Criteria andTargetTableFieldIdIn(List<String> values) {
addCriterion("target_table_field_id in", values, "targetTableFieldId");
return (Criteria) this;
}
public Criteria andTargetTableFieldIdNotIn(List<String> values) {
addCriterion("target_table_field_id not in", values, "targetTableFieldId");
return (Criteria) this;
}
public Criteria andTargetTableFieldIdBetween(String value1, String value2) {
addCriterion("target_table_field_id between", value1, value2, "targetTableFieldId");
return (Criteria) this;
}
public Criteria andTargetTableFieldIdNotBetween(String value1, String value2) {
addCriterion("target_table_field_id not between", value1, value2, "targetTableFieldId");
return (Criteria) this;
}
public Criteria andTargetUnionRelationIsNull() {
addCriterion("target_union_relation is null");
return (Criteria) this;
}
public Criteria andTargetUnionRelationIsNotNull() {
addCriterion("target_union_relation is not null");
return (Criteria) this;
}
public Criteria andTargetUnionRelationEqualTo(String value) {
addCriterion("target_union_relation =", value, "targetUnionRelation");
return (Criteria) this;
}
public Criteria andTargetUnionRelationNotEqualTo(String value) {
addCriterion("target_union_relation <>", value, "targetUnionRelation");
return (Criteria) this;
}
public Criteria andTargetUnionRelationGreaterThan(String value) {
addCriterion("target_union_relation >", value, "targetUnionRelation");
return (Criteria) this;
}
public Criteria andTargetUnionRelationGreaterThanOrEqualTo(String value) {
addCriterion("target_union_relation >=", value, "targetUnionRelation");
return (Criteria) this;
}
public Criteria andTargetUnionRelationLessThan(String value) {
addCriterion("target_union_relation <", value, "targetUnionRelation");
return (Criteria) this;
}
public Criteria andTargetUnionRelationLessThanOrEqualTo(String value) {
addCriterion("target_union_relation <=", value, "targetUnionRelation");
return (Criteria) this;
}
public Criteria andTargetUnionRelationLike(String value) {
addCriterion("target_union_relation like", value, "targetUnionRelation");
return (Criteria) this;
}
public Criteria andTargetUnionRelationNotLike(String value) {
addCriterion("target_union_relation not like", value, "targetUnionRelation");
return (Criteria) this;
}
public Criteria andTargetUnionRelationIn(List<String> values) {
addCriterion("target_union_relation in", values, "targetUnionRelation");
return (Criteria) this;
}
public Criteria andTargetUnionRelationNotIn(List<String> values) {
addCriterion("target_union_relation not in", values, "targetUnionRelation");
return (Criteria) this;
}
public Criteria andTargetUnionRelationBetween(String value1, String value2) {
addCriterion("target_union_relation between", value1, value2, "targetUnionRelation");
return (Criteria) this;
}
public Criteria andTargetUnionRelationNotBetween(String value1, String value2) {
addCriterion("target_union_relation not between", value1, value2, "targetUnionRelation");
return (Criteria) this;
}
public Criteria andCreateByIsNull() {
addCriterion("create_by is null");
return (Criteria) this;
}
public Criteria andCreateByIsNotNull() {
addCriterion("create_by is not null");
return (Criteria) this;
}
public Criteria andCreateByEqualTo(String value) {
addCriterion("create_by =", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotEqualTo(String value) {
addCriterion("create_by <>", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByGreaterThan(String value) {
addCriterion("create_by >", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByGreaterThanOrEqualTo(String value) {
addCriterion("create_by >=", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByLessThan(String value) {
addCriterion("create_by <", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByLessThanOrEqualTo(String value) {
addCriterion("create_by <=", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByLike(String value) {
addCriterion("create_by like", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotLike(String value) {
addCriterion("create_by not like", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByIn(List<String> values) {
addCriterion("create_by in", values, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotIn(List<String> values) {
addCriterion("create_by not in", values, "createBy");
return (Criteria) this;
}
public Criteria andCreateByBetween(String value1, String value2) {
addCriterion("create_by between", value1, value2, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotBetween(String value1, String value2) {
addCriterion("create_by not between", value1, value2, "createBy");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
}
public Criteria andCreateTimeIsNotNull() {
addCriterion("create_time is not null");
return (Criteria) this;
}
public Criteria andCreateTimeEqualTo(Long value) {
addCriterion("create_time =", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotEqualTo(Long value) {
addCriterion("create_time <>", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThan(Long value) {
addCriterion("create_time >", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThanOrEqualTo(Long value) {
addCriterion("create_time >=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThan(Long value) {
addCriterion("create_time <", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThanOrEqualTo(Long value) {
addCriterion("create_time <=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeIn(List<Long> values) {
addCriterion("create_time in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotIn(List<Long> values) {
addCriterion("create_time not in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeBetween(Long value1, Long value2) {
addCriterion("create_time between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotBetween(Long value1, Long value2) {
addCriterion("create_time not between", value1, value2, "createTime");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

View File

@ -0,0 +1,30 @@
package io.dataease.base.mapper;
import io.dataease.base.domain.DatasetTableUnion;
import io.dataease.base.domain.DatasetTableUnionExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface DatasetTableUnionMapper {
long countByExample(DatasetTableUnionExample example);
int deleteByExample(DatasetTableUnionExample example);
int deleteByPrimaryKey(String id);
int insert(DatasetTableUnion record);
int insertSelective(DatasetTableUnion record);
List<DatasetTableUnion> selectByExample(DatasetTableUnionExample example);
DatasetTableUnion selectByPrimaryKey(String id);
int updateByExampleSelective(@Param("record") DatasetTableUnion record, @Param("example") DatasetTableUnionExample example);
int updateByExample(@Param("record") DatasetTableUnion record, @Param("example") DatasetTableUnionExample example);
int updateByPrimaryKeySelective(DatasetTableUnion record);
int updateByPrimaryKey(DatasetTableUnion record);
}

View File

@ -0,0 +1,276 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="io.dataease.base.mapper.DatasetTableUnionMapper">
<resultMap id="BaseResultMap" type="io.dataease.base.domain.DatasetTableUnion">
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="source_table_id" jdbcType="VARCHAR" property="sourceTableId" />
<result column="source_table_field_id" jdbcType="VARCHAR" property="sourceTableFieldId" />
<result column="source_union_relation" jdbcType="VARCHAR" property="sourceUnionRelation" />
<result column="target_table_id" jdbcType="VARCHAR" property="targetTableId" />
<result column="target_table_field_id" jdbcType="VARCHAR" property="targetTableFieldId" />
<result column="target_union_relation" jdbcType="VARCHAR" property="targetUnionRelation" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="create_time" jdbcType="BIGINT" property="createTime" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, source_table_id, source_table_field_id, source_union_relation, target_table_id,
target_table_field_id, target_union_relation, create_by, create_time
</sql>
<select id="selectByExample" parameterType="io.dataease.base.domain.DatasetTableUnionExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from dataset_table_union
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from dataset_table_union
where id = #{id,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from dataset_table_union
where id = #{id,jdbcType=VARCHAR}
</delete>
<delete id="deleteByExample" parameterType="io.dataease.base.domain.DatasetTableUnionExample">
delete from dataset_table_union
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="io.dataease.base.domain.DatasetTableUnion">
insert into dataset_table_union (id, source_table_id, source_table_field_id,
source_union_relation, target_table_id, target_table_field_id,
target_union_relation, create_by, create_time
)
values (#{id,jdbcType=VARCHAR}, #{sourceTableId,jdbcType=VARCHAR}, #{sourceTableFieldId,jdbcType=VARCHAR},
#{sourceUnionRelation,jdbcType=VARCHAR}, #{targetTableId,jdbcType=VARCHAR}, #{targetTableFieldId,jdbcType=VARCHAR},
#{targetUnionRelation,jdbcType=VARCHAR}, #{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}
)
</insert>
<insert id="insertSelective" parameterType="io.dataease.base.domain.DatasetTableUnion">
insert into dataset_table_union
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="sourceTableId != null">
source_table_id,
</if>
<if test="sourceTableFieldId != null">
source_table_field_id,
</if>
<if test="sourceUnionRelation != null">
source_union_relation,
</if>
<if test="targetTableId != null">
target_table_id,
</if>
<if test="targetTableFieldId != null">
target_table_field_id,
</if>
<if test="targetUnionRelation != null">
target_union_relation,
</if>
<if test="createBy != null">
create_by,
</if>
<if test="createTime != null">
create_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=VARCHAR},
</if>
<if test="sourceTableId != null">
#{sourceTableId,jdbcType=VARCHAR},
</if>
<if test="sourceTableFieldId != null">
#{sourceTableFieldId,jdbcType=VARCHAR},
</if>
<if test="sourceUnionRelation != null">
#{sourceUnionRelation,jdbcType=VARCHAR},
</if>
<if test="targetTableId != null">
#{targetTableId,jdbcType=VARCHAR},
</if>
<if test="targetTableFieldId != null">
#{targetTableFieldId,jdbcType=VARCHAR},
</if>
<if test="targetUnionRelation != null">
#{targetUnionRelation,jdbcType=VARCHAR},
</if>
<if test="createBy != null">
#{createBy,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=BIGINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="io.dataease.base.domain.DatasetTableUnionExample" resultType="java.lang.Long">
select count(*) from dataset_table_union
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update dataset_table_union
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=VARCHAR},
</if>
<if test="record.sourceTableId != null">
source_table_id = #{record.sourceTableId,jdbcType=VARCHAR},
</if>
<if test="record.sourceTableFieldId != null">
source_table_field_id = #{record.sourceTableFieldId,jdbcType=VARCHAR},
</if>
<if test="record.sourceUnionRelation != null">
source_union_relation = #{record.sourceUnionRelation,jdbcType=VARCHAR},
</if>
<if test="record.targetTableId != null">
target_table_id = #{record.targetTableId,jdbcType=VARCHAR},
</if>
<if test="record.targetTableFieldId != null">
target_table_field_id = #{record.targetTableFieldId,jdbcType=VARCHAR},
</if>
<if test="record.targetUnionRelation != null">
target_union_relation = #{record.targetUnionRelation,jdbcType=VARCHAR},
</if>
<if test="record.createBy != null">
create_by = #{record.createBy,jdbcType=VARCHAR},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=BIGINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update dataset_table_union
set id = #{record.id,jdbcType=VARCHAR},
source_table_id = #{record.sourceTableId,jdbcType=VARCHAR},
source_table_field_id = #{record.sourceTableFieldId,jdbcType=VARCHAR},
source_union_relation = #{record.sourceUnionRelation,jdbcType=VARCHAR},
target_table_id = #{record.targetTableId,jdbcType=VARCHAR},
target_table_field_id = #{record.targetTableFieldId,jdbcType=VARCHAR},
target_union_relation = #{record.targetUnionRelation,jdbcType=VARCHAR},
create_by = #{record.createBy,jdbcType=VARCHAR},
create_time = #{record.createTime,jdbcType=BIGINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="io.dataease.base.domain.DatasetTableUnion">
update dataset_table_union
<set>
<if test="sourceTableId != null">
source_table_id = #{sourceTableId,jdbcType=VARCHAR},
</if>
<if test="sourceTableFieldId != null">
source_table_field_id = #{sourceTableFieldId,jdbcType=VARCHAR},
</if>
<if test="sourceUnionRelation != null">
source_union_relation = #{sourceUnionRelation,jdbcType=VARCHAR},
</if>
<if test="targetTableId != null">
target_table_id = #{targetTableId,jdbcType=VARCHAR},
</if>
<if test="targetTableFieldId != null">
target_table_field_id = #{targetTableFieldId,jdbcType=VARCHAR},
</if>
<if test="targetUnionRelation != null">
target_union_relation = #{targetUnionRelation,jdbcType=VARCHAR},
</if>
<if test="createBy != null">
create_by = #{createBy,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="io.dataease.base.domain.DatasetTableUnion">
update dataset_table_union
set source_table_id = #{sourceTableId,jdbcType=VARCHAR},
source_table_field_id = #{sourceTableFieldId,jdbcType=VARCHAR},
source_union_relation = #{sourceUnionRelation,jdbcType=VARCHAR},
target_table_id = #{targetTableId,jdbcType=VARCHAR},
target_table_field_id = #{targetTableFieldId,jdbcType=VARCHAR},
target_union_relation = #{targetUnionRelation,jdbcType=VARCHAR},
create_by = #{createBy,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=BIGINT}
where id = #{id,jdbcType=VARCHAR}
</update>
</mapper>

View File

@ -0,0 +1,11 @@
package io.dataease.base.mapper.ext;
import io.dataease.dto.dataset.DataSetTableUnionDTO;
import java.util.List;
public interface ExtDatasetTableUnionMapper {
List<DataSetTableUnionDTO> selectBySourceTableId(String tableId);
List<DataSetTableUnionDTO> selectByTargetTableId(String tableId);
}

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!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.ExtDatasetTableUnionMapper">
<resultMap id="BaseResultMap" type="io.dataease.dto.dataset.DataSetTableUnionDTO">
<id column="id" jdbcType="VARCHAR" property="id"/>
<result column="source_table_id" jdbcType="VARCHAR" property="sourceTableId"/>
<result column="source_table_field_id" jdbcType="VARCHAR" property="sourceTableFieldId"/>
<result column="source_union_relation" jdbcType="VARCHAR" property="sourceUnionRelation"/>
<result column="target_table_id" jdbcType="VARCHAR" property="targetTableId"/>
<result column="target_table_field_id" jdbcType="VARCHAR" property="targetTableFieldId"/>
<result column="target_union_relation" jdbcType="VARCHAR" property="targetUnionRelation"/>
<result column="create_by" jdbcType="VARCHAR" property="createBy"/>
<result column="create_time" jdbcType="BIGINT" property="createTime"/>
<result column="sourceTableName" jdbcType="VARCHAR" property="sourceTableName"/>
<result column="sourceTableFieldName" jdbcType="VARCHAR" property="sourceTableFieldName"/>
<result column="targetTableName" jdbcType="VARCHAR" property="targetTableName"/>
<result column="targetTableFieldName" jdbcType="VARCHAR" property="targetTableFieldName"/>
</resultMap>
<select id="selectBySourceTableId" resultMap="BaseResultMap" parameterType="java.lang.String">
select dtu.*,dt.name as sourceTableName,dtf.name as sourceTableFieldName,dt1.name as targetTableName,dtf1.name as targetTableFieldName
from dataset_table_union dtu
left join dataset_table dt on dt.id = dtu.source_table_id
left join dataset_table_field dtf on dtf.id = dtu.source_table_field_id
left join dataset_table dt1 on dt1.id = dtu.target_table_id
left join dataset_table_field dtf1 on dtf1.id = dtu.target_table_field_id
where dtu.source_table_id = #{tableId,jdbcType=VARCHAR}
order by dtu.create_time
</select>
<select id="selectByTargetTableId" resultMap="BaseResultMap" parameterType="java.lang.String">
select dtu.*,dt.name as sourceTableName,dtf.name as sourceTableFieldName,dt1.name as targetTableName,dtf1.name as targetTableFieldName
from dataset_table_union dtu
left join dataset_table dt on dt.id = dtu.source_table_id
left join dataset_table_field dtf on dtf.id = dtu.source_table_field_id
left join dataset_table dt1 on dt1.id = dtu.target_table_id
left join dataset_table_field dtf1 on dtf1.id = dtu.target_table_field_id
where dtu.target_table_id = #{tableId,jdbcType=VARCHAR}
order by dtu.create_time
</select>
</mapper>

View File

@ -0,0 +1,35 @@
package io.dataease.controller.dataset;
import io.dataease.base.domain.DatasetTableUnion;
import io.dataease.dto.dataset.DataSetTableUnionDTO;
import io.dataease.service.dataset.DataSetTableUnionService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author gin
* @Date 2021/5/7 10:30 上午
*/
@RestController
@RequestMapping("dataset/union")
public class DataSetTableUnionController {
@Resource
private DataSetTableUnionService dataSetTableUnionService;
@PostMapping("save")
public DatasetTableUnion save(@RequestBody DatasetTableUnion datasetTableUnion) {
return dataSetTableUnionService.save(datasetTableUnion);
}
@PostMapping("delete/{id}")
public void delete(@PathVariable String id) {
dataSetTableUnionService.delete(id);
}
@PostMapping("listByTableId/{tableId}")
public List<DataSetTableUnionDTO> listByTableId(@PathVariable String tableId) {
return dataSetTableUnionService.listByTableId(tableId);
}
}

View File

@ -0,0 +1,18 @@
package io.dataease.dto.dataset;
import io.dataease.base.domain.DatasetTableUnion;
import lombok.Getter;
import lombok.Setter;
/**
* @Author gin
* @Date 2021/5/6 6:08 下午
*/
@Getter
@Setter
public class DataSetTableUnionDTO extends DatasetTableUnion {
private String sourceTableName;
private String sourceTableFieldName;
private String targetTableName;
private String targetTableFieldName;
}

View File

@ -0,0 +1,74 @@
package io.dataease.service.dataset;
import io.dataease.base.domain.DatasetTableUnion;
import io.dataease.base.mapper.DatasetTableUnionMapper;
import io.dataease.base.mapper.ext.ExtDatasetTableUnionMapper;
import io.dataease.commons.utils.AuthUtils;
import io.dataease.dto.dataset.DataSetTableUnionDTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Comparator;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
/**
* @Author gin
* @Date 2021/5/6 6:03 下午
*/
@Service
@Transactional
public class DataSetTableUnionService {
@Resource
private DatasetTableUnionMapper datasetTableUnionMapper;
@Resource
private ExtDatasetTableUnionMapper extDatasetTableUnionMapper;
public DatasetTableUnion save(DatasetTableUnion datasetTableUnion) {
if (StringUtils.isEmpty(datasetTableUnion.getId())) {
datasetTableUnion.setId(UUID.randomUUID().toString());
datasetTableUnion.setCreateBy(AuthUtils.getUser().getUsername());
datasetTableUnion.setCreateTime(System.currentTimeMillis());
datasetTableUnionMapper.insert(datasetTableUnion);
} else {
datasetTableUnionMapper.updateByPrimaryKeySelective(datasetTableUnion);
}
return datasetTableUnion;
}
public void delete(String id) {
datasetTableUnionMapper.deleteByPrimaryKey(id);
}
public List<DataSetTableUnionDTO> listByTableId(String tableId) {
List<DataSetTableUnionDTO> sourceList = extDatasetTableUnionMapper.selectBySourceTableId(tableId);
List<DataSetTableUnionDTO> targetList = extDatasetTableUnionMapper.selectByTargetTableId(tableId);
sourceList.addAll(targetList.stream().map(ele -> {
DataSetTableUnionDTO dto = new DataSetTableUnionDTO();
dto.setId(ele.getId());
dto.setSourceTableId(ele.getTargetTableId());
dto.setSourceTableFieldId(ele.getTargetTableFieldId());
dto.setSourceTableName(ele.getTargetTableName());
dto.setSourceTableFieldName(ele.getTargetTableFieldName());
dto.setTargetTableId(ele.getSourceTableId());
dto.setTargetTableFieldId(ele.getSourceTableFieldId());
dto.setTargetTableName(ele.getSourceTableName());
dto.setTargetTableFieldName(ele.getSourceTableFieldName());
dto.setSourceUnionRelation(ele.getTargetUnionRelation());
dto.setTargetUnionRelation(ele.getSourceUnionRelation());
dto.setCreateBy(ele.getCreateBy());
dto.setCreateTime(ele.getCreateTime());
return dto;
}).collect(Collectors.toList()));
sourceList.sort(Comparator.comparing(DatasetTableUnion::getCreateTime));
return sourceList;
}
}

View File

@ -0,0 +1,15 @@
DROP TABLE IF EXISTS `dataset_table_union`;
CREATE TABLE IF NOT EXISTS `dataset_table_union`
(
`id` varchar(50) NOT NULL COMMENT 'ID',
`source_table_id` varchar(50) COMMENT '关联表ID',
`source_table_field_id` varchar(50) COMMENT '关联字段ID',
`source_union_relation` varchar(50) COMMENT '关联关系,1:1、1:N、N:1',
`target_table_id` varchar(50) COMMENT '被关联表ID',
`target_table_field_id` varchar(50) COMMENT '被关联字段ID',
`target_union_relation` varchar(50) COMMENT '被关联关系,1:1、1:N、N:1',
`create_by` varchar(50) COMMENT '创建人ID',
`create_time` bigint(13) COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4;

View File

@ -798,7 +798,17 @@ export default {
pls_input_less_9: '请输入9位以内的正整数',
field_edit: '编辑字段',
table_already_add_to: '该表已添加至',
uploading: '上传中...'
uploading: '上传中...',
add_union: '添加关联',
union_setting: '关联设置',
pls_slc_union_field: '请选择关联字段',
pls_slc_union_table: '请选择关联表',
source_table: '关联表',
source_field: '关联字段',
target_table: '被关联表',
target_field: '被关联字段',
union_relation: '关联关系',
pls_setting_union_success: '请正确设置关联关系'
},
datasource: {
datasource: '数据源',

View File

@ -79,6 +79,7 @@
node-key="id"
:expand-on-click-node="true"
class="tree-list"
highlight-current
@node-click="sceneClick"
>
<span slot-scope="{ node, data }" class="custom-tree-node-list">

View File

@ -0,0 +1,273 @@
<template>
<el-row>
<el-button size="mini" @click="showUnionEdit">{{ $t('dataset.add_union') }}</el-button>
<el-row>
<el-table
size="mini"
:data="unionData"
style="width: 100%;margin-top: 10px;"
>
<el-table-column
prop="sourceTableName"
:label="$t('dataset.source_table')"
/>
<el-table-column
prop="sourceTableFieldName"
:label="$t('dataset.source_field')"
/>
<el-table-column
prop="sourceUnionRelation"
:label="$t('dataset.union_relation')"
/>
<el-table-column
prop="targetTableName"
:label="$t('dataset.target_table')"
/>
<el-table-column
prop="targetTableFieldName"
:label="$t('dataset.target_field')"
/>
<el-table-column
fixed="right"
width="100"
>
<template slot-scope="scope">
<el-button type="text" size="mini" @click="edit(scope.row)">{{ $t('dataset.edit') }}</el-button>
<el-button type="text" size="mini" @click="deleteUnion(scope.row)">{{ $t('dataset.delete') }}</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<el-dialog
v-dialogDrag
:title="$t('dataset.union_setting')"
:visible="editUnion"
:show-close="false"
width="600px"
class="dialog-css"
>
<el-row style="display: flex;align-items: center;justify-content: center;">
<el-col :span="6">
<p class="table-name-css">{{ table.name }}</p>
<el-select v-model="union.sourceTableFieldId" :placeholder="$t('dataset.pls_slc_union_field')" filterable clearable size="mini">
<el-option
v-for="item in sourceFieldOption"
:key="item.id"
:label="item.name"
:value="item.id"
>
<span>
<span v-if="item.deType === 0">
<svg-icon v-if="item.deType === 0" icon-class="field_text" class="field-icon-text" />
</span>
<span v-if="item.deType === 1">
<svg-icon v-if="item.deType === 1" icon-class="field_time" class="field-icon-time" />
</span>
<span v-if="item.deType === 2 || item.deType === 3">
<svg-icon v-if="item.deType === 2 || item.deType === 3" icon-class="field_value" class="field-icon-value" />
</span>
</span>
<span>
{{ item.name }}
</span>
</el-option>
</el-select>
</el-col>
<el-col :span="6">
<el-radio-group v-model="union.sourceUnionRelation" size="mini" style="display: block;width: 100%;text-align: center;">
<el-radio class="union-relation-css" label="1:1">1 : 1</el-radio>
<el-radio class="union-relation-css" label="1:N">1 : N</el-radio>
<el-radio class="union-relation-css" label="N:1">N : 1</el-radio>
</el-radio-group>
</el-col>
<el-col :span="6">
<el-popover
placement="bottom"
width="400"
trigger="hover"
>
<dataset-group-selector @getTable="getTable" />
<el-button slot="reference" size="mini">{{ $t('dataset.pls_slc_union_table') }}</el-button>
</el-popover>
<el-select v-model="union.targetTableFieldId" :placeholder="$t('dataset.pls_slc_union_field')" filterable clearable size="mini">
<el-option
v-for="item in targetFieldOption"
:key="item.id"
:label="item.name"
:value="item.id"
>
<span>
<span v-if="item.deType === 0">
<svg-icon v-if="item.deType === 0" icon-class="field_text" class="field-icon-text" />
</span>
<span v-if="item.deType === 1">
<svg-icon v-if="item.deType === 1" icon-class="field_time" class="field-icon-time" />
</span>
<span v-if="item.deType === 2 || item.deType === 3">
<svg-icon v-if="item.deType === 2 || item.deType === 3" icon-class="field_value" class="field-icon-value" />
</span>
</span>
<span>
{{ item.name }}
</span>
</el-option>
</el-select>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button size="mini" @click="closeUnion">{{ $t('dataset.cancel') }}</el-button>
<el-button type="primary" size="mini" @click="saveUnion">{{ $t('dataset.confirm') }}</el-button>
</div>
</el-dialog>
</el-row>
</template>
<script>
import { post, fieldList } from '../../../api/dataset/dataset'
import DatasetGroupSelector from '../common/DatasetGroupSelector'
export default {
name: 'UnionView',
components: { DatasetGroupSelector },
props: {
table: {
type: Object,
required: true
}
},
data() {
return {
union: {
id: null,
sourceTableId: this.table.id,
sourceTableFieldId: '',
sourceUnionRelation: '',
targetTableId: '',
targetTableFieldId: '',
targetUnionRelation: ''
},
unionData: [],
editUnion: false,
sourceFieldOption: [],
targetFieldOption: []
}
},
watch: {
'table': function() {
this.initUnion()
}
},
mounted() {
this.initUnion()
},
methods: {
initUnion() {
post('dataset/union/listByTableId/' + this.table.id, {}).then(response => {
// console.log(response)
this.unionData = response.data
})
},
showUnionEdit() {
fieldList(this.table.id).then(response => {
this.sourceFieldOption = response.data
})
this.editUnion = true
},
saveUnion() {
console.log(this.union)
if (!this.union.sourceTableFieldId || !this.union.sourceUnionRelation || !this.union.targetTableId || !this.union.targetTableFieldId) {
this.$message({
type: 'error',
message: this.$t('dataset.pls_setting_union_success'),
showClose: true
})
return
}
this.union.targetUnionRelation = this.union.sourceUnionRelation.split('').reverse().join('')
post('dataset/union/save', this.union).then(response => {
this.$message({
type: 'success',
message: this.$t('dataset.save_success'),
showClose: true
})
this.closeUnion()
this.initUnion()
})
},
closeUnion() {
this.editUnion = false
this.resetUnion()
},
resetUnion() {
this.union = {
id: null,
sourceTableId: this.table.id,
sourceTableFieldId: '',
sourceUnionRelation: '',
targetTableId: '',
targetTableFieldId: '',
targetUnionRelation: ''
}
},
edit(item) {
this.union = JSON.parse(JSON.stringify(item))
fieldList(this.union.targetTableId).then(response => {
this.targetFieldOption = response.data
this.showUnionEdit()
})
},
deleteUnion(item) {
this.$confirm(this.$t('dataset.confirm_delete'), this.$t('dataset.tips'), {
confirmButtonText: this.$t('dataset.confirm'),
cancelButtonText: this.$t('dataset.cancel'),
type: 'warning'
}).then(() => {
post('dataset/union/delete/' + item.id, {}).then(response => {
this.$message({
type: 'success',
message: this.$t('dataset.delete_success'),
showClose: true
})
this.initUnion()
})
})
},
getTable(param) {
// console.log(param)
this.union.targetTableId = param.id
this.union.targetTableFieldId = ''
fieldList(param.id).then(response => {
this.targetFieldOption = response.data
})
}
}
}
</script>
<style scoped>
.table-name-css{
margin: 4px 2px;
}
.union-relation-css{
display: block;
width: 100%;
padding: 4px 10px;
}
.dialog-css>>>.el-dialog__title {
font-size: 14px;
}
.dialog-css >>> .el-dialog__header {
padding: 20px 20px 0;
}
.dialog-css >>> .el-dialog__body {
padding: 10px 20px 20px;
}
</style>

View File

@ -32,7 +32,7 @@
<tab-data-preview :table="table" :fields="fields" :data="data" :page="page" :form="tableViewRowForm" @reSearch="reSearch" />
</el-tab-pane>
<el-tab-pane :label="$t('dataset.join_view')" name="joinView">
关联视图 TODO
<union-view :table="table" />
</el-tab-pane>
<el-tab-pane v-if="table.mode === 1 && (table.type === 'db' || table.type === 'sql')" :label="$t('dataset.update_info')" name="updateInfo">
<update-info :table="table" />
@ -46,10 +46,11 @@ import { getTable, post } from '@/api/dataset/dataset'
import TabDataPreview from './TabDataPreview'
import UpdateInfo from './UpdateInfo'
import DatasetChartDetail from '../common/DatasetChartDetail'
import UnionView from './UnionView'
export default {
name: 'ViewTable',
components: { DatasetChartDetail, UpdateInfo, TabDataPreview },
components: { UnionView, DatasetChartDetail, UpdateInfo, TabDataPreview },
props: {
param: {
type: String,