| | |
| | | package com.highdatas.mdm.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | import com.baomidou.mybatisplus.activerecord.Model; |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import com.highdatas.mdm.pojo.Segment; |
| | | import com.highdatas.mdm.pojo.ViewJoinType; |
| | | import com.highdatas.mdm.util.Constant; |
| | | import com.highdatas.mdm.util.ContentBuilder; |
| | | import com.highdatas.mdm.util.DbUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | |
| | | import java.io.Serializable; |
| | | import java.text.MessageFormat; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | public class SysViewJoin extends Model<SysViewJoin> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /* |
| | | * 主键 |
| | | * */ |
| | | private String id; |
| | | |
| | | @TableField("view_id") |
| | | private String viewId; |
| | | /* |
| | | * 视图id |
| | | * */ |
| | | @TableField("parent_id") |
| | | private String parentId; |
| | | |
| | | /* |
| | | * 主题id |
| | | * */ |
| | | @TableField("menu_id") |
| | | private String menuId; |
| | | |
| | | /* |
| | | * 字段 |
| | | * */ |
| | | private String fields; |
| | | |
| | | /* |
| | | * 关联主题版本 |
| | | * */ |
| | | @TableField("join_maintain") |
| | | private String joinMaintain; |
| | | |
| | | /* |
| | | * 关联字段 |
| | | * */ |
| | | @TableField("join_field") |
| | | private String joinField; |
| | | /* |
| | | * 基础字段 |
| | | * */ |
| | | @TableField("base_field") |
| | | private String baseField; |
| | | |
| | | /* |
| | | * 关联的sql 前端展示用 |
| | | * */ |
| | | @TableField("join_segment") |
| | | private String joinSegment; |
| | | |
| | | /* |
| | | * join类型 |
| | | * */ |
| | | |
| | | @TableField("join_type") |
| | | private ViewJoinType joinType; |
| | | |
| | | /* |
| | | * 是否需要更新 |
| | | * */ |
| | | @TableField("need_update") |
| | | private Boolean needUpdate; |
| | | |
| | | /* |
| | | * 关联表名 |
| | | * */ |
| | | private transient String joinTableName; |
| | | /* |
| | | * 基准表名 |
| | | * */ |
| | | private transient String baseTableName; |
| | | /* |
| | | * 关联版本 |
| | | * */ |
| | | private transient String joinVersion; |
| | | /* |
| | | * 主题名称 |
| | | * */ |
| | | private transient String menuName; |
| | | |
| | | public String getMenuName() { |
| | | return menuName; |
| | | } |
| | | |
| | | public SysViewJoin setMenuName(String menuName) { |
| | | this.menuName = menuName; |
| | | return this; |
| | | } |
| | | |
| | | public ViewJoinType getJoinType() { |
| | | return joinType; |
| | | } |
| | | |
| | | public SysViewJoin setJoinType(ViewJoinType joinType) { |
| | | this.joinType = joinType; |
| | | return this; |
| | | } |
| | | |
| | | public Boolean getNeedUpdate() { |
| | | return needUpdate; |
| | | } |
| | | |
| | | public SysViewJoin setNeedUpdate(Boolean needUpdate) { |
| | | this.needUpdate = needUpdate; |
| | | return this; |
| | | } |
| | | |
| | | public String getMenuId() { |
| | | return menuId; |
| | | } |
| | | |
| | | public SysViewJoin setMenuId(String menuId) { |
| | | this.menuId = menuId; |
| | | return this; |
| | | } |
| | | |
| | | public String getJoinTableName() { |
| | | return joinTableName; |
| | | } |
| | | |
| | | public void setJoinTableName(String joinTableName) { |
| | | this.joinTableName = joinTableName; |
| | | } |
| | | |
| | | public String getJoinVersion() { |
| | | return joinVersion; |
| | | } |
| | | |
| | | public void setJoinVersion(String joinVersion) { |
| | | this.joinVersion = joinVersion; |
| | | } |
| | | |
| | | public String getId() { |
| | | return id; |
| | |
| | | this.id = id; |
| | | return this; |
| | | } |
| | | public String getViewId() { |
| | | return viewId; |
| | | |
| | | public String getParentId() { |
| | | return parentId; |
| | | } |
| | | |
| | | public SysViewJoin setViewId(String viewId) { |
| | | this.viewId = viewId; |
| | | public SysViewJoin setParentId(String parentId) { |
| | | this.parentId = parentId; |
| | | return this; |
| | | } |
| | | |
| | | public String getFields() { |
| | | return fields; |
| | | } |
| | | |
| | | public SysViewJoin setFields(String fields) { |
| | | this.fields = fields; |
| | | return this; |
| | | } |
| | | public String getJoinMaintain() { |
| | |
| | | |
| | | public SysViewJoin setJoinMaintain(String joinMaintain) { |
| | | this.joinMaintain = joinMaintain; |
| | | return this; |
| | | } |
| | | public String getJoinField() { |
| | | return joinField; |
| | | } |
| | | |
| | | public SysViewJoin setJoinField(String joinField) { |
| | | this.joinField = joinField; |
| | | return this; |
| | | } |
| | | public String getBaseField() { |
| | | return baseField; |
| | | } |
| | | |
| | | public SysViewJoin setBaseField(String baseField) { |
| | | this.baseField = baseField; |
| | | return this; |
| | | } |
| | | public String getJoinSegment() { |
| | |
| | | public String toString() { |
| | | return "SysViewJoin{" + |
| | | "id=" + id + |
| | | ", viewId=" + viewId + |
| | | ", parentId=" + parentId + |
| | | ", fields=" + fields + |
| | | ", joinMaintain=" + joinMaintain + |
| | | ", joinField=" + joinField + |
| | | ", baseField=" + baseField + |
| | | ", joinSegment=" + joinSegment + |
| | | "}"; |
| | | } |
| | | |
| | | public String createJoinStr() { |
| | | if (StringUtils.isEmpty(joinTableName)) { |
| | | return null; |
| | | } |
| | | if (StringUtils.isEmpty(baseTableName)) { |
| | | return null; |
| | | } |
| | | List<String> baseFieldList = DbUtils.split(baseField); |
| | | List<String> joinFieldList = DbUtils.split(joinField); |
| | | ContentBuilder builder = new ContentBuilder(Constant.AND); |
| | | for (int i = 0; i < baseFieldList.size(); i++) { |
| | | String oneBase = baseFieldList.get(i); |
| | | String oneJoin = joinFieldList.get(i); |
| | | String base = MessageFormat.format(Constant.Alias, baseTableName, oneBase); |
| | | String join = MessageFormat.format(Constant.Alias, joinTableName, oneJoin); |
| | | Segment segment = new Segment(base, join); |
| | | builder.append(segment.toRawString()); |
| | | } |
| | | |
| | | return MessageFormat.format(Constant.InnerJoinTemplate, joinType.toString(), joinTableName, builder.toString()); |
| | | } |
| | | |
| | | public String getBaseTableName() { |
| | | return baseTableName; |
| | | } |
| | | |
| | | public SysViewJoin setBaseTableName(String baseTableName) { |
| | | this.baseTableName = baseTableName; |
| | | return this; |
| | | } |
| | | } |