通过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;
})()]]>