diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java index 9bc9beceb..9bf432c77 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java @@ -67,7 +67,7 @@ public class ReportTemplateController { @PutMapping("/template") @Operation(summary = "创建报表模板") // @PreAuthorize("@ss.hasPermission('report:template:create')") - public CommonResult createTemplate(@Valid @RequestBody ReportTemplateSaveReqVO createReqVO) { + public CommonResult createTemplate(@Valid @RequestBody ReportTemplateSaveReqVO createReqVO) { return success(templateService.createReportTemplate(createReqVO)); } @@ -81,9 +81,8 @@ public class ReportTemplateController { @PostMapping("/template") @Operation(summary = "更新报表模板") // @PreAuthorize("@ss.hasPermission('report:template:update')") - public CommonResult updateTemplate(@Valid @RequestBody ReportTemplateSaveReqVO updateReqVO) { - templateService.updateReportTemplate(updateReqVO); - return success(true); + public CommonResult updateTemplate(@Valid @RequestBody ReportTemplateSaveReqVO updateReqVO) { + return success(templateService.updateReportTemplate(updateReqVO)); } @DeleteMapping("/template/{id}") diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java index 5dc20d7be..ec2930700 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java @@ -1,6 +1,6 @@ package com.cf.imes.module.report.controller.admin.template.vo; -import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceRespVO; +import com.bstek.ureport.definition.datasource.DatasourceDefinition; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; @@ -37,5 +37,5 @@ public class ReportTemplateRespVO { private String remark; @Schema(description = "数据源") - private List datasource; + private List datasource; } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java index 7b000d4c2..ef88f9e04 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java @@ -29,7 +29,6 @@ import com.cf.imes.module.report.dal.dataobject.dataset.ReportDatasetDO; import com.cf.imes.module.report.dal.dataobject.datasource.ReportDatasourceDO; import com.cf.imes.module.report.dal.mysql.dataset.ReportDatasetMapper; import com.cf.imes.module.report.dal.mysql.datasource.ReportDatasourceMapper; -import com.cf.imes.module.report.dal.mysql.template.ReportTemplateMapper; import com.cf.imes.module.report.enums.template.ReportTemplateTypeEnum; import com.cf.imes.module.report.framework.ureport.annotation.CfReportSpringbeanDatasource; import com.cf.imes.module.report.service.dataset.ReportDatasetService; @@ -223,9 +222,9 @@ public class ReportDatasourceServiceImpl implements ReportDatasourceService { // 获取数据库连接 conn = MultipleJdbcTemplate.buildConnection(info); // 自定义工具校验sql - if (SqlInjectionUtil.checkEditSql(sql)) { - throw exception(DATASET_SQL_ILLEGAL); - } +// if (SqlInjectionUtil.checkEditSql(sql)) { +// throw exception(DATASET_SQL_ILLEGAL); +// } // 检查参数sql注入 for (Parameter parameter : parameters) { // mybatis-plus util检查参数 diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateService.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateService.java index 6ea3ea397..e5f7693ba 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateService.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateService.java @@ -6,6 +6,7 @@ import com.bstek.ureport.export.html.HtmlReport; import com.bstek.ureport.model.Report; import com.cf.imes.module.report.api.template.dto.ReportTemplateGenerateReqDTO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateReqVO; +import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateRespVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateSaveReqVO; import com.cf.imes.module.report.dal.dataobject.template.ReportTemplateDO; @@ -26,7 +27,7 @@ public interface ReportTemplateService { * @param createReqVO 创建信息 * @return 编号 */ - Long createReportTemplate(@Valid ReportTemplateSaveReqVO createReqVO); + ReportTemplateRespVO createReportTemplate(@Valid ReportTemplateSaveReqVO createReqVO); /** * 复制报表模版 @@ -40,7 +41,7 @@ public interface ReportTemplateService { * * @param updateReqVO 更新信息 */ - void updateReportTemplate(@Valid ReportTemplateSaveReqVO updateReqVO); + ReportTemplateRespVO updateReportTemplate(@Valid ReportTemplateSaveReqVO updateReqVO); /** * 删除报表模板 diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java index 7df315fff..8a37d326a 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java @@ -35,6 +35,7 @@ import com.cf.imes.framework.security.core.LoginUser; import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; import com.cf.imes.module.report.api.template.dto.ReportTemplateGenerateReqDTO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateReqVO; +import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateRespVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateSaveReqVO; import com.cf.imes.module.report.dal.dataobject.dataset.ReportDatasetDO; import com.cf.imes.module.report.dal.dataobject.datasource.ReportDatasourceDO; @@ -43,8 +44,6 @@ import com.cf.imes.module.report.dal.mysql.dataset.ReportDatasetMapper; import com.cf.imes.module.report.dal.mysql.datasource.ReportDatasourceMapper; import com.cf.imes.module.report.dal.mysql.template.ReportTemplateMapper; import com.cf.imes.module.report.enums.template.ReportTemplateTypeEnum; -import com.cf.imes.module.report.service.dataset.ReportDatasetService; -import com.cf.imes.module.report.service.datasource.ReportDatasourceService; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -91,7 +90,7 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { @Override @Transactional(rollbackFor = Exception.class) - public Long createReportTemplate(ReportTemplateSaveReqVO createReqVO) { + public ReportTemplateRespVO createReportTemplate(ReportTemplateSaveReqVO createReqVO) { boolean isSuperAdmin = SecurityFrameworkUtils.isSuperAdmin(); // 校验模板名唯一性 validateTemplateNameUnique(createReqVO, isSuperAdmin); @@ -109,9 +108,14 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { template.setType(ReportTemplateTypeEnum.CUSTOM); } templateMapper.insert(template); - Long templateId = template.getId(); - // 返回主键 - return templateId; + + ReportTemplateRespVO reportTemplateRespVO = BeanUtils.toBean(template, ReportTemplateRespVO.class); + // 查询数据源、数据集 + ReportDefinition reportDefinition = new ReportDefinition(); + queryDatasource(template, reportDefinition); + reportTemplateRespVO.setDatasource(reportDefinition.getDatasources()); + // 返回实体 + return reportTemplateRespVO; } @Override @@ -142,7 +146,7 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { } @Override - public void updateReportTemplate(ReportTemplateSaveReqVO updateReqVO) { + public ReportTemplateRespVO updateReportTemplate(ReportTemplateSaveReqVO updateReqVO) { Long templateId = updateReqVO.getId(); // 校验存在 ReportTemplateDO reportTemplateDO = validateTemplateExists(templateId); @@ -158,6 +162,14 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { // 更新模板 ReportTemplateDO updateObj = BeanUtils.toBean(updateReqVO, ReportTemplateDO.class); templateMapper.updateById(updateObj); + + ReportTemplateRespVO reportTemplateRespVO = BeanUtils.toBean(updateObj, ReportTemplateRespVO.class); + // 查询数据源、数据集 + ReportDefinition reportDefinition = new ReportDefinition(); + queryDatasource(updateObj, reportDefinition); + reportTemplateRespVO.setDatasource(reportDefinition.getDatasources()); + // 返回实体 + return reportTemplateRespVO; } @Override @@ -243,7 +255,10 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { if (ObjectUtil.isNotNull(template)) { queryDatasource(template, reportDefinition); } - return new ReportDefinitionWrapper(reportDefinition); + ReportDefinitionWrapper reportDefinitionWrapper = new ReportDefinitionWrapper(reportDefinition); + reportDefinitionWrapper.setDatasetIds(template.getDatasetIds()); + reportDefinitionWrapper.setDatasourceIds(template.getDatasourceIds()); + return reportDefinitionWrapper; } /** diff --git a/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar b/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar index f69918d59..4b20744ce 100644 Binary files a/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar and b/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar differ