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)
  • Web 服务教程
  • 搜索
    • 引言
    • 目的
    • 场景
    • 参考文档
    • 了解 stSearch
    • 建立查询条件
    • 通过编号获取ID
    • 汇总所有步骤
    • FAQ
  • 创建模块数据
  • 修改模块数据
  • 检查库存量
  • 未完成应付/应收
  • Web Services Tutorial
Multiable
2024-01-09
目录

搜索

版本: 1.2 | 发布日期: 07/02/2024

# 引言

aiM18 系统的主要目的是加强数据管理。

有了 aiM18,数据只需输入一次,即可随处查看。

# 目的

阅读本章后,你应该能够:

  1. 从 aiM18 中检索数据
  2. 获取模块记录唯一 ID

# 场景

Chris 是 ABC 水果公司的 IT 经理。他负责维护 ABC 水果目录,该目录将进口水果和本地水果分开显示。

wst01

市场部经理Jane会不时与Chris联系,以增加不同的新产品。

由于Chris的工作繁重,他经常不能按时发布最新的目录。

这阻碍了Jane提出的推广活动。

Chris决定使用 aiM18 数据搜索Web服务来解决这个问题。

# 参考文档

以下内容演示了如何从 aiM18 获取数据。

更多详情,请参阅 “搜索 ”服务的完整文档。

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/search/search?stSearch=employee&startRow=1&endRow=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/search/search?stSearch=[stSearchName]&startRow=[startRow]&endRow=[endRow]

搜索参数

名字 类型 说明
authorization String(Header) 必填. 通过 OAuth 获取的访问令牌
client_id String(Header) 必填. aiM18 授权应用列表中的Client ID
stSearch String(Query) 必填. Lookup 类型, 比如 '员工', 可以在数据字典或 UDF Lookup 中找到。
startRow int(Query) 搜索的起始行
endRow int(Query) 搜索的最后一行
beId long(Query) 如果搜索是 BE 特定的,则需要输入beId
formatId long(Query) 搜索格式 ID
conds String(Query) 请查看 条件详情
sorts String(Query) 排序字段,以“;”分隔。如果不是升序,请使用“!”;例如:“code;!desc”
resultFields String(Query) 如果要返回某些字段的值,请使用此参数。
lookupField boolean(Query) 如果值为 true,则结果数据将是没失效、没锁定和已批准的。
quickSearchStr String(Query) 如果要使用快速搜索,请设定此值。
fieldDesc boolean(Query) 如果值为 true,将返回字段的名称和mess值。
viewDeleted boolean(Query) 如果要搜索已删除的数据,请设置此值为 true。

# 了解 stSearch

aiM18 数据搜索网络服务完全依赖于 stSearch 参数。

在 aiM18 平台中,stSearch也被称为Lookup.

Lookup 是 aiM18 中预定义的一种搜索方案,它包括搜索中涉及的表格信息、排序和表格连接。

你可以通过访问 aiM18 中的 Lookup 获取 stSearch code:

wst02

在 aiM18 中,同一个模块可以有多种不同的 stSearch。有些设置是系统预定义的,有些则可以由用户自定义。

每个模块都提供一个适用于大多数情况的标准 stSearch。

例如,访问 产品/物料 编辑器,就可以访问该模块使用的标准 stSearch。

wst04

1. 点击 编辑查询

wst05

2. 点击 查询

括号中的编号就是我们想要获取的 stSearch code。

wst06

# 建立查询条件

接下来,我们需要准备不同的产品清单,分别显示进口水果和本地水果。

aiM18 数据搜索网络服务允许提供类似 SQL 的 WHERE 子句来过滤数据。

wst07

假设 [Series] 是区分产品的字段,我们需要知道它在数据库中对应的列名。

aiM18 提供了一种方便的方法,让你可以直接在界面上了解某个字段对应的数据库列。

首先,你需要在界面设置中启用 [显示字段名称] 选项。

wst08

然后,将光标放在要查看的列上,这里是 [Series],系统将显示相应的字段信息。

wst09

# 通过编号获取ID

在收集了上述信息后,很容易得出以下条件:

进口水果:

seriesId=equals=IMPORT

本地水果:

seriesId=equals=LOCAL

对于 aiM18 中的所有lookup字段,在构建 “搜索条件”时,我们应使用 “记录 id ”而不是 “记录编号”。

通过编号获取ID Web服务可获取记录id。

查找Series ID 的请求示例

GET `http://[server]/jsf/rfws/entity/getIdByCode/series?menuCode=series&code=IMPORT`

GET `http://[server]/jsf/rfws/entity/getIdByCode/series?menuCode=series&code=LOCAL`

响应示例

{"withMulti":false,"id":"1","withRight":true}

{"withMulti":false,"id":"2","withRight":true}

# 汇总所有步骤

搜索产品 Series = LOCAL的请求示例

GET http://[server]/jsf/rfws/search/search?stSearch=pro&conds=seriesId=equals=2

响应示例

{
 "size":{
	 "size":4,
	 "values":[
		{"code":"Orange","desc":"Local Orange","iRev":2,"id":8 ...},
		{"code":"Banana","desc":"Local Banana","iRev":2,"id":6 ...},
		{"code":"Apple","desc":"Local Apple","iRev":2,"id":5 ...},
		{"code":"Peach","desc":"Local Peach","iRev":2,"id":7 ...}
	 ]
 }
}

# FAQ

1. 我如何知道我必须使用 id 而不是编号?

你可以通过数据字典进行查看。所有带Lookup值的字段都存储了引用 ID。

wst11

Last Updated: 2025/04/09, 02:58:38
Web 服务教程
创建模块数据

← Web 服务教程 创建模块数据→

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