功能介绍
高级查询构造器支持主子表联合查询,查询出更精确的数据。
要使用高级查询构造器需要完成以下步骤:
1. 在高级查询管理配置主子表信息。
2. 配置完后在JSP页面DataGrid标签上添加complexSuperQuery属性,值填写在高级查询管理配置的查询规则编码。
3. 需要在后台DataGrid查询方法里面添加SQL语句。
4. 配置后可在页面上看到“高级查询构造器”按钮,点击使用。
配置高级查询构造器
打开“高级查询管理”菜单,点击“录入”按钮弹出如下框
查询规则编码为页面上要输入的编码,根据此编码查询对应的数据。查询类型选择“主子表”。在下方“表集合”处,第一行默认为主表信息,点击“添加”增加子表信息,必须输入外键字段。
在“字段配置”中,表名则为“表集合”里填写的主子表信息,选择表在后面输入数据库中存储的字段名,“字段文本”为查询时页面上显示的字段名,字段类型、控件类型根据当前字段类型选择。
下拉框:查询数据字典,请在“字典Code”中输入数据字典的CODE。
弹出框:查询Online报表配置,依次在后面三个文本框中输入对应的值。“字典Table”为报表配置中填写的编码,“字典Code”为页面上要展示的字段,高级查询构造器默认做了显示,可不填。“字典Text”为要查询的字段名。
日期、时间:页面上会自动出现选择时间的控件。
输入框:普通文本框。
配置JSP页面属性调用高级查询构造器
在对应页面的JSP上找到<t:datagrid>标签,在里面添加complexSuperQuery属性。其值为刚才在高级查询管理里配置的“查询规则编码”。
填写完后可在页面上看到“高级查询构造器”。
配置后台DataGrid查询方法
需要在对应页面的后台DataGrid查询方法处增加SQL语句,方法已经写好。编写如下代码:
String sql = SuperQueryUtil.getComplxSuperQuerySQL(request);
if(oConvertUtils.isNotEmpty(sql)) {
cq.add(Restrictions.sqlRestriction(" id in ("+sql+")"));
}
此段代码放入Try里面即可。
功能测试
在“高级查询管理”菜单里配置好后在后方会出现“体验”
点击可查看配置的主子表信息。
在要使用高级查询构造器的页面上实现2、3步骤则可使用,对配置页面的信息进行查询。
可点击右下角的“另存为查询方案”把查询规则保存在数据库,下次打开可直接点击右侧保存规则查询。