From 8898e93e36c262eccee2a1b1a62267aa2e53dad5 Mon Sep 17 00:00:00 2001 From: isqianming Date: Sun, 8 Sep 2024 14:57:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E5=A4=8D=E5=88=B6?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DataSetServiceImpl.java | 22 +++-- .../resources/db/migration/V1.4.3__update.sql | 16 +++- report-ui/src/api/reportDataSet.js | 8 ++ .../views/resultset/components/copyDialog.vue | 83 +++++++++++++++++++ report-ui/src/views/resultset/index.vue | 30 ++++++- 5 files changed, 147 insertions(+), 12 deletions(-) create mode 100644 report-ui/src/views/resultset/components/copyDialog.vue diff --git a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java index f5469da3..62e9a931 100644 --- a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java +++ b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java @@ -26,6 +26,8 @@ import com.anjiplus.template.gaea.business.modules.datasettransform.service.Data import com.anjiplus.template.gaea.business.modules.datasource.controller.dto.DataSourceDto; import com.anjiplus.template.gaea.business.modules.datasource.dao.entity.DataSource; import com.anjiplus.template.gaea.business.modules.datasource.service.DataSourceService; +import com.anjiplus.template.gaea.business.modules.report.controller.dto.ReportDto; +import com.anjiplus.template.gaea.business.modules.report.dao.entity.Report; import com.anjiplus.template.gaea.business.util.JdbcConstants; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -388,11 +390,11 @@ public class DataSetServiceImpl implements DataSetService { if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(dto.getSetCode())) { throw BusinessExceptionBuilder.build(ResponseCode.NOT_NULL, "数据集编码"); } - String setCode = dto.getSetCode(); - DataSet ds = new DataSet(); - GaeaBeanUtils.copyAndFormatter(ds,dto); - insert(ds); - String copySetCode = ds.getSetCode(); + DataSet dataSet = selectOne(dto.getId()); + String setCode = dataSet.getSetCode(); + DataSet dateSetCopy = copyDataSet(dataSet, dto); + insert(dateSetCopy); + String copySetCode = dateSetCopy.getSetCode(); DataSetParam dataSetParam = dataSetParamService.selectOne("set_code", setCode); if (null != dataSetParam){ dataSetParam.setId(null); @@ -465,4 +467,14 @@ public class DataSetServiceImpl implements DataSetService { return map; } + private DataSet copyDataSet(DataSet dataSet, DataSetDto dto){ + //复制主表数据 + DataSet copyDataSet = new DataSet(); + GaeaBeanUtils.copyAndFormatter(dataSet, copyDataSet); + copyDataSet.setSetCode(dto.getSetCode()); + copyDataSet.setSetName(dto.getSetName()); + copyDataSet.setId(null); + return copyDataSet; + } + } diff --git a/report-core/src/main/resources/db/migration/V1.4.3__update.sql b/report-core/src/main/resources/db/migration/V1.4.3__update.sql index 9b06b43e..f8788adf 100644 --- a/report-core/src/main/resources/db/migration/V1.4.3__update.sql +++ b/report-core/src/main/resources/db/migration/V1.4.3__update.sql @@ -1,7 +1,17 @@ -- 分享表增加report_name -ALTER TABLE `aj_report`.`gaea_report_share` ADD `report_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '名称' AFTER `report_code`; +ALTER TABLE `gaea_report_share` ADD `report_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '名称' AFTER `report_code`; -- 更新report_name -UPDATE `aj_report`.`gaea_report_share` t1 +UPDATE `gaea_report_share` t1 INNER JOIN `aj_report`.`gaea_report` t2 on t1.report_code=t2.report_code - SET t1.report_name=t2.report_name; \ No newline at end of file + SET t1.report_name=t2.report_name; + +-- 数据集复制 +INSERT INTO `access_authority`(`parent_target`, `target`, `target_name`, `action`, `action_name`, `sort`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) +VALUES +('report', 'resultsetManage', '数据集管理', 'copy', '数据集复制', 204, 1, 0, 'admin', '2019-07-23 15:59:40', 'admin', '2019-07-23 15:59:40', 1); + +-- root用户赋权 +INSERT INTO `access_role_authority`(`role_code`, `target`, `action`) +VALUES +('root', 'resultsetManage', 'copy'); diff --git a/report-ui/src/api/reportDataSet.js b/report-ui/src/api/reportDataSet.js index 8d5579e5..9ab7a964 100644 --- a/report-ui/src/api/reportDataSet.js +++ b/report-ui/src/api/reportDataSet.js @@ -39,4 +39,12 @@ export function reportDataSetDetail(data) { }) } +export function reportDataSetCopy(data) { + return request({ + url: '/dataSet/copy', + method: 'post', + data + }) +} + export default { reportDataSetList, reportDataSetAdd, reportDataSetDeleteBatch, reportDataSetUpdate, reportDataSetDetail } diff --git a/report-ui/src/views/resultset/components/copyDialog.vue b/report-ui/src/views/resultset/components/copyDialog.vue new file mode 100644 index 00000000..42baf5fc --- /dev/null +++ b/report-ui/src/views/resultset/components/copyDialog.vue @@ -0,0 +1,83 @@ + + + diff --git a/report-ui/src/views/resultset/index.vue b/report-ui/src/views/resultset/index.vue index 256852df..52e878f2 100644 --- a/report-ui/src/views/resultset/index.vue +++ b/report-ui/src/views/resultset/index.vue @@ -1,6 +1,6 @@