您的位置:首页 > 数据库

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

2017-06-02 12:11 405 查看
执行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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息