栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JeeSite新建报表

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JeeSite新建报表

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(' ');
<% } %>
<% if(hasPermi('report:reportOverUnderData:edit')){ %>
   if (row.status == Global.STATUS_NORMAL){
      actions.push(' ');
   }else if (row.status == Global.STATUS_DISABLE || row.status == Global.STATUS_FREEZE || row.status == Global.STATUS_AUDIT){
      actions.push(' ');
   }
<% } %>
<% if(hasPermi('report:reportOverUnderData:edit')){ %>
   actions.push(' ');
<% } %>

在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使用了雪花算法

  1. 核心思想:

    长度共64bit(一个long型)。

    首先是一个符号位,1bit标识,由于long基本类型在Java中是带符号的,最高位是符号位,正数是0,负数是1,所以id一般是正数,最高位是0。

    41bit时间截(毫秒级),存储的是时间截的差值(当前时间截 - 开始时间截),结果约等于69.73年。

    10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID,可以部署在1024个节点)。

    12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID)。

  1. 优点:整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞,并且效率较高。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1032013.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号