实验室信息管理系统是利用计算机网络技术、数据存储技术、快速数据处理技术对实验室进行全方位管理的计算机软件系统。实验室信息管理系统从最初仅完成数据存储和有限的网络功能,发展到现在可以处理海量数据,具备完善的管理职能,并且能够运行于Internet之上,极大地提高了实验室的运行效率,节约了实验室的运营成本。针对教学型实验室以设备管理和实验教学为主要需求的特点,设计了融入预警机制的实验室信息管理系统,使实验室管理人员和实验室的主管部门更方便了解实验室的运行状况,提高管理水平。


管理员、教师、学生三种角色;
管理员:用户管理(学生管理、教师管理)、实验室管理、教务管理(班级管理、课程管理)、预约(个人预约、教师预约、预约列表、审核列表);
学生:实验室列表、预约(我的预约、个人预约);
教师:班级管理、实验室列表、预约(教师预约、我的预约)。


后端:JAVA开发语言,SpringBoot框架,MySql数据库,Maven;
前端:layUI框架、HTML页面。


- public class SubjectController {
-
- @Autowired
- SubjectService subjectService;
-
- @Autowired
- GradeService gradeService;
-
- @Autowired
- TeacherService teacherService;
-
- @GetMapping("/index.html")
- public String toSubjectPage() {
- return "/education/subject/index.html";
- }
-
- /**
- * 添加课程页面
- * */
- @GetMapping("/add.html")
- public String toSubjectAddPage(Model model, @RequestParam(value = "subjectId", defaultValue = "0") Integer subjectId) {
-
- Subject subject = new Subject();
- if (subjectId != 0) {
- subject = subjectService.getSubjectById(subjectId);
- }
- List
gradeList = getGradeList(); - List
teacherList = getTeacherList(); -
- Map weeks = ConstantUtils.initWeeks();
- Map days = ConstantUtils.initDays();
- Map parts = ConstantUtils.initParts();
-
- model.addAttribute("gradeList",gradeList);
- model.addAttribute("teacherList",teacherList);
-
- model.addAttribute("subject",subject);
- model.addAttribute("weeks",weeks);
- model.addAttribute("days",days);
- model.addAttribute("parts",parts);
-
- return "/education/subject/add.html";
- }
-
-
-
- private List
getGradeList() { - return gradeService.getGradeList();
- }
-
- private List
getTeacherList() { - return teacherService.getTeacherList();
- }
- /**
- * 添加课程
- * */
- @PostMapping
- @ResponseBody
- public ResultVO addSubject(Subject subject) {
-
- subjectService.save(subject);
- return ResultVO.SUCCESS();
- }
-
- /**
- * 获取所有班级
- * */
- @GetMapping
- @ResponseBody
- public ResultVO getSubjectList(@RequestParam(value = "page", defaultValue = "1") Integer page,
- @RequestParam(value = "limit", defaultValue = "10") Integer limit) {
- page -= 1;
- long total = subjectService.count();
- List
subjectList = subjectService.getGradeList(page,limit); - log.info("total {},page {},limit {}",total,page,limit);
- HashMap
data = new HashMap<>(); - data.put("total",total);
- data.put("subjectList",subjectList);
-
- return ResultVO.SUCCESS(0,data);
- }
-
- @PostMapping("/delete")
- @ResponseBody
- public ResultVO deleteSubject(Subject subject) {
- subjectService.delete(subject);
- return ResultVO.SUCCESS(200);
- }
- }
- html>
- <html xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>添加课程title>
- <link rel="stylesheet" href="/layui/css/layui.css" media="all">
- head>
- <body>
- <div style="margin: 50px 50px 50px 50px;">
-
- <form class="layui-form" action="">
- <div class="layui-form-item" th:if="${subject.getId() == 0}">
- <label class="layui-form-label">
- <a href="http://localhost:8080/education/subject/index.html" class="layui-btn layui-btn-normal">返回a>
- label>
- div>
- <div class="layui-form-item" th:if="${subject.getId() != 0}">
- <input type="hidden" name="id" th:value="${subject.getId()}">
- div>
- <div class="layui-form-item">
- <label class="layui-form-label">课程名label>
- <div class="layui-input-block">
- <input type="text" name="name" th:value="${subject.getName()}" required lay-verify="required" placeholder="请输入课程名称" autocomplete="off" class="layui-input">
- div>
- div>
-
- <div class="layui-form-item">
- <label class="layui-form-label">班级label>
- <div class="layui-input-block">
- <select name="gradeId" lay-verify="required">
- <option value="">option>
- <option th:each="grade:${gradeList}" th:value="${grade.getId()}" th:text="${grade.getName()}" th:selected="${grade.getId() == subject.getGradeId()}">option>
- select>
- div>
- div>
-
- <div class="layui-form-item">
- <label class="layui-form-label">老师label>
- <div class="layui-input-block">
- <select name="teacherId" lay-verify="required">
- <option value="">option>
- <option th:each="teacher:${teacherList}" th:value="${teacher.getId()}" th:text="${teacher.getUsername()}" th:selected="${teacher.getId() == subject.getTeacherId()}">option>
- select>
- div>
- div>
-
- <div class="layui-form-item">
- <label class="layui-form-label">起始周label>
- <div class="layui-input-block">
- <select name="startWeek" lay-verify="required">
- <option value="">option>
- <option th:each="start:${weeks}" th:value="${start.key}" th:text="${start.value}" th:selected="${start.key == subject.getStartWeek()}">option>
- select>
- div>
- div>
-
- <div class="layui-form-item">
- <label class="layui-form-label">结束周label>
- <div class="layui-input-block">
- <select name="endWeek" lay-verify="required">
- <option value="">option>
- <option th:each="end:${weeks}" th:value="${end.key}" th:text="${end.value}" th:selected="${end.key == subject.getEndWeek()}">option>
- select>
- div>
- div>
-
- <div class="layui-form-item">
- <label class="layui-form-label">周几label>
- <div class="layui-input-block">
- <select name="day" lay-verify="required">
- <option value="">option>
- <option th:each="day:${days}" th:value="${day.key}" th:text="${day.value}" th:selected="${day.key == subject.getDay()}">option>
- select>
- div>
- div>
-
- <div class="layui-form-item">
- <label class="layui-form-label">节次label>
- <div class="layui-input-block">
- <select name="part" lay-verify="required">
- <option value="">option>
- <option th:each="part:${parts}" th:value="${part.key}" th:text="${part.value}" th:selected="${part.key == subject.getPart()}">option>
- select>
- div>
- div>
-
- <div class="layui-form-item">
- <div class="layui-input-block">
- <button class="layui-btn" type="button" lay-submit lay-filter="formSubmit">立即提交button>
- <button type="reset" class="layui-btn layui-btn-primary" th:if="${subject.getId() == 0}">重置button>
- div>
- div>
- form>
- div>
-
- body>
- <script src="/layui/layui.js">script>
- <script src="/js/jquery.min.js">script>
- <script src="/js/education/subject/add.js">script>
- html>
基于JAVA SpringBoot实验室预约管理系统设计