二开案例.WEBAPI.使用WEBAPI获取单据信息
智慧车间增加取数接口
1. 背景
智慧车间通过WEBSERVICE接口可从CLOUD服务器获取某些单据的信息,目前标准产品提供了常用单据的数据获取接口,在某些现场根据自身项目的特点,需要增加其他单据或已有单据不同格式的数据获取接口。
本文档旨在指导二次开发人员利用标准产品的智慧车间API接口平台(详见《智慧车间API接口平台介绍》)增加自定义取数接口。
2. 适用对象
二次开发人员。
3. 基于平台增加取数接口
本文将以“按状态获取工单信息”为例,描述如何通过智慧车间API接口平台新增一个取数接口,并根据传入的状态值及组织信息,获取符合条件的工单数据。
开发的准备步骤详见《智慧车间接口自定义返回值.docx》中的第3章,本文档不再对此赘述,只介绍插件开发的核心方法。
3.1 定义参数和返回值对象
调用接口时需要指定接口的传入参数类以及返回结果类。本示例想通过调用标准产品预置的通用接口来实现取数,而通用接口的参数类和结果类均使用的是默认值,因此原则上不需要单独建立。
参数可以通过通用接口中的Param1~Param10输入,如本示例中需要传入组织编码和工单状态,因此只使用Param1、Param2即可。当然,对于复杂的参数,建议在Param1~Param10中传入Json文本,后续在处理器中再做解析。
而返回结果需要包含工单的信息,如工单编号、分录行号、分录状态、产品编码、产品名称、数量等信息,由于结构相对复杂,直接返回默认结果类的话,在构造数据和返回显示上不太友好。因此最好建一个类来承接结果数据,这个类需要继承SFSDefaultParam类,命名空间为Kingdee.K3.MFG.SFS.Common.Core.ParamValue。
图3-1 返回结果类
3.2 定义接口实现类
接口实现类用来校验输入参数是否合法,处理取数逻辑,并构建返回值。
图3-2
接口实现类必须继承自AbstractSFSAPIExecutor,并将标准传入参数类及返回结果类作为泛型传入。
需要覆盖超类的如下几个方法:
l 参数校验方法ValidateParamValue
验证参数合法性,如果不合法可以抛出KDBusinessException。
l 数据校验方法OnValidate
必须覆盖,本示例不做任何处理。
l 逻辑处理方法
图3-3
根据传入参数获取目标单据的数据,并将其封装到返回结果中。构建返回结果时要注意,如果返回的是数据集合,则要将数据封装到this.ReturnListValue中,否则将数据封装到this.ReturnValue。
图3-4
如上图中,根据数据行数,逐一加到集合中,而且基于性能考虑,应该要限制一下返回的总行数,如本示例中控制最多只返回150行。
l 返回结果的集合属性方法IsList、ListCount
图3-5
3.3 注册接口
在【车间Web接口定义】中注册接口实现类
图3-6
3.4 接口调用
图3-7
3.5 查看结果
图3-8
二开案例.WEBAPI.使用WEBAPI获取单据信息
本文2024-09-23 03:26:30发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-158880.html