通过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; } println("缓存数据=========》"); var cacheData = getDataFromRedis(getDomainid()+"--"+departmentID+"--"+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+ "'"); } } //赋值用户id var userid =getWebUser().getId();//默认用户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 + ""] + "'"); } } } //处理addDataPermissionFilterConditionByFieldName函数,由字符串转函数调用 var f_index; while((f_index = item_dataScript.indexOf("addDataPermissionFilterConditionByFieldName")) != -1){ var startIndex = item_dataScript.indexOf("(",f_index); var endIndex = item_dataScript.indexOf(")",startIndex); var replaceStr = item_dataScript.substring(f_index,endIndex+1); var f_parameters = replaceStr.substring(startIndex-f_index+1,endIndex-f_index).replace(/'/g,"").split(","); if(f_parameters.length == 2){ item_dataScript = item_dataScript.replace(replaceStr,addDataPermissionFilterConditionByFieldName(f_parameters[0],f_parameters[1])); }else if(f_parameters.length == 3){ item_dataScript = item_dataScript.replace(replaceStr,addDataPermissionFilterConditionByFieldName(f_parameters[0],f_parameters[1],f_parameters[2])); } } //执行查询 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("设置缓存 ============>" + result); setDataToRedis(getDomainid()+"--"+departmentID+"--"+docid,result,60); return result; }catch(e){ println("异常: 执行通过id获取数据-0605=========》"+e); } })()]]>