根据id获取数据看板数据
__ekbsagrjF60f5gJnBQQ
__ekbsagrjF60f5gJnBQQ
published
__jLHEtB6BFlMJFn00kUn
UTF-8
post
/getdataboardforid
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 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("datas1Sjon[i] ===================== >" + datas1Sjon[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;
var item_resutltype = datas1Sjon[i].item_resulttype;
println("item_resutltype =========>" + item_resutltype);
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);
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 + ""] + "'");
}
}
for (var k in obj) {
var regs = "#{" + k + "}";
println("regs ========>" + regs);
while (item_dataScript.indexOf(regs) != -1) {
if (item_dataScript.indexOf("%" + regs + "%") != -1) {
item_dataScript = item_dataScript.replace("#{" + k + "}", "" + obj["" + k + ""] + "");
} else {
item_dataScript = item_dataScript.replace("#{" + k + "}", "'" + obj["" + k + ""] + "'");
}
}
while (item_showRule.indexOf(regs) != -1) {
item_showRule = item_showRule.replace("#{" + k + "}", "'" + obj["" + k + ""] + "'");
}
}
}
println("item_showrule ===========>" + item_showRule);
//执行查询
var flag;
var sc = item_showRule;
println("脚本更新了 ==========>" + item_dataSource);
println("脚本更新了item_dataScript ==========>" + item_dataScript);
var R = queryByDSName(item_dataSource, item_dataScript);
var RJSON = JSON.parse(jsonUtils.collection2Json(R));
println("RJSON =====================>" + RJSON);
var RJSONresult = new Packages.java.util.ArrayList(); //创建指定类对象
var tempList = new Packages.java.util.ArrayList();
for (var p = 0; p < RJSON.length; p++) {
if (item_resutltype == 1) {
for (var l in RJSON[p]) {
var tempres = new Packages.java.util.HashMap(); //创建指定类对象
tempres.put("name", l);
tempres.put("value", RJSON[p][l]);
RJSONresult.add(tempres);
}
}
if (item_resutltype == 2) {
println("展示类型为2 ================》")
var key2 = '';
var value2 = '';
var m = 0;
println("RJSON[p] ==================>" + RJSON[p]);
for (var l in RJSON[p]) {
var tempres = new Packages.java.util.HashMap(); //创建指定类对象
println("l ======>" + l);
if (!isNaN(RJSON[p][l])) {
value2 = RJSON[p][l]
} else {
key2 = RJSON[p][l];
}
}
println("展示类型为2 key2================》" + key2)
println("展示类型为2 value2================》" + value2)
tempres.put("name", key2);
tempres.put("value", value2);
RJSONresult.add(tempres);
}
if (item_resutltype == 3) {
var temp1 = new Packages.java.util.ArrayList();
for (var l in RJSON[p]) {
var tempres = new Packages.java.util.HashMap(); //创建指定类对象
tempres.put("name", l);
tempres.put("value", RJSON[p][l]);
temp1.add(tempres)
}
RJSONresult.add(temp1);
}
//RJSONresult.add(tempList);
println("RJSONresult =====================>" + RJSONresult)
//是否显示
//datas1Sjon[i].item_datascript = "";
//datas1Sjon[i].item_datasource = "";
flag = eval("" + sc + "");
println("R ==================>" + R);
println("是否显示 ==========>" + flag);
var datamap = new Packages.java.util.HashMap();
//添加数据标题
datamap.put("title", item_title);
//添加数据
datamap.put("data", RJSONresult);
datamap.put("isshow", flag);
println("JSON.stringify(datas1Sjon[i])) ==============>" + JSON.stringify(datas1Sjon[i]));
datamap.put("doc", jsonUtils.toMap(JSON.stringify(datas1Sjon[i])));
//添加结果到数组中
result.put('code', 0)
result.put('data', datamap)
println("执行" + i + "次");
}
}
return result;
})()]]>