mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-14 05:42:06 +08:00
报表模块mycat环境无法路由修复
This commit is contained in:
-11
@@ -3,7 +3,6 @@ package com.cf.imes.module.report.controller.admin.dataset;
|
|||||||
import com.cf.imes.framework.common.pojo.CommonResult;
|
import com.cf.imes.framework.common.pojo.CommonResult;
|
||||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||||
import com.cf.imes.framework.operatelog.core.annotations.OperateLog;
|
import com.cf.imes.framework.operatelog.core.annotations.OperateLog;
|
||||||
import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetReqVO;
|
|
||||||
import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetRespVO;
|
import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetRespVO;
|
||||||
import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetSaveReqVO;
|
import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetSaveReqVO;
|
||||||
import com.cf.imes.module.report.dal.dataobject.dataset.ReportDatasetDO;
|
import com.cf.imes.module.report.dal.dataobject.dataset.ReportDatasetDO;
|
||||||
@@ -17,7 +16,6 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
|
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static com.cf.imes.framework.common.pojo.CommonResult.success;
|
import static com.cf.imes.framework.common.pojo.CommonResult.success;
|
||||||
import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.CREATE;
|
import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.CREATE;
|
||||||
@@ -71,13 +69,4 @@ public class ReportDatasetController {
|
|||||||
ReportDatasetDO dataset = datasetService.getDataset(id);
|
ReportDatasetDO dataset = datasetService.getDataset(id);
|
||||||
return success(BeanUtils.toBean(dataset, ReportDatasetRespVO.class));
|
return success(BeanUtils.toBean(dataset, ReportDatasetRespVO.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/datasets")
|
|
||||||
@Operation(summary = "获取数据源下的报表数据集列表")
|
|
||||||
@PreAuthorize("@ss.hasPermission('report:design')")
|
|
||||||
public CommonResult<List<ReportDatasetRespVO>> getDatasetPage(@RequestParam(value = "datasourceId") Long datasourceId,
|
|
||||||
@RequestParam(value = "name", required = false) String name) {
|
|
||||||
ReportDatasetReqVO reqVO = new ReportDatasetReqVO(name, datasourceId);
|
|
||||||
return success(BeanUtils.toBean(datasetService.getDatasetList(reqVO), ReportDatasetRespVO.class));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-6
@@ -23,6 +23,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.antlr.v4.runtime.ANTLRInputStream;
|
import org.antlr.v4.runtime.ANTLRInputStream;
|
||||||
import org.antlr.v4.runtime.CommonTokenStream;
|
import org.antlr.v4.runtime.CommonTokenStream;
|
||||||
import org.antlr.v4.runtime.tree.TerminalNode;
|
import org.antlr.v4.runtime.tree.TerminalNode;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@@ -84,8 +85,8 @@ public class ReportTemplateController {
|
|||||||
@Operation(summary = "删除报表模板")
|
@Operation(summary = "删除报表模板")
|
||||||
@Parameter(name = "id", description = "模板id", required = true)
|
@Parameter(name = "id", description = "模板id", required = true)
|
||||||
@PreAuthorize("@ss.hasAnyPermissions('system:report:delete','base:report:delete')")
|
@PreAuthorize("@ss.hasAnyPermissions('system:report:delete','base:report:delete')")
|
||||||
public CommonResult<Boolean> deleteReportTemplate(@PathVariable("id") Long id) {
|
public CommonResult<Boolean> deleteReportTemplate(@PathVariable("id") Long id, @Param("organId") Long organId) {
|
||||||
templateService.deleteReportTemplate(id);
|
templateService.deleteReportTemplate(id, organId);
|
||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,8 +94,8 @@ public class ReportTemplateController {
|
|||||||
@Operation(summary = "获取报表模板信息")
|
@Operation(summary = "获取报表模板信息")
|
||||||
@Parameter(name = "id", description = "模板id", required = true, example = "1")
|
@Parameter(name = "id", description = "模板id", required = true, example = "1")
|
||||||
@PreAuthorize("@ss.hasPermission('report:design')")
|
@PreAuthorize("@ss.hasPermission('report:design')")
|
||||||
public CommonResult<ReportDefinitionWrapper> getReportTemplate(@PathVariable("id") Long id) {
|
public CommonResult<ReportDefinitionWrapper> getReportTemplate(@PathVariable("id") Long id, @Param("organId") Long organId) {
|
||||||
return success(templateService.getReportTemplateDefinition(id));
|
return success(templateService.getReportTemplateDefinition(id, organId));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/templates")
|
@GetMapping("/templates")
|
||||||
@@ -221,8 +222,8 @@ public class ReportTemplateController {
|
|||||||
@Operation(summary = "导入模版")
|
@Operation(summary = "导入模版")
|
||||||
@OperateLog(type = IMPORT)
|
@OperateLog(type = IMPORT)
|
||||||
@PreAuthorize("@ss.hasAnyPermissions('system:report:import','base:report:import')")
|
@PreAuthorize("@ss.hasAnyPermissions('system:report:import','base:report:import')")
|
||||||
public CommonResult<Boolean> importTemplate(@RequestParam("name") @NotEmpty(message = "report.template.import.name.notEmpty") String name, @RequestParam("file") MultipartFile file) {
|
public CommonResult<Boolean> importTemplate(@RequestParam("name") @NotEmpty(message = "report.template.import.name.notEmpty") String name, @RequestParam("file") MultipartFile file, @RequestParam("organId") Long organId) {
|
||||||
templateService.importTemplate(name, file);
|
templateService.importTemplate(name, organId, file);
|
||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
@@ -44,4 +44,6 @@ public class ReportTemplatePreviewReqVO {
|
|||||||
@Size(max = 30, message = "report.template.preview.chartImages.size")
|
@Size(max = 30, message = "report.template.preview.chartImages.size")
|
||||||
private Map<String, String> chartImages;
|
private Map<String, String> chartImages;
|
||||||
|
|
||||||
|
@Schema(description = "组织ID")
|
||||||
|
private Long organId;
|
||||||
}
|
}
|
||||||
+3
@@ -44,4 +44,7 @@ public class ReportTemplateSaveReqVO {
|
|||||||
@Schema(description = "数据集id列表")
|
@Schema(description = "数据集id列表")
|
||||||
@Size(max = 30, message = "report.template.save.datasetIds.size")
|
@Size(max = 30, message = "report.template.save.datasetIds.size")
|
||||||
private Set<Long> datasetIds;
|
private Set<Long> datasetIds;
|
||||||
|
|
||||||
|
@Schema(description = "组织id", example = "1")
|
||||||
|
private Long organId;
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-1
@@ -9,6 +9,8 @@ import org.apache.ibatis.annotations.Mapper;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.CF_ORGANID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 报表数据集 Mapper
|
* 报表数据集 Mapper
|
||||||
*
|
*
|
||||||
@@ -20,14 +22,24 @@ public interface ReportDatasetMapper extends BaseMapperX<ReportDatasetDO> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询数据集列表
|
* 查询数据集列表
|
||||||
|
*
|
||||||
* @param
|
* @param
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@OrganIgnore
|
@OrganIgnore
|
||||||
default List<ReportDatasetDO> selectNormalDatasetList(Set<Long> datasetIds, Long organId) {
|
default List<ReportDatasetDO> selectNormalDatasetList(Set<Long> datasetIds, Long organId) {
|
||||||
return selectList(new LambdaQueryWrapperX<ReportDatasetDO>()
|
// 先查组织数据集
|
||||||
|
List<ReportDatasetDO> orgDataSet = selectList(new LambdaQueryWrapperX<ReportDatasetDO>()
|
||||||
.eq(ReportDatasetDO::getOrganId, organId)
|
.eq(ReportDatasetDO::getOrganId, organId)
|
||||||
.in(ReportDatasetDO::getId, datasetIds)
|
.in(ReportDatasetDO::getId, datasetIds)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// 再查公共数据集
|
||||||
|
List<ReportDatasetDO> publicDataSet = selectList(new LambdaQueryWrapperX<ReportDatasetDO>()
|
||||||
|
.eq(ReportDatasetDO::getOrganId, CF_ORGANID)
|
||||||
|
.in(ReportDatasetDO::getId, datasetIds)
|
||||||
|
);
|
||||||
|
orgDataSet.addAll(publicDataSet);
|
||||||
|
return orgDataSet;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -32,7 +32,7 @@ public interface ReportDatasourceMapper extends BaseMapperX<ReportDatasourceDO>
|
|||||||
*/
|
*/
|
||||||
@OrganIgnore
|
@OrganIgnore
|
||||||
default ReportDatasourceDO selectNormalDatasourceById(Long id, Long organId) {
|
default ReportDatasourceDO selectNormalDatasourceById(Long id, Long organId) {
|
||||||
ReportDatasourceDO result = null;
|
ReportDatasourceDO result;
|
||||||
|
|
||||||
// 1. 先查 CUSTOM(当前组织)
|
// 1. 先查 CUSTOM(当前组织)
|
||||||
LambdaQueryWrapper<ReportDatasourceDO> customWrapper = new LambdaQueryWrapper<ReportDatasourceDO>()
|
LambdaQueryWrapper<ReportDatasourceDO> customWrapper = new LambdaQueryWrapper<ReportDatasourceDO>()
|
||||||
|
|||||||
+2
-2
@@ -127,6 +127,6 @@ public interface ReportTemplateMapper extends BaseMapperX<ReportTemplateDO> {
|
|||||||
* @param id
|
* @param id
|
||||||
* @return 改动数量
|
* @return 改动数量
|
||||||
*/
|
*/
|
||||||
@Delete("DELETE FROM report_template WHERE id = #{id}")
|
@Delete("DELETE FROM report_template WHERE id = #{id} AND organ_id = #{organId}")
|
||||||
int physicalDeleteById(@Param("id") Long id);
|
int physicalDeleteById(@Param("id") Long id, @Param("organId") Long organId);
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -50,6 +50,6 @@ public interface ReportDatasetService {
|
|||||||
* @param reqVO 分页查询
|
* @param reqVO 分页查询
|
||||||
* @return 报表数据集分页
|
* @return 报表数据集分页
|
||||||
*/
|
*/
|
||||||
List<ReportDatasetDO> getDatasetList(ReportDatasetReqVO reqVO);
|
List<ReportDatasetDO> getDatasetList(ReportDatasetReqVO reqVO, Long organId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-7
@@ -3,7 +3,6 @@ package com.cf.imes.module.report.service.dataset;
|
|||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.cf.imes.framework.common.exception.ServiceException;
|
import com.cf.imes.framework.common.exception.ServiceException;
|
||||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||||
import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator;
|
|
||||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetReqVO;
|
import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetReqVO;
|
||||||
@@ -38,9 +37,6 @@ public class ReportDatasetServiceImpl implements ReportDatasetService {
|
|||||||
@Resource
|
@Resource
|
||||||
private ReportDatasetMapper datasetMapper;
|
private ReportDatasetMapper datasetMapper;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private SnowFlakeGenerator snowFlakeGenerator;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long createDataset(ReportDatasetSaveReqVO createReqVO) {
|
public Long createDataset(ReportDatasetSaveReqVO createReqVO) {
|
||||||
// 校验内置模板操作权限
|
// 校验内置模板操作权限
|
||||||
@@ -49,8 +45,6 @@ public class ReportDatasetServiceImpl implements ReportDatasetService {
|
|||||||
ReportDatasetDO dataset = BeanUtils.toBean(createReqVO, ReportDatasetDO.class);
|
ReportDatasetDO dataset = BeanUtils.toBean(createReqVO, ReportDatasetDO.class);
|
||||||
// 数据集机构id和数据源统一
|
// 数据集机构id和数据源统一
|
||||||
dataset.setOrganId(reportDatasourceDO.getOrganId());
|
dataset.setOrganId(reportDatasourceDO.getOrganId());
|
||||||
// 生成id
|
|
||||||
dataset.setId((Long) snowFlakeGenerator.nextId(null));
|
|
||||||
datasetMapper.insert(dataset);
|
datasetMapper.insert(dataset);
|
||||||
// 返回
|
// 返回
|
||||||
return dataset.getId();
|
return dataset.getId();
|
||||||
@@ -118,8 +112,9 @@ public class ReportDatasetServiceImpl implements ReportDatasetService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ReportDatasetDO> getDatasetList(ReportDatasetReqVO reqVO) {
|
public List<ReportDatasetDO> getDatasetList(ReportDatasetReqVO reqVO, Long organId) {
|
||||||
return datasetMapper.selectList(new LambdaQueryWrapperX<ReportDatasetDO>()
|
return datasetMapper.selectList(new LambdaQueryWrapperX<ReportDatasetDO>()
|
||||||
|
.eq(ReportDatasetDO::getOrganId, organId)
|
||||||
.eqIfPresent(ReportDatasetDO::getDatasourceId, reqVO.getDatasourceId())
|
.eqIfPresent(ReportDatasetDO::getDatasourceId, reqVO.getDatasourceId())
|
||||||
.likeIfPresent(ReportDatasetDO::getName, reqVO.getName())
|
.likeIfPresent(ReportDatasetDO::getName, reqVO.getName())
|
||||||
.orderByDesc(ReportDatasetDO::getCreateTime));
|
.orderByDesc(ReportDatasetDO::getCreateTime));
|
||||||
|
|||||||
+3
-10
@@ -4,7 +4,6 @@ import cn.hutool.core.annotation.AnnotationUtil;
|
|||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.sql.SqlInjectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.sql.SqlInjectionUtils;
|
||||||
import com.bstek.common.exception.ReportDesignException;
|
import com.bstek.common.exception.ReportDesignException;
|
||||||
import com.bstek.common.utils.MultipleJdbcTemplate;
|
import com.bstek.common.utils.MultipleJdbcTemplate;
|
||||||
@@ -16,7 +15,6 @@ import com.bstek.ureport.definition.dataset.SqlDatasetDefinition;
|
|||||||
import com.bstek.ureport.utils.ProcedureUtils;
|
import com.bstek.ureport.utils.ProcedureUtils;
|
||||||
import com.cf.imes.framework.common.exception.ServiceException;
|
import com.cf.imes.framework.common.exception.ServiceException;
|
||||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||||
import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator;
|
|
||||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import com.cf.imes.framework.organ.core.aop.OrganIgnore;
|
import com.cf.imes.framework.organ.core.aop.OrganIgnore;
|
||||||
import com.cf.imes.framework.security.core.LoginUser;
|
import com.cf.imes.framework.security.core.LoginUser;
|
||||||
@@ -82,9 +80,6 @@ public class ReportDatasourceServiceImpl implements ReportDatasourceService {
|
|||||||
@Resource
|
@Resource
|
||||||
private ReportDatasetMapper datasetMapper;
|
private ReportDatasetMapper datasetMapper;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private SnowFlakeGenerator snowFlakeGenerator;
|
|
||||||
|
|
||||||
private final ApplicationContext applicationContext;
|
private final ApplicationContext applicationContext;
|
||||||
|
|
||||||
public ReportDatasourceServiceImpl(ApplicationContext applicationContext) {
|
public ReportDatasourceServiceImpl(ApplicationContext applicationContext) {
|
||||||
@@ -103,8 +98,6 @@ public class ReportDatasourceServiceImpl implements ReportDatasourceService {
|
|||||||
} else {
|
} else {
|
||||||
datasource.setBuildinType(ReportTemplateTypeEnum.CUSTOM);
|
datasource.setBuildinType(ReportTemplateTypeEnum.CUSTOM);
|
||||||
}
|
}
|
||||||
// 生成id
|
|
||||||
datasource.setId((Long) snowFlakeGenerator.nextId(null));
|
|
||||||
datasourceMapper.insert(datasource);
|
datasourceMapper.insert(datasource);
|
||||||
// 返回
|
// 返回
|
||||||
return datasource.getId();
|
return datasource.getId();
|
||||||
@@ -218,7 +211,7 @@ public class ReportDatasourceServiceImpl implements ReportDatasourceService {
|
|||||||
@Override
|
@Override
|
||||||
public List<String> loadBeanMethods(String beanId) {
|
public List<String> loadBeanMethods(String beanId) {
|
||||||
Object obj;
|
Object obj;
|
||||||
List<String> result = new ArrayList<String>();
|
List<String> result = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
obj = applicationContext.getBean(beanId);
|
obj = applicationContext.getBean(beanId);
|
||||||
Class<?> clazz = obj.getClass();
|
Class<?> clazz = obj.getClass();
|
||||||
@@ -310,7 +303,7 @@ public class ReportDatasourceServiceImpl implements ReportDatasourceService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Field> getSpringBeanResultFieldList(String clazz) {
|
public List<Field> getSpringBeanResultFieldList(String clazz) {
|
||||||
List<Field> result = new ArrayList<Field>();
|
List<Field> result = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
Class<?> targetClass = Class.forName(clazz);
|
Class<?> targetClass = Class.forName(clazz);
|
||||||
PropertyDescriptor[] propertyDescriptors = BeanUtil.getPropertyDescriptors(targetClass);
|
PropertyDescriptor[] propertyDescriptors = BeanUtil.getPropertyDescriptors(targetClass);
|
||||||
@@ -336,7 +329,7 @@ public class ReportDatasourceServiceImpl implements ReportDatasourceService {
|
|||||||
private void queryDatasetInSource(ReportDatasourceDO reportDatasourceDO) {
|
private void queryDatasetInSource(ReportDatasourceDO reportDatasourceDO) {
|
||||||
if (ObjectUtil.isNotNull(reportDatasourceDO)) {
|
if (ObjectUtil.isNotNull(reportDatasourceDO)) {
|
||||||
// 查询数据集
|
// 查询数据集
|
||||||
List<ReportDatasetDO> datasetList = datasetService.getDatasetList(ReportDatasetReqVO.builder().datasourceId(reportDatasourceDO.getId()).build());
|
List<ReportDatasetDO> datasetList = datasetService.getDatasetList(ReportDatasetReqVO.builder().datasourceId(reportDatasourceDO.getId()).build(), reportDatasourceDO.getOrganId());
|
||||||
reportDatasourceDO.setDatasets(datasetList);
|
reportDatasourceDO.setDatasets(datasetList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-11
@@ -49,15 +49,7 @@ public interface ReportTemplateService {
|
|||||||
*
|
*
|
||||||
* @param id 编号
|
* @param id 编号
|
||||||
*/
|
*/
|
||||||
void deleteReportTemplate(Long id);
|
void deleteReportTemplate(Long id, Long targetOrganId);
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取报表模板信息
|
|
||||||
*
|
|
||||||
* @param id 编号
|
|
||||||
* @return 报表模板信息
|
|
||||||
*/
|
|
||||||
ReportTemplateDO getReportTemplate(Long id);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取模板定义信息(xml+数据源)
|
* 获取模板定义信息(xml+数据源)
|
||||||
@@ -65,7 +57,7 @@ public interface ReportTemplateService {
|
|||||||
* @param id
|
* @param id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ReportDefinitionWrapper getReportTemplateDefinition(Long id);
|
ReportDefinitionWrapper getReportTemplateDefinition(Long id, Long targetOrganId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取报表模板信息列表
|
* 获取报表模板信息列表
|
||||||
@@ -137,5 +129,5 @@ public interface ReportTemplateService {
|
|||||||
* @param name
|
* @param name
|
||||||
* @param file
|
* @param file
|
||||||
*/
|
*/
|
||||||
void importTemplate(String name, MultipartFile file);
|
void importTemplate(String name, Long organId, MultipartFile file);
|
||||||
}
|
}
|
||||||
|
|||||||
+124
-118
@@ -38,13 +38,8 @@ import com.bstek.ureport.model.Report;
|
|||||||
import com.bstek.ureport.parser.ReportParser;
|
import com.bstek.ureport.parser.ReportParser;
|
||||||
import com.bstek.ureport.utils.ToolUtils;
|
import com.bstek.ureport.utils.ToolUtils;
|
||||||
import com.cf.imes.framework.common.exception.ServiceException;
|
import com.cf.imes.framework.common.exception.ServiceException;
|
||||||
import com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants;
|
|
||||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||||
import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator;
|
|
||||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import com.cf.imes.framework.organ.core.aop.OrganIgnore;
|
|
||||||
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
|
||||||
import com.cf.imes.framework.security.core.LoginUser;
|
|
||||||
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateCommonPreviewReqVO;
|
import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateCommonPreviewReqVO;
|
||||||
import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplatePreviewReqVO;
|
import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplatePreviewReqVO;
|
||||||
@@ -62,8 +57,6 @@ import com.cf.imes.module.report.utils.TenantParamsUtils;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
import org.springframework.util.ObjectUtils;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
@@ -114,9 +107,6 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
@Resource
|
@Resource
|
||||||
private ReportDatasetMapper datasetMapper;
|
private ReportDatasetMapper datasetMapper;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private SnowFlakeGenerator snowFlakeGenerator;
|
|
||||||
|
|
||||||
private static final String UTF8_CHARSET = CharsetUtil.UTF_8;
|
private static final String UTF8_CHARSET = CharsetUtil.UTF_8;
|
||||||
private static final String ATTACHMENT_PREFIX = "attachment; filename=";
|
private static final String ATTACHMENT_PREFIX = "attachment; filename=";
|
||||||
private static final String DATASETIDS_FIELD_NAME = "datasetIds";
|
private static final String DATASETIDS_FIELD_NAME = "datasetIds";
|
||||||
@@ -136,11 +126,18 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public ReportTemplateRespVO createReportTemplate(ReportTemplateSaveReqVO createReqVO) {
|
public ReportTemplateRespVO createReportTemplate(ReportTemplateSaveReqVO createReqVO) {
|
||||||
boolean isSuperAdmin = SecurityFrameworkUtils.isSuperAdmin();
|
boolean isSuperAdmin = SecurityFrameworkUtils.isSuperAdmin();
|
||||||
|
boolean manageEndPoint = SecurityFrameworkUtils.isManageEndPoint();
|
||||||
|
Long loginOrganId = SecurityFrameworkUtils.getUserOrganId();
|
||||||
|
Long targetOrganId = createReqVO.getOrganId();
|
||||||
|
// 超管/管理端操作的就是公共模版
|
||||||
|
boolean isPublic = (isSuperAdmin || manageEndPoint) && ObjectUtil.isNull(targetOrganId);
|
||||||
|
|
||||||
|
Long organId = isPublic ? loginOrganId : targetOrganId;
|
||||||
|
|
||||||
// 校验模板名唯一性
|
// 校验模板名唯一性
|
||||||
getSelf().validateTemplateNameUnique(createReqVO, isSuperAdmin);
|
getSelf().validateTemplateNameUnique(createReqVO, organId);
|
||||||
// url解码xml
|
// url解码xml
|
||||||
String content = createReqVO.getContent();
|
String content = createReqVO.getContent();
|
||||||
if (StringUtils.isNotEmpty(content)) {
|
if (StringUtils.isNotEmpty(content)) {
|
||||||
@@ -151,46 +148,45 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
}
|
}
|
||||||
// 新增模板
|
// 新增模板
|
||||||
ReportTemplateDO template = BeanUtils.toBean(createReqVO, ReportTemplateDO.class);
|
ReportTemplateDO template = BeanUtils.toBean(createReqVO, ReportTemplateDO.class);
|
||||||
// 生成id
|
|
||||||
template.setId((Long) snowFlakeGenerator.nextId(null));
|
|
||||||
// 超管创建的作为内置模板
|
// 超管创建的作为内置模板
|
||||||
if (isSuperAdmin) {
|
if (isPublic) {
|
||||||
template.setType(ReportTemplateTypeEnum.SYSTEM);
|
template.setType(ReportTemplateTypeEnum.SYSTEM);
|
||||||
} else {
|
} else {
|
||||||
template.setType(ReportTemplateTypeEnum.CUSTOM);
|
template.setType(ReportTemplateTypeEnum.CUSTOM);
|
||||||
}
|
}
|
||||||
|
template.setOrganId(organId);
|
||||||
templateMapper.insert(template);
|
templateMapper.insert(template);
|
||||||
|
|
||||||
ReportTemplateRespVO reportTemplateRespVO = BeanUtils.toBean(template, ReportTemplateRespVO.class);
|
ReportTemplateRespVO reportTemplateRespVO = BeanUtils.toBean(template, ReportTemplateRespVO.class);
|
||||||
// 查询数据源、数据集
|
// 查询数据源、数据集
|
||||||
ReportDefinition reportDefinition = new ReportDefinition();
|
ReportDefinition reportDefinition = new ReportDefinition();
|
||||||
queryDatasource(template, reportDefinition);
|
queryDatasource(template, reportDefinition, organId);
|
||||||
reportTemplateRespVO.setDatasource(reportDefinition.getDatasources());
|
reportTemplateRespVO.setDatasource(reportDefinition.getDatasources());
|
||||||
// 返回实体
|
// 返回实体
|
||||||
return reportTemplateRespVO;
|
return reportTemplateRespVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public Long copyReportTemplate(ReportTemplateSaveReqVO createReqVO) {
|
public Long copyReportTemplate(ReportTemplateSaveReqVO createReqVO) {
|
||||||
boolean isSuperAdmin = SecurityFrameworkUtils.isSuperAdmin();
|
boolean isSuperAdmin = SecurityFrameworkUtils.isSuperAdmin();
|
||||||
|
boolean manageEndPoint = SecurityFrameworkUtils.isManageEndPoint();
|
||||||
|
Long loginOrganId = SecurityFrameworkUtils.getUserOrganId();
|
||||||
|
Long targetOrganId = createReqVO.getOrganId();
|
||||||
|
// 超管/管理端操作的就是公共模版
|
||||||
|
boolean isPublic = (isSuperAdmin || manageEndPoint) && ObjectUtil.isNull(targetOrganId);
|
||||||
|
|
||||||
|
Long organId = isPublic ? loginOrganId : targetOrganId;
|
||||||
|
|
||||||
Long templateId = createReqVO.getId();
|
Long templateId = createReqVO.getId();
|
||||||
// 校验存在
|
// 校验存在
|
||||||
ReportTemplateDO reportTemplateDO = validateTemplateExists(templateId);
|
ReportTemplateDO reportTemplateDO = validateTemplateExists(templateId, organId);
|
||||||
// 校验模板名唯一性
|
// 校验模板名唯一性
|
||||||
getSelf().validateTemplateNameUnique(createReqVO, isSuperAdmin);
|
getSelf().validateTemplateNameUnique(createReqVO, organId);
|
||||||
ReportTemplateDO copyTemplateDO = BeanUtils.toBean(reportTemplateDO, ReportTemplateDO.class);
|
ReportTemplateDO copyTemplateDO = BeanUtils.toBean(reportTemplateDO, ReportTemplateDO.class);
|
||||||
// 重置id
|
// 重置id
|
||||||
copyTemplateDO.setId(null);
|
copyTemplateDO.setId(null);
|
||||||
copyTemplateDO.setName(createReqVO.getName());
|
copyTemplateDO.setName(createReqVO.getName());
|
||||||
// 超管创建的作为内置模板
|
|
||||||
if (isSuperAdmin) {
|
|
||||||
copyTemplateDO.setType(ReportTemplateTypeEnum.SYSTEM);
|
|
||||||
} else {
|
|
||||||
// 重置所属机构
|
|
||||||
copyTemplateDO.setOrganId(SecurityFrameworkUtils.getUserOrganId());
|
|
||||||
copyTemplateDO.setType(ReportTemplateTypeEnum.CUSTOM);
|
|
||||||
}
|
|
||||||
// 重置相关基础信息
|
// 重置相关基础信息
|
||||||
copyTemplateDO.setCreator(null);
|
copyTemplateDO.setCreator(null);
|
||||||
copyTemplateDO.setUpdater(null);
|
copyTemplateDO.setUpdater(null);
|
||||||
@@ -202,9 +198,14 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
// 解析xml
|
// 解析xml
|
||||||
new ReportParser().parse(new ByteArrayInputStream(content.getBytes()), createReqVO.getName());
|
new ReportParser().parse(new ByteArrayInputStream(content.getBytes()), createReqVO.getName());
|
||||||
}
|
}
|
||||||
// 生成id
|
|
||||||
copyTemplateDO.setId((Long) snowFlakeGenerator.nextId(null));
|
// 超管创建的作为内置模板
|
||||||
// 新增模版
|
if (isPublic) {
|
||||||
|
copyTemplateDO.setType(ReportTemplateTypeEnum.SYSTEM);
|
||||||
|
} else {
|
||||||
|
// 重置所属机构
|
||||||
|
copyTemplateDO.setType(ReportTemplateTypeEnum.CUSTOM);
|
||||||
|
}
|
||||||
templateMapper.insert(copyTemplateDO);
|
templateMapper.insert(copyTemplateDO);
|
||||||
// 返回主键
|
// 返回主键
|
||||||
return copyTemplateDO.getId();
|
return copyTemplateDO.getId();
|
||||||
@@ -212,13 +213,22 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ReportTemplateRespVO updateReportTemplate(ReportTemplateSaveReqVO updateReqVO) {
|
public ReportTemplateRespVO updateReportTemplate(ReportTemplateSaveReqVO updateReqVO) {
|
||||||
|
boolean isSuperAdmin = SecurityFrameworkUtils.isSuperAdmin();
|
||||||
|
boolean manageEndPoint = SecurityFrameworkUtils.isManageEndPoint();
|
||||||
|
Long loginOrganId = SecurityFrameworkUtils.getUserOrganId();
|
||||||
|
Long targetOrganId = updateReqVO.getOrganId();
|
||||||
|
// 超管/管理端操作的就是公共模版
|
||||||
|
boolean isPublic = (isSuperAdmin || manageEndPoint) && ObjectUtil.isNull(targetOrganId);
|
||||||
|
|
||||||
|
Long organId = isPublic ? loginOrganId : targetOrganId;
|
||||||
|
|
||||||
Long templateId = updateReqVO.getId();
|
Long templateId = updateReqVO.getId();
|
||||||
// 校验存在
|
// 校验存在
|
||||||
ReportTemplateDO reportTemplateDO = validateTemplateExists(templateId);
|
ReportTemplateDO reportTemplateDO = validateTemplateExists(templateId, organId);
|
||||||
// 校验模板名唯一性
|
// 校验模板名唯一性
|
||||||
getSelf().validateTemplateNameUnique(updateReqVO, SecurityFrameworkUtils.isSuperAdmin());
|
getSelf().validateTemplateNameUnique(updateReqVO, organId);
|
||||||
// 校验内置模板操作权限
|
// 校验内置模板操作权限
|
||||||
validateSystemTemplate(reportTemplateDO);
|
validateSystemTemplate(reportTemplateDO, isPublic);
|
||||||
// url解码xml
|
// url解码xml
|
||||||
String content = updateReqVO.getContent();
|
String content = updateReqVO.getContent();
|
||||||
if (StringUtils.isNotEmpty(content)) {
|
if (StringUtils.isNotEmpty(content)) {
|
||||||
@@ -234,30 +244,37 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
ReportTemplateRespVO reportTemplateRespVO = BeanUtils.toBean(updateObj, ReportTemplateRespVO.class);
|
ReportTemplateRespVO reportTemplateRespVO = BeanUtils.toBean(updateObj, ReportTemplateRespVO.class);
|
||||||
// 查询数据源、数据集
|
// 查询数据源、数据集
|
||||||
ReportDefinition reportDefinition = new ReportDefinition();
|
ReportDefinition reportDefinition = new ReportDefinition();
|
||||||
queryDatasource(updateObj, reportDefinition);
|
queryDatasource(updateObj, reportDefinition, organId);
|
||||||
reportTemplateRespVO.setDatasource(reportDefinition.getDatasources());
|
reportTemplateRespVO.setDatasource(reportDefinition.getDatasources());
|
||||||
// 返回实体
|
// 返回实体
|
||||||
return reportTemplateRespVO;
|
return reportTemplateRespVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteReportTemplate(Long id) {
|
public void deleteReportTemplate(Long id, Long targetOrganId) {
|
||||||
|
boolean isSuperAdmin = SecurityFrameworkUtils.isSuperAdmin();
|
||||||
|
boolean manageEndPoint = SecurityFrameworkUtils.isManageEndPoint();
|
||||||
|
Long loginOrganId = SecurityFrameworkUtils.getUserOrganId();
|
||||||
|
// 超管/管理端操作的就是公共模版
|
||||||
|
boolean isPublic = (isSuperAdmin || manageEndPoint) && ObjectUtil.isNull(targetOrganId);
|
||||||
|
|
||||||
|
Long organId = ObjectUtil.defaultIfNull(targetOrganId, loginOrganId);
|
||||||
|
|
||||||
// 校验存在
|
// 校验存在
|
||||||
ReportTemplateDO reportTemplateDO = validateTemplateExists(id);
|
ReportTemplateDO reportTemplateDO = validateTemplateExists(id, organId);
|
||||||
// 校验内置模板操作权限
|
// 校验内置模板操作权限
|
||||||
validateSystemTemplate(reportTemplateDO);
|
validateSystemTemplate(reportTemplateDO, isPublic);
|
||||||
// 删除
|
// 删除
|
||||||
templateMapper.physicalDeleteById(id);
|
templateMapper.physicalDeleteById(id, organId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 校验只有超管可以操作内置模板
|
* 校验只有管理端可以操作内置模板
|
||||||
*/
|
*/
|
||||||
private void validateSystemTemplate(ReportTemplateDO templateDO) {
|
private void validateSystemTemplate(ReportTemplateDO templateDO, boolean isPublic) {
|
||||||
boolean isSuperAdmin = SecurityFrameworkUtils.isSuperAdmin();
|
// 非cf organ不能操作内置模板
|
||||||
// 非超管不能操作内置模板
|
if (ReportTemplateTypeEnum.SYSTEM.equals(templateDO.getType()) && !isPublic) {
|
||||||
if (ReportTemplateTypeEnum.SYSTEM.equals(templateDO.getType()) && !isSuperAdmin) {
|
|
||||||
throw new ServiceException(TEMPLATE_BUILDIN_OPERATION_PERMISSION_ERROR);
|
throw new ServiceException(TEMPLATE_BUILDIN_OPERATION_PERMISSION_ERROR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -267,18 +284,8 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
*
|
*
|
||||||
* @param id
|
* @param id
|
||||||
*/
|
*/
|
||||||
public ReportTemplateDO validateTemplateExists(Long id) {
|
public ReportTemplateDO validateTemplateExists(Long id, Long organId) {
|
||||||
ReportTemplateDO reportTemplateDO;
|
ReportTemplateDO reportTemplateDO = templateMapper.selectNormalTemplateById(id, organId);
|
||||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
|
||||||
if (ObjectUtil.isNull(loginUser)) {
|
|
||||||
throw new ServiceException(GlobalErrorCodeConstants.UNAUTHORIZED);
|
|
||||||
}
|
|
||||||
// 非超管查询内置模板+机构下的
|
|
||||||
if (loginUser.getIsSupAdmin()) {
|
|
||||||
reportTemplateDO = templateMapper.selectById(id);
|
|
||||||
} else {
|
|
||||||
reportTemplateDO = templateMapper.selectNormalTemplateById(id, loginUser.getOrganId());
|
|
||||||
}
|
|
||||||
if (ObjectUtil.isNull(reportTemplateDO)) {
|
if (ObjectUtil.isNull(reportTemplateDO)) {
|
||||||
throw new ServiceException(TEMPLATE_NOT_EXISTS);
|
throw new ServiceException(TEMPLATE_NOT_EXISTS);
|
||||||
} else {
|
} else {
|
||||||
@@ -291,33 +298,27 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
*
|
*
|
||||||
* @param reqVO
|
* @param reqVO
|
||||||
*/
|
*/
|
||||||
@OrganIgnore
|
void validateTemplateNameUnique(ReportTemplateSaveReqVO reqVO, Long organId) {
|
||||||
void validateTemplateNameUnique(ReportTemplateSaveReqVO reqVO, boolean isSuperAdmin) {
|
|
||||||
Long templateId = reqVO.getId();
|
Long templateId = reqVO.getId();
|
||||||
String name = reqVO.getName();
|
String name = reqVO.getName();
|
||||||
|
|
||||||
LambdaQueryWrapper<ReportTemplateDO> wrapper = new LambdaQueryWrapperX<ReportTemplateDO>().eq(ReportTemplateDO::getName, name);
|
LambdaQueryWrapper<ReportTemplateDO> wrapper = new LambdaQueryWrapperX<ReportTemplateDO>().eq(ReportTemplateDO::getName, name);
|
||||||
wrapper.eq(ReportTemplateDO::getOrganId, OrganContextHolder.getOrganId());
|
wrapper.eq(ReportTemplateDO::getOrganId, organId);
|
||||||
if (ObjectUtil.isNotNull(templateId)) {
|
if (ObjectUtil.isNotNull(templateId)) {
|
||||||
wrapper.ne(ReportTemplateDO::getId, templateId);
|
wrapper.ne(ReportTemplateDO::getId, templateId);
|
||||||
}
|
}
|
||||||
if (isSuperAdmin) {
|
|
||||||
wrapper.eq(ReportTemplateDO::getType, ReportTemplateTypeEnum.SYSTEM);
|
|
||||||
}
|
|
||||||
if (templateMapper.exists(wrapper)) {
|
if (templateMapper.exists(wrapper)) {
|
||||||
throw new ServiceException(TEMPLATE_NAME_UNIQE_ERROR, name);
|
throw new ServiceException(TEMPLATE_NAME_UNIQE_ERROR, name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ReportTemplateDO getReportTemplate(Long id) {
|
public ReportDefinitionWrapper getReportTemplateDefinition(Long id, Long targetOrganId) {
|
||||||
// 校验模板
|
Long loginOrganId = SecurityFrameworkUtils.getUserOrganId();
|
||||||
return validateTemplateExists(id);
|
Long organId = ObjectUtil.defaultIfNull(targetOrganId, loginOrganId);
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ReportDefinitionWrapper getReportTemplateDefinition(Long id) {
|
|
||||||
// 校验模板
|
// 校验模板
|
||||||
ReportTemplateDO template = validateTemplateExists(id);
|
ReportTemplateDO template = validateTemplateExists(id, organId);
|
||||||
String xmlContent = template.getContent();
|
String xmlContent = template.getContent();
|
||||||
InputStream is;
|
InputStream is;
|
||||||
if (StringUtils.isNotEmpty(xmlContent)) {
|
if (StringUtils.isNotEmpty(xmlContent)) {
|
||||||
@@ -328,7 +329,7 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
// 解析xml
|
// 解析xml
|
||||||
ReportDefinition reportDefinition = new ReportParser().parse(is, template.getName());
|
ReportDefinition reportDefinition = new ReportParser().parse(is, template.getName());
|
||||||
if (ObjectUtil.isNotNull(template)) {
|
if (ObjectUtil.isNotNull(template)) {
|
||||||
queryDatasource(template, reportDefinition);
|
queryDatasource(template, reportDefinition, organId);
|
||||||
}
|
}
|
||||||
ReportDefinitionWrapper reportDefinitionWrapper = new ReportDefinitionWrapper(reportDefinition);
|
ReportDefinitionWrapper reportDefinitionWrapper = new ReportDefinitionWrapper(reportDefinition);
|
||||||
reportDefinitionWrapper.setDatasetIds(template.getDatasetIds());
|
reportDefinitionWrapper.setDatasetIds(template.getDatasetIds());
|
||||||
@@ -342,8 +343,7 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
* @param templateDO 模板
|
* @param templateDO 模板
|
||||||
* @param reportDefinition 报表定义
|
* @param reportDefinition 报表定义
|
||||||
*/
|
*/
|
||||||
private void queryDatasource(ReportTemplateDO templateDO, ReportDefinition reportDefinition) {
|
private void queryDatasource(ReportTemplateDO templateDO, ReportDefinition reportDefinition, Long organId) {
|
||||||
Long organId = SecurityFrameworkUtils.getUserOrganId();
|
|
||||||
|
|
||||||
Set<Long> datasourceIds = templateDO.getDatasourceIds();
|
Set<Long> datasourceIds = templateDO.getDatasourceIds();
|
||||||
Set<Long> datasetIds = templateDO.getDatasetIds();
|
Set<Long> datasetIds = templateDO.getDatasetIds();
|
||||||
@@ -400,34 +400,26 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ReportTemplateDO> getReportTemplateList(ReportTemplateReqVO reqVO) {
|
public List<ReportTemplateDO> getReportTemplateList(ReportTemplateReqVO reqVO) {
|
||||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
boolean isSuperAdmin = SecurityFrameworkUtils.isSuperAdmin();
|
||||||
// 当前登录人机构id
|
boolean manageEndPoint = SecurityFrameworkUtils.isManageEndPoint();
|
||||||
Long organId = loginUser.getOrganId();
|
Long organId = SecurityFrameworkUtils.getUserOrganId();
|
||||||
// 超管查看不同组织模板
|
Long targetOrganId = reqVO.getOrganId();
|
||||||
if (ObjectUtil.isNotNull(loginUser) && Boolean.TRUE.equals(loginUser.getIsSupAdmin()) && ObjectUtil.isNotNull(reqVO.getOrganId())) {
|
|
||||||
organId = reqVO.getOrganId();
|
boolean isPublic = isSuperAdmin || manageEndPoint;
|
||||||
|
|
||||||
|
// 管理端或者超管可以查看其他组织报表
|
||||||
|
if (isPublic && ObjectUtil.isNotNull(targetOrganId)) {
|
||||||
|
organId = targetOrganId;
|
||||||
}
|
}
|
||||||
return templateMapper.selectNormalTemplateList(reqVO.getName(), organId);
|
return templateMapper.selectNormalTemplateList(reqVO.getName(), organId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 检查查询参数不为空
|
|
||||||
*
|
|
||||||
* @param queryMap
|
|
||||||
*/
|
|
||||||
private void checkQueryNotEmpty(Map<String, Object> queryMap) {
|
|
||||||
if (ObjectUtil.isNotNull(queryMap)) {
|
|
||||||
for (Map.Entry<String, Object> entry : queryMap.entrySet()) {
|
|
||||||
String key = entry.getKey();
|
|
||||||
if (ObjectUtils.isEmpty(entry.getValue()) && ObjectUtil.notEqual(key, DATASETIDS_FIELD_NAME) && ObjectUtil.notEqual(key, DATASOURCEIDS_FIELD_NAME)) {
|
|
||||||
throw new ServiceException(TEMPLATE_PREIVEW_QUERYPARAM_EMPTY, key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public HtmlReport preview(ReportTemplatePreviewReqVO reqVO) {
|
public HtmlReport preview(ReportTemplatePreviewReqVO reqVO) {
|
||||||
|
Long targetOrganId = reqVO.getOrganId();
|
||||||
|
if (ObjectUtil.isNull(targetOrganId)) {
|
||||||
|
targetOrganId = SecurityFrameworkUtils.getUserOrganId();
|
||||||
|
}
|
||||||
// 自定义请求vo转ureport对象
|
// 自定义请求vo转ureport对象
|
||||||
PreviewParameters params = BeanUtils.toBean(reqVO, PreviewParameters.class);
|
PreviewParameters params = BeanUtils.toBean(reqVO, PreviewParameters.class);
|
||||||
|
|
||||||
@@ -439,9 +431,9 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
// 检查表单配置
|
// 检查表单配置
|
||||||
checkSearchForm(reportDefinition.getSearchForm(), query);
|
checkSearchForm(reportDefinition.getSearchForm(), query);
|
||||||
// 增加多租户参数
|
// 增加多租户参数
|
||||||
tenantParamsUtils.prepareTenantParam(query);
|
tenantParamsUtils.prepareTenantParam(query, targetOrganId);
|
||||||
// 匹配数据源、数据集
|
// 匹配数据源、数据集
|
||||||
queryPreviewDatasource(query, reportDefinition);
|
queryPreviewDatasource(query, reportDefinition, targetOrganId);
|
||||||
|
|
||||||
Report report = reportRender.render(reportDefinition, query);
|
Report report = reportRender.render(reportDefinition, query);
|
||||||
return htmlProducer.produce(reportDefinition, report);
|
return htmlProducer.produce(reportDefinition, report);
|
||||||
@@ -453,8 +445,7 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
* @param query 预览参数
|
* @param query 预览参数
|
||||||
* @param reportDefinition 报表定义
|
* @param reportDefinition 报表定义
|
||||||
*/
|
*/
|
||||||
private void queryPreviewDatasource(Map<String, Object> query, ReportDefinition reportDefinition) {
|
private void queryPreviewDatasource(Map<String, Object> query, ReportDefinition reportDefinition, Long organId) {
|
||||||
Long organId = SecurityFrameworkUtils.getUserOrganId();
|
|
||||||
|
|
||||||
Object datasetIdsObj = query.get(DATASETIDS_FIELD_NAME);
|
Object datasetIdsObj = query.get(DATASETIDS_FIELD_NAME);
|
||||||
Object datasourceIdsObj = query.get(DATASOURCEIDS_FIELD_NAME);
|
Object datasourceIdsObj = query.get(DATASOURCEIDS_FIELD_NAME);
|
||||||
@@ -518,8 +509,9 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public HtmlReport commonPreview(ReportTemplateCommonPreviewReqVO reqVO) {
|
public HtmlReport commonPreview(ReportTemplateCommonPreviewReqVO reqVO) {
|
||||||
|
Long currentOrganId = SecurityFrameworkUtils.getUserOrganId();
|
||||||
// 查询模板
|
// 查询模板
|
||||||
ReportTemplateDO reportTemplateDO = validateTemplateExists(reqVO.getTemplateId());
|
ReportTemplateDO reportTemplateDO = validateTemplateExists(reqVO.getTemplateId(), currentOrganId);
|
||||||
if (ObjectUtil.isNull(reportTemplateDO)) {
|
if (ObjectUtil.isNull(reportTemplateDO)) {
|
||||||
throw new ServiceException(TEMPLATE_NOT_EXISTS);
|
throw new ServiceException(TEMPLATE_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
@@ -541,9 +533,9 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
// 检查表单配置
|
// 检查表单配置
|
||||||
checkSearchForm(reportDefinition.getSearchForm(), query);
|
checkSearchForm(reportDefinition.getSearchForm(), query);
|
||||||
// 增加多租户参数
|
// 增加多租户参数
|
||||||
tenantParamsUtils.prepareTenantParam(query);
|
tenantParamsUtils.prepareTenantParam(query, currentOrganId);
|
||||||
// 匹配数据源、数据集
|
// 匹配数据源、数据集
|
||||||
queryDatasource(reportTemplateDO, reportDefinition);
|
queryDatasource(reportTemplateDO, reportDefinition, currentOrganId);
|
||||||
|
|
||||||
Report report = reportRender.render(reportDefinition, query);
|
Report report = reportRender.render(reportDefinition, query);
|
||||||
return htmlProducer.produce(reportDefinition, report);
|
return htmlProducer.produce(reportDefinition, report);
|
||||||
@@ -588,6 +580,10 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void print(ReportTemplatePreviewReqVO reqVO, HttpServletResponse response) {
|
public void print(ReportTemplatePreviewReqVO reqVO, HttpServletResponse response) {
|
||||||
|
Long targetOrganId = reqVO.getOrganId();
|
||||||
|
if (ObjectUtil.isNull(targetOrganId)) {
|
||||||
|
targetOrganId = SecurityFrameworkUtils.getUserOrganId();
|
||||||
|
}
|
||||||
// 自定义请求vo转ureport对象
|
// 自定义请求vo转ureport对象
|
||||||
PreviewParameters params = BeanUtils.toBean(reqVO, PreviewParameters.class);
|
PreviewParameters params = BeanUtils.toBean(reqVO, PreviewParameters.class);
|
||||||
|
|
||||||
@@ -598,9 +594,9 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
// 检查表单配置
|
// 检查表单配置
|
||||||
checkSearchForm(reportDefinition.getSearchForm(), query);
|
checkSearchForm(reportDefinition.getSearchForm(), query);
|
||||||
// 增加多租户参数
|
// 增加多租户参数
|
||||||
tenantParamsUtils.prepareTenantParam(query);
|
tenantParamsUtils.prepareTenantParam(query, targetOrganId);
|
||||||
// 匹配数据源、数据集
|
// 匹配数据源、数据集
|
||||||
queryPreviewDatasource(query, reportDefinition);
|
queryPreviewDatasource(query, reportDefinition, targetOrganId);
|
||||||
|
|
||||||
Report report = reportRender.render(reportDefinition, query);
|
Report report = reportRender.render(reportDefinition, query);
|
||||||
Map<String, String> chartImages = params.getChartImages();
|
Map<String, String> chartImages = params.getChartImages();
|
||||||
@@ -626,8 +622,9 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void commonPrint(ReportTemplateCommonPreviewReqVO reqVO, HttpServletResponse response) {
|
public void commonPrint(ReportTemplateCommonPreviewReqVO reqVO, HttpServletResponse response) {
|
||||||
|
Long currentOrganId = SecurityFrameworkUtils.getUserOrganId();
|
||||||
// 查询模板
|
// 查询模板
|
||||||
ReportTemplateDO reportTemplateDO = validateTemplateExists(reqVO.getTemplateId());
|
ReportTemplateDO reportTemplateDO = validateTemplateExists(reqVO.getTemplateId(), currentOrganId);
|
||||||
if (ObjectUtil.isNull(reportTemplateDO)) {
|
if (ObjectUtil.isNull(reportTemplateDO)) {
|
||||||
throw new ServiceException(TEMPLATE_NOT_EXISTS);
|
throw new ServiceException(TEMPLATE_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
@@ -647,9 +644,9 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
// 检查表单配置
|
// 检查表单配置
|
||||||
checkSearchForm(reportDefinition.getSearchForm(), query);
|
checkSearchForm(reportDefinition.getSearchForm(), query);
|
||||||
// 增加多租户参数
|
// 增加多租户参数
|
||||||
tenantParamsUtils.prepareTenantParam(query);
|
tenantParamsUtils.prepareTenantParam(query, currentOrganId);
|
||||||
// 匹配数据源、数据集
|
// 匹配数据源、数据集
|
||||||
queryDatasource(reportTemplateDO, reportDefinition);
|
queryDatasource(reportTemplateDO, reportDefinition, currentOrganId);
|
||||||
|
|
||||||
Report report = reportRender.render(reportDefinition, query);
|
Report report = reportRender.render(reportDefinition, query);
|
||||||
Map<String, String> chartImages = params.getChartImages();
|
Map<String, String> chartImages = params.getChartImages();
|
||||||
@@ -675,6 +672,10 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void download(String type, ReportTemplatePreviewReqVO reqVO, HttpServletResponse response) {
|
public void download(String type, ReportTemplatePreviewReqVO reqVO, HttpServletResponse response) {
|
||||||
|
Long targetOrganId = reqVO.getOrganId();
|
||||||
|
if (ObjectUtil.isNull(targetOrganId)) {
|
||||||
|
targetOrganId = SecurityFrameworkUtils.getUserOrganId();
|
||||||
|
}
|
||||||
// 自定义请求vo转ureport对象
|
// 自定义请求vo转ureport对象
|
||||||
PreviewParameters params = BeanUtils.toBean(reqVO, PreviewParameters.class);
|
PreviewParameters params = BeanUtils.toBean(reqVO, PreviewParameters.class);
|
||||||
|
|
||||||
@@ -684,9 +685,9 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
// 检查表单配置
|
// 检查表单配置
|
||||||
checkSearchForm(reportDefinition.getSearchForm(), query);
|
checkSearchForm(reportDefinition.getSearchForm(), query);
|
||||||
// 增加多租户参数
|
// 增加多租户参数
|
||||||
tenantParamsUtils.prepareTenantParam(query);
|
tenantParamsUtils.prepareTenantParam(query, targetOrganId);
|
||||||
// 匹配数据源、数据集
|
// 匹配数据源、数据集
|
||||||
queryPreviewDatasource(query, reportDefinition);
|
queryPreviewDatasource(query, reportDefinition, targetOrganId);
|
||||||
|
|
||||||
Report report = reportRender.render(reportDefinition, query);
|
Report report = reportRender.render(reportDefinition, query);
|
||||||
Map<String, String> chartImages = params.getChartImages();
|
Map<String, String> chartImages = params.getChartImages();
|
||||||
@@ -712,8 +713,9 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void commonDownload(String type, ReportTemplateCommonPreviewReqVO reqVO, HttpServletResponse response) {
|
public void commonDownload(String type, ReportTemplateCommonPreviewReqVO reqVO, HttpServletResponse response) {
|
||||||
|
Long currentOrganId = SecurityFrameworkUtils.getUserOrganId();
|
||||||
// 查询模板
|
// 查询模板
|
||||||
ReportTemplateDO reportTemplateDO = validateTemplateExists(reqVO.getTemplateId());
|
ReportTemplateDO reportTemplateDO = validateTemplateExists(reqVO.getTemplateId(), currentOrganId);
|
||||||
if (ObjectUtil.isNull(reportTemplateDO)) {
|
if (ObjectUtil.isNull(reportTemplateDO)) {
|
||||||
throw new ServiceException(TEMPLATE_NOT_EXISTS);
|
throw new ServiceException(TEMPLATE_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
@@ -732,9 +734,9 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
// 检查表单配置
|
// 检查表单配置
|
||||||
checkSearchForm(reportDefinition.getSearchForm(), query);
|
checkSearchForm(reportDefinition.getSearchForm(), query);
|
||||||
// 增加多租户参数
|
// 增加多租户参数
|
||||||
tenantParamsUtils.prepareTenantParam(query);
|
tenantParamsUtils.prepareTenantParam(query, currentOrganId);
|
||||||
// 匹配数据源、数据集
|
// 匹配数据源、数据集
|
||||||
queryDatasource(reportTemplateDO, reportDefinition);
|
queryDatasource(reportTemplateDO, reportDefinition, currentOrganId);
|
||||||
|
|
||||||
Report report = reportRender.render(reportDefinition, query);
|
Report report = reportRender.render(reportDefinition, query);
|
||||||
Map<String, String> chartImages = params.getChartImages();
|
Map<String, String> chartImages = params.getChartImages();
|
||||||
@@ -760,7 +762,7 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void exportTemplate(Long templateId, HttpServletResponse response) {
|
public void exportTemplate(Long templateId, HttpServletResponse response) {
|
||||||
ReportTemplateDO reportTemplateDO = validateTemplateExists(templateId);
|
ReportTemplateDO reportTemplateDO = validateTemplateExists(templateId, SecurityFrameworkUtils.getUserOrganId());
|
||||||
if (ObjectUtil.isNull(reportTemplateDO)) {
|
if (ObjectUtil.isNull(reportTemplateDO)) {
|
||||||
throw new ServiceException(TEMPLATE_NOT_EXISTS);
|
throw new ServiceException(TEMPLATE_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
@@ -792,32 +794,36 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void importTemplate(String name, MultipartFile file) {
|
public void importTemplate(String name, Long targetOrganId, MultipartFile file) {
|
||||||
|
boolean isSuperAdmin = SecurityFrameworkUtils.isSuperAdmin();
|
||||||
|
boolean manageEndPoint = SecurityFrameworkUtils.isManageEndPoint();
|
||||||
|
Long loginOrganId = SecurityFrameworkUtils.getUserOrganId();
|
||||||
|
// 超管/管理端操作的就是公共模版
|
||||||
|
boolean isPublic = (isSuperAdmin || manageEndPoint) && ObjectUtil.isNull(targetOrganId);
|
||||||
|
|
||||||
|
Long organId = isPublic ? loginOrganId : targetOrganId;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 读取文件json
|
// 读取文件json
|
||||||
String templateStr = IoUtil.read(file.getInputStream(), UTF8_CHARSET);
|
String templateStr = IoUtil.read(file.getInputStream(), UTF8_CHARSET);
|
||||||
JSONObject jsonObject = JSON.parseObject(templateStr);
|
JSONObject jsonObject = JSON.parseObject(templateStr);
|
||||||
|
|
||||||
boolean isSuperAdmin = SecurityFrameworkUtils.isSuperAdmin();
|
|
||||||
|
|
||||||
ReportTemplateSaveReqVO createReqVO = new ReportTemplateSaveReqVO();
|
ReportTemplateSaveReqVO createReqVO = new ReportTemplateSaveReqVO();
|
||||||
createReqVO.setName(name);
|
createReqVO.setName(name);
|
||||||
// 校验模板名唯一性
|
// 校验模板名唯一性
|
||||||
getSelf().validateTemplateNameUnique(createReqVO, isSuperAdmin);
|
getSelf().validateTemplateNameUnique(createReqVO, organId);
|
||||||
// 复制信息
|
// 复制信息
|
||||||
String content = jsonObject.getString("content");
|
String content = jsonObject.getString("content");
|
||||||
if (StringUtils.isEmpty(content)) {
|
if (StringUtils.isEmpty(content)) {
|
||||||
throw new ServiceException(TEMPLATE_IMPORT_CONTENT_EMPTY_ERROR);
|
throw new ServiceException(TEMPLATE_IMPORT_CONTENT_EMPTY_ERROR);
|
||||||
}
|
}
|
||||||
// 生成id
|
|
||||||
createReqVO.setId((Long) snowFlakeGenerator.nextId(null));
|
|
||||||
createReqVO.setContent(content);
|
createReqVO.setContent(content);
|
||||||
createReqVO.setDatasetIds(jsonObject.getJSONArray(DATASETIDS_FIELD_NAME).stream().map(s -> Long.parseLong(s.toString())).collect(Collectors.toSet()));
|
createReqVO.setDatasetIds(jsonObject.getJSONArray(DATASETIDS_FIELD_NAME).stream().map(s -> Long.parseLong(s.toString())).collect(Collectors.toSet()));
|
||||||
createReqVO.setDatasourceIds(jsonObject.getJSONArray(DATASOURCEIDS_FIELD_NAME).stream().map(s -> Long.parseLong(s.toString())).collect(Collectors.toSet()));
|
createReqVO.setDatasourceIds(jsonObject.getJSONArray(DATASOURCEIDS_FIELD_NAME).stream().map(s -> Long.parseLong(s.toString())).collect(Collectors.toSet()));
|
||||||
// 新增模板
|
// 新增模板
|
||||||
ReportTemplateDO template = BeanUtils.toBean(createReqVO, ReportTemplateDO.class);
|
ReportTemplateDO template = BeanUtils.toBean(createReqVO, ReportTemplateDO.class);
|
||||||
// 超管创建的作为内置模板
|
// 超管创建的作为内置模板
|
||||||
if (isSuperAdmin) {
|
if (isPublic) {
|
||||||
template.setType(ReportTemplateTypeEnum.SYSTEM);
|
template.setType(ReportTemplateTypeEnum.SYSTEM);
|
||||||
} else {
|
} else {
|
||||||
template.setType(ReportTemplateTypeEnum.CUSTOM);
|
template.setType(ReportTemplateTypeEnum.CUSTOM);
|
||||||
|
|||||||
+5
-6
@@ -55,7 +55,7 @@ public class TenantParamsUtils {
|
|||||||
if (ObjectUtil.isNotNull(datasourceDO) && ObjectUtil.equal(datasourceDO.getBuildinType(), ReportTemplateTypeEnum.SYSTEM)) {
|
if (ObjectUtil.isNotNull(datasourceDO) && ObjectUtil.equal(datasourceDO.getBuildinType(), ReportTemplateTypeEnum.SYSTEM)) {
|
||||||
List<ReportDatasetDO> datasetDOList = datasetMapper.selectList(new LambdaQueryWrapperX<ReportDatasetDO>().in(ReportDatasetDO::getDatasourceId, datasourceId));
|
List<ReportDatasetDO> datasetDOList = datasetMapper.selectList(new LambdaQueryWrapperX<ReportDatasetDO>().in(ReportDatasetDO::getDatasourceId, datasourceId));
|
||||||
if (CollUtil.isNotEmpty(datasetDOList)) {
|
if (CollUtil.isNotEmpty(datasetDOList)) {
|
||||||
tenantParams.setBuildinDsNames(datasetDOList.stream().map(ReportDatasetDO::getName).collect(Collectors.toList()));
|
tenantParams.setBuildinDsNames(datasetDOList.stream().map(ReportDatasetDO::getName).toList());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 用户组织id
|
// 用户组织id
|
||||||
@@ -71,20 +71,19 @@ public class TenantParamsUtils {
|
|||||||
*
|
*
|
||||||
* @param parameters
|
* @param parameters
|
||||||
*/
|
*/
|
||||||
public void prepareTenantParam(Map<String, Object> parameters) {
|
public void prepareTenantParam(Map<String, Object> parameters, Long organId) {
|
||||||
Long userOrganId = SecurityFrameworkUtils.getUserOrganId();
|
|
||||||
// 根据前端传递的数据集id,判断是不是内置数据源下的,是就把name传给ureport
|
// 根据前端传递的数据集id,判断是不是内置数据源下的,是就把name传给ureport
|
||||||
List<Long> datasetIds = (List) parameters.get("datasetIds");
|
List<Long> datasetIds = (List) parameters.get("datasetIds");
|
||||||
if (CollUtil.isNotEmpty(datasetIds)) {
|
if (CollUtil.isNotEmpty(datasetIds)) {
|
||||||
// 内置数据集名称列表
|
// 内置数据集名称列表
|
||||||
List<String> buildinDsNames = new ArrayList<>();
|
List<String> buildinDsNames = new ArrayList<>();
|
||||||
// 遍历获取所有上级数据源
|
// 遍历获取所有上级数据源
|
||||||
List<ReportDatasetDO> reportDatasetDOS = datasetMapper.selectNormalDatasetList(datasetIds.stream().collect(Collectors.toSet()), userOrganId);
|
List<ReportDatasetDO> reportDatasetDOS = datasetMapper.selectNormalDatasetList(datasetIds.stream().collect(Collectors.toSet()), organId);
|
||||||
for (ReportDatasetDO datasetDO : reportDatasetDOS) {
|
for (ReportDatasetDO datasetDO : reportDatasetDOS) {
|
||||||
Long datasourceId = datasetDO.getDatasourceId();
|
Long datasourceId = datasetDO.getDatasourceId();
|
||||||
// 查询数据源,如果是内置数据源则把数据集的name传给ureport
|
// 查询数据源,如果是内置数据源则把数据集的name传给ureport
|
||||||
// 机构下 + 内置数据源查询
|
// 机构下 + 内置数据源查询
|
||||||
ReportDatasourceDO datasourceDO = datasourceMapper.selectNormalDatasourceById(datasourceId, userOrganId);
|
ReportDatasourceDO datasourceDO = datasourceMapper.selectNormalDatasourceById(datasourceId, organId);
|
||||||
if (ObjectUtil.isNotNull(datasourceDO) && ObjectUtil.equal(datasourceDO.getBuildinType(), ReportTemplateTypeEnum.SYSTEM)) {
|
if (ObjectUtil.isNotNull(datasourceDO) && ObjectUtil.equal(datasourceDO.getBuildinType(), ReportTemplateTypeEnum.SYSTEM)) {
|
||||||
buildinDsNames.add(datasetDO.getName());
|
buildinDsNames.add(datasetDO.getName());
|
||||||
}
|
}
|
||||||
@@ -96,7 +95,7 @@ public class TenantParamsUtils {
|
|||||||
// imes多租户业务表表名列表
|
// imes多租户业务表表名列表
|
||||||
parameters.put("tenantTableNames", cfReportProperties.getTenantTableNames());
|
parameters.put("tenantTableNames", cfReportProperties.getTenantTableNames());
|
||||||
// 用户组织id
|
// 用户组织id
|
||||||
parameters.put("organId", userOrganId);
|
parameters.put("organId", organId);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user