Java调用NC查询引擎 - 用友NC系统
引言
在企业信息管理中,用友NC系统是一个非常流行的企业级应用软件。使用Java编写的应用程序需要与NC系统进行交互,一种常见的需求是通过Java代码调用NC系统的查询引擎来获取企业信息。本文将介绍如何使用Java代码调用NC查询引擎,并以代码示例的形式进行说明。
NC查询引擎简介
NC查询引擎是用友NC系统的一个重要组成部分,它提供了强大的查询功能,可以方便地从NC系统中获取企业数据。使用NC查询引擎,可以实现复杂的查询操作,包括条件过滤、排序、分页等功能。通过调用NC查询引擎,我们可以将NC系统中的数据集成到自己的应用程序中,实现更灵活的数据处理和分析。
Java调用NC查询引擎的步骤
要在Java中调用NC查询引擎,需要经过以下几个步骤:
- 创建查询引擎实例
- 设置查询条件
- 执行查询操作
- 处理查询结果
下面我们将详细介绍每个步骤,并给出相应的代码示例。
创建查询引擎实例
要创建查询引擎实例,需要使用NC系统提供的API。首先,我们需要导入相关的Java类库:
import nc.vo.pub.lang.UFBoolean;
import nc.vo.pub.lang.UFDate;
import nc.vo.pub.lang.UFDateTime;
import nc.vo.pub.lang.UFDouble;
import nc.vo.pub.lang.UFLiteralDate;
import nc.vo.pub.lang.UFLiteralDateTime;
import nc.vo.pub.lang.UFLiteralTime;
import nc.vo.pub.lang.UFTime;
import nc.vo.pub.lang.UFTimeSpan;
import nc.vo.pub.lang.UFUFDouble;
import nc.vo.pub.lang.UFUserObject;
import nc.vo.query.framework.IQueryParameter;
import nc.vo.query.framework.IQueryScheme;
import nc.vo.query.framework.exception.VOQueryException;
import nc.vo.query.framework.ncplugin.DataObject;
import nc.vo.query.framework.ncplugin.Entity;
import nc.vo.query.framework.ncplugin.QueryEngine;
import nc.vo.query.framework.ncplugin.QueryResult;
然后,我们可以使用以下代码创建查询引擎实例:
QueryEngine queryEngine = new QueryEngine();
设置查询条件
在执行查询操作之前,我们需要设置查询条件。查询条件可以包括字段过滤条件、排序规则、分页参数等。
首先,我们需要创建一个查询参数实例,并设置查询条件。以下代码示例演示了如何设置一个简单的字段过滤条件:
IQueryParameter[] params = new IQueryParameter[1];
params[0] = new DataObject("字段名", "条件值");
如果需要设置多个字段过滤条件,可以创建多个DataObject实例,并将它们添加到查询参数数组中。
接下来,我们可以创建一个查询方案实例,并将查询参数设置到查询方案中:
IQueryScheme queryScheme = new IQueryScheme();
queryScheme.setParameters(params);
执行查询操作
设置查询条件之后,我们可以执行查询操作。以下是调用查询引擎的示例代码:
QueryResult queryResult = queryEngine.executeQuery("查询编码", queryScheme);
其中,"查询编码"对应NC系统中的一个查询定义,可以在NC系统中进行配置。
处理查询结果
查询操作完成之后,可以通过QueryResult对象获取查询结果。以下是一个示例代码,演示如何遍历查询结果并获取字段值:
Entity[] entities = queryResult.getEntities();
for (Entity entity : entities) {
Object value = entity.get("字段名");
// 处理字段值...
}
这里,我们使用Entity对象的get方法来获取字段值,其中"字段名"是要获取的字段名称。
示例应用场景
假设我们需要从NC系统中查询销售订单的数据,并在应用程序中进行统计分析。我们可以通过调用NC查询引擎来实现这个需求。
首先,我们可以定义一个查询方案,设置查询条件和排序规则:
IQueryScheme queryScheme = new IQueryScheme();
// 设置查询条件
IQueryParameter[] params = new IQueryParameter[1];
params[0] = new DataObject("订单类型", "销
















