Implementation of Campus Epidemic Prevention and Control Management System Platform Based on Springboot

Author's homepage: Programming Thousand Paper Cranes

About the author: Java, front-end, and Python have been developed for many years, and have worked as a senior engineer, project manager, and architect

Main content: Java project development, Python project development, university data and AI project development, MCU project design, interview technology arrangement, latest technology sharing

Favorites, likes, don't get lost, it's good to follow the author

Get the source code at the end of the article

Item number: BS-GX-056

Foreword:

In the past few years, with the spread of the new crown virus around the world, countries have also developed some corresponding information systems for anti-epidemic use . In this article, it mainly introduces that during the COVID-19 epidemic, in order to break through the limitations of manual information exchange and management and reduce the burden on front-line personnel, the COVID-19 epidemic management information system was urgently developed to provide information for cases and close contacts Core data of epidemic prevention and control, such as laboratory sample collection and test results, site disinfection, etc., provide relevant new functions, management, query and other functions, support the flow of data among users of various systems, and provide statistical analysis and reports on this basis Function. The development and application of a system like this really greatly facilitates the sharing and acquisition of information by our staff, and is of great help in improving the ability to respond quickly.

However, the research and development of this information system is not universal. For example, in the process of campus epidemic prevention and control, it faces different groups and business needs. For campuses, it is mainly about the management of teachers and students. Control to reduce the chance of virus contact and transmission, through personal health reporting, early detection, early isolation, early treatment, to minimize the harm of virus transmission. Therefore, this topic research on the topic of campus epidemic prevention and control has strong practical significance. Although the epidemic has come to an end now, the means and psychology of prevention cannot be left behind, and those who plan ahead will always be favored by heaven. There are still many unknown areas for human beings to understand the natural world. Through this epidemic, human beings have become alert. In order to prevent the next time the same mistakes are repeated, it is necessary to make various preparations in advance.

There are countless schools of all kinds in the country, and the large number of students increases the complexity of management. Through the application of information technology, information can be collected and processed effectively, and the problem of insufficient manpower in campus management can be solved. In addition, through the precipitation and sorting of informatized data, it is very convenient to query and backtrack historical data, and facilitate information tracing and reporting. This project mainly realizes the management of basic data such as students and teachers, as well as the review and management of students' application for leaving school, asking for leave, and health reporting, as well as the publicity of epidemic-related dynamics and news information.

The implementation of the system is mainly based on the JAVA development language platform for development and implementation. It uses Spring, Springmvc, Mybatis and other related frameworks to complete the processing of system service interfaces and business logic, and completes the front-end pages through Html, Css, Javascript, Vue and other front-end technologies. Development and data display, the front and back ends interact through asynchronous requests, and JSON is used for data encapsulation. The process of system development mainly lies in the construction of the early system structure and the combing of the front-end and back-end data processes. Once the overall structure of the system is built, the development of each business module will be relatively simple.

1. Environmental introduction

Locale: Java: jdk1.8

Database: Mysql: mysql5.7

Application server: Tomcat: tomcat8.5.31

Development tools: IDEA or eclipse

Development technology: Springboot+Mybatis+Vue+ElementUI

2. Project introduction

According to the results of demand analysis, there are three types of user roles in this system, namely system administrators, teachers and students. Each different role has different system function operation permissions and business requirements. The following is through the system structure diagram. To display the corresponding functional modules of different user roles.

   (1) Administrator function: The administrator of the platform can manage some basic data of the system, mainly including administrator personal information management, class management, teacher management, student management, health check-in data management, school leaving audit, epidemic situation dynamics, epidemic news , epidemic prevention measures management and other modules.

Figure 2-1 Administrator function structure diagram

  (2) Teacher role function: It mainly includes functional modules such as personal information management, student management, school leaving review, epidemic news, epidemic dynamics, and student health check-in.

Figure 2-2 Teacher function structure diagram

   (3) Student role module: mainly includes the management of students' personal information, registration and login, application for leaving school, checking epidemic situation, epidemic news, online health check-in and other functions.

Figure 2-3 Student function structure diagram

Three, system display

4.1 Display of administrator background management function modules

4.1.1 Epidemic dynamic management module

After the administrator logs in to the system, he can maintain the epidemic dynamic information: including adding epidemic dynamic information, modifying epidemic dynamic information, querying epidemic dynamic information, deleting epidemic dynamic information and other operations. Epidemic dynamic management mainly manages the dynamic information of the school's current epidemic control information. The administrator logs in to the background to enter the epidemic dynamic management operation interface. In this module, the epidemic dynamic information can be added, modified, deleted, and can be queried according to the name, etc. management operations. The interface display is shown in Figure 4-1 below:

Figure 4-1 Realization interface of epidemic dynamic information management operation

4.1.2 Epidemic prevention measures management module

The management of epidemic prevention measures mainly carries out relevant information management work on the epidemic measures adopted by the school during the epidemic period. The interface display is shown in Figure 4-2 below:

Figure 4-2 Epidemic measures management operation interface

4.1.3 Epidemic knowledge management module

Epidemic knowledge management mainly carries out relevant information management on the epidemic-related knowledge information released by schools. The interface display is shown in Figure 4-3 below:

Figure 4-3 Epidemic Knowledge Management Operation Interface

4.1.4 School Notification Management Module

In-campus notification management mainly manages the relevant information of the school itself. The administrator logs in to the background to enter the department information management operation interface. In this module, news notification information can be added, modified, deleted, and management operations such as query can be performed according to the name. . The interface display is shown in Figure 4-4 below:

Figure 4-4 In-campus notification management interface

4.1.5 Teacher information management module

The teacher information management module mainly includes the management of teacher information within the school. After the system administrator logs in to the system, he can enter the teacher information management interface to perform related management operations, mainly including related management operations of adding, modifying, deleting and querying teachers. In addition to performing information management operations on teachers based on this page, It is also possible to import and export data, mainly through the POI component to export the teacher's information to the EXCEL form. The relevant management operation interface of the background teacher management module is shown in Figure 4-5 below:

Figure 4-5 Teacher management operation interface

4.1.6 Student Information Management Module

The student information reset management module is mainly to manage the student information in the corresponding school. In addition to the information management operations based on the students, this page can also import and export data. The student information is mainly realized through the POI component. Export the EXCEL form, and the relevant management operation interface of the student management module is shown in Figure 4-6 below:

Figure 4-6 Student Information Management Operation Interface

4.1.7 Teacher's health check-in record management

The administrator can check the teacher's online health check-in information in the background, and upload the teacher's check-in information in question to the epidemic prevention office as required. The user login interface is shown in Figure 4-7 below:

Figure 4-7 Teacher punch card record operation interface

4.1.8 Management of student health check-in records

After logging in to the system, teachers can view the current health check-in information list of all students in the student health check-in function module, and can report the records of students with abnormal check-in. The operation interface is shown in Figure 4-8 below:

Figure 4-8 Student health check-in record interface

4.1.9 Diagnosis List Information Management Operation

After the administrator logs in to the system, he can report the students and teachers who have been diagnosed, and the reported students and teachers will be checked in the confirmed list, which can be checked according to the combination of conditions. The tool operation interface is shown in Figure 4-9 below:

Figure 4-9 Function interface diagram of diagnosis list

4.1.10 School Leaving Application List

After entering the system, the administrator can check the information of the students who have applied for leaving the school in the school leaving application module. The review of leaving the school is delegated to the teacher. The administrator mainly checks the relevant information. The system operation interface is shown in Figure 4-10. Show:

Figure 4-10 Functional Interface Diagram of School Leaving Application List

4.2 Display of front-end user function modules

4.2.1 User login function

Students and teachers can log in on the front-end page of the system after being added by the background administrator, and choose their own identity information when logging in. The user login interface is shown in Figure 4-11 below:

Figure 4-11 User login operation interface

4.2.2 System home page

Students and teachers will automatically jump to the homepage of the system after logging in to the system, and can browse information according to the menu classification. The layout of the homepage mainly displays relevant carousels and news information. The operation interface is shown in Figure 4-12 below:

Figure 4-12 System home page function interface

4.2.3 View operation of epidemic dynamic information

After entering the system, students and teachers can click on the epidemic dynamics module to view the epidemic dynamic list and detailed information released in the background. The specific operation interface is shown in Figure 4-13 and 4-14 below:

Figure 4-13 Functional interface diagram of epidemic dynamic list

Figure 4-14 Function interface diagram of epidemic dynamic details

4.2.4 Anti-epidemic measures view operation

After entering the system, students and teachers can click on the anti-epidemic measures module to view the list and detailed information of anti-epidemic measures released in the background. The specific operation interface is shown in Figure 4-15 below:

Figure 4-15 Function interface diagram of epidemic prevention measures system

4.2.5 Epidemic Knowledge View Operation

After entering the system, students and teachers can click on the epidemic knowledge module to view the epidemic knowledge list and detailed information released in the background. The specific operation interface is shown in Figure 4-16 below:

Figure 4-16 Function interface diagram of epidemic knowledge system

4.2.6 Check the notification information in the school

School notices are divided into three categories, namely school news, notices and media campus. After entering the system, students and teachers can click on different modules to view the list and detailed information of the school notification information released in the background. The specific operation interface is shown in Figure 4-17 below:

Figure 4-17 Function interface diagram of the school notification list system

4.2.7 Personal information maintenance

After students and teachers log in to the epidemic management system, they can modify their information in the personal center. The specific operation interface is shown in Figure 4-18 below:

Figure 4-18 Interface diagram of personal information maintenance function

4.2.8 Health check-in

After students and teachers log in to the epidemic management system, they can choose health management in the personal center, fill in their personal health information online and check in. The specific operation interface is shown in Figure 4-19 below:

Figure 4-19 Interface diagram of personal information maintenance function

4.2.9 Application for leaving school

After logging into the epidemic management system, students can choose to apply for leaving school in the personal center, fill in the relevant information of the school leaving application online, wait for their teachers to review, and can view the application records and review results in My Application. The specific operation interface is shown in Figure 4-20 and Figure 4-21 below:

Figure 4-20 Function interface diagram of application for leaving school

Figure 4-21 My application function interface diagram

4.2.10 School Leaving Review

After logging into the epidemic management system, the teacher can choose to leave school application management in the personal center, and conduct online review of the students' school leave application information. The specific operation interface is shown in Figure 4-22 below:

Figure 4-22 Functional Interface Diagram of School Leaving Application Review

Fourth, the core code display

package com.zhiku.yiqing.web;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhiku.yiqing.common.R;
import com.zhiku.yiqing.pojo.*;
import com.zhiku.yiqing.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Arrays;
import java.util.Date;
import java.util.List;

@RestController
@RequestMapping("/menhu")
public class MenHuController {
    @Autowired
    private YiqingNewsService yiqingNewsService;
    @Autowired
    private NewsService newsService;
    @Autowired
    private DynamicService dynamicService;
    @Autowired
    private SchoolGeneralService schoolGeneralService;
    @Autowired
    private FankuiService fankuiService;
    @Autowired
    private ClaService claService;

    @GetMapping("/queryAllDynamic/{type}")
    public R queryAllDynamic(@PathVariable("type") Integer type){
        List<Dynamic> dynamics =  dynamicService.queryDynamicByType(type);
        return R.success(dynamics);
    }

    @GetMapping("/queryYiqingNewsById/{id}")
    public R queryYiqingNewsById(@PathVariable("id") Integer id){
        YiqingNews yiqingNews = yiqingNewsService.queryYiQingNewsById(id);
        return R.success(yiqingNews);
    }
    @GetMapping("/queryDynamicById/{id}")
    public R queryDynamicById(@PathVariable("id") Integer id){
        Dynamic dynamic = dynamicService.queryDynamicById(id);
        return R.success(dynamic);
    }

    @GetMapping("/querySchoolGeneralById/{id}")
    public R querySchoolGeneralById(@PathVariable("id") Integer id){
        SchoolGeneral schoolGeneral = schoolGeneralService.querySchoolGeneralById(id);
        return R.success(schoolGeneral);
    }
    /**
     * 查询所有的防疫措施
     * @return
     */
    @GetMapping("/queryAllSchoolGenerals")
    public R queryAllSchoolGenerals(){
       List<SchoolGeneral> schoolGenerals =  schoolGeneralService.menHuQueryAllSchoolGeneral();
        return R.success(schoolGenerals);
    }


    /**
     * 查询所有的疫情新闻
     * @return
     */
    @GetMapping("/queryAllYiqingNews")
    public R queryAllYiqingNews(){
        List<YiqingNews> yiqingNews =  yiqingNewsService.menhuQueryAllYiqingNews();
        return R.success(yiqingNews);
    }

    /**
     * 查询所有的疫情知识
     * @return
     */
    @GetMapping("/queryAllNews")
    public R queryAllNews(){
       List<News> news =  newsService.menhuQueryAllNews();
        return R.success(news);
    }

    /**
     * 查询单个的疫情知识
     * @return
     */
    @GetMapping("/queryNewsById/{id}")
    public R queryNewsById(@PathVariable("id") Integer id){
        News news =  newsService.queryNewsById(id);
        return R.success(news);
    }

    /**
     * 填写个人反馈
     * @return
     */
    @PostMapping("/addFankui")
    public R addFankui(@RequestBody Fankui fankui){
        fankui.setCreatetime(new Date());
        fankuiService.save(fankui);
        return R.success();
    }

    /**
     * 查询所有的个人反馈--根据本人编号查询
     * @return
     */
    @GetMapping("/queryAllFankui/{snumber}")
    public R queryAllFankui(@PathVariable("snumber") String snumber){
        QueryWrapper<Fankui> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("snumber",snumber);
        List<Fankui> list = fankuiService.list(queryWrapper);
        return R.success(list);
    }

    /**
     * 删除个人反馈
     * @return
     */
    @DeleteMapping("/delFankui/{id}")
    public R delFankui(@PathVariable("id") Integer id){
        fankuiService.removeById(id);
        return R.success();
    }

    /**
     * 查询所有的个人反馈
     * @return
     */
    @GetMapping("/queryFankuiList/{page}/{pagesize}")
    public R queryFankuiList(@PathVariable("page") Integer page,@PathVariable("pagesize") Integer pagesize){
        Page<Fankui> pages = new Page<>(page, pagesize);
        Page<Fankui> page1 = fankuiService.page(pages);
        return R.success(page1);
    }

    /**
     * 删除个人反馈
     * @return
     */
    @DeleteMapping("/batchDelFankuiById/{ids}")
    public R batchDelFankuiById(@PathVariable("ids") Integer[] ids){

        fankuiService.removeBatchByIds(Arrays.asList(ids));
        return R.success();
    }

    /**
     * 班级添加
     * @return
     */
    @PostMapping("/addCla")
    public R addCla(@RequestBody Cla cla){
        claService.save(cla);
        return R.success();
    }
    /**
     * 查询所有的班级
     * @return
     */
    @GetMapping("/queryClaList")
    public R queryClaList(){
        List<Cla> list = claService.list();
        return R.success(list);
    }

    /**
     * 查询所有的班级
     * @return
     */
    @GetMapping("/queryAllCla/{page}/{pagesize}")
    public R queryAllCla(@PathVariable("page") Integer page,@PathVariable("pagesize") Integer pagesize){
        Page<Cla> pages = new Page<>(page, pagesize);
        Page<Cla> page1 = claService.page(pages);
        return R.success(page1);
    }
    /**
     * 删除班级
     * @return
     */
    @DeleteMapping("/delCla/{id}")
    public R delCla(@PathVariable("id") Integer id){
        try {
            claService.removeById(id);
            return R.success();
        }catch (Exception e){
            return R.failure();
        }
    }

    /**
     * 查询班级详情
     * @return
     */
    @GetMapping("/queryClaById/{id}")
    public R queryClaById(@PathVariable("id") Integer id){
            Cla cla = claService.getById(id);
            return R.success(cla);
    }

    /**
     * 更新班级详情
     * @return
     */
    @PutMapping("/updateClaById")
    public R updateClaById(@RequestBody Cla cla){
        claService.updateById(cla);
        return R.success();
    }
}
package com.zhiku.yiqing.web;

import com.zhiku.yiqing.common.R;
import com.zhiku.yiqing.pojo.*;
import com.zhiku.yiqing.service.*;
import com.zhiku.yiqing.vo.StudentUpdatePasswordVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 学生个人中心
 */
@RestController
@RequestMapping("/mstudent")
public class MenHuStudentController {

    @Autowired
    StudentService studentService;

    @Autowired
    LeaveManagementService leaveManagementService;

    @Autowired
    ReturnManagementService returnManagementService;

    @Autowired
    TeacherService teacherService;

    @Autowired
    HealthService healthService;


    /**
     * 删除个人离校申请
     * @param id
     * @return
     */
    @DeleteMapping("/delStudentLeaveById/{id}")
    public R delStudentLeaveById(@PathVariable("id") String id){
        leaveManagementService.delLeaveById(id);
        return R.success();
    }

    /**
     * 提交离校申请
     * @param leaveManagement
     * @return
     */
    @PostMapping("/commitStudentLeave")
    public R commitStudentLeave(@RequestBody LeaveManagement leaveManagement){
        // System.out.println(leaveManagement+"--------------------------");
        leaveManagementService.commitStudentLeave(leaveManagement);
        return R.success();
    }

    /**
     * 查询所有离校申请
     * @param snumber
     * @return
     */
    @GetMapping("/queryAllMyLeave/{snumber}")
    public R queryAllMyLeave( @PathVariable("snumber") String snumber){
        System.out.println(snumber+"--------------------");
        List<LeaveManagement> leaveManagements = leaveManagementService.queryAllMyLeave(snumber);

        return R.success(leaveManagements);
    }

    /**
     * 删除个人离归校申请
     * @param id
     * @return
     */
    @DeleteMapping("/delStudentReturnById/{id}")
    public R delStudentReturnById(@PathVariable("id") String id){
        returnManagementService.delReturnById(id);
        return R.success();
    }

    /**
     * 提交归校申请
     * @param returnManagement
     * @return
     */
    @PostMapping("/commitStudentReturn")
    public R commitStudentReturn(@RequestBody ReturnManagement returnManagement){
        // System.out.println(leaveManagement+"--------------------------");
        returnManagementService.commitStudentReturn(returnManagement);
        return R.success();
    }

    /**
     * 查询所有归校申请
     * @param snumber
     * @return
     */
    @GetMapping("/queryAllMyReturn/{snumber}")
    public R queryAllMyReturn( @PathVariable("snumber") String snumber){
        System.out.println(snumber+"--------------------");
        List<ReturnManagement> returnManagements = returnManagementService.queryAllMyReturn(snumber);

        return R.success(returnManagements);
    }


    @PostMapping("/commitStudentHealth")
    public R commitStudentHealth(@RequestBody Health health){
        // System.out.println(health);
        healthService.commitStudentHealth(health);
        return R.success();
    }

    @GetMapping("/queryAllTeacher")
    public R queryAllTeacher(){
        List<Teacher> teacherList = teacherService.menhuQueryAllTeacher();
        return R.success(teacherList);
    }

    @GetMapping("/getStudentInfoById/{id}")
    public R getStudentInfoById(@PathVariable("id") Integer id){
        Student student = studentService.getStudentInfoById(id);
        return R.success(student);
    }

    @PutMapping("/updateStudentInfoById")
    public R updateStudentInfoById(@RequestBody Student student){
        System.out.println(student+"--------------------");
        studentService.updateStudentInfoById(student);
        return R.success();
    }

    @PutMapping("/updateStudentPasswordById")
    public R updateStudentPasswordById(@RequestBody StudentUpdatePasswordVo student){
        System.out.println(student+"--------------------");
        boolean isExist = studentService.findUserPasswordById(student.getId(), student.getPassword());
        // 代表存在
        if (!isExist) {
            return R.failure().setMessage("原始密码输入错误");
        }

        studentService.updatePasswordById(student);

        return R.success();
    }

}

 

V. Project Summary

The campus epidemic management system developed and designed this time is mainly in line with the current Internet era that has entered the new era of WEB3.0, and uses new technologies and new ideas to contribute to the school's informatization construction. The overall function of the system has realized the relevant core business functions according to the requirements of the original mission statement, including the front-end user operation interface and the background management interface, mainly centering on the business operation functions of the three user roles of user, teacher and administrator Realization, based on the previous demand analysis, the development and testing of business modules such as student management, teacher management, health check-in, and school-leaving audit have been completed.

Guess you like

Origin blog.csdn.net/BS009/article/details/132098587