aiM18开发者中心 aiM18开发者中心
文档主页
  • 平台

    • 平台总体概述
    • 前端开发须知
    • 后台开发须知
    • EBI开发须知
    • JSF组件属性表
    • BPM扩展接口
    • 一查到底扩展接口
    • 手机App设置
  • ERP

    • ERP 后端扩展
    • ERP 应用配置
    • ERP 前端扩展
  • 教程

    • 设置Eclipse开发环境
    • 创建App教程
  • 平台相关

    • API授权
    • 通用的数据对象
    • 核心的API
    • EBI相关接口
  • 企业资源规划
  • 人力资本管理
  • 业务流程处理
  • 日程管理
  • 文档管理
  • 教程

    • 通过API与aiM18进行交互
教程
GitHub (opens new window)
文档主页
  • 平台

    • 平台总体概述
    • 前端开发须知
    • 后台开发须知
    • EBI开发须知
    • JSF组件属性表
    • BPM扩展接口
    • 一查到底扩展接口
    • 手机App设置
  • ERP

    • ERP 后端扩展
    • ERP 应用配置
    • ERP 前端扩展
  • 教程

    • 设置Eclipse开发环境
    • 创建App教程
  • 平台相关

    • API授权
    • 通用的数据对象
    • 核心的API
    • EBI相关接口
  • 企业资源规划
  • 人力资本管理
  • 业务流程处理
  • 日程管理
  • 文档管理
  • 教程

    • 通过API与aiM18进行交互
教程
GitHub (opens new window)
  • 通用

    • 访问授权
    • 通用JSON对象
    • 核心服务
    • 商业智能
      • 获取 FORMAT 列表
        • HTTP 请求
        • 参数
        • 结果
      • 报告信息
        • HTTP 请求
        • 参数
        • 结果
      • 报告数据
        • HTTP 请求
        • 参数
        • 结果
      • 图表插件数据
        • HTTP 请求
        • 参数
        • 结果
      • 让报告数据活跃起来
        • HTTP 请求
        • 参数
      • 关闭报告数据
        • HTTP 请求
        • 参数
      • 加载查询数据
        • HTTP 请求
        • 参数
        • 结果
      • 加载报告 PDF 文件
        • HTTP 请求
        • 参数
        • 结果
      • 加载报告 Excel 文件
        • HTTP 请求
        • 参数
        • 结果
    • 错误码说明
  • 业务流程管理

    • 业务流程管理
  • 日程管理

    • 日程管理
  • 文档管理

    • 文档管理系统
  • 企业资源规划

    • API授权流程
    • 基础资料
    • 财务
    • 财务EBI
    • 委外代销
    • EBI
    • 仓库管理方案
    • 零售
    • 零售储值
    • 零售和第三方物流
    • 生产
    • 贸易和财务
    • 采购
    • 销售
    • 库存
    • 委外
  • 人力资本管理

    • API授权流程
    • 绩效管理
    • 考勤管理
    • 临时工
    • 人事管理
    • 请假管理
    • 医疗索偿
    • 薪资管理
    • 招聘管理
    • 培训&资助
  • Web Services中文
  • 通用
Multiable
2024-02-23
目录

商业智能

版本: 1.0 | 发布日期: 3/9/2019

# 获取 FORMAT 列表

获取 EBI 的format列表

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/ebiWidget/reportList?formatType=ebiFormat")
  .get()
  .addHeader("authorization", "Bearer MjZhZGNjMDctODVhZS00MmE0LWI3ZmEtNzRhMTQwZGZiNTY0")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP 请求

GET http://[server]/jsf/rfws/ebiWidget/reportList?formatType=[formatType]

# 参数

名字 类型 说明
authorization string(Header) 必填. 通过 OAuth2 获取的访问令牌
client_id string(Header) 必填. 在[授权应用列表]中注册时,由 aiM18 生成
needCount boolean(Query) 可选. 是否返回结果行总数(用于分页)
searchText string(Query) 可选. 用户的搜索输入(用于快速搜索)
formatType string(Query) 可选. 特定格式类型(有三种格式类型:ebiFormat/chart/pivot,aiM18 APP 不使用 pivot)。如果此值为空,API 将获取所有 ebiFormat/chart 格式。
menuCode string(Query) 可选. EBI 的菜单编号(如果你已得到菜单编号)
offset int(Query) 可选. 结果的第一个返回行(用于分页)
rows int(Query) 可选. 结果中返回行的总计数(用于分页)

# 结果

类型 位置(error_id) 说明
success Header 结果的总行数(仅在 needCount = true 时返回)
success Body JSON 格式的SqlTable,包含 4 列:id、code、desc、formatType

# 报告信息

获取所选格式的报告信息(并准备报告数据)

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/ebiWidget/reportDto/127")
  .get()
  .addHeader("authorization", "Bearer MjZhZGNjMDctODVhZS00MmE0LWI3ZmEtNzRhMTQwZGZiNTY0")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

API 会以 JSON 格式返回 ReportDto,其结构如下:

{
     "formatId": 1, //formatId
	 "formatType": "chart", //formatType
	 "description": "Employee List Chart",  //format description.
	 "contextId": 36518,  //Current Report Context ID
	 "reportTitle": "Report Title",  //Report Title 
	 "table": {TableDto}, //Table Report Dto 
	 "widgets":[{WidgetDto}, {WidgetDto}, …]  // Array,  all WidgetDto in this report
}

TableDto 的 JSON 结构如下:

{
     "dataSize": 2345, //All Table Data Size, INT
	 "group": true, //IF table has group setting and group data
	 [{columnDto}, {columnDto}, …], //Array, list all columns
}

ColumnDto 的 JSON 结构如下:

{
     "fieldType": "system", //value=system/udf/udfFormula. The field Type.
	 "dataType": "INT", //value=Auto, NCHAR, NVARCHAR, CLOB, INT,BIGINT, DECIMAL,BOOLEAN,REAL, DOUBLE, TIME, DATE, TIMESTAMP, BLOB, BINARY, OTHER
     "fieldType": "system", //value=system/udf/udfFormula. The field Type.
     "fieldType": "system", //value=system/udf/udfFormula. The field Type.
     "fieldType": "system", //value=system/udf/udfFormula. The field Type.
	 [{columnDto}, {columnDto}, …], //Array, list all columns
}

WidgetDto 的 JSON 结构如下:

{
     "key": "12346-xudtds-23xuct", //The key of the chart
	 "chartType": "pie", //chart Type
	 "rightfull": true, //If the user has the visit right of the chart
}

# HTTP 请求

GET http://[server]/jsf/rfws/ebiWidget/ebiWidget/reportDto/[formatId]

# 参数

名字 类型 说明
authorization string(Header) 必填. 通过 OAuth2 获取的访问令牌
client_id string(Header) 必填. 在[授权应用列表]中注册时,由 aiM18 生成
formatId long(Path) 必填. 特定格式 ID
beId long(Query) 可选. 特定企业法人 ID
source string(Query) 可选. 当前访问的来源(仅用于审核)

# 结果

类型 位置(error_id) 说明
success Body JSON格式的ReportDto

# 报告数据

获取表格报告数据

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/ebiWidget/loadReport?formatId=127&rows=10")
  .get()
  .addHeader("authorization", "Bearer MjZhZGNjMDctODVhZS00MmE0LWI3ZmEtNzRhMTQwZGZiNTY0")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP 请求

GET http://[server]/jsf/rfws/ebiWidget/loadReport?formatId=[formatId]&rows=[rows]

# 参数

名字 类型 说明
authorization string(Header) 必填. 通过 OAuth2 获取的访问令牌
client_id string(Header) 必填. 在[授权应用列表]中注册时,由 aiM18 生成
contextId long(Query) 可选. 报告的contextId(如果该值为空,系统将重建上下文并返回数据)
formatId long(Query) 必填. 格式 ID
beId long(Query) 可选. 企业法人ID, 仅当 contextId 为空时才需要
source string(Query) 可选. 仅当 contextId 为空时才需要
offset int(Query) 可选. 结果的第一个返回行(用于分页)
rows int(Query) 可选. 结果返回行的总计数(用于分页)

# 结果

类型 位置(error_id) 说明
success Body JSON格式的SqlTable

# 图表插件数据

获取图表插件数据

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/ebiWidget/loadChart?formatId=126")
  .get()
  .addHeader("authorization", "Bearer MjZhZGNjMDctODVhZS00MmE0LWI3ZmEtNzRhMTQwZGZiNTY0")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP 请求

GET http://[server]/jsf/rfws/ebiWidget/loadChart?formatId=[formatId]"

# 参数

名字 类型 说明
authorization string(Header) 必填. 通过 OAuth2 获取的访问令牌
client_id string(Header) 必填. 在[授权应用列表]中注册时,由 aiM18 生成
contextId long(Query) 可选. 报告的contextId(如果该值为空,系统将重建上下文并返回数据)
chartUnit string(Query) 可选. 报告的图表键(ebiFormat 中有许多插件。charUnit 用于指定插件。如果 charUnit 为空,系统将获取第一个插件作为结果)
formatId long(Query) 必填. 格式 ID
beId long(Query) 可选. 企业法人ID, 仅当 contextId 为空时才需要
source string(Query) 可选. 仅当 contextId 为空时才需要

# 结果

类型 位置(error_id) 说明
success Body 可以初始化Echart的JSON格式EChart

# 让报告数据活跃起来

让报告数据活跃起来 (少于每 4 分钟调用一次该Web服务。EBI 模块每 3 分钟调用一次)

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/q/combSet/keepOpen")
  .get()
  .addHeader("authorization", "Bearer MjZhZGNjMDctODVhZS00MmE0LWI3ZmEtNzRhMTQwZGZiNTY0")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP 请求

GET http://[server]/jsf/rfws/q/combSet/keepOpen

# 参数

名字 类型 说明
authorization string(Header) 必填. 通过 OAuth2 获取的访问令牌
client_id string(Header) 必填. 在[授权应用列表]中注册时,由 aiM18 生成
contextId long(Query) 可选. 报告的contextId

# 关闭报告数据

关闭报告数据

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/q/combSet/closeTask")
  .post()
  .addHeader("authorization", "Bearer MjZhZGNjMDctODVhZS00MmE0LWI3ZmEtNzRhMTQwZGZiNTY0")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP 请求

POST http://[server]/jsf/rfws/q/combSet/closeTask

# 参数

名字 类型 说明
authorization string(Header) 必填. 通过 OAuth2 获取的访问令牌
client_id string(Header) 必填. 在[授权应用列表]中注册时,由 aiM18 生成
contextId long(Query) 可选. 报告的 contextId

# 加载查询数据

加载查询数据

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/ebiWidget/queryData/QuerySet/348")
  .get()
  .addHeader("authorization", "Bearer MjZhZGNjMDctODVhZS00MmE0LWI3ZmEtNzRhMTQwZGZiNTY0")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP 请求

GET http://[server]/jsf/rfws/ebiWidget/queryData/[queryType]/[queryId]

# 参数

名字 类型 说明
authorization string(Header) 必填. 通过 OAuth2 获取的访问令牌
client_id string(Header) 必填. 在[授权应用列表]中注册时,由 aiM18 生成
queryType string(Path) 必填. 查询类型
queryId long(Path) 必填. 查询ID
beId long[](Query) 可选. 查询中企业法人ID
option string(Query) 可选. EBI 中的报告选项,[查询(SQL)] 中输入参数的参数类型不是 模块条件 的行都是允许的参数。JSON 格式的 FilterGroupDto,这是一个简单示例:{"mode":"and","criterias":[{"field":"lastModifyDateFilter","operator":"EQUAL","value":"2023-01-01"},{"field":"createUserFilter","operator":"IN","value":["1", "2"]},{"field":"createDateFilter","operator":"LARGEROREQUAL","value":"2023-01-01"}]}。mode 接受以下值之一:and、or。 field 是 [查询(SQL)] 中输入参数的参数编号,operator 接受下列值之一:EQUAL、UNEQUAL、LARGERTHAN、LESSTHAN、LARGEROREQUAL、LESSOREQUAL、CONTAINS、DOSENOTCONTAIN、IN、NOTIN、STARTWITH、NOTSTARTWITH、ENDWITH、NOTENDWITH。
lookupFilter string(Query) 可选. EBI 中的 Turbo 筛选器, [查询(SQL)] 中输入参数的参数类型是 模块条件 的行都是允许的参数,参数名称为对应的'模块查询类型'。JSON格式的 Map<String, FilterGroupDto>,这是一个简单示例:{"oldso": {"mode": "and","criterias": [{"field": "code","operator": "EQUAL","value": "SO001"}]},"pro": {"mode": "and","criterias": [{"field": "code","operator": "EQUAL","value": "PRO1"}]}}。
turboFilter string(Query) 可选. EBI 中的 Turbo 筛选器, [查询(SQL)] 中输入参数的参数类型是 模块条件 的行都是允许的参数,参数名称为对应的'参数编号'。JSON格式的 Map<String, FilterGroupDto>,这是一个简单示例:{"soFilter": {"mode": "and","criterias": [{"field": "code","operator": "EQUAL","value": "SO001"}]},"proFilter": {"mode": "and","criterias": [{"field": "code","operator": "EQUAL","value": "PRO1"}]}} 。
datafilter string(Query) 可选. EBI 中的 Normal 筛选器, JSON格式的 FilterGroupDto,这是一个简单示例: {"mode": "and","criterias": [{"field": "CUS_A_code","operator": "EQUAL","value": "CUS01"}]}, field的值可以在EBI左面板悬停时看到。
column string[](Query) 可选. 指定读取的列。如果此值为空,结果将包含所有列。
offset int(Query) 可选. 结果的第一返回行
rows int(Query) 可选. 结果中返回行的总数

# 结果

类型 位置(error_id) 说明
success Body JSON格式的SqlTable

# 加载报告 PDF 文件

加载报告 PDF 文件

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/ebiExport/loadReportAsPDF?ebiFormatId=127")
  .get()
  .addHeader("authorization", "Bearer MjZhZGNjMDctODVhZS00MmE0LWI3ZmEtNzRhMTQwZGZiNTY0")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP 请求

GET http://[server]/jsf/rfws/ebiExport/loadReportAsPDF?ebiFormatId=[ebiFormatId]

# 参数

名字 类型 说明
authorization string(Header) 必填. 通过 OAuth2 获取的访问令牌
client_id string(Header) 必填. 在[授权应用列表]中注册时,由 aiM18 生成
ebiFormatId long(Query) 必填. EBI 格式 ID
fileName String(Query) 可选. 生成文件的名称(不需要文件后缀)

# 结果

类型 位置(error_id) 说明
success Body 文件的二进制流

# 加载报告 Excel 文件

加载报告 Excel 文件

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/ebiExport/loadReportAsExcel?ebiFormatId=127")
  .get()
  .addHeader("authorization", "Bearer MjZhZGNjMDctODVhZS00MmE0LWI3ZmEtNzRhMTQwZGZiNTY0")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP 请求

GET http://[server]/jsf/rfws/ebiExport/loadReportAsExcel?ebiFormatId=[ebiFormatId]

# 参数

名字 类型 说明
authorization string(Header) 必填. 通过 OAuth2 获取的访问令牌
client_id string(Header) 必填. 在[授权应用列表]中注册时,由 aiM18 生成
ebiFormatId long(Query) 必填. EBI 格式 ID
fileName String(Query) 可选. 生成文件的名称(不需要文件后缀)

# 结果

类型 位置(error_id) 说明
success Body 文件的二进制流
Last Updated: 2025/04/09, 02:58:38
核心服务
错误码说明

← 核心服务 错误码说明→

Theme by Vdoing | Copyright © 1990-2025 Multiable | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式