金蝶BOS,服务端执行SQL语句参考

执行SQL语句需要在服务端(app目录下,*ControllerBean)进行,常用的工具类为:com.kingdee.eas.util.app.DbUtil。

通常情况下,EntityViewInfo无法实现的复杂查询,才建议使用SQL去查询。


/**
 * 获取该方案对应的组织范围
 * 返回EAS系统组织单元编码(含合并单元编码);同时,初始化组织映射缓存
 * @param ctx 上下文
 * @param rptSchemeId 上报方案主键
 * 
 */
private List<String> getOrgsNumbers(Context ctx, String rptSchemeId) throws BOSException {
	
	List<String> data = new ArrayList<String>();
	StringBuffer sql = new StringBuffer();
	sql.append("select distinct oum.FNumber orgNumber, oum.FMapNumber mapNumber").append("\n");
	sql.append("from T_RPS_RptSchemeOrg orgs").append("\n");
	sql.append("inner join T_RPS_RptScheme sch on orgs.FParentID = sch.FID").append("\n");
	sql.append("inner join T_RPS_OUMapping oum on orgs.FOrgUnitID = oum.FID").append("\n");
	sql.append("where orgs.FIsSelected = 1 and sch.FID = ?").append("\n");
	Object[] params = Utils.params(rptSchemeId);
	IRowSet rs = DbUtil.executeQuery(ctx, sql.toString(), params);
	try {
		while(rs.next()){
			String orgNumber = rs.getString("orgNumber"); //组织编码
			String mapNumber = rs.getString("mapNumber"); //映射编码
			this.mapping.put(orgNumber, mapNumber);
			data.add(orgNumber);
		}
	} catch (SQLException e) {
		throw new BOSException(e);
	}
	
	return data;
	
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值