如何使用ssm实现基于SSM的高校疫情管理系统设计与实现+vue

88 篇文章 0 订阅
34 篇文章 0 订阅

@TOC

ssm197基于SSM的高校疫情管理系统设计与实现+vue

研究背景

现在大家正处于互联网加的时代,这个时代它就是一个信息内容无比丰富,信息处理与管理变得越加高效的网络化的时代,这个时代让大家的生活不仅变得更加地便利化,也让时间变得更加地宝贵化,因为每天的每分钟,每秒钟这些时间都能让人们处理大批量的日常事务,这些场景,是之前的手工模式无法与之相抗衡的。

对于高校疫情信息的管理来说,传统的通过纸质文档记录信息的方式已经落后了,现在疫情仍然需要防控,管理的疫情信息内容也相应增多,依靠手工管理操作,不仅花费较长的工作时间,在对记录各种信息的文档进行信息统计以及信息核对操作时,也不能及时保证信息的准确性,基于这样的办公低效率环境下,对于高校疫情的处理就要提出新的解决方案。因为这个时代的信息一直都在高速发展,要是不抱着发展的观念看待事情,极有可能被这个市场快速遗忘,甚至被无情地淘汰掉。所以尽早开发一款高校疫情管理系统进行信息的快速处理,既跟上了时代的发展脚步,对疫情防控也有很大的帮助。

1.2设计原则

在开始开发项目之前,必须要先考虑项目的实用性、科学性,以及该项目是否能够真正让用户受益并尽可能的发挥项目的作用。因此,在开发前,通过以下几条原则对项目进行判断:

(1)可行性原则。项目需要保证经济可行性和技术可行性,这包括了项目在浏览端、服务端等方面上的经济和技术上是可以达成的。

(2)适应性原则。项目要保证可维护性和可扩展性,这是每个非短期项目都需要考虑的,并且不论是维护还是扩展,都必须要建立在适应用户的正常需求的基础上。

(3)安全性及保密性原则。要充分保证用户信息的安全性和保密性,不能因为开发上的疏忽,导致用户的信息泄露。

(4)系统工程原则。为了确保项目的整体性,在项目调查、项目分析、项目设计、项目开发的过程中,都需遵从项目工程的方法和步骤逐步进行。

(5)统一规划、分期实施、逐步完善原则。项目开发的过程中,要按照规划、分期实施,特别是要注意在项目开发过程中要有条理,从点到面,一步步完善,不要贪图进度,要循环渐进的对项目进行开发。

1.3论文的组织结构

第一章主要是简单的介绍下设计本网站的研究背景和设计原则,在这一章里主要是让大家了解下我的设计的前因后果,为接下来我的其它章节做铺垫。

第二章主要是介绍在设计过程中所涉及到的技术。

第三章主要是介绍下设计这个网站所需要的需求以及我们的功能需求分析,因为只有更好的分析清楚我们的功能需求才能更好的完成我们的设计。

第四章网站系统设计,主要介绍了网站结构的设计以及展示了数据库E-R图设计,这一章主要是为了能让大家更好的了解网站的一些基本设计信息。

第五章系统的实现,介绍了系统每个模块的设计与实现,让大家能清晰的了解系统的主要功能。

第六章系统的测试,这章主要是测试下各个部分每个功能是否能用,看下是否有错误。

第七章系统总结,进行系统最后的总结工作。

2 相关技术简介

2.1Java技术

Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,任何地方都可以运行。除此之外,它还拥有简单的语法和实用的类库,让编程人员可以尽可能将精力集中在问题的求解上,并且许多开源项目和科研成果都是采用它实现的。

在1995年这一年的5月份,著名的Sun Microsystems公司在程序开发设计上面郑重推出一种面向对象开发的程序设计语言——Java,最开始的时候Java是由詹姆斯.高斯林这位伟大的JAVA之父来进行主导,但是在后来由于各种原因,让甲骨文公司这个针对商业程序创建了oracle大型数据库的公司收购了Java。Java的平台总共算下来有3个,分别为javaME和javaSE以及javaEE这3个java平台。下面将对其进行分别介绍。

(1)在电脑桌面程序的开发上面需要选择JavaME,这个用得也比较多。

(2)企业也会根据工作以及业务需要开发各种软件,那么就会选用JavcEE这个支持企业版软件的开发的Java平台,JavcEE主攻运用在企业领域上面的web应用,JavcEE也在javaSE的基础上获得了比如jsp技术 ,Servlet技术等程序开发技术的支持。

(3)现在生活中手机的普及化,也使得手机端这样的移动设备的软件的兴起,JavaME这个迷你版java平台就能运用于移动端的软件开发操作。

2.2B/S结构

此次设计的网络结构模式B/S结构(Browser/Server)。B/S架构也称为B/S模式,是一种服务器以及浏览器架构模式。B/S的工作模式都是先由浏览器请求,服务器再响应。B/S体系结构解决了异构系统中的连接难题,大大改善了系统的开放性,让系统的扩展和维护更加简单;同时,B/S体系结构操作也比较容易,界面全都为浏览器模式,容易分发数据的捕获程序。只要安装通用的浏览器(如WWW浏览器)就能通过Web服务器与数据库进行数据交互。此结构的好处之一在于由于它使用的统一的浏览器,使其可以在不同的地方且不需要用专门的软件进行操作,实现了不论你使用怎样的接入网的方式都可以对公共的数据进行调用和浏览。

相对于C/S模式,B/S模式是对C/S模式应用的扩展,B/S模式不用对不同的计算机安装不同应用程序,还有安全性的要求及对模式上手难度都比前者更好。B/S模式可以让客户机的压力大大减轻,工作的负荷被合理的分配了。

图2-1 B/S模式三层结构图

2.3MYSQL数据库

Mysql现隶属于Oracle公司,之前隶属于SUN公司,却是MySQL AB公司研发出来的数据库[5]。

MySQL数据库是一种开源的关系行数据库操作系统其使用的SQL语言是用来访问数据库较为标准的常用数据库操作语言。而且MySQL数据库体积较小易于安装、运行速度较快、所花费的成本较低搭载超文本预处理器接口与web服务器软件或服务可以组成良好的开发环境。

Mysql是当今最为热门的数据库之一,它是用于WEB应用程序的最佳RDBMS(关系数据库管理系统)应用程序。Mysql所使用的语言也是访问数据库最常用的语言,而且体积较小,速度较快,并且成本较低,所以本系统选择Mysql作为系统的数据库,许多中小型的网站一般都是选择Mysql作为网站的数据库。Mysql的数据库是存放在表中的,所以它的速度较快,而且也较为的灵活。MySQL操作起来十分简便,因为MySQL不是讲所有的数据堆放在一起,这样数据量大,查找起来需要的时间很多。它是将数据保存在不同的表中,这些表具有关联性,查找时直接从表中获取数据,这样大大提高了查找的速度。且MySQL是免费的,这对于大多数研发人员来说,是极大的诱惑。MySQL可以使用标准的sql数据语句,使用起来简单方便。

2.4 SSM框架

本基于SSM的高校疫情管理系统基于Spring、SpringMVC、Mybatis框架进行开发设计。

Spring 框架是在2004年首次发布,之后出现了多次的重大修订。Spring框架是由七个不同的模块组成,分别是SpringCore、Spring AOP、Spring ORM、Spring DAO、Spring Web Flow、Spring Context和Spring Web MVC。这些模块提供不同的平台来开发不同的企业应用程序 ,本课题使用Spring Web MVC模块开发基于MVC的应用程序。

Spring Web MVC是基于Servlet API的原始Web框架,从一开始就包含在Spring 框架中。“Spring Web MVC”是该框架的正式名称,但通常被简称为“Spring MVC”。Spring MVC框架提供了模型模块-视图模块-控制器的架构和可用于直接开发的Web应用程序的现成组件。Spring MVC模式将应用程序的不同方面分开,使元素之间形成松散耦合。

MyBatis原名叫做iBatis属于持久层框架,消除了大部分JDBC代码和参数的设置以及结果集的检索。这个框架不仅支持普通SQL查询和存储过程,还支持高级的映射。MyBatis使用.xml和注解来做原始映射和配置,将接口和Java对象映射成数据库记录。

3 系统分析

3.1可行性分析

在进行可行性分析时,我们通常根据软件工程里方法,通过四个方面来进行分析,分别是技术、经济、操作和法律可行性。因此,在基于对目标系统的基本调查和研究后,对提出的基本方案进行可行性分析。

3.1.1技术可行性

本基于SSM的高校疫情管理系统的设计与实现采用Java技术和MYSQL数据库进行开发设计,作为计算机专业学生,在学校期间就接触到许多关于编程方面的知识,当然也包括各种编程软件,对他们的了解度也比较系统,所以技术开发上面还是有一定把握。

3.1.2操作可行性

本系统操作页面简洁明了,操作极其容易,用户登陆后一眼便可看到自己所需要的信息,而操作也十分轻松便捷,只要操作人员具有一定的文字水平以及简单的逻辑思维,就可以轻松操作本系统,因此本系统在操作上是可行的。

3.1.3经济可行性

该系统的开发工具使用的都是免费的开发工具,且内容较为简单,一台计算机便可以开发出这个系统,且后期的维护,修改等对本系统的改动,都可以只通过一台计算机实现,因此开发该系统的成本在有计算机的情况下基本为0,所以本系统在经济上是可行的。

3.1.4法律可行性

本基于SSM的高校疫情管理系统的设计与实现开发的所有技术资料都为合法,知识产权问题不会发生在开发过程中,而且没有抄袭其他相关系统,不会有侵犯版权的问题。所以在开发过程中不会涉及法律责任。

通过以上可行性分析得知,可以利用现有的技术和合理的成本开发出本网站,并且能够在遵守相关法律的基础上运行该系统。

3.2系统性能分析

(1)完整性分析

要求各种信息记录的完整性,内容不能为空,各种数据间联系应保持正确性,且相同的数据在不同记录中的一致性。

(2)系统运行速度分析

页面响应时问应该在3秒以内,最长不能超过4秒。

(3)界面分析

系统界面要求简单明了,容易操作,符合用户操作习惯。

(4)安全性分析

要充分保证系统的安全性、稳定性。要想对系统进行管理,必须经过正确的账号密码进行登录,否则无权进行管理。在具体实现中对不同的权限进行设定,不同权限的用户在系统中登陆后,不可以越级操作。

3.3系统功能分析

此基于SSM的高校疫情管理系统的设计与实现功能分析主要分为管理员功能模块、教师功能模块和学生功能模块三大模块,下面详细介绍这三大模块的主要功能:

(1)管理员:管理员登陆后可对系统进行全面管理,管理员主要功能模块包括个人中心、学生管理、教师管理、疫情资讯管理、学生居家信息管理、学生返校申请管理、教师居家信息管理、教师返校申请管理、学生健康打卡管理、教师健康打卡管理、学生请假管理、管理员管理、留言板管理以及系统管理,管理员实现了对系统信息的查看、添加、修改和删除的功能。管理员用例图如图3-1所示。

图3-1 管理员用例图

(2)学生:学生在系统前台可查看系统信息,包括首页、疫情资讯以及留言反馈,学生登录后主要功能模块包括个人中心、学生居家信息管理、学生返校申请管理、学生健康打卡管理、学生请假管理以及留言板管理。

图3-2 学生用例图

(3)教师:教师登录后主要实现的功能模块包括个人中心、教师居家信息管理、教师返校申请管理、健身健康打卡管理。

图3-3 教师用例图

3.4系统流程分析

3.4.1登录流程

登录模块主要满足了学生、教师以及管理员的权限登录,登录流程图如图3-4所示。

图 3-4登录流程图

3.4.2添加信息流程

管理员、教师和学生登录后均可进行信息的添加操作,添加信息流程图如图3-5所示。

图3-5添加信息流程图

4 系统设计

4.1系统概要设计

基于SSM的高校疫情管理系统的设计与实现主要分为管理员、教师和学生三个角色,系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:

图4-1 系统工作原理图

4.2系统结构设计

系统架构的整体设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。本基于SSM的高校疫情管理系统的设计与实现主要包括学生功能模块、教师功能模块和管理员功能模块三大部分,系统结构设计如图4-2所示。

图4-2系统结构图

4.3 系统顺序图

(1)登录模块顺序图

登录模块主要满足了管理员、学生和教师的权限登录,登录模块顺序图如图4-2所示。

图4-2 登录顺序图

(2)添加信息模块顺序图

管理员、学生和教师登录后均可进行信息的添加操作,添加信息顺序图如图4-3所示

图4-3 添加信息顺序图

4.4数据库设计

4.4.1 数据库实体(E-R图)

E-R图是一种描述显示数据类型间的关系的数据描述方法,E-R图可以完整地映射出现实模型的关系。

实体联系模型反映出来的是现实世界中实体的相互间关联的关系,是用来在数据库设计过程中表示数据库系统结构的方法。它的思想是使用现有的数据模型来表现出目前项目实体间所具有的现实关联。E-R图是可以表示实体间相互关联的意义,直观反映出实体间的关联。

在为实体设计属性与关联的时候便可以确定实体间主外键的关联关系,实体所具有的延伸性。在E-R图中这些都能直观的显示出来。像这样将数据分类成组后,就会产生了与相关的分组所不同的信心,这样更加的易于用户进行观察和实际分析。本基于SSM的高校疫情管理系统的设计与实现的E-R图如下所示:

(1)教师返校申请实体属性E-R图如图4-6所示。

图4-6 教师返校申请实体属性E-R图

(2)学生健康打卡实体属性E-R图如图4-7所示。

图4-7 学生健康打卡实体属性E-R图

(3)管理员实体属性E-R图如图4-8所示。

图4-8 管理员实体属性E-R图

(4)教师实体属性E-R图如图4-9所示。

图4-9 教师实体属性E-R图

(5)学生实体属性E-R图如图4-10所示。

图4-10 学生实体属性E-R图

4.4.2 数据库表设计

本基于SSM的高校疫情管理系统的设计与实现采用了MYSQL数据库管理系统,各个表的设计结果如下:

表4-1 jiaoshifanxiaoshenqing教师返校申请信息表

字段名数据类型是否允许空字段含义
idbigint(20)NOT NULL编号
addtimetimestampNULL添加时间
jiaoshigonghaovarchar(200)NULL教师工号'
jiaoshixingmingvarchar(200)NULL教师姓名
lianxidianhuavarchar(200)NULL联系电话
`shenfenzhenghaovarchar(200)NULL身份证号
jiatingzhuzhivarchar(200)NULL家庭住址
fanxiaoriqi`dateNULL返校日期
fanxiaofangshivarchar(200)NULL返校方式
fanxiaochecivarchar(200)NULL返校车次
`zuozaidifengxiandengjivarchar(200)NULL所在地风险等级
hesuanjiancebaogaovarchar(200)NULL核酸检测报告
fanxiaohoushifoujinxinggelivarchar(200)NULL返校后是否进行隔离
`sfshvarchar(200)NULL是否审核
shhflongtextNULL审核回复

表4-2 xueshengjiankangdaka学生健康打卡信息表

字段名数据类型是否允许空字段含义
idbigint(20)NOT NULL编号
addtimetimestampNULL添加时间
xueshenghaovarchar(200)NULL学生号
xueshengxingming`varchar(200)NULL学生姓名
shoujihaomavarchar(200)NULL手机号码
shenfenzhenghaovarchar(200)NULL身份证号
tiwenvarchar(200)NULL体温
youwukesou`varchar(200)NULL有无咳嗽
beizhuvarchar(200)NULL备注
dakariqidateNULL打卡日期

表4-3 users管理员信息表

字段名数据类型是否允许空字段含义
idbigint(20)NOT NULL编号
usernamevarchar(100)NULL用户名
passwordvarchar(100)NULL密码
rolevarchar(100)NULL角色
addtimetimestampNULL添加时间

表4-4 jiaoshi教师信息表

字段名数据类型是否允许空字段含义
idbigint(20)NOT NULL编号
addtimetimestampNULL添加时间
jiaoshigonghaovarchar(200)NULL教师工号
mimavarchar(200)NULL密码
jiaoshixingmingvarchar(200)NULL教师姓名
touxiang`varchar(200)NULL头像
`xingbievarchar(200)NULL性别
lianxidianhua`varchar(200)NULL联系电话
shenfenzhenghaovarchar(200)NULL身份证号
jiatingzhuzhivarchar(200)NULL家庭住址

表4-5 xuesheng学生信息表

字段名数据类型是否允许空字段含义
idbigint(20)NOT NULL编号
addtimetimestampNULL添加时间
xueshenghaovarchar(200)NULL学生号
mimavarchar(200)NULL密码
xueshengxingmingvarchar(200)NULL学生姓名
xingbievarchar(200)NULL性别
touxiangvarchar(200)NULL头像
banji`varchar(200)NULL班级
shoujihaomavarchar(200)NULL手机号
`shenfenzhenghaovarchar(200)NULL身份证号码
jiatingzhuzhivarchar(200)NULL家庭住址

5 系统的实现

5.1系统主界面的实现

学生在系统前台可查看系统信息,包括首页、疫情资讯以及留言反馈,系统主界面展示如图5-1所示。

图5-1系统主界面图

5.2登录模块的实现

用户在登录界面可输入用户名和密码,选择登录类型,点击登录按钮进行登录系统,登录界面展示如图5-2所示。

图5-2 登录界面图

5.3教师管理模块的实现

管理员可增删改查教师信息,教师管理界面展示如图5-2所示。

图5-3 教师管理界面图

5.4学生管理模块的实现

管理员可查看、添加、修改和删除学生信息,学生管理界面展示如图5-4所示。

图5-4 学生管理界面图

5.5学生返校申请管理模块的实现

学生登录后可添加返校申请信息,管理员可查看申请,并可对其进行审核、修改和删除操作,学生返校申请管理界面展示如图5-5所示,添加学生返校申请界面展示如图5-6所示。。

图5-5 学生返校申请管理界面图

图5-6 添加学生返校申请界面图

5.6学生健康打卡管理模块的实现

学生登录后可进行统计健康打卡信息,管理员可查看学生健康打卡信息,并可对其进行管理操作,添加学生健康打卡界面展示如图5-7所示,学生健康打卡管理界面展示如图5-8所示。

图5-7 添加学生健康打卡面图

图5-8 学生健康打卡管理界面图

5.7学生请假管理模块的实现

学生可添加请假信息,管理员可查看学生请假,并可对其进行审核、管理,添加学生请假界面展示如图5-7所示,学生请假管理界面展示如图5-8所示。

图5-9 添加学生请假界面图

图5-10 学生请假管理界面图

5.8教师返校申请管理模块的实现

教师登录后可添加返校申请信息,管理员可对其进行审核管理操作,教师返校申请添加界面展示如图5-11所示,教师返校申请管理界面展示如图5-12所示。

图5-11 教师返校申请添加界面图

图5-12 教师返校申请管理界面图

系统

XueshengfanxiaoshenqingServiceImpl.java
package com.service.impl;

import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.List;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.utils.PageUtils;
import com.utils.Query;


import com.dao.XueshengfanxiaoshenqingDao;
import com.entity.XueshengfanxiaoshenqingEntity;
import com.service.XueshengfanxiaoshenqingService;
import com.entity.vo.XueshengfanxiaoshenqingVO;
import com.entity.view.XueshengfanxiaoshenqingView;

@Service("xueshengfanxiaoshenqingService")
public class XueshengfanxiaoshenqingServiceImpl extends ServiceImpl<XueshengfanxiaoshenqingDao, XueshengfanxiaoshenqingEntity> implements XueshengfanxiaoshenqingService {
	

    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        Page<XueshengfanxiaoshenqingEntity> page = this.selectPage(
                new Query<XueshengfanxiaoshenqingEntity>(params).getPage(),
                new EntityWrapper<XueshengfanxiaoshenqingEntity>()
        );
        return new PageUtils(page);
    }
    
    @Override
	public PageUtils queryPage(Map<String, Object> params, Wrapper<XueshengfanxiaoshenqingEntity> wrapper) {
		  Page<XueshengfanxiaoshenqingView> page =new Query<XueshengfanxiaoshenqingView>(params).getPage();
	        page.setRecords(baseMapper.selectListView(page,wrapper));
	    	PageUtils pageUtil = new PageUtils(page);
	    	return pageUtil;
 	}
    
    @Override
	public List<XueshengfanxiaoshenqingVO> selectListVO(Wrapper<XueshengfanxiaoshenqingEntity> wrapper) {
 		return baseMapper.selectListVO(wrapper);
	}
	
	@Override
	public XueshengfanxiaoshenqingVO selectVO(Wrapper<XueshengfanxiaoshenqingEntity> wrapper) {
 		return baseMapper.selectVO(wrapper);
	}
	
	@Override
	public List<XueshengfanxiaoshenqingView> selectListView(Wrapper<XueshengfanxiaoshenqingEntity> wrapper) {
		return baseMapper.selectListView(wrapper);
	}

	@Override
	public XueshengfanxiaoshenqingView selectView(Wrapper<XueshengfanxiaoshenqingEntity> wrapper) {
		return baseMapper.selectView(wrapper);
	}

}

XueshengjiankangdakaController.java
package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.XueshengjiankangdakaEntity;
import com.entity.view.XueshengjiankangdakaView;

import com.service.XueshengjiankangdakaService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 学生健康打卡
 * 后端接口
 * @author 
 * @email 
 * @date 2021-04-15 11:56:39
 */
@RestController
@RequestMapping("/xueshengjiankangdaka")
public class XueshengjiankangdakaController {
    @Autowired
    private XueshengjiankangdakaService xueshengjiankangdakaService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,XueshengjiankangdakaEntity xueshengjiankangdaka, 
		HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("xuesheng")) {
			xueshengjiankangdaka.setXueshenghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<XueshengjiankangdakaEntity> ew = new EntityWrapper<XueshengjiankangdakaEntity>();
		PageUtils page = xueshengjiankangdakaService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xueshengjiankangdaka), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,XueshengjiankangdakaEntity xueshengjiankangdaka, HttpServletRequest request){
        EntityWrapper<XueshengjiankangdakaEntity> ew = new EntityWrapper<XueshengjiankangdakaEntity>();
		PageUtils page = xueshengjiankangdakaService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xueshengjiankangdaka), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( XueshengjiankangdakaEntity xueshengjiankangdaka){
       	EntityWrapper<XueshengjiankangdakaEntity> ew = new EntityWrapper<XueshengjiankangdakaEntity>();
      	ew.allEq(MPUtil.allEQMapPre( xueshengjiankangdaka, "xueshengjiankangdaka")); 
        return R.ok().put("data", xueshengjiankangdakaService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(XueshengjiankangdakaEntity xueshengjiankangdaka){
        EntityWrapper< XueshengjiankangdakaEntity> ew = new EntityWrapper< XueshengjiankangdakaEntity>();
 		ew.allEq(MPUtil.allEQMapPre( xueshengjiankangdaka, "xueshengjiankangdaka")); 
		XueshengjiankangdakaView xueshengjiankangdakaView =  xueshengjiankangdakaService.selectView(ew);
		return R.ok("查询学生健康打卡成功").put("data", xueshengjiankangdakaView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        XueshengjiankangdakaEntity xueshengjiankangdaka = xueshengjiankangdakaService.selectById(id);
        return R.ok().put("data", xueshengjiankangdaka);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        XueshengjiankangdakaEntity xueshengjiankangdaka = xueshengjiankangdakaService.selectById(id);
        return R.ok().put("data", xueshengjiankangdaka);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody XueshengjiankangdakaEntity xueshengjiankangdaka, HttpServletRequest request){
    	xueshengjiankangdaka.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(xueshengjiankangdaka);

        xueshengjiankangdakaService.insert(xueshengjiankangdaka);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody XueshengjiankangdakaEntity xueshengjiankangdaka, HttpServletRequest request){
    	xueshengjiankangdaka.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(xueshengjiankangdaka);

        xueshengjiankangdakaService.insert(xueshengjiankangdaka);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody XueshengjiankangdakaEntity xueshengjiankangdaka, HttpServletRequest request){
        //ValidatorUtils.validateEntity(xueshengjiankangdaka);
        xueshengjiankangdakaService.updateById(xueshengjiankangdaka);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        xueshengjiankangdakaService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<XueshengjiankangdakaEntity> wrapper = new EntityWrapper<XueshengjiankangdakaEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("xuesheng")) {
			wrapper.eq("xueshenghao", (String)request.getSession().getAttribute("username"));
		}

		int count = xueshengjiankangdakaService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

ConfigServiceImpl.java

package com.service.impl;


import java.util.Map;

import org.springframework.stereotype.Service;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.dao.ConfigDao;
import com.entity.ConfigEntity;
import com.entity.UserEntity;
import com.service.ConfigService;
import com.utils.PageUtils;
import com.utils.Query;


/**
 * 系统用户
 */
@Service("configService")
public class ConfigServiceImpl extends ServiceImpl<ConfigDao, ConfigEntity> implements ConfigService {
	@Override
	public PageUtils queryPage(Map<String, Object> params) {
		Page<ConfigEntity> page = this.selectPage(
                new Query<ConfigEntity>(params).getPage(),
                new EntityWrapper<ConfigEntity>()
        );
        return new PageUtils(page);
	}
}

svgo.yml
# replace default config
# 基于svgo对svg文件进行压缩:https://panjiachen.github.io/vue-element-admin-site/zh/feature/script/svgo.html
# multipass: true
# full: true

plugins:

  # - name
  #
  # or:
  # - name: false
  # - name: true
  #
  # or:
  # - name:
  #     param1: 1
  #     param2: 2

- removeAttrs:
    attrs:
      - 'fill'
      - 'fill-rule'

声明

本博客适用于广泛的学术和教育用途,包括但不限于个人学习、开发设计,产品设计。仅供学习参考,旨在为读者提供深入理解和学术研究的材料。

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值