报表返回dataset,插件怎么直接获取下拉列表的标题,而不需要重复配置?原创
2人赞赏了该文章
1,668次浏览
编辑于2021年04月12日 10:49:19
如何代码获取下拉列表标题?
https://vip.kingdee.com/link/s/MUjuW
/** * 创建列case when语句 * * @param field 列标识 * @param map 下拉列表 * @return 组合好的case when语句 */ public static String genCaseWhen(String field, Map<String, Object> map) { StringBuilder str = new StringBuilder(); str.append("(Case ").append(field); for (String key : map.keySet()) { LocaleString localeString = (LocaleString)map.get(key); str.append(" when '").append(key).append("' then '").append(localeString.getLocaleValue()).append("'"); } str.append(" end) "); return str.toString(); }
使用的时候,直接在查询中使用此方法
// 首先获取下拉值集 final Map<String, Object> natureValueMap = DownListUtils.getDownListFromEntry(EntityConstants.PROPERTY_RIGHTS, "digi_property_lines", "digi_right_nature"); // 处理case when语句 String[] firstDsSelect = new String[]{ DatasetUtils.genCaseWhen("digi_right_type", typeValueMap) + "as digi_right_type", DatasetUtils.genCaseWhen("digi_right_nature", natureValueMap) + "as digi_right_nature", "digi_registration_purp", "digi_uom", "digi_area", "digi_property_date"};
在这上面 我同事还有一个思路 是去构建下拉列表的dataset 然后做leftjoin操作 这个就看取舍了
Algo.create("DownListUtils.createDataSet").createDataSet
赞 2
2人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读