Springboot集成UReport2


1.pom.xml引入依賴

<dependency>
          <groupId>com.bstek.ureport</groupId>
           <artifactId>ureport2-console</artifactId>
           <version>2.2.9</version>
</dependency>

2.編寫config配置類

@Configuration
@ImportResource("classpath:context.xml")
@Slf4j
public class UReportConfig implements BuildinDatasource {

    @Resource
    private DataSource dataSource;

    //注冊servlet組件
    @Bean
    public ServletRegistrationBean registrationBean() {
      return new ServletRegistrationBean(new UReportServlet(), "/ureport/*");

    }

    @Override
    public String name() {
        return "myDataSource";
    }

    @Override
    public Connection getConnection() {
        try {
            return dataSource.getConnection();
        } catch (SQLException e) {
            log.error("uReport 數據源 獲取連接失敗!-{}", e.getMessage());
        }
        return null;
    }
}

3.resources下添加相關配置文件

1) context.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <import resource="classpath:ureport-console-context.xml"/>

    <bean id="propertyConfigurer" parent="ureport.props">
        <property name="location">
            <value>file:${config.path}/ureport-config.properties</value>
        </property>
    </bean>

</beans>

2) ureport-config.properties

#ureport報表xml文件存放目錄
ureport.fileStoreDir=F:\\work\\yyglpt\\service-test\\src\\main\\resources\\report

3) application.properties中添加指定${config.path}

config.path=F:\\work\\yyglpt\\service-test\\src\\main\\resources

4.編寫相應Service: 

1) 給Service起一個標識名

2) 方法的3個參數是固定寫法,不能更改

@Service("roadService")
public class RoadService {
  /**
     * 路產管理月報
     * @param dsName
     * @param datasetName
     * @param parameters
     * @return
     */
    public List<RoadManageReport> queryRoadManageReport(String dsName, String datasetName, Map<String, Object> parameters) {
        String month = (String) parameters.get("month");
        List<RoadManageReport> list = initRoadManageReports();
        for (RoadManageReport report : list) {
            report.setMonthSum(getMonthSum());
            report.setYearSum(getYearSum(month));
        }

        return list;
    }  
}

5.查看報表引擎

瀏覽器輸入:  項目ip:端口/ureport/designer  即可訪問UReport報表引擎

 

 

 

 

 

6.數據源配置

1) 數據源配置

 

 2) 數據集配置

 

 3) 刷新數據集

 

 7.編輯報表

 

 8.預覽報表/訪問真實路徑報表

預覽: http://127.0.0.1:8085/ureport/preview?_u=p&month=2月

訪問真實路徑(roadManageReport.ureport.xml是該報表保存的文件名): http://127.0.0.1:8085/ureport/preview?_u=file:roadManageReport.ureport.xml&month=2月

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM