闲来无事,准备实现早就想好了的一套自定义报表工具,先做自定义数据查询部分,这部分在以前工作中曾做过类似的,但由于其他原因,采用的一直不是我理想中的运作方式,现在用我想要的方式重新写了一个,规划中的输入接口代码如下,后台只接受RequestInfo信息,这个信息里包含了请求的结果和条件。
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; //数据
......
}
已完成的功能界面
拖拽条件和结果操作界面:
查询结果界面
已完成了大约1/3部分,后面接着要完成报表生成部分,准备采用excel做报表设计器,等完成再继续吧
分享到:
相关推荐
Vue自定义v-has指令实现按钮权限判断 以后台管理系统为例,每个用户所拥有的按钮权限不一样。管理员配置权限之后,用户登录时,从接口拿到按钮权限列表,然后根据后台数据判断显示哪些按钮。 简单说一下,自定义...
winform 自定义日期控件-DHR.rarwinform 自定义日期控件-DHR.rarwinform 自定义日期控件-DHR.rar
直接解压到自己的项目中即可,需要注意图片路径,在页面中使用this.selectComponent("#loading").show(); this.selectComponent("#loading").hide(); 控制显示隐藏
1、安装mysql3.7,创建一个test数据库,创建student表,创建列:(列名看代码),创建几条数据 (以上工作直接用navicat for mysql工具完成) 二、代码: import sys import tkinter as tk import mysql.connector ...
一个简单的拥有丰富自定义内容的CheckBox多选框集成Gradlecompile 'com.bigmercu.cBox:cbox:1.08'Mavenallprojects { repositories { jcenter() maven { url '...
linux实用脚本show-busy-java-threads、show-duplicate-java-classes、find-in-jars
自定义页面控制器、接口、js、css、模板、放置目录及书写规则
打开设计器之后, 安装后打开报表设计器,选择配置-数据源-新建-关系数据库,开始配置数据源,笔者用的是mysql,以mysql举例: 其中关键位置如下: 数据源名称要记住,因为在部署的时候,配置数据库时名字要和这保持...
上传到 linux线上服务器,执行 chmod -R 777 show-busy-java-threads 执行权限。 ./show-busy-java-threads 查看执行占用cpu偏高的 线程,方便我们排查定位。
<!-- <nav-bar bgColor="#4f8fef" fontColor="#fff" title="地图" :titleCenter='true'></nav-bar> <free-scroll-main :scrollView='false' :showTabber="false" ... :show-location='true' :circles
前端项目-bootstrap-show-password,显示/隐藏Twitter引导程序的密码插件。
一、 Delay延时函数 1、 DelayUs2x------------------------ uS延时函数 2、 DelayMs-------------------------- mS延时函数 二、 Timer定时器初始化函数 ...7、SdReadBlock ----------从SD卡指定地址读取数据节
show-password-toggle.git 使用 npm install bootstrap-show-password-toggle 使用安装yarn add bootstrap-show-password-toggle用法在 CSS 中包含show-password-toggle.css 将输入的密码包装在input-group div 中,...
LCD43-show-V2 LCD101-1024x600-show LCD4-800x480-show LCD154-show LCD4C-show LCD28-show LCD4-show LCD32C-show LCD5-show LCD32-show LCD7-1024x600-show LCD35B-show LCD7-800x480-...
D-Show-金属风格for Discuz!2.0
weex v-show 用于支持 weex 环境内的 v-show 指令 支持环境 普通 weex 项目 uni-app 项目 nvue 页面 使用方式 NPM npm i weex-v-show --save import vShow from 'weex-v-show' // #ifdef APP-NVUE Vue.directive('...
java线程定位脚本
show-me-the-code-master_2 Python 练习册,每天一个小程序
vue如何简单的实现弹框,遮罩,点击其他区域关闭弹框, 简单的思路是以一个div作为遮罩, 控制其的v-if(v-show)即可, 掌握到技巧既可以任意扩展。 v-if 是直接删除dom节点, 就是这个div就不存在了 v-show 是控制dom的...