【仅供内部供应商使用,不提供对外解答和培训】

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 报表模板数据集输出JSON服务API功能,提供调用接口。

  • 报表结果输出JSON服务API功能,提供调用接口。

  • 工具栏按钮实现报表内容导出JSON文件下载功能。

OS-235新增功能点:

  • 新增接口调用支持跨域取数功能。
  • 支持FRM模板取数功能。
  • 支持多模板多数据集查询。
  • 接口返回数据,支持国密加密处理功能。
  • 新增调用接口,多个CPT模板导出EXCEL合并压缩包下载功能。

2. 插件介绍

2.1 插件安装

点击下载插件:数据JSON服务API插件

...

2.2 操作方法

安装插件完成后,即可使用JSON接口服务功能。

2.2.1 数据集JSON服务API(新版)

新版接口接口调用支持跨域请求调用、支持FRM模板取数、多模板多数据集查询。

URL地址

http://ip:port/webroot/decision/api/dataset

METHOD

POST

Content-Type

application/json

RAW

{
    "dataset": [{
        "report_path": "tabledataService/Parameter_3.cpt",
        "datasource_name": "ds2",
        "page_number": -1,
        "page_size": 2,
        "parameters": [{
                "name": "产品类型",
                "type": "String",
                "value": "饮料"
            },
            {
                "name": "地区",
                "type": "String",
                "value": "华北"
            }
        ]
    }, {
        "report_path": "tabledataService/data.frm",
        "datasource_name": "ds1",
        "page_number": -1,
        "page_size": 1,
        "parameters": [{
            "name": "company",
            "type": "String",
            "value": "VINET"
        }]
    }],
    "timestamp": "123456789",
    "sign": "761ad529b27019576de1ab4af5f9a394"
}

Response响应

[{
    "report_path": "tabledataService/Parameter_3.cpt",
    "datasource_name": "ds2",
    "err_code": 0,
    "err_msg": "",
    "total_page_number": 1,
    "page_number": -1,
    "page_size": 2,
    "data": [{
        "地区": "华北",
        "销售员": "张颖",
        "产品类型": "饮料",
        "产品": "苹果汁",
        "销量": 250.0,
        "英文简称": "zhangying"
    },
    .........
    {
        "地区": "华北",
        "销售员": "韩文",
        "产品类型": "饮料",
        "产品": "柳橙汁",
        "销量": 760.

...

0,
        "英文简称": "hanwen"
    }]
},
{
    "report_path": "tabledataService/data.frm",
    "datasource_name": "ds1",
    "err_code": 0,
    "err_msg": "",
    "total_page_number": 1,
    "page_number": -1,
    "page_size": 1,
    "data": [{
        "产品名称": "猪肉",
        "库存量": 0,
        "成本价": 20.0,
        "单价": 39.0
    },
    .........
    {
        "产品名称": "三合一麦片",
        "库存量": 38,
        "成本价": 5.0,
        "单价": 7.0
    }]
}]

参数说明:

  • dataset:单个或多个数据集相关参数信息。
  • report_path:报表模板路径名称(必须项),支持CPT和FRM模板。例如 tabledataService/Parameter_3.cpt、tabledataService/data.frm。
  • datasource_name:数据集名称(必须项);
  • page_number:页码(必须项);
  • page_size:每页行数(必须项);
  • parameters:数据集参数(可选);参数名对应数据集中参数名;
  • timestamp:当前时间的毫秒数(用于签名认证,可选);
  • sign:安全签名(用于签名认证,可选);

 响应说明:

  • err_code:0为正常,其他参见错误码表;
  • err_msg:错误信息;
  • total_page_number:总页数;
  • page_number:当前页码;
  • page_size:每页行数(必须项);
  • data:获取到的JSON数据;数据key为数据集列名。

 

数据集JSON示例:

访问报表Parameter_3.cpt的数据集内容。

Image Added

Image Added

获取data结果:

Image Added

2.2.2 数据集JSON服务API(旧版)

 

URL地址

http://ip:port/webroot/decision/url/api/data

METHOD

POST

Content-Type

application/json

RAW

{

    "report_path": "Parameter_3.cpt",

    "datasource_name": "ds2",

    "page_number": 1,

    "page_size": 100,

    "timestamp": "123456789",

    "sign": "468705dc60eff5f67438f9b94ed15245",

    "parameters": [{

           "name": "地区",

           "type": "String",

           "value": "华北"

       },

       {

           "name": "产品类型",

           "type": "String",

           "value": "饮料"

       }

    ]

}

Response响应

{

    err_code  :  0,

    err_msg  :    "",                

    total_page_number  :   10,

    page_number  :     1,

    page_size  :     10,

    data  :    [{key1:v11,key2:v12,...},...]

}

...

访问报表Parameter_3.cpt的数据集内容。

获取data结果:

2.2.

...

3 报表结果JSON服务API

URL地址

http://ip:port/webroot/decision/url/api/report

METHOD

POST

Content-Type

application/json

RAW

{

    "report_path": "Parameter_3.cpt",

    "start_page": 1,

    "end_page": 1,

    "timestamp": "123456789",

    "sign": "468705dc60eff5f67438f9b94ed15245",

    "parameters": [{

           "name": "地区",

           "type": "String",

           "value": "华北"

       },

       {

           "name": "产品类型",

           "type": "String",

           "value": "饮料"

       }

    ]

}

Response响应

{

    "err_code": 0,

    "err_msg": "",

    "start_page": 1,

    "end_page": 1,

    "total_page_number": 1,

    "data": [

       [{

           "A1": "华北销售额","A2": "地区"

       }]

    ]

}

...

err_code

err_msg

0

正常

10

report_path参数值不正确

11

datasource_name参数值不正确

12

page_number参数值不正确

13

page_size参数值不正确

14

报表模板文件不存在

15

安全签名不正确

16

start_page参数值不正确

17

end_page参数值不正确

20

报表数据集为空

2.2.

...

4 报表内容导出JSON文件

在设计器打开对应报表文件,点击菜单“模板”->“模板web属性”->“分页预览属性”,会看到插件对应 JSON导出。先选择为“为该模板单独设置”项,再选择对应组件添加即可。

...