大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
开发准备
开发软件为IntelliJ IDEA2019,选用Tomcat8作为服务器、数据库为MySQL5.3,jdk为1.8,前端框架为layui
需求分析
基于web的实验室设备管理系统至少有三个用户角色:
-
学生用户:学生用户为主要使用用户,登录系统可以查询设备信息,可以对现有的设备进行租借申请,可以查看公告信息。
-
教师用户:教师主要负责对实验室设备进行报修维护工作,还有公告管理。
-
管理员:拥有所有管理权限,额外拥有租借设备审批和登录日志查看权限
基本功能
根据需求分析出系统功能
- 实验室设备管理模块:设备信息录入、信息查询、更新设备信息、删除设备和设备报修。
- 对不同用户分有不同的权限:如对非法用户、普通用户和管理员用户实现不同的权限管理。
- 学生用户模块:学生用户拥有修改自己的账号密码和借用、归还实验室设备的权限。
- 教师用户模块:教师用户拥有修改自己的账号密码和报修、维护实验室设备的权限。
- 管理员模块:管理员拥有所有管理权限,额外拥有租借设备审批和登录日志查看权限
设计思路
分析出系统功能后,设计如何实现主要功能
“实验室设备管理模块”,需要设计一张记录实验室设备的数据表,使用状态字段来标记登录设备的状态
“对不同用户分有不同的权限”,需要对用户进行标识,登录系统后根据不用标识显示不同的内容,从而实现权限管理,同时需要设置拦截器,防止未登录可以通过地址跳转进入系统。
“租借设备审批和登录日志”,租借设备审批需要创建一张设备租借申请表,负责记录是哪个学生用户发起的申请,申请租借哪个设备、是哪位管理员审批等信息;登录日志需要创建一张登录日志表,负责记录登录人的信息,主要有登录时间、登录人id等。
数据库设计
用户表:user
| 字段 | 类型 |
|---|---|
| id | int |
| user_account | varchar(255) |
| user_password | varchar(255) |
| role | int |
其中,role为权限标识,1为管理员,2为学生(默认),3为教师
实验室设备表:equipment
| 字段 | 类型 |
|---|---|
| id | int |
| name | varchar(255) |
| type | varchar(255) |
| price | double |
| attribution | varchar(255) |
| state | int |
其中,state为设备状态标识, 1(正常),2(租借中),3(维护中),4(已损坏)
设备租借表: lease
| 字段 | 类型 |
|---|---|
| id | int |
| equipment_id | int |
| student_id | int |
| student_name | varchar(255) |
| equipment_name | varchar(255) |
| lease_time | datetime |
| return_time | datetime |
| status | int |
设备租借表在学生用户申请租借设备的时候,对学生用户的信息和申请的设备信息记录,其中status是租借状态标识, 5为已归还,6为租借中
设备租借审批表:examine_approve
| 字段 | 类型 |
|---|---|
| id | int |
| equipment_id | int |
| student_id | int |
| student_name | varchar(255) |
| equipment_name | varchar(255) |
| lease_time | datetime |
| return_time | datetime |
| reason | varchar(255) |
| results | int |
| approver | varchar(255) |
其中,results为审批结果, 7(同意) 8(拒绝) 9(未审核),approver为审批的管理员名称
设备维护表:equipment_maintenance
| 字段 | 类型 |
|---|---|
| id | int |
| equipment_id | int |
| name | varchar(255) |
| damage_time | datetime |
| maintenance_time | datetime |
| maintenance_people | varchar(255) |
| maintenance_amount | double |
| state | int |
其中,state为设备状态,1(维修完毕) 2(无法维修)
公告表:announcement
| 字段 | 类型 |
|---|---|
| id | int |
| edit_person | varchar(255) |
| release_time | datetime |
| content | varchar(255) |
登录日志表:login_log
| 字段 | 类型 |
|---|---|
| id | int |
| uid | id |
| logintime | datetime |
| username | varchar(255) |
结尾
需求分析和数据库已设计完成,后续将更新系统如何实现的代码
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182594.html原文链接:https://javaforall.net
