GtService.java 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526
  1. /*
  2. * Decompiled with CFR 0.152.
  3. *
  4. * Could not load the following classes:
  5. * cn.sinobest.framework.comm.Environment
  6. * cn.sinobest.framework.comm.exception.AppException
  7. * cn.sinobest.framework.comm.iface.IDAO
  8. * cn.sinobest.framework.comm.iface.IDTO
  9. * cn.sinobest.framework.security.SecurityDes
  10. * cn.sinobest.framework.service.tags.Glt
  11. * cn.sinobest.framework.service.tags.GltService
  12. * cn.sinobest.framework.service.tags.Gt
  13. * cn.sinobest.framework.service.tags.Gt$GtType
  14. * cn.sinobest.framework.service.tags.GtService$DictComparator
  15. * cn.sinobest.framework.util.ConfUtil
  16. * cn.sinobest.framework.util.Util
  17. * com.opensymphony.xwork2.util.ValueStack
  18. * org.apache.commons.lang3.StringUtils
  19. * org.apache.struts2.ServletActionContext
  20. * org.springframework.beans.BeanUtils
  21. * org.springframework.beans.factory.annotation.Autowired
  22. * org.springframework.stereotype.Service
  23. */
  24. package cn.sinobest.framework.service.tags;
  25. import cn.sinobest.framework.comm.Environment;
  26. import cn.sinobest.framework.comm.exception.AppException;
  27. import cn.sinobest.framework.comm.iface.IDAO;
  28. import cn.sinobest.framework.comm.iface.IDTO;
  29. import cn.sinobest.framework.security.SecurityDes;
  30. import cn.sinobest.framework.service.tags.Glt;
  31. import cn.sinobest.framework.service.tags.GltService;
  32. import cn.sinobest.framework.service.tags.Gt;
  33. import cn.sinobest.framework.service.tags.GtService;
  34. import cn.sinobest.framework.util.ConfUtil;
  35. import cn.sinobest.framework.util.Util;
  36. import com.opensymphony.xwork2.util.ValueStack;
  37. import java.lang.reflect.Array;
  38. import java.util.ArrayList;
  39. import java.util.Arrays;
  40. import java.util.Collection;
  41. import java.util.Collections;
  42. import java.util.HashMap;
  43. import java.util.LinkedHashMap;
  44. import java.util.List;
  45. import java.util.Map;
  46. import org.apache.commons.lang3.StringUtils;
  47. import org.apache.struts2.ServletActionContext;
  48. import org.springframework.beans.BeanUtils;
  49. import org.springframework.beans.factory.annotation.Autowired;
  50. import org.springframework.stereotype.Service;
  51. @Service
  52. public class GtService {
  53. @Autowired
  54. IDAO commDAO;
  55. @Autowired
  56. GltService gltService;
  57. private static final DictComparator DICTCOMPARATOR = new DictComparator();
  58. private static final String EMPTY_STR = " ";
  59. private static final String LABEL = "label";
  60. private static final String TYPE = "type";
  61. private static final String COLSPAN = "colspan";
  62. private static final String ROWSPAN = "rowspan";
  63. private static final String PNAME = "pname";
  64. private static final String DNAME = "dname";
  65. private static final String GT = "gt";
  66. public static List<String> parseHiddenStr(String source) {
  67. if (source == null || source.trim().length() == 0) {
  68. return null;
  69. }
  70. return Arrays.asList(source.split("\\|"));
  71. }
  72. private static Map<String, Object> extractLabel8Composite(Map<String, Object> source) {
  73. HashMap<String, Object> labelCompoment = new HashMap<String, Object>(source);
  74. labelCompoment.put(TYPE, Gt.GtType.LABEL);
  75. labelCompoment.remove(PNAME);
  76. int i_colspan = (Integer)source.get(COLSPAN);
  77. switch (i_colspan) {
  78. case 0: {
  79. break;
  80. }
  81. default: {
  82. labelCompoment.put(COLSPAN, 1);
  83. }
  84. }
  85. return labelCompoment;
  86. }
  87. public List<List<List<Map<String, Object>>>> parseRenderStr(String source) throws AppException {
  88. ArrayList<List<List<Map<String, Object>>>> row_list = null;
  89. if (source == null || source.trim().length() == 0) {
  90. return null;
  91. }
  92. String nnVld = ConfUtil.getSysParam((String)"VLD_NN_STYLE", (String)"v1");
  93. source = source.replaceAll("\n", "");
  94. String[] rows = source.split("\\|\\|");
  95. row_list = new ArrayList<List<List<Map<String, Object>>>>(rows.length);
  96. int i = 0;
  97. while (i < rows.length) {
  98. String[] cols = rows[i].split("\\|");
  99. ArrayList column_list = new ArrayList(cols.length);
  100. ArrayList<Map<String, Object>> compoment_list = new ArrayList<Map<String, Object>>(1);
  101. int j = 0;
  102. while (j < cols.length) {
  103. Map<String, Object> labelCompoment;
  104. HashMap<String, Object> col_rst = new HashMap<String, Object>();
  105. String[] attrs = cols[j].split("\\*");
  106. int k = 0;
  107. while (k < attrs.length) {
  108. String attr = attrs[k];
  109. int pos = attr.indexOf(61);
  110. if (pos == -1) {
  111. throw new AppException("EFW0107", null, new Object[]{attr});
  112. }
  113. col_rst.put(attr.substring(0, pos).trim(), attr.substring(pos + 1).trim());
  114. ++k;
  115. }
  116. if (!col_rst.containsKey(TYPE)) {
  117. throw new AppException("EFW0108", null, new Object[]{cols[j]});
  118. }
  119. String type = col_rst.get(TYPE).toString();
  120. if ("05q".equals(type) && !col_rst.containsKey("initshow")) {
  121. col_rst.put("initshow", Environment.getDefaultGt05qShow());
  122. }
  123. if (type.length() > 2) {
  124. col_rst.put("subtype", type.substring(2));
  125. } else if (type.length() != 2) {
  126. throw new AppException("EFW0109", null, new Object[]{type});
  127. }
  128. Gt.GtType t = Gt.GtType.valueOfCode((String)type.substring(0, 2));
  129. col_rst.put(TYPE, t);
  130. t.evalExt(col_rst);
  131. if (Gt.GtType.NESTTABLE == t) {
  132. Gt nestGt = this.getGt((String)col_rst.get(GT), "");
  133. col_rst.put(GT, nestGt);
  134. }
  135. if (!col_rst.containsKey(ROWSPAN)) {
  136. col_rst.put(ROWSPAN, 1);
  137. } else {
  138. try {
  139. int i_rowspan = Integer.parseInt((String)col_rst.get(ROWSPAN));
  140. if (i_rowspan == 0) {
  141. throw new AppException("EFW0110", null, new Object[]{cols[j]});
  142. }
  143. col_rst.put(ROWSPAN, i_rowspan);
  144. }
  145. catch (NumberFormatException numberFormatException) {
  146. throw new AppException("EFW0111", null, new Object[]{cols[j]});
  147. }
  148. }
  149. if (!col_rst.containsKey(COLSPAN)) {
  150. col_rst.put(COLSPAN, 1);
  151. } else {
  152. try {
  153. int i_colspan = Integer.parseInt((String)col_rst.get(COLSPAN));
  154. if (i_colspan == 0 && j == 0) {
  155. throw new AppException("EFW0112", null, new Object[]{cols[j]});
  156. }
  157. col_rst.put(COLSPAN, i_colspan);
  158. }
  159. catch (NumberFormatException numberFormatException) {
  160. throw new AppException("EFW0113", null, new Object[]{cols[j]});
  161. }
  162. }
  163. String vld = (String)col_rst.get("vld");
  164. col_rst.put("nClass", "");
  165. if (!Util.isEmpty((String)vld)) {
  166. String[] vldStrs;
  167. if (vld.indexOf("nn") > -1) {
  168. if (nnVld.equals("v1")) {
  169. col_rst.put("nClass", "tdprompt_n");
  170. } else if (nnVld.equals("v2")) {
  171. col_rst.put("nClass", "tdprompt_n_v2");
  172. } else if (nnVld.equals("v3")) {
  173. col_rst.put("nClass", "tdprompt_n_v3");
  174. }
  175. }
  176. if (vld.indexOf("sn") > -1) {
  177. col_rst.put("nClass", "tdprompt_sn");
  178. }
  179. String[] name_validStrs = vld.split("=");
  180. String vldStr = vld;
  181. if (name_validStrs.length == 2) {
  182. vldStr = name_validStrs[1];
  183. }
  184. String[] stringArray = vldStrs = vldStr.split("\\+");
  185. int n = vldStrs.length;
  186. int n2 = 0;
  187. while (n2 < n) {
  188. String validateStr = stringArray[n2];
  189. if (validateStr.startsWith("l") && col_rst.get("maxlength") == null) {
  190. int pos1 = validateStr.indexOf("(");
  191. int pos2 = validateStr.indexOf("-");
  192. int pos3 = validateStr.indexOf(")");
  193. String bitL2 = "";
  194. bitL2 = pos2 != -1 ? validateStr.substring(pos2 + 1, pos3) : validateStr.substring(pos1 + 1, pos3);
  195. if (!Util.isEmpty((String)bitL2)) {
  196. col_rst.put("maxlength", bitL2);
  197. }
  198. }
  199. ++n2;
  200. }
  201. }
  202. if ((Integer)col_rst.get(COLSPAN) != 0) {
  203. if (t.isComposite() && col_rst.containsKey(LABEL)) {
  204. compoment_list = new ArrayList(1);
  205. labelCompoment = GtService.extractLabel8Composite(col_rst);
  206. compoment_list.add(labelCompoment);
  207. column_list.add(compoment_list);
  208. }
  209. compoment_list = new ArrayList(1);
  210. compoment_list.add(col_rst);
  211. column_list.add(compoment_list);
  212. } else {
  213. if (t.isComposite() && col_rst.containsKey(LABEL)) {
  214. labelCompoment = GtService.extractLabel8Composite(col_rst);
  215. compoment_list.add(labelCompoment);
  216. }
  217. compoment_list.add(col_rst);
  218. }
  219. ++j;
  220. }
  221. row_list.add(column_list);
  222. ++i;
  223. }
  224. return row_list;
  225. }
  226. private static int compomentColSpan(Map<String, Object> compoment) {
  227. return (Integer)compoment.get(COLSPAN);
  228. }
  229. private static int compomentRowSpan(Map<String, Object> compoment) {
  230. return (Integer)compoment.get(ROWSPAN);
  231. }
  232. public static void fillCollumn(Gt gt) {
  233. int rowIndex = 0;
  234. List renders = gt.getRenders();
  235. int[] colNums = new int[renders.size()];
  236. for (List row : renders) {
  237. for (List col : row) {
  238. int colSpan = GtService.compomentColSpan((Map)col.get(0));
  239. int rowSpan = GtService.compomentRowSpan((Map)col.get(0));
  240. if (rowSpan + rowIndex > colNums.length) {
  241. throw new AppException("EFW0114", null, new Object[]{rowSpan});
  242. }
  243. int tmpColNum = 0;
  244. while (tmpColNum < rowSpan) {
  245. int n = rowIndex + tmpColNum;
  246. colNums[n] = colNums[n] + colSpan;
  247. ++tmpColNum;
  248. }
  249. }
  250. ++rowIndex;
  251. }
  252. int maxColNum = 0;
  253. int[] nArray = colNums;
  254. int n = colNums.length;
  255. int col = 0;
  256. while (col < n) {
  257. int iColNum = nArray[col];
  258. maxColNum = Math.max(maxColNum, iColNum);
  259. ++col;
  260. }
  261. gt.setColNum(maxColNum);
  262. rowIndex = 0;
  263. while (rowIndex < colNums.length) {
  264. if (colNums[rowIndex] != maxColNum) {
  265. ArrayList empty_td_list = new ArrayList(1);
  266. HashMap<String, Object> empty_td = new HashMap<String, Object>();
  267. empty_td.put(LABEL, EMPTY_STR);
  268. empty_td.put(COLSPAN, maxColNum - colNums[rowIndex]);
  269. empty_td.put(TYPE, Gt.GtType.LABEL);
  270. empty_td.put(ROWSPAN, 1);
  271. empty_td_list.add(empty_td);
  272. ((List)renders.get(rowIndex)).add(empty_td_list);
  273. }
  274. ++rowIndex;
  275. }
  276. }
  277. public static String parseWhereCls(String whereCls, String query) {
  278. return whereCls.replace("?", query.replaceAll("'", "''"));
  279. }
  280. public Map<String, Object[]> prepareGlt(Gt gt, Map<String, String> whereClsMap, Map<String, Object> valueMap, Map<String, Object[]> gltMap) throws AppException {
  281. if (gltMap == null) {
  282. gltMap = new HashMap<String, Object[]>();
  283. }
  284. if (whereClsMap == null) {
  285. whereClsMap = Collections.EMPTY_MAP;
  286. }
  287. for (List row : gt.getRenders()) {
  288. for (List col : row) {
  289. for (Map comp : col) {
  290. Object tmp_code;
  291. String glt_id;
  292. if (Gt.GtType.NESTTABLE == comp.get(TYPE)) {
  293. gltMap.putAll(this.prepareGlt((Gt)comp.get(GT), whereClsMap, valueMap, gltMap));
  294. continue;
  295. }
  296. if (Gt.GtType.COMBOBOX != comp.get(TYPE) && Gt.GtType.INPUT != comp.get(TYPE) && Gt.GtType.TEXTAREA != comp.get(TYPE) || !"q".equals(comp.get("subtype")) || gltMap.containsKey(glt_id = (String)comp.get("glt"))) continue;
  297. Glt glt_conf = null;
  298. Object[] comp_glt = new Object[2];
  299. gltMap.put(glt_id, comp_glt);
  300. glt_conf = this.gltService.getGlt(glt_id, "");
  301. comp_glt[0] = glt_conf;
  302. if (valueMap.get(comp.get(PNAME)) == null || (tmp_code = valueMap.get(comp.get(PNAME))) == null) continue;
  303. String code = null;
  304. if (tmp_code.getClass().isArray()) {
  305. if (Array.getLength(tmp_code) == 0 || Array.get(tmp_code, 0) == null) continue;
  306. code = Array.get(tmp_code, 0).toString();
  307. } else {
  308. code = tmp_code.toString();
  309. }
  310. if ("u".equals(glt_conf.getType())) continue;
  311. String whereCls = (String)whereClsMap.get(glt_id);
  312. whereCls = whereCls == null ? "1=1" : GtService.parseWhereCls((String)whereClsMap.get(glt_id), code);
  313. List rows = this.gltService.getRowData(glt_conf, whereCls, whereClsMap, 1, 1);
  314. if (row == null || row.isEmpty()) continue;
  315. comp_glt[1] = rows.get(0);
  316. }
  317. }
  318. }
  319. return gltMap;
  320. }
  321. public Map<String, Map<String, Map<String, String>>> getDicts(Gt gt, Map<String, Object> datas, Map<String, String> whereClsMap, Map<String, Map<String, Map<String, String>>> dictsMap) throws AppException {
  322. if (dictsMap == null) {
  323. dictsMap = new HashMap<String, Map<String, Map<String, String>>>();
  324. }
  325. if (whereClsMap == null) {
  326. whereClsMap = Collections.EMPTY_MAP;
  327. }
  328. for (List row : gt.getRenders()) {
  329. for (List col : row) {
  330. for (Map comp : col) {
  331. String value;
  332. if (Gt.GtType.NESTTABLE == comp.get(TYPE)) {
  333. this.getDicts((Gt)comp.get(GT), datas, whereClsMap, dictsMap);
  334. continue;
  335. }
  336. if (!comp.containsKey(DNAME) || dictsMap.containsKey(value = (String)comp.get(DNAME))) continue;
  337. Map dictMap = null;
  338. if (value.startsWith("dyndict_")) {
  339. if (datas != null && datas.containsKey(value)) {
  340. dictMap = (Map)datas.get(value);
  341. }
  342. if (dictMap == null) {
  343. dictMap = ConfUtil.getDynDict((String)value, (String)((String)whereClsMap.get(value)), (String)gt.getDsId());
  344. }
  345. } else if (value.indexOf(64) == -1) {
  346. dictMap = ConfUtil.getDict((String)value);
  347. } else {
  348. String[] subs = value.split("\\@");
  349. dictMap = ConfUtil.getSubDict((String)subs[0], (String)subs[1]);
  350. }
  351. if (dictMap == null) continue;
  352. dictsMap.put(value, GtService.dictSort(dictMap));
  353. }
  354. }
  355. }
  356. return dictsMap;
  357. }
  358. public static Map<String, Map<String, String>> dictSort(Map<String, Map<String, String>> dictMap) {
  359. ArrayList<Map<String, String>> dictList = new ArrayList<Map<String, String>>(dictMap.values());
  360. Collections.sort(dictList, DICTCOMPARATOR);
  361. dictMap = new LinkedHashMap<String, Map<String, String>>();
  362. for (Map map : dictList) {
  363. dictMap.put((String)map.get("AAA102"), map);
  364. }
  365. return dictMap;
  366. }
  367. public Map<String, Object> getData(Gt gt, Map<String, Object> datas, ValueStack stack, Map<String, Object> defv) {
  368. Collection<String> pnames = GtService.requiredPnames4Value(gt, null);
  369. HashMap<String, Object> rst = new HashMap<String, Object>(pnames.size(), 1.0f);
  370. for (String key : pnames) {
  371. if (datas != null && datas.containsKey(key)) {
  372. rst.put(key, datas.get(key));
  373. continue;
  374. }
  375. Object tmp = null;
  376. if (stack != null) {
  377. tmp = stack.findValue("#parameters['" + key + "']");
  378. }
  379. if (tmp != null) {
  380. rst.put(key, tmp);
  381. continue;
  382. }
  383. if (defv == null) continue;
  384. rst.put(key, defv.get(key));
  385. }
  386. return rst;
  387. }
  388. public static Collection<String> requiredPnames4Value(Gt gt, Collection<String> collectedPnames) {
  389. if (collectedPnames == null) {
  390. collectedPnames = new ArrayList<String>();
  391. }
  392. if (gt.getHiddens() != null) {
  393. collectedPnames.addAll(gt.getHiddens());
  394. }
  395. for (List row : gt.getRenders()) {
  396. for (List col : row) {
  397. for (Map comp : col) {
  398. if (Gt.GtType.NESTTABLE == comp.get(TYPE)) {
  399. GtService.requiredPnames4Value((Gt)comp.get(GT), collectedPnames);
  400. continue;
  401. }
  402. if (!comp.containsKey(PNAME) || collectedPnames.contains(comp.get(PNAME))) continue;
  403. collectedPnames.add((String)comp.get(PNAME));
  404. if (Gt.GtType.COMBOBOX != comp.get(TYPE) || !"q".equals(comp.get("subtype"))) continue;
  405. collectedPnames.add("_DIC_" + (String)comp.get(PNAME));
  406. }
  407. }
  408. }
  409. return collectedPnames;
  410. }
  411. public Map<String, Object> getInitData(String renderExtend, String id, Map<String, Object> datas, Map<String, String> whereClsMap, Map<String, Map<String, Map<String, String>>> dictsMap, ValueStack stack, Map<String, Object> defv, String dsId) {
  412. Gt gtcache = this.getGt(id, dsId);
  413. Gt gt = new Gt();
  414. BeanUtils.copyProperties((Object)gtcache, (Object)gt);
  415. if (renderExtend != null && renderExtend.length() > 0) {
  416. gt.setRenders(this.parseRenderStr(renderExtend));
  417. }
  418. Map<String, Map<String, Map<String, String>>> dicts = this.getDicts(gt, datas, whereClsMap, dictsMap);
  419. Map<String, Object> data = this.getData(gt, datas, stack, defv);
  420. Map<String, Object[]> gtlMap = this.prepareGlt(gt, whereClsMap, data, null);
  421. HashMap<String, Object> args = new HashMap<String, Object>(3);
  422. args.put(GT, gt);
  423. args.put("dicts", dicts);
  424. args.put("data", data);
  425. args.put("gtlMap", gtlMap);
  426. args.put("actionType", gt.getActionType());
  427. args.put("actionID", gt.getActionID());
  428. return args;
  429. }
  430. public Gt getGt(String id, String dsId) throws AppException {
  431. if (ConfUtil.getGenTblConf((String)id) != null) {
  432. return (Gt)ConfUtil.getGenTblConf((String)id);
  433. }
  434. HashMap<String, String> paramsMap = new HashMap<String, String>();
  435. paramsMap.put("ID", id);
  436. Gt gt = new Gt();
  437. try {
  438. List rst = this.commDAO.select("FW_CONFIG.FW_GENTBL_CONF_Q", paramsMap);
  439. if (rst.isEmpty()) {
  440. throw new AppException("EFW0115", null, new Object[]{id});
  441. }
  442. Map gt_conf = (Map)rst.get(0);
  443. gt.setId((String)gt_conf.get("ID"));
  444. gt.setDescription((String)gt_conf.get("DESCRIPTION"));
  445. gt.setRenders(this.parseRenderStr((String)gt_conf.get("RENDERSTR")));
  446. gt.setHiddens(GtService.parseHiddenStr((String)gt_conf.get("HIDDENSTR")));
  447. gt.setBae001((String)gt_conf.get("BAE001"));
  448. gt.setBae002((String)gt_conf.get("BAE002"));
  449. gt.setBae003((String)gt_conf.get("BAE003"));
  450. gt.setActionID((String)gt_conf.get("ACTIONID"));
  451. gt.setActionType((String)gt_conf.get("ACTIONTYPE"));
  452. if (StringUtils.isNotBlank((CharSequence)dsId)) {
  453. gt.setDsId(dsId);
  454. }
  455. }
  456. catch (AppException e) {
  457. throw e;
  458. }
  459. catch (Exception exception) {
  460. throw new AppException("EFW0116", null, new Object[]{id});
  461. }
  462. GtService.fillCollumn(gt);
  463. ConfUtil.setGenTblConf((String)id, (Object)gt);
  464. return gt;
  465. }
  466. public boolean isSysPermitArchive() {
  467. String permitArchive = ConfUtil.getSysParamOnly((String)"permitArchive", (String)"");
  468. return permitArchive.equals("") || permitArchive.equalsIgnoreCase("true");
  469. }
  470. public String getArchiveUrl() {
  471. return ConfUtil.getParam((String)"ARCHIVEURL", (String)"");
  472. }
  473. public boolean getHasArchive(String id) {
  474. Map dict = null;
  475. try {
  476. dict = ConfUtil.getDictKeyItemCode((String)"GT_ARCHIVE");
  477. }
  478. catch (Exception exception) {
  479. dict = null;
  480. return false;
  481. }
  482. return dict != null && dict.get(id) != null;
  483. }
  484. public List<Map<String, String>> getFwQuerySql(IDTO dto) {
  485. String whereCls = (String)dto.getValue("WHERECLS");
  486. String id = (String)dto.getValue("ID");
  487. if (Environment.isEncryptWhere().booleanValue()) {
  488. String wherekey = (String)ServletActionContext.getRequest().getSession(true).getAttribute("whereCls_key");
  489. if (Util.isEmpty((String)wherekey)) {
  490. throw new AppException("\u65e0\u6cd5\u83b7\u53d6where\u6761\u4ef6\u52a0\u5bc6\u5bc6\u94a5");
  491. }
  492. try {
  493. SecurityDes de = new SecurityDes();
  494. whereCls = de.des(wherekey, de.HexTostring(whereCls), false);
  495. Util.validateQueryStringSafty((String)whereCls);
  496. de = null;
  497. }
  498. catch (Exception e) {
  499. throw new AppException("\u89e3\u5bc6where\u6761\u4ef6\u51fa\u9519", e.getLocalizedMessage());
  500. }
  501. }
  502. String dsId = ((String)Util.nvl((Object)dto.getValue("DSID"), (String)"ds")).toLowerCase();
  503. List list = ConfUtil.getQuerySQLResult((String)id, (String)whereCls, (String)dsId);
  504. return list;
  505. }
  506. }