提交 b29c0062 authored 作者: wangjiahao's avatar wangjiahao

feat: 将所有仪表板板视图都归属仪表板

上级 b6cc7fca
package io.dataease.base.domain;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
@Data
public class DataeaseCodeVersion implements Serializable {
private Integer installedRank;
private String description;
private Date installedOn;
private Boolean success;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package io.dataease.base.mapper;
import io.dataease.base.domain.DataeaseCodeVersion;
import io.dataease.base.domain.DataeaseCodeVersionExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface DataeaseCodeVersionMapper {
long countByExample(DataeaseCodeVersionExample example);
int deleteByExample(DataeaseCodeVersionExample example);
int deleteByPrimaryKey(Integer installedRank);
int insert(DataeaseCodeVersion record);
int insertSelective(DataeaseCodeVersion record);
List<DataeaseCodeVersion> selectByExample(DataeaseCodeVersionExample example);
DataeaseCodeVersion selectByPrimaryKey(Integer installedRank);
int updateByExampleSelective(@Param("record") DataeaseCodeVersion record, @Param("example") DataeaseCodeVersionExample example);
int updateByExample(@Param("record") DataeaseCodeVersion record, @Param("example") DataeaseCodeVersionExample example);
int updateByPrimaryKeySelective(DataeaseCodeVersion record);
int updateByPrimaryKey(DataeaseCodeVersion record);
}
\ No newline at end of file
<?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.DataeaseCodeVersionMapper">
<resultMap id="BaseResultMap" type="io.dataease.base.domain.DataeaseCodeVersion">
<id column="installed_rank" jdbcType="INTEGER" property="installedRank" />
<result column="description" jdbcType="VARCHAR" property="description" />
<result column="installed_on" jdbcType="TIMESTAMP" property="installedOn" />
<result column="success" jdbcType="BIT" property="success" />
</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">
installed_rank, description, installed_on, success
</sql>
<select id="selectByExample" parameterType="io.dataease.base.domain.DataeaseCodeVersionExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from dataease_code_version
<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.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from dataease_code_version
where installed_rank = #{installedRank,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from dataease_code_version
where installed_rank = #{installedRank,jdbcType=INTEGER}
</delete>
<delete id="deleteByExample" parameterType="io.dataease.base.domain.DataeaseCodeVersionExample">
delete from dataease_code_version
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="io.dataease.base.domain.DataeaseCodeVersion">
insert into dataease_code_version (installed_rank, description, installed_on,
success)
values (#{installedRank,jdbcType=INTEGER}, #{description,jdbcType=VARCHAR}, #{installedOn,jdbcType=TIMESTAMP},
#{success,jdbcType=BIT})
</insert>
<insert id="insertSelective" parameterType="io.dataease.base.domain.DataeaseCodeVersion">
insert into dataease_code_version
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="installedRank != null">
installed_rank,
</if>
<if test="description != null">
description,
</if>
<if test="installedOn != null">
installed_on,
</if>
<if test="success != null">
success,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="installedRank != null">
#{installedRank,jdbcType=INTEGER},
</if>
<if test="description != null">
#{description,jdbcType=VARCHAR},
</if>
<if test="installedOn != null">
#{installedOn,jdbcType=TIMESTAMP},
</if>
<if test="success != null">
#{success,jdbcType=BIT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="io.dataease.base.domain.DataeaseCodeVersionExample" resultType="java.lang.Long">
select count(*) from dataease_code_version
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update dataease_code_version
<set>
<if test="record.installedRank != null">
installed_rank = #{record.installedRank,jdbcType=INTEGER},
</if>
<if test="record.description != null">
description = #{record.description,jdbcType=VARCHAR},
</if>
<if test="record.installedOn != null">
installed_on = #{record.installedOn,jdbcType=TIMESTAMP},
</if>
<if test="record.success != null">
success = #{record.success,jdbcType=BIT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update dataease_code_version
set installed_rank = #{record.installedRank,jdbcType=INTEGER},
description = #{record.description,jdbcType=VARCHAR},
installed_on = #{record.installedOn,jdbcType=TIMESTAMP},
success = #{record.success,jdbcType=BIT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="io.dataease.base.domain.DataeaseCodeVersion">
update dataease_code_version
<set>
<if test="description != null">
description = #{description,jdbcType=VARCHAR},
</if>
<if test="installedOn != null">
installed_on = #{installedOn,jdbcType=TIMESTAMP},
</if>
<if test="success != null">
success = #{success,jdbcType=BIT},
</if>
</set>
where installed_rank = #{installedRank,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="io.dataease.base.domain.DataeaseCodeVersion">
update dataease_code_version
set description = #{description,jdbcType=VARCHAR},
installed_on = #{installedOn,jdbcType=TIMESTAMP},
success = #{success,jdbcType=BIT}
where installed_rank = #{installedRank,jdbcType=INTEGER}
</update>
</mapper>
\ No newline at end of file
package io.dataease.base.mapper.ext;
public interface DEVersionMapper {
Integer lastSuccessDataEaseVersion();
Integer lastDataEaseCodeVersion();
}
<?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.DEVersionMapper">
<select id="lastSuccessDataEaseVersion" resultType="Integer">
select installed_rank from dataease_version where success = 1 order by installed_rank desc limit 1
</select>
<select id="lastDataEaseCodeVersion" resultType="Integer">
select installed_rank from dataease_code_version order by installed_rank desc limit 1
</select>
</mapper>
...@@ -22,4 +22,6 @@ public interface ExtPanelGroupMapper { ...@@ -22,4 +22,6 @@ public interface ExtPanelGroupMapper {
//移除未使用的视图 //移除未使用的视图
void removeUselessViews(@Param("panelId") String panelId); void removeUselessViews(@Param("panelId") String panelId);
List<PanelGroupDTO> panelGroupInit();
} }
...@@ -16,6 +16,10 @@ ...@@ -16,6 +16,10 @@
select panel_group.*,panel_group.name as label from panel_group where id =#{id} select panel_group.*,panel_group.name as label from panel_group where id =#{id}
</select> </select>
<select id="panelGroupInit" resultMap="BaseResultMapDTO">
select id, name,panel_data from panel_group where node_type = 'panel' and panel_type ='self'
</select>
<select id="panelGroupListDefault" resultMap="BaseResultMapDTO"> <select id="panelGroupListDefault" resultMap="BaseResultMapDTO">
SELECT SELECT
panel_group.id, panel_group.id,
......
...@@ -21,4 +21,5 @@ public interface ExtPanelViewMapper { ...@@ -21,4 +21,5 @@ public interface ExtPanelViewMapper {
void savePanelView(@Param("panelViews") List<PanelViewInsertDTO> panelViews); void savePanelView(@Param("panelViews") List<PanelViewInsertDTO> panelViews);
void copyFromPanel(@Param("newPanelId") String newPanelId,@Param("sourcePanelId") String sourcePanelId,@Param("copyId") String copyId); void copyFromPanel(@Param("newPanelId") String newPanelId,@Param("sourcePanelId") String sourcePanelId,@Param("copyId") String copyId);
} }
...@@ -164,7 +164,6 @@ ...@@ -164,7 +164,6 @@
chart_view chart_view
LEFT JOIN panel_view ON panel_view.chart_view_id = chart_view.id LEFT JOIN panel_view ON panel_view.chart_view_id = chart_view.id
<where> <where>
chart_view.chart_type ='public'
<if test="record.pids != null and record.pids.size() > 0"> <if test="record.pids != null and record.pids.size() > 0">
and panel_view.panel_id in and panel_view.panel_id in
<foreach collection="record.pids" item="item" separator="," open="(" close=")"> <foreach collection="record.pids" item="item" separator="," open="(" close=")">
......
package io.dataease.listener;
import io.dataease.base.domain.DataeaseCodeVersion;
import io.dataease.base.mapper.DataeaseCodeVersionMapper;
import io.dataease.base.mapper.ext.DEVersionMapper;
import io.dataease.plugins.loader.ClassloaderResponsity;
import io.dataease.service.panel.PanelGroupService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Date;
@Component
public class SystemInitListener implements ApplicationListener<ApplicationReadyEvent> {
private final Logger logger = LoggerFactory.getLogger(ClassloaderResponsity.class);
@Resource
private DEVersionMapper versionMapper;
@Resource
private PanelGroupService panelGroupService;
@Resource
private DataeaseCodeVersionMapper codeVersionMapper;
@Override
public void onApplicationEvent(ApplicationReadyEvent applicationReadyEvent) {
System.out.println("=====initSystem from code [Start]=====");
logger.info("=====initSystem from code [Start]=====");
Integer dataeseVersion = versionMapper.lastSuccessDataEaseVersion();
Integer dataeseCodeVersion = versionMapper.lastDataEaseCodeVersion();
// v1.8 初始化程序 1 是1.8 初始化程序的执行记录 32 是1.8版本flayway的执行记录
if(dataeseCodeVersion<1 && dataeseVersion>=32){
DataeaseCodeVersion codeVersion = new DataeaseCodeVersion();
codeVersion.setDescription("v1.8 初始化");
codeVersion.setInstalledOn(new Date());
codeVersion.setInstalledRank(1);
try{
panelGroupService.sysInit1HistoryPanel();
codeVersion.setSuccess(true);
}catch (Exception e){
codeVersion.setSuccess(false);
e.printStackTrace();
logger.error("===>1.8程序初始化失败:",e);
}
codeVersionMapper.insert(codeVersion);
}
logger.info("=====initSystem from code [End]=====");
System.out.println("=====initSystem from code [End]=====");
}
}
...@@ -124,9 +124,9 @@ public class PanelViewService { ...@@ -124,9 +124,9 @@ public class PanelViewService {
return extPanelViewMapper.getPanelViewDetails(panelId); return extPanelViewMapper.getPanelViewDetails(panelId);
} }
public List<PanelView> findPanelViews(String panelId){ public List<PanelView> findPanelViews(String copyId){
PanelViewExample panelViewExample = new PanelViewExample(); PanelViewExample panelViewExample = new PanelViewExample();
panelViewExample.createCriteria().andPanelIdEqualTo(panelId); panelViewExample.createCriteria().andCopyIdEqualTo(copyId);
return panelViewMapper.selectByExample(panelViewExample); return panelViewMapper.selectByExample(panelViewExample);
} }
} }
...@@ -365,7 +365,7 @@ ADD COLUMN `copy_id` varchar(255) NULL COMMENT '本次复制的执行ID' AFTER ` ...@@ -365,7 +365,7 @@ ADD COLUMN `copy_id` varchar(255) NULL COMMENT '本次复制的执行ID' AFTER `
ALTER TABLE `panel_view_linkage` ALTER TABLE `panel_view_linkage`
ADD COLUMN `copy_from` varchar(255) NULL AFTER `ext2`, ADD COLUMN `copy_from` varchar(255) NULL AFTER `ext2`,
ADD COLUMN `copy_id` varchar(0) NULL AFTER `copy_from`; ADD COLUMN `copy_id` varchar(255) NULL AFTER `copy_from`;
ALTER TABLE `panel_view_linkage_field` ALTER TABLE `panel_view_linkage_field`
ADD COLUMN `copy_from` varchar(255) NULL AFTER `update_time`, ADD COLUMN `copy_from` varchar(255) NULL AFTER `update_time`,
...@@ -382,3 +382,20 @@ ADD COLUMN `copy_id` varchar(255) NULL AFTER `copy_from`; ...@@ -382,3 +382,20 @@ ADD COLUMN `copy_id` varchar(255) NULL AFTER `copy_from`;
ALTER TABLE `panel_link_jump_target_view_info` ALTER TABLE `panel_link_jump_target_view_info`
ADD COLUMN `copy_from` varchar(255) NULL AFTER `target_field_id`, ADD COLUMN `copy_from` varchar(255) NULL AFTER `target_field_id`,
ADD COLUMN `copy_id` varchar(255) NULL AFTER `copy_from`; ADD COLUMN `copy_id` varchar(255) NULL AFTER `copy_from`;
DROP TABLE IF EXISTS `dataease_code_version`;
CREATE TABLE `dataease_code_version` (
`installed_rank` int(11) NOT NULL,
`description` varchar(255) DEFAULT NULL,
`installed_on` timestamp NULL DEFAULT NULL,
`success` tinyint(1) NOT NULL,
PRIMARY KEY (`installed_rank`),
KEY `dataease_version_s_idx` (`success`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of dataease_code_version
-- ----------------------------
BEGIN;
INSERT INTO `dataease_code_version` VALUES (0, 'init', NULL, 1);
COMMIT;
...@@ -60,12 +60,13 @@ ...@@ -60,12 +60,13 @@
</javaClientGenerator> </javaClientGenerator>
<!--要生成的数据库表 --> <!--要生成的数据库表 -->
<table tableName="chart_view"/> <table tableName="dataease_code_version"/>
<table tableName="panel_view"/> <!-- <table tableName="chart_view"/>-->
<table tableName="panel_link_jump"/> <!-- <table tableName="panel_view"/>-->
<table tableName="panel_link_jump_info"/> <!-- <table tableName="panel_link_jump"/>-->
<table tableName="panel_link_jump_target_view_info"/> <!-- <table tableName="panel_link_jump_info"/>-->
<table tableName="panel_view_linkage"/> <!-- <table tableName="panel_link_jump_target_view_info"/>-->
<table tableName="panel_view_linkage_field"/> <!-- <table tableName="panel_view_linkage"/>-->
<!-- <table tableName="panel_view_linkage_field"/>-->
</context> </context>
</generatorConfiguration> </generatorConfiguration>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论