|
@@ -169,7 +169,19 @@ public class FormulaController {
|
|
|
}
|
|
|
List<Map<String,Object>> listMap = this.jdbcTemplate.queryForList(sb.toString());
|
|
|
if(Func.isNotEmpty(listMap)){
|
|
|
- return R.data(BeanUtil.toBean(listMap.get(0),FormulaBean.class));
|
|
|
+ Map<String,Object> map =listMap.get(0);
|
|
|
+ String rely = StringUtils.handleNull(map.get("rely"));
|
|
|
+ FormulaBean fb=BeanUtil.toBean(map,FormulaBean.class);
|
|
|
+ if(StringUtils.isNotEmpty(rely)){
|
|
|
+ String[] relyArr = rely.split(StringPool.COMMA);
|
|
|
+ List<Map<String,Object>> mapList =this.jdbcTemplate.queryForList("select CONCAT(a.tab_en_name,':',b.e_key) ekey,a.tab_ch_name tableName,b.e_name ename ,b.e_length elength,c.dict_value type from m_table_info a JOIN m_wbs_form_element b on a.id=b.f_id LEFT JOIN (select dict_key, dict_value from blade_dict where code ='data_type' and parent_id > 0 and is_sealed = 0 and is_deleted = 0 )c on b.e_type=c.dict_key" +
|
|
|
+ " where a.tab_en_name in( "+ Arrays.stream(relyArr).map(e->e.split(StringPool.COLON)[0]).distinct().collect(Collectors.joining(StringPool.COMMA,"'","'"))+")");
|
|
|
+ if(ListUtils.isNotEmpty(mapList)){
|
|
|
+ fb.setDict(mapList.stream().filter(e-> Arrays.stream(relyArr).anyMatch(c->StringUtils.isEquals(e.get("ekey"),c))).collect(Collectors.toMap(e->StringUtils.handleNull(e.get("ekey")), e->e)));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ return R.data(fb);
|
|
|
}
|
|
|
|
|
|
}
|