使用Vue和SpringBoot开发实验室耗材智能运维系统

简介: 使用Vue和SpringBoot开发实验室耗材智能运维系统

一、项目简介

本项目是基于 Vue 和 Spring Boot 的实验室耗材智能运维系统,包括了耗材档案耗材采购入库耗材领用出库三大核心业务,另外还支持申请耗材审核申请单用户管理文件云盘组织架构日志数据字典修改密码个人中心等扩展功能。本系统主要面向高校实验室管理日常耗材所用,降低实验室管理人员的工作量,提高耗材库存的管理水平。


二、功能明细

  • 耗材档案:实验室管理者可自由增删改查耗材的数据。
  • 耗材采购入库:实验室耗材采购人员可将采购的耗材入库至系统。
  • 耗材领用出库:学生可按需申请耗材,实验室管理员审核;或者实验室管理员直接分配给学生。
  • 用户权限管控:基于角色的权限控制,可维护每位用户的菜单权限和用户信息。
  • 组织架构维护:对实验室的组织架构进行维护,如教师层、20级、21级等。
  • 文件云盘:统一化管理系统所用到的全部文件,封装了 Vue 组件供其他模块表单调用。
  • 系统日志:根据用户操作,自动化记录日志。
  • 数据字典:管理员可视化修改其他模块的下拉框数据,无需修改前端代码。
  • 个人中心:登陆注册、修改密码、维护自己账号的数据等。

三、使用对象

  • 实验室管理员:管理员可以发布耗材、删改耗材数据、维护实验室人员档案等全部功能。
  • 耗材采购员:可对管理员发布的耗材品类,进行入库操作、对指定学生进行出库领用或审核学生的申请单。
  • 学生:可查看实验室现有耗材的库存情况、申请耗材、查看自己的申请状态。

四、技术选型

前端

Vue:Vue 是构建前端界面的核心框架,本系统采用 2.6.14 版本。

View UI:基于 Vue.js2.0 的组件库,本系统采用 4.7.0 版本。

后端

Spring Boot:构建系统核心逻辑的后端框架,本系统采用 2.7.4 版本。

MyBatis / MyBatis Plus:后端连接数据库的框架,本系统采用 3.5.2 版本。

数据库

MySQL:本项目的主数据库,本系统采用 8.0.30 版本。

Redis:本系统采用基于 Windows 版本的 Redis,用于图形验证码和用户菜单权限的临时存储,采用了 5.0.14.1 版本。

开发环境

VsCode:项目前端的开发工具,使用版本为 1.68.0。

IntelliJ IDEA :项目后端的开发工具,使用版本为 2022.2.2。

Jdk:Java 的开发环境,使用版本为 17.0.4.1。

Maven:后端项目的打包工具,使用版本为 3.6.2。

NodeJs:前端项目的开发环境,使用版本为 16.13.0。


五、系统展示

登录页

用户可使用账号 + 密码 + 图形验证码的方式进行登录,如下图所示。

注册页

如果用户没有账号,也可以根据手机号、姓名、密码和图形验证码进行注册,如下图所示。

主页

用户登录成功后,默认进入主页,如下图所示。

当然不同的用户拥有不同的菜单权限,实验室耗材智能运维系统采用基于角色的访问控制模式,采用同学们可以自定义角色,再分配指定的菜单权限,如下图所示。

耗材档案

实验室管理员可以在这里维护耗材的数据,其中耗材包括大的耗材(固定资产)和小的耗材(耗材),如下图所示。

新增编辑耗材

新增耗材的操作界面如下图所示。

删除耗材

用户可以选择一定数量的耗材,点击删除按钮,进行删除,系统会给与二次确认弹框,如下图所示。

耗材入库

耗材的来源是采购员买来之后入库,所以采购员可以在这个模块操作入库,如下图所示。

新增入库

新增入库时,资产是由耗材模块中进行选择,如下图所示。

新增之后还可以编辑,编辑功能如下图所示。

耗材领用(管理员)

管理员可以主动将耗材分配给实验室学生,如下图所示。

新增耗材领用分配

其中表单的资产名称和领用人可导入选择,资产导入后,型号、单价自动带出,用户只需填写数量和备注即可,如下图所示。

耗材领用(用户)

除了管理员主动分配耗材给学生,学生也可以主动去申请耗材,如下图所示。

领用审核

学生主动申请耗材后,实验室管理员可以对其进行审核,如下图所示。

审核通过即可完成正常领用,如下图所示。

用户管理

管理员管理学生,在这里维护,如下图所示。

云盘(文件管理)

实验室耗材智能运维系统的所有文件都在这里维护,如下图所示。

系统日志

用户的指定操作(后端代码匹配)可以自动化记录日志,汇总在日志模块,如下图所示。

修改密码

用户可以修改自己的密码,如下图所示。

个人门户

用户可以在个人门户中编辑自己的信息,如下图所示。

图表

系统还支持 ANTV 图表,同学们可以根据自己需要,进行二次开发。

六、项目总结

智能化人事系统的作用,就是为公司人事事务提供便捷性支持,方便公司对自己人事组织层次,人事数据进行修改、维护、检索信息。本软件是基于 VueSpringBoot 的智能化人事系统,包含了员工模块请假模块通告模块留言模块薪资模块职位职称这六个功能核心模块。

开发本系统的目的,就是为了帮助中小企业提高人事管理效率,降低人力成本,让中小企业获得更多的经济效益


七、核心代码实例

实体类定义

@Data
@Entity
@DynamicInsert
@DynamicUpdate
@Table(name = "a_assets_type")
@TableName("a_assets_type")
@ApiModel(value = "资产种类")
public class AssetsType extends ZwzBaseEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "资产名称")
    private String assetName;
    @ApiModelProperty(value = "性质")
    private String nature;
    @ApiModelProperty(value = "型号")
    private String model;
    @ApiModelProperty(value = "数量")
    private String number;
    @ApiModelProperty(value = "现有数量")
    private String existingNumber;
    @ApiModelProperty(value = "单价")
    private String unitPrice;
    @ApiModelProperty(value = "总价")
    private String totalPrice;
    @ApiModelProperty(value = "备注")
    private String remarks;
}

资产出库

@ApiOperation(value = "资产出库")
@RequestMapping(value = "/outpdate", method = RequestMethod.POST)
public Result<WarehouseOut> outpdate(WarehouseOut warehouseOut){
    WarehouseOut oldWarehouseOut = iWarehouseOutService.getById(warehouseOut.getId());
    double oldNumber = 0.0;
    if(oldWarehouseOut != null){
        oldNumber = Double.parseDouble(oldWarehouseOut.getNumber());
    }
    // outNumber 要出库的数量
    double outNumber = Double.parseDouble(warehouseOut.getNumber());
    AssetsType oldAssetsType = iAssetsTypeService.getById(warehouseOut.getAssetId());
    if(oldAssetsType != null){
        // newNumber 出库后还有的数量 = 仓库原本还有的数量 - 出库单的出库数量 + 原有出库单的出库数量
        Double newNumber = Double.parseDouble(oldAssetsType.getExistingNumber()) - outNumber + oldNumber;
        if(newNumber >= 0){
            oldAssetsType.setExistingNumber(newNumber + "");
            iAssetsTypeService.saveOrUpdate(oldAssetsType);
        }else{
            return ResultUtil.error("手慢啦!库存不足!");
        }
    }
    if(ZwzNullUtils.isNull(warehouseOut.getId())) {
        warehouseOut.setAuditStatus(0);
        warehouseOut.setAuditTime("");
    }
    if(iWarehouseOutService.saveOrUpdate(warehouseOut)){
        return new ResultUtil<WarehouseOut>().setData(warehouseOut);
    }
    return ResultUtil.error();
}

八、免责声明

  • 本项目开源,仅供个人学习使用,遵循 GPL-3.0 开源协议,转发 / 商用授权请联系作者,否则后果自负。
  • 作者拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,欢迎一切有价值的商业合作。
  • 如有问题,欢迎在评论区留言,看到后会第一时间回复。相关意见会酌情考虑,但没有一定被采纳的承诺或保证。
  • 下载本系统代码的用户,必须同意以下内容,否则请勿下载!
  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和作者无关,作者对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),作者概不承担任何责任。
  4. 必须了解使用本软件的风险,作者不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
26天前
|
机器学习/深度学习 运维 监控
智能监控系统在运维中的应用与优势
传统的运维管理方式在面对日益复杂的IT系统时显得力不从心,智能监控系统的出现为运维工作带来了新的机遇。本文将探讨智能监控系统在运维中的应用与优势,介绍其工作原理以及如何有效地利用智能监控系统提升运维效率和质量。
47 2
|
8天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的医院核酸检测服务系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的医院核酸检测服务系统的详细设计和实现
32 0
|
8天前
|
人工智能 移动开发 前端开发
Springboot医院智慧导诊系统源码:精准推荐科室
医院智慧导诊系统是在医疗中使用的引导患者自助就诊挂号,在就诊的过程中有许多患者不知道需要挂什么号,要看什么病,通过智慧导诊系统,可输入自身疾病的症状表现,或选择身体部位,在经由智慧导诊系统多维度计算,精准推荐科室,引导患者挂号就诊,实现科学就诊,不用担心挂错号。
18 2
|
9天前
|
人工智能 前端开发 Java
Java语言开发的AI智慧导诊系统源码springboot+redis 3D互联网智导诊系统源码
智慧导诊解决盲目就诊问题,减轻分诊工作压力。降低挂错号比例,优化就诊流程,有效提高线上线下医疗机构接诊效率。可通过人体画像选择症状部位,了解对应病症信息和推荐就医科室。
151 10
|
9天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
10天前
|
存储 数据可视化 安全
Java全套智慧校园系统源码springboot+elmentui +Quartz可视化校园管理平台系统源码 建设智慧校园的5大关键技术
智慧校园指的是以物联网为基础的智慧化的校园工作、学习和生活一体化环境,这个一体化环境以各种应用服务系统为载体,将教学、科研、管理和校园生活进行充分融合。无处不在的网络学习、融合创新的网络科研、透明高效的校务治理、丰富多彩的校园文化、方便周到的校园生活。简而言之,“要做一个安全、稳定、环保、节能的校园。
37 6
|
21天前
|
机器学习/深度学习 传感器 运维
提升数据中心效能:智能运维策略与实践
【4月更文挑战第6天】在数字化时代,数据中心作为企业信息架构的核心,其稳定性和效率直接影响到业务连续性和客户满意度。随着技术的进步,传统的数据中心运维模式已经不能满足现代高效、智能化的需求。本文将探讨如何通过智能运维(AIOps)策略,结合大数据分析和机器学习技术,实现数据中心的自动化管理、故障预测及快速响应,以提升整体效能并降低运营成本。
|
29天前
|
存储 监控 NoSQL
SpringBoot 后台管理系统
SpringBoot 后台管理系统
10 0
|
30天前
|
缓存 NoSQL Java
手撸的 SpringBoot缓存系统,性能杠杠的
手撸的 SpringBoot缓存系统,性能杠杠的
28 0
|
1月前
|
机器学习/深度学习 Java C++
基于SpringBoot的车牌识别系统(附项目地址)
基于SpringBoot的车牌识别系统(附项目地址)
26 0