闲来无事,准备实现早就想好了的一套自定义报表工具,先做自定义数据查询部分,这部分在以前工作中曾做过类似的,但由于其他原因,采用的一直不是我理想中的运作方式,现在用我想要的方式重新写了一个,规划中的输入接口代码如下,后台只接受RequestInfo信息,这个信息里包含了请求的结果和条件。
输出接口代码如下:
已完成的功能界面
拖拽条件和结果操作界面:
[img]http://www.resgain.com/images/fquery1.jpg[/img]
查询结果界面
[img]http://www.resgain.com/images/fquery2.jpg[/img]
已完成了大约1/3部分,后面接着要完成报表生成部分,准备采用excel做报表设计器,等完成再继续吧
public class RequestInfo
{
private long cateId; //查询类别
private String logic;// 逻辑关系式
private List<RequestCondition> condList; //请求条件集合
private List<RequestResult> resultList; //请求要返回的结果集合
private int page; //第几页数据
private int pageRows; //每页记录数
.......
}
public class RequestResult
{
private long fieldId; //结果字段ID
private int type; //类型:排序、聚集计算等
......
}
public class RequestCondition implements IOperate
{
private long id; //条件ID
private long fieldId; //字段ID
private int type; //字段类型 0--字符串 1--数字 2--日期
private int op; //操作符号
private String value; //条件值
private int group; //条件分组
......
}
输出接口代码如下:
public class ResultList
{
private int currPage; //当前页
private int pageRows; //每页记录数
private int allRows; //查询到的总记录数
private int maxPage; //最大页
private Map<String, String> titleList; //表头
private List<Map<String, String>> dataList; //数据
......
}
已完成的功能界面
拖拽条件和结果操作界面:
[img]http://www.resgain.com/images/fquery1.jpg[/img]
查询结果界面
[img]http://www.resgain.com/images/fquery2.jpg[/img]
已完成了大约1/3部分,后面接着要完成报表生成部分,准备采用excel做报表设计器,等完成再继续吧