场景示例- 通用查询预处理-报表展现标签与API
目录

场景示例

示例1:动态增加通用查询属性

调用通用查询时,预先对通用查询中定义的下拉树增加新属性。

示例代码:

//修改通用查询的json配置,为下拉树增加newValue属性,并设置newValue=0

public class DemoCQConfigProcessor extends CQConfigProcessor

{

  public String process(String config)

  {

    JSONObject jsonObj = null;

    try {

      jsonObj = new JSONObject(config);

      JSONArray jsonArray = jsonObj.getJSONArray("groups");

      for (int i = 0; i < jsonArray.length(); i++) {

        JSONObject group = jsonArray.getJSONObject(i);

        JSONArray jfilters = group.getJSONArray("filters");

        for (int j = 0; j < jfilters.length(); j++) {

          JSONObject jfilter = jfilters.getJSONObject(j);

          if (jfilter.getString("editorConfig").indexOf("DropDownTreeConfig") != -1) {

            String configArg = jfilter.getString("editorConfigArg").replaceAll("\"", "'");

            JSONObject editorConfigArg = new JSONObject(configArg);

            if (!editorConfigArg.has("newValue")) {

              editorConfigArg.put("newValue", "0");

              jfilter.remove("editorConfigArg");

              jfilter.put("editorConfigArg", editorConfigArg.toString());

            }

          }

        }

      }

    }

    catch (JSONException e) {

      e.printStackTrace();

    }

    return jsonObj.toString();

  }

}

 

参考DEMO

可将以下url地址中的ip、port端口号更改为应用实际部署的地址和端口后,进行访问查看对应demo。

http://ip:port/reportmis /mis2/commonQuery/demo/demo_processor.jsp