转至文

通变之意

可扩展性自定义组件

章表之节

自定义报表

report-designer-core

章册

自定义报表工具核心库

report-designer-spring-boot-starter

章册

自定义报表工具SpringBoot Starter

安装

xml
<dependency>
    <groupId>io.gitee.archai-nexus</groupId>
    <artifactId>report-designer-spring-boot-starter</artifactId>
    <version>0.0.1-20250417-alpha</version>
</dependency>
Groovy
implementation group: 'io.gitee.archai-nexus', name: 'report-designer-spring-boot-starter', version: '0.0.1-20250412-alpha'

使用

1. 定义SpringBean数据集
java
  
@Component("demo")
@AllArgsConstructor
public class DemoDatasetSource implements DatasetSourceVO {
    @Override
    // 实现获取数据集字段方法
	public List<DatasetVO.Dataset> fields() {}
    @Override
    // 实现获取对应数据集数据方法
    public PageResponse<Map<String, Object>> pageData(PageDatasetSourceDTO dto) {}
}
2. 实现报表模型服务接口
java
@Service
@AllArgsConstructor
public class ReportDemoServiceImpl implements ReportModelService {
  @Override
  // 实现保存数据模型逻辑
  public ModelVO saveOrUpdate(ModelDTO modelDTO) { }
  @Override
  // 实现根据id查询逻辑
  public ModelVO findById(String id) { }
  @Override
  // 实现根据类型查询数据集逻辑
  public List<DatasetVO> listDataset(Integer type) { }
  @Override
  // 实现保存数据集逻辑
  public boolean saveOrUpdateDataset(DatasetDTO datasetDTO) { }
  @Override
   // 实现查询数据集数据逻辑 demo 即是 springbean 数据源的beanId
  public PageResponse<Map<String, Object>> pageDatasetSource(PageDatasetSourceDTO dto) {
		DatasetSourceVO datasetSourceVO = SpringUtil.getBean("demo"); 
		return datasetSourceVO.pageData(dto);
  }
}
3. 配置
  • 需要放行 /report-designer/**/report-api/** 路径的鉴权
  • yml文件配置
yaml
# 报表功能启用
archai-nexus:
 report:
   enabled: true
4. 访问路径
  • ${项目根路径}/report-designer/

基于 MIT 许可发布