当前位置:网站首页>JeeSite新建报表
JeeSite新建报表
2022-08-05 03:42:00 【victor-gx】
JeeSite新建报表
一、新建报表
在jeesite
数据库新建报表report_ over_under_data
CREATE TABLE report_ over_under_data(
id VARCHAR(64) NOT NULL COMMENT '主键' ,
stat_month VARCHAR(10) COMMENT '日期' ,
report_number VARCHAR(10) COMMENT '报表' ,
remarks TEXT COMMENT '备注说明' ,
status VARCHAR(32) NOT NULL COMMENT '状态' ,
create_by VARCHAR(32) COMMENT '创建人' ,
create_date DATETIME COMMENT '创建时间' ,
update_by VARCHAR(32) COMMENT '更新人' ,
update_date DATETIME COMMENT '更新时间' ,
PRIMARY KEY (id)
) COMMENT = ' ';
二、生成代码
启动jeesite项目,登录超级管理员用户,系统管理 ——> 研发工具 ——> 代码生成工具
点击右上角新增,选择刚才新建的报表report_ over_under_data
,后点击下一步
在表中输入如下内容,点击保存并生成代码
此时在IDEA中,进入如下目录 web -> src -> main -> java -> com -> jeesite -> modules
,modules下会多一个report的文件夹,这个文件夹下存放的是java类,再进入 web -> src -> main -> resources -> mappings -> modules
,modules下同样会多一个report的文件夹,这个文件夹下存放的是xml文件,再进入 web -> src -> main -> resources -> views-> modules
,modules下同样会多一个report的文件夹,这个文件夹下存放的是html文件。
三、添加菜单选项
登录超级管理员用户,系统管理 -> 系统设置 -> 菜单管理
点击右上角新增,输入入下内容
链接内容,在新建的report文件下的web文件夹中的ReportOverUnderDataController
类中
权限标识同样在该类中
菜单权重尽量选择默认权重或者二级管理员,如果选择系统管理员,那么二级管理员将不会获得改权限,同样选择超级管理员,系统管理员和二级管理员均不会获得权限。
设置好后点保存。
然后重启项目。再次登录超级管理员用户,就会看到我们刚刚新建的菜单
四、测试功能
增
选择数据报告后,点击右上角新增,输入相关内容后,点击保存
保存后会回到数据报告界面,此时我们数据添加成功
删
点击右边删除按钮,此时数据也会删除,但是我们回到数据库查看,数据并没有被删除
但是我们会发现此时的status的数值为1,但我们将status的数值改为0,回到浏览器刷新页面,数据又回来了。
因为在页面的删除并不是真正物理意义的删除,只是逻辑删除,这样有利与数据恢复。
status数值为0表示正常,status数值为1表示删除,status数值为2表示停用
物理删除:真实删除,将对应数据从数据库中删除,之后查询不到此条被删除的数据
逻辑删除:假删除,将对应数据中代表是否被删除字段的状态修改为“被删除状态”,之后在数据库中仍旧能看到此条数据记录
使用场景:可以进行数据恢复
改
点击右边绿色小笔按钮,更改数据后保存
查
我们在添加一组数据,点击右上角查询,输入我们要查询的内容,点击查询
我们再将test的status数值改为1,将test1的status数值改为2,再次查询test与test1
此时test1可查,test不可查。
正常、停用可查,删除不可查。
五、添加停用按钮
将reportOverUnderDataList.html
中第70-73行改为如下内容,
<% if(hasPermi('report:reportOverUnderData:edit')){ %>
actions.push('<a href="${ctx}/report/reportOverUnderData/form?id='+row.id+'" class="btnList" title="${text("编辑数据报表")}"><i class="fa fa-pencil"></i></a> ');
<% } %>
<% if(hasPermi('report:reportOverUnderData:edit')){ %>
if (row.status == Global.STATUS_NORMAL){
actions.push('<a href="${ctx}/report/reportOverUnderData/disable?id='+row.id+'" class="btnList" title="${text("停用数据报表")}" data-confirm="${text("确认要停用该报表吗?")}"><i class="glyphicon glyphicon-ban-circle"></i></a> ');
}else if (row.status == Global.STATUS_DISABLE || row.status == Global.STATUS_FREEZE || row.status == Global.STATUS_AUDIT){
actions.push('<a href="${ctx}/report/reportOverUnderData/enable?id='+row.id+'" class="btnList" title="${text("启用数据报表")}" data-confirm="${text("确认要启用该报表吗?")}"><i class="glyphicon glyphicon-ok-circle"></i></a> ');
}
<% } %>
<% if(hasPermi('report:reportOverUnderData:edit')){ %>
actions.push('<a href="${ctx}/report/reportOverUnderData/delete?id='+row.id+'" class="btnList" title="${text("删除数据报表")}" data-confirm="${text("确认要删除该数据报表吗?")}"><i class="fa fa-trash-o"></i></a> ');
<% } %>
在ReportOverUnderDataController.java
中添加如下代码
/** * 停用报表 */
@RequiresPermissions("report:reportOverUnderData:edit")
@RequestMapping(value = "disable")
@ResponseBody
public String disable(ReportOverUnderData reportOverUnderData, HttpServletRequest request, HttpServletResponse response, Model model) {
reportOverUnderData.setStatus(ReportOverUnderData.STATUS_DISABLE);
reportOverUnderDataService.updateStatus(reportOverUnderData);
return renderResult(Global.TRUE, text("停用报表''{0}''成功", reportOverUnderData.getReportNumber()));
}
/** * 启用报表 */
@RequiresPermissions("report:reportOverUnderData:edit")
@RequestMapping(value = "enable")
@ResponseBody
public String enable(ReportOverUnderData reportOverUnderData, HttpServletRequest request, HttpServletResponse response, Model model) {
reportOverUnderData.setStatus(ReportOverUnderData.STATUS_NORMAL);
reportOverUnderDataService.updateStatus(reportOverUnderData);
return renderResult(Global.TRUE, text("启用报表''{0}''成功", reportOverUnderData.getReportNumber()));
}
重启项目
测试停用功能
六、雪花算法
回到数据库,我们发现数据的id并不是递增的,而是一串随机的数据,这里的数据不是随机的,而是mybatisplus使用了雪花算法
核心思想:
长度共64bit(一个long型)。
首先是一个符号位,1bit标识,由于long基本类型在Java中是带符号的,最高位是符号位,正数是0,负数是1,所以id一般是正数,最高位是0。
41bit时间截(毫秒级),存储的是时间截的差值(当前时间截 - 开始时间截),结果约等于69.73年。
10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID,可以部署在1024个节点)。
12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID)。
- 优点:整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞,并且效率较高。
边栏推荐
- leetcode-每日一题1403. 非递增顺序的最小子序列(贪心)
- 冰蝎V4.0攻击来袭,安全狗产品可全面检测
- 2022-08-04 The sixth group, hidden from spring, study notes
- 运维监控系统之Open-Falcon
- 10 years of testing experience, worthless in the face of the biological age of 35
- iMedicalLIS监听程序(2)
- 高项 02 信息系统项目管理基础
- shell脚本:for循环与while循环
- 多御安全浏览器 V10.8.3.1 版正式发布,优化多项内容
- 2022-08-04T17:50:58.296+0800 ERROR Announcer-3 io.airlift.discovery.client.Announcer appears after successful startup of presto
猜你喜欢
Android 面试题——如何徒手写一个非阻塞线程安全队列 ConcurrentLinkedQueue?
21 Days Learning Challenge (2) Use of Graphical Device Trees
测试薪资这么高?刚毕业就20K
银行数据采集,数据补录与指标管理3大问题如何解决?
Growth-based checkerboard corner detection method
Beyond YOLO5-Face | YOLO-FaceV2 officially open source Trick+ academic point full
How to Add Category-Specific Widgets in WordPress
[Filter tracking] based on matlab unscented Kalman filter inertial navigation + DVL combined navigation [including Matlab source code 2019]
Bubble Sort and Quick Sort
2022 High-level installation, maintenance, and removal of exam questions mock exam question bank and online mock exam
随机推荐
MRTK3开发Hololens应用-手势拖拽、旋转 、缩放物体实现
Android实战开发-Kotlin教程(入门篇-登录功能实现 3.3)
Based on holding YOLOv5 custom implementation of FacePose YOLO structure interpretation, YOLO data format conversion, YOLO process modification"
ASP.NET应用程序--Hello World
高项 02 信息系统项目管理基础
新人如何入门和学习软件测试?
测试薪资这么高?刚毕业就20K
Beyond YOLO5-Face | YOLO-FaceV2 officially open source Trick+ academic point full
token、jwt、oauth2、session解析
905. Interval selection
2022.8.4-----leetcode.1403
ffmpeg -sources分析
2022-08-04T17:50:58.296+0800 ERROR Announcer-3 io.airlift.discovery.client.Announcer appears after successful startup of presto
MySql的索引学习和使用;(本人觉得足够详细)
2022软件测试工程师最全面试题
Android 面试题——如何徒手写一个非阻塞线程安全队列 ConcurrentLinkedQueue?
调用阿里云oss和sms服务
Defect detection (image processing part)
Bosses, I noticed that a mysql CDC connector parameters scan. The incremental. Sna
rpc-remote procedure call demo