基于SpringBoot的器材管理系统

2023-10-27

介绍

有一家实验室,里面有100台实验设备,5个实验员。每个设备使用之前需要对设备进行检查,现在存在以下痛点: 实验员检查器材的时候,发现器材不见了,他们都不知道器材是坏了还是其他实验员用到其他器材。非常不方便。希望开发一套软件进行器材的借,还,查,报废等功能。现在需要开发一款实验室器材管理系统,帮助管理员去管理器材。

功能描述

  1. 提供实验员进行器材的借、还、查。

  1. 提供实验室管理员:器材信息修改,新增,报废。

  1. 提供实验室管理员器材借还单、报废单的查询。

功能模块列

模块编号

名称

模块功能描述

101

登录

管理员和普通用户登录系统

102

器材分页展示

分页展示器材信息,每页5条记录

103

器材新增

管理员新增器材

104

器材更新

管理员对器材的信息进行修改

105

器材报废

管理员对器材进行报废处理

106

器材借还记录查看

管理员对器材借还记录进行查看

107

器材报废记录查看

管理员对器材报废记录进行查看

108

器材查找

根据输入的条件进行器材查询

109

器材归还

点击归还,填写表单进行器材的归还

110

器材借用

点击某个器材的详情对其进行借用

111

器材详情查看

用户点击某个器材查看详情

112

用户注销账号

用户注销账号后退出到登录页

模块展示

代码展示

@RequestMapping("/eqps2")
    public String findAllByCondition2(Model model,String eqpName,String eid,
                                      @RequestParam(value = "pageNow",required = false,defaultValue = "1") Integer pageNow,
                                      @RequestParam(value = "pageSize",required = false,defaultValue = "5") Integer pageSize) throws ParseException {
        String orderBy = "id" + " asc";
        PageHelper.startPage(pageNow,pageSize,orderBy);
        List<Equipment> eqps = equipmentMapper.findEqpByNameAndId(eqpName,eid);
        for(Equipment e:eqps){
            if(e.getStatus()==1)
                e.setStatusName("闲置");
            else if(e.getStatus()==2)
                e.setStatusName("借出");
            else
                e.setStatusName("报废");
        }
        PageInfo<Equipment> pageInfo=new PageInfo<>(eqps);
        if(pageNow==1){
            pageInfo.setPrePage(1);
        }
        if(pageInfo.getNextPage()==0){
            pageInfo.setNextPage(pageInfo.getPrePage()+1);
        }
        model.addAttribute("pageInfo",pageInfo);
        model.addAttribute("eqps",eqps);
        model.addAttribute("flag",5);
        model.addAttribute("queryFlag",1);
        model.addAttribute("eid",eid);
        model.addAttribute("eqpName",eqpName);
        return "welcome";
    }

    @RequestMapping("/eqps_b")
    public String findAll_b(Model model,
                            @RequestParam(value = "pageNow",required = false,defaultValue = "1") Integer pageNow,
                            @RequestParam(value = "pageSize",required = false,defaultValue = "5") Integer pageSize) throws ParseException {
        String orderBy = "id" + " asc";
        PageHelper.startPage(pageNow,pageSize,orderBy);
        List<Equipment> eqps = equipmentMapper.findAll();

        for(Equipment eqp:eqps){
            if(eqp.getStatus()==1)
                eqp.setStatusName("闲置");
            else if(eqp.getStatus()==2)
                eqp.setStatusName("借出");
            else
                eqp.setStatusName("报废");
        }

        PageInfo<Equipment> pageInfo=new PageInfo<>(eqps);
        if(pageNow==1){
            pageInfo.setPrePage(1);
        }
        if(pageInfo.getNextPage()==0){
            pageInfo.setNextPage(pageInfo.getPrePage()+1);
        }
        model.addAttribute("pageInfo",pageInfo);
        model.addAttribute("eqps",eqps);
        model.addAttribute("flag",5);
        model.addAttribute("queryFlag",0);
        return "welcome";
    }

    @RequestMapping("/eqps")
    public String findAll(Model model,
                          @RequestParam(value = "pageNow",required = false,defaultValue = "1") Integer pageNow,
                          @RequestParam(value = "pageSize",required = false,defaultValue = "5") Integer pageSize) throws ParseException {
        String orderBy = "id" + " asc";
        PageHelper.startPage(pageNow,pageSize,orderBy);
        List<Equipment> eqps = equipmentMapper.findAll();

        for(Equipment eqp:eqps){
            if(eqp.getStatus()==1)
                eqp.setStatusName("闲置");
            else if(eqp.getStatus()==2)
                eqp.setStatusName("借出");
            else
                eqp.setStatusName("报废");
        }

        PageInfo<Equipment> pageInfo=new PageInfo<>(eqps);
        if(pageNow==1){
            pageInfo.setPrePage(1);
        }
        if(pageInfo.getNextPage()==0){
            pageInfo.setNextPage(pageInfo.getPrePage()+1);
        }
        model.addAttribute("pageInfo",pageInfo);
        model.addAttribute("eqps",eqps);
        model.addAttribute("flag",1);
        model.addAttribute("queryFlag",0);
        return "welcome";
    }

代码获取链接

点击获取

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于SpringBoot的器材管理系统 的相关文章

  • Java - 因内存不足错误而关闭

    关于如何最好地处理这个问题 我听到了非常矛盾的事情 并且陷入了以下困境 OOME 会导致一个线程崩溃 但不会导致整个应用程序崩溃 我需要关闭整个应用程序 但不能 因为线程没有剩余内存 我一直认为最佳实践是让它们离开 这样 JVM 就会死掉
  • 如何使用Spring WebClient进行同步调用?

    Spring Framework in 休息模板 https docs spring io spring framework docs current javadoc api org springframework web client R
  • 如何使用 JAVA 代码以编程方式捕获线程转储?

    我想通过 java 代码生成线程转储 我尝试使用 ThreadMXBean 为此 但我没有以正确的格式获得线程转储 因为我们正在使用jstack命令 请任何人提供一些帮助 他们是否有其他方式获取线程转储 使用任何其他 API 我想要的线程转
  • Reactive Spring 不支持 HttpServletRequest 作为 REST 端点中的参数?

    我创建了一个 RestController 如下所示 RestController public class GreetingController RequestMapping value greetings method RequestM
  • 文本在指定长度后分割,但不要使用 grails 打断单词

    我有一个长字符串 需要将其解析为长度不超过 50 个字符的字符串数组 对我来说 棘手的部分是确保正则表达式找到 50 个字符之前的最后一个空格 以便在字符串之间进行彻底的分隔 因为我不希望单词被切断 public List
  • 在 Struts 2 中传递 URL 参数而不使用查询字符串

    我想使用类似的 URL host ActionName 123 abc 而不是像这样传递查询字符串 host ActionName parm1 123 parm2 abc 我怎样才能在 Struts 2 中做到这一点 我按照下面的方法做了
  • Android 中 localTime 和 localDate 的替代类有哪些? [复制]

    这个问题在这里已经有答案了 我想使用从 android API 获得的长值 该值将日期返回为长值 表示为自纪元以来的毫秒数 我需要使用像 isBefore plusDays isAfter 这样的方法 Cursor managedCurso
  • Java:从集合中获取第一项

    如果我有一个集合 例如Collection
  • 从直方图计算平均值和百分位数?

    我编写了一个计时器 可以测量任何多线程应用程序中特定代码的性能 在下面的计时器中 它还会在地图中填充花费了 x 毫秒的调用次数 我将使用这张图作为我的直方图的一部分来进行进一步的分析 例如调用花费了这么多毫秒的百分比等等 public st
  • 当 minifyEnabled 为 true 时 Android 应用程序崩溃

    我正在使用多模块应用程序 并且该应用程序崩溃时minifyEnabled true in the installed模块的build gradle 以下是从游戏控制台检索到的反混淆堆栈跟踪 FATAL EXCEPTION Controlle
  • Java、Spring:使用 Mockito 测试 DAO 的 DataAccessException

    我正在尝试增加测试覆盖率 所以我想知道 您将如何测试 DAO 中抛出的 DataAccessExceptions 例如在一个简单的 findAll 方法中 该方法仅返回数据源中的所有数据 就我而言 我使用 Spring JdbcTempla
  • 寻找局部最小值

    下面的代码正确地找到了数组的局部最大值 但未能找到局部最小值 我已经进行了网络搜索 以找到找到最小值的最佳方法 并且根据这些搜索 我认为我正在使用下面的正确方法 但是 在几天的时间里多次检查每一行之后 下面的代码中有一些我仍然没有看到的错误
  • Java - 从 XML 文件读取注释

    我必须从 XML 文件中提取注释 我找不到使用 JDOM 或其他东西来让它们使用的方法 目前我使用 Regex 和 FileReader 但我不认为这是正确的方法 您可以使用 JDOM 之类的东西从 XML 文件中获取注释吗 或者它仅限于元
  • Karaf / Maven - 无法解决:缺少需求 osgi.wiring.package

    我无法在 Karaf 版本 3 0 1 中启动捆绑包 该包是使用 Maven 构建的并导入gson http mvnrepository com artifact com google code gson gson 2 3 1 我按照要求将
  • Lombok @Builder 不创建不可变对象?

    在很多网站上 我看到 lombok Builder 可以用来创建不可变的对象 https www baeldung com lombok builder singular https www baeldung com lombok buil
  • 如何处理 StaleElementReferenceException

    我正在为鼠标悬停工作 我想通过使用 for 循环单击每个链接来测试所有链接的工作条件 在我的程序中 迭代进行一次 而对于下一次迭代 它不起作用并显示 StaleElementReferenceException 如果需要 请修改代码 pub
  • 源值 1.5 的错误已过时,将在未来版本中删除

    我使用 scala maven plugin 来编译包含 scala 和 java 代码的项目 我已经将源和目标设置为1 7 但不知道为什么maven仍然使用1 5 这是我在 pom xml 中的插件
  • 使用 Java https 上传到 Imgur v3 错误

    我目前正在尝试使用他们当前的 API v3 上传到 imgur 但是我不断收到错误 错误 javax net ssl SSLException 证书中的主机名不匹配 api imgur com imgur com OR imgur com
  • HttpClient请求设置属性问题

    我使用这个 HttpClient 库玩了一段时间 几周 我想以某种方式将属性设置为请求 不是参数而是属性 在我的 servlet 中 我想使用 Integer inte Integer request getAttribute obj 我不
  • 如何使用通配符模拟泛型方法的行为

    我正在使用 EasyMock 3 2 我想基于 Spring Security 为我的部分安全系统编写一个测试 我想嘲笑Authentication http docs spring io autorepo docs spring secu

随机推荐

  • Ubuntu安装Mysql启用远程连接

    1 用apt get安装mysql 更新一下apt 仓库 sudo apt get update 安装mysql service sudo apt get install mysql server y 也可以指定版本 可选 sudo apt
  • 详解在spring boot中配置多个DispatcherServlet

    spring boot为我们自动配置了一个开箱即用的DispatcherServlet 映射路径为 但是如果项目中有多个服务 为了对不同服务进行不同的配置管理 需要对不同服务设置不同的上下文 比如开启一个DispatcherServlet专
  • String类的codePointAt()方法

    工作中遇到一段代码 1 private static String getClassNameWithoutPackage Class cl 2 String className cl getName 3 int pos className
  • iOS音视频—FFmepg基础知识:命令行工具使用&封装格式&视频编码音频编码数据了解&视频像素音频采样数据格式

    iOS音视频相关目录 FFmepg基础知识 封装格式 1 封装格式 mp4 mov flv wmv等等 2 作用 视频流 音频流按照格式进行存储在一个文件中 3 MPEG2 TS格式 传输流 又称TS TP MPEG TS或M2T 用于音效
  • 入侵XXX学校教务管理系统过程记录

    by prettysky 以前的女朋友告诉我 她在学校 教务管理系统 报网上选修课的帐号密码丢了 或许是被别人修改了 入侵开始 1 扫描学校所在的整个C类IP段在线的主机 结果出来了 共有4个存活主机 经过测试得知 211 3 gt 学校网
  • 【Git】Git国内官网下载地址、淘宝镜像下载地址以及卸载安装

    Git官网下载地址 打开官网Git git scm com 进行相对应的操作系统下载即可 官网下载速度 大约需要二十多分钟 2 国内镜像 淘宝 Git下载国内镜像地址 CNPM Binaries Mirror npmmirror com G
  • 5 个有用的 Mac 终端技巧

    深藏在你的Mac 漂亮的界面下面是一个有几十年历史的叫做 UNIX 的骨干 你可以使用它的老式终端来运行无法从应用程序或菜单访问的简单命令 这些不仅对开发人员和黑客有用 即使您以前从未深入研究过终端 也有一些调整可以让您的 Mac 变得更好
  • Linux centos8安装redis

    centos 8 0 redis 安装教程 1 将安装包上传到指定目录 我这里放在 usr local src 目录 2 进入 usr local src 目录 cd usr local src 3 解压源码包 tar zxvf redis
  • hive使基本使用

    文章目录 1 hive创建表 2 查看建表语句 2 hive使用load加载数据到表中 3 hive删除表数据 4 hive查看版本信息 1 hive创建表 0 jdbc hive2 10 0 xxx 162 10000 default g
  • 网络编程 详解

    概述 计算机网络 将不同地理区域的计算机 广义 通过通信线路 光纤 连接起来 通过功能完备的软件实现数据共享 信息传递 网络编程 使程序借助网络在不同计算机间传输数据 Java提供的网络类库 可以实现网络连接 且Java支持网络传输 2 网
  • 你真的会开发测试框架?

    基本概念 库 英文单词叫Library 库是由代码集合成的一个产品 供程序员调用 面向对象的代码组织形成的库叫类库 面向过程的代码组织形成的库叫函数库 框架 英文单词叫Framework 框架是为解决一个或一类问题而开发的产品 用户一般只需
  • 【简单又详细】Unity实现拖拽3D物体旋转,UI面板显示角色

    预览效果 一 创建环境 1 创建一个Panel 把人物放到Panel之下 2 创建一个Camera命名为UICamera UICamera相机添加 physics RayCaster组件 修改遮罩层级 UI 注意 把player的层级也改为
  • windows10下安装docker,并且安装ubuntu环境

    1 系统要求 支持 64 位版本的 Windows 10 Pro 且必须开启 Hyper V 若版本为 v2004 及以上则无需开启 Hyper V 或者 64 位版本的 Windows 10 Home v2004 及以上版本 我的版本 w
  • 如何用一篇文章生成知识图谱

    https www zhihu com question 355473263
  • sockjs-web实时通信协议

    sockjs web实时通信应用解决方案 socksjs 客户端和服务器端api尽可能简洁 尽量靠近websocket api 支持服务端扩展和负载均衡技术 传输层应该全面支持跨域通信 如果受到代理服务器的限制 传输层能优雅地从一种方式回退
  • Unity图集相关问题

    Unity图集相关问题 前言 最近查找图集相关资料的时候看到了Unity论坛上的一篇帖子 其中Unity官方技术人员解释了 Include In Build 究竟有什么作用 Include In Build 简而言之 如果勾选了 就意味着S
  • Centos7.x安装netcat以及netcat连接被拒绝(Ncat: Connection refused.)或者没有反应的解决方法

    一 情况 出现以下情况 Jay localhost001 nc Ncat You must specify a host to connect to QUITTING 或是 Jay localhost002 nc localhost001
  • 统计海量文章内容中出现次数前K大的单词并输出(完整实现)

    统计海量文章内容中出现次数前K大的单词并输出 很经典的问题 解决思路如下 1 遍历所有单词 利用hashmap来统计每一个单词出现的值 得到hashmap示例如下 key value a 3 bc 1 cd 8 2 这时候 问题变成了在海量
  • 代码审计-工具介绍及简单思路

    工具篇之开发环境 仅供参考 0x01 PhpStorm PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具 旨在提高用户效率 可深刻理解用户的编码 提供智能代码补全 快速导航以及即时错误检查 是一个非常不错
  • 基于SpringBoot的器材管理系统

    介绍 有一家实验室 里面有100台实验设备 5个实验员 每个设备使用之前需要对设备进行检查 现在存在以下痛点 实验员检查器材的时候 发现器材不见了 他们都不知道器材是坏了还是其他实验员用到其他器材 非常不方便 希望开发一套软件进行器材的借