通过id获取数据 __ekbsagrjF60f5gJnBQQ __ekbsagrjF60f5gJnBQQ published __jLHEtB6BFlMJFn00kUn UTF-8 post /getdataboardbyid json " + context); var docid = obj["id"]; if (!isNotNull(docid)) { var result = new Packages.java.util.HashMap(); //创建指定类对象 result.put("code", "-1"); result.put("msg", "必须传参数"); return result; } var userid =getWebUser().getId();//默认用户id println("userId=========》" + userid); var cacheData = getDataFromRedis(userid + docid ); println("缓存的数据=========》:"+cacheData); if(cacheData != null && cacheData != '') { return cacheData; } //数据仓数据看板 var sql3 = "SELECT * from tlk_data_board_v3_config where id = '" + docid + "'"; var datas1 = queryByDSName("organizationAuth", sql3); var datas1 = jsonUtils.collection2Json(datas1); var datas1Sjon = JSON.parse(datas1); println("datas1 ==================>" + datas1); for (var i = 0; i < datas1Sjon.length; i++) { println("执行" + i + "次"); println("datas1Sjon.length" + datas1Sjon.length); var item_title = datas1Sjon[i].item_title; var item_dataSource = datas1Sjon[i].item_datasource; var item_dataScript = datas1Sjon[i].item_datascript; var item_showRule = datas1Sjon[i].item_showrule; println("item_dataSource ==================>" + item_dataSource); println("item_dataScript ==================>" + item_dataScript); while (item_dataScript.indexOf('(') != -1 || item_dataScript.indexOf(')') != -1) { item_dataScript = item_dataScript.replace('(', '('); item_dataScript = item_dataScript.replace(')', ')'); } //替换条件 if (item_dataScript.indexOf('#') != -1 || item_showRule.indexOf('#') != -1) { //获取当前组织 var sqlDomainData = "select * from tenant_organizations where id ='" + getDomainid() + "'"; println("sqlDomainData ========================== " + sqlDomainData); var datasDomain = queryByDSName("obpm2", sqlDomainData); var datasDomainStr = jsonUtils.collection2Json(datasDomain); var datasDomainJSON = JSON.parse(datasDomainStr); //赋值部门id(监管机构) var dptid =getWebUser().getDefaultDepartment();//默认部门id while (item_dataScript.indexOf("#{dptid}") != -1) { if (item_dataScript.indexOf("%#{dptid}%") != -1) { item_dataScript = item_dataScript.replace("#{dptid}",dptid); } else { item_dataScript = item_dataScript.replace("#{dptid}", "'" + dptid+ "'"); } } if (item_dataScript.indexOf("#{departments}") != -1){ var subordinateRegulatorIds="('"+dptid+"'"; dptid=dptid.replace("_","\\_"); var regulatorSql = "SELECT '" + getDomainid() + "' AS domainid,id,id as item_id,ITEM_CODE FROM " + " tlk_departmentlevel WHERE ITEM_INDEXCODE like '%" + dptid + "\\_\\_\\_%';"; println("获取下级监管机构SQL ===>" + regulatorSql); var datas = queryByDSName("organizationAuth", regulatorSql); if (isNotNull(datas)&&datas!="[]") { for(var iterator = datas.iterator();iterator.hasNext();){ var map1 = iterator.next();//取值 var code= map1.get("ITEM_CODE"); subordinateRegulatorIds+=",'"+code+"'"; } } subordinateRegulatorIds+=")"; println("获取"+dptid+"下级监管机构,结果:"+subordinateRegulatorIds); item_dataScript = item_dataScript.replace(new RegExp("#{departments}", "g"),subordinateRegulatorIds); } //赋值用户id while (item_dataScript.indexOf("#{userid}") != -1) { if (item_dataScript.indexOf("%#{userid}%") != -1) { item_dataScript = item_dataScript.replace("#{userid}",userid); } else { item_dataScript = item_dataScript.replace("#{userid}", "'" + userid+ "'"); } } for (var k in datasDomainJSON[0]) { var regs = "#{" + k + "}" while (item_dataScript.indexOf(regs) != -1) { item_dataScript = item_dataScript.replace("#{" + k + "}", "'" + datasDomainJSON[0]["" + k + ""] + "'"); } while (item_showRule.indexOf(regs) != -1) { item_showRule = item_showRule.replace("#{" + k + "}", "'" + datasDomainJSON[0]["" + k + ""] + "'"); } } } //执行查询 var flag; var sc = item_showRule; var R = queryByDSName(item_dataSource, item_dataScript); //是否显示 datas1Sjon[i].item_datascript = ""; datas1Sjon[i].item_datasource = ""; flag = eval("" + sc + ""); var datamap = new Packages.java.util.HashMap(); //添加数据标题 datamap.put("title", item_title); //添加数据 datamap.put("data", R); datamap.put("isshow", flag); datamap.put("doc",jsonUtils.toMap(JSON.stringify(datas1Sjon[i]))); //添加结果到数组中 result.put('code', 0) result.put('data', datamap) println("item_dataScript" + "=======================sbsbsbsbsbsbbssbbsbssb>" + item_dataScript); println("执行" + i + "次"); } /* println("res ==================>" + res); var res = JSON.stringify(res); var res = jsonUtils.toCollection(res); */ println("设置缓存 ============>" + result); setDataToRedis(userid + docid ,result,300); return result; })()]]>