springboot老年康复中心 计算机毕设源码27406
摘 要
随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出法,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用Springboo框架建设老年康复中心信息管理系统。
本设计主要实现集人性化、高效率、便捷等优点于一身的老年康复中心信息管理系统,完成管理康复中心入住管理、护工人员管理、康复训练管理、入住管理、缴费管理、药库管理、网上咨询等功能模块。系统通过浏览器与服务器进行通信,实现数据的交互与变更。只需通过一台电脑,动动手指就可以操作系统,实现数据通信管理。整个系统的设计过程都充分考虑了数据的安全、稳定及可靠
等问题,而且操作过程简单。本系统通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上的错误和遗漏。
本文中数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
关键词:老年康复中心;springboot;Mysql
Spring boot urticaria rehabilitation management system
Abstract
With the development of society, all walks of life are taking advantage of the advantages of the information age. The advantages and popularity of computers make the development of various information systems necessary.
The main modules of urticaria rehabilitation management system include viewing the home page, website management (rotation chart, announcement), personnel management (administrator, system user, doctor user), content management (health information, information classification), module management (weather information, rehabilitation guidance, online consultation, consultation information, medication information, medication reminder, health file, punch in), personal management and other functions. The administrator in the system is mainly to store and manage all kinds of information safely and effectively, and can also manage, update and maintain the system, and have corresponding operation permissions for the background.
In order to realize the functions of urticaria rehabilitation management system, we need the strong support of the background database. The administrator verifies the registration information, collects user information, and analyzes the associated information and other large amounts of data, which are managed by the database management system. In this paper, the database server uses MySQL as the background database, which makes the Web and database closely linked. In the design process, the system code is fully guaranteed to be readable, practical, extensible, universal, easy to maintain, easy to operate and concise.
The development of this system makes it easier and faster to obtain the information of urticaria rehabilitation management system, and also makes the management information of urticaria rehabilitation management system more systematic and orderly. The system interface is friendly and easy to operate.
Key words: urticaria rehabilitation management system; springboot; Mysql
1 系统概述
1.1 概述
1.2课题意义
1.3 本文的组织结构
第一章是绪论,本文章的开头部分,对本题目的研究背景和研究意义等一些做文字性的描述。
第二章研究了老年康复中心信息管理系统的所采用的开发技术和开发工具。
第三章是系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。
第四章是系统设计部分,本文章的重要部分,提供了系统架构的详细设计和-一些主要功能模块的设计说明。
2 系统开发环境
2.1 Spring Boot框架
2.2 JAVA简介
Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,java servlet API,SPRINGBOOT(java server pages),和XML技术。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。
2.3访问数据库实现方法
(2)系统,直到我MYSQL5.0 PHP集成开发环境,如使用WAMP服务器处于开机状态,并且更容易访问数据库的报告开发环境:
一个连接到MySQL数据库服务器Mysql_connect-;
语法:资源的mysql_connect(主机,用户名,密码);
请选择数据库:mysql_select_db(数据库链接标识的名称);
2.4系统对MySQL数据库的两种连接方式
活动的MySQL/ MySQL库,或使用ODBC接口,MySQL数据库是一个双向链接。永久及非永久连接。
2.5 MySql数据库
2.6 Vue.js 主要功能
Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。
3 需求分析
3.1技术可行性:技术背景
老年康复中心是在Windows操作系统中进行开发运用的,而且目前PC机的各项性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。
系统的开发环境和配置都是可以自行安装的,系统使用Java开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。
(1)硬件可行性分析
系统管理及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。
(2)软件可行性分析
开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障了数据信息能够得到及时的备份,整个系统可以安全有效的运行。
因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。
3.2经济可行性
使用比较成熟的技术,系统是基于Java的开发,采用Mysql数据库。所以系统在开发人力、财力方面的要求不高,具有经济可行性。
3.3操作可行性:
3.4系统设计规则
本老年康复中心采用Java技术,Mysql数据库开发,充分保证了系统稳定性、完整性。
操作简单方便、系统界面安全良好:简单明了的页面布局,方便查询老年康复中心管理的相关信息。
2、即时可见:对老年康复中心信息的处理将立马在对应地点可以查询到,从而实现“即时发布、即时见效”的系统功能。
3.5系统流程和逻辑
4系统概要设计
4.1 概述
老年康复中心基于Web服务模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在不受时间、地点的限制来使用这个系统。老年康复中心工作原理图,如图4-1所示:
图4-1 系统工作原理图
4.2 系统结构
整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。
4.3. 数据库设计
4.3.1 数据库实体
4.3.2 数据库设计表
4.4 数据表
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
access_token |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
token_id |
int |
11 |
是 |
是 |
临时访问牌ID |
token |
varchar |
64 |
否 |
否 |
临时访问牌 |
info |
text |
0 |
否 |
否 |
|
maxage |
int |
2 |
是 |
否 |
最大寿命 |
create_time |
timestamp |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
user_id |
int |
11 |
是 |
是 |
用户编号 |
charging_standard |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
charging_standard_id |
int |
11 |
是 |
否 |
收费标准ID |
entry_name |
varchar |
64 |
否 |
否 |
项目名称 |
charging_standard |
varchar |
64 |
否 |
否 |
收费标准 |
project_details |
longtext |
0 |
否 |
否 |
项目详情 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
check_in_information |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
check_in_information_id |
int |
11 |
是 |
否 |
入住信息ID |
appointment_no |
varchar |
64 |
是 |
否 |
预约号 |
serial_no |
varchar |
64 |
否 |
否 |
序号 |
room_name |
varchar |
64 |
否 |
否 |
房间名称 |
room_location |
varchar |
64 |
否 |
否 |
房间位置 |
make_an_appointment_for_a_bed |
varchar |
64 |
否 |
否 |
预约床位 |
ordinary_users |
int |
11 |
否 |
否 |
普通用户 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
gender |
varchar |
64 |
否 |
否 |
性别 |
id_number |
varchar |
64 |
否 |
否 |
身份证号 |
patient_no |
varchar |
64 |
否 |
否 |
患者编号 |
nursing_users |
int |
11 |
否 |
否 |
护工用户 |
check_in_date |
date |
0 |
否 |
否 |
入住日期 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
confirm_medication |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
confirm_medication_id |
int |
11 |
是 |
否 |
确认用药ID |
delivery_no |
varchar |
64 |
是 |
否 |
出库号 |
drug_no |
varchar |
64 |
否 |
否 |
药品编号 |
drug_name |
varchar |
64 |
否 |
否 |
药品名称 |
drug_type |
varchar |
64 |
否 |
否 |
药品类型 |
drug_specifications |
varchar |
64 |
否 |
否 |
药品规格 |
drug_taboos |
varchar |
64 |
否 |
否 |
药品禁忌 |
drug_users |
int |
11 |
否 |
否 |
用药用户 |
medicine_taking_nurse |
int |
11 |
否 |
否 |
取药护工 |
drug_unit_price |
int |
11 |
否 |
否 |
药品单价 |
number_of_drugs |
int |
11 |
否 |
否 |
用药数量 |
drug_amount |
varchar |
64 |
否 |
否 |
药品金额 |
drug_usage |
varchar |
64 |
否 |
否 |
药品用法 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
discharge_information |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
discharge_information_id |
int |
11 |
是 |
否 |
出院信息ID |
appointment_no |
varchar |
64 |
是 |
否 |
预约号 |
serial_no |
varchar |
64 |
否 |
否 |
序号 |
room_name |
varchar |
64 |
否 |
否 |
房间名称 |
room_location |
varchar |
64 |
否 |
否 |
房间位置 |
make_an_appointment_for_a_bed |
varchar |
64 |
否 |
否 |
预约床位 |
ordinary_users |
int |
11 |
否 |
否 |
普通用户 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
gender |
varchar |
64 |
否 |
否 |
性别 |
id_number |
varchar |
64 |
否 |
否 |
身份证号 |
patient_no |
varchar |
64 |
否 |
否 |
患者编号 |
nursing_users |
int |
11 |
否 |
否 |
护工用户 |
discharge_date |
date |
0 |
否 |
否 |
出院日期 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
drug_store_information |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
drug_store_information_id |
int |
11 |
是 |
否 |
药库信息ID |
drug_no |
varchar |
64 |
否 |
否 |
药品编号 |
drug_name |
varchar |
64 |
否 |
否 |
药品名称 |
drug_type |
varchar |
64 |
否 |
否 |
药品类型 |
drug_specifications |
varchar |
64 |
否 |
否 |
药品规格 |
inventory_quantity |
int |
11 |
否 |
否 |
库存数量 |
drug_taboos |
varchar |
64 |
否 |
否 |
药品禁忌 |
drug_unit_price |
int |
11 |
否 |
否 |
药品单价 |
drug_description |
longtext |
0 |
否 |
否 |
药品说明 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
drugs_warehousing |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
drugs_warehousing_id |
int |
11 |
是 |
否 |
药品入库ID |
warehousing_no |
varchar |
64 |
否 |
否 |
入库号 |
drug_no |
varchar |
64 |
否 |
否 |
药品编号 |
drug_name |
varchar |
64 |
否 |
否 |
药品名称 |
drug_type |
varchar |
64 |
否 |
否 |
药品类型 |
drug_specifications |
varchar |
64 |
否 |
否 |
药品规格 |
receipt_quantity |
int |
11 |
否 |
否 |
入库数量 |
channel |
varchar |
64 |
否 |
否 |
渠道 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
going_out_registration |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
going_out_registration_id |
int |
11 |
是 |
否 |
外出登记ID |
registration_no |
varchar |
64 |
否 |
否 |
登记号 |
serial_no |
varchar |
64 |
否 |
否 |
序号 |
room_name |
varchar |
64 |
否 |
否 |
房间名称 |
room_location |
varchar |
64 |
否 |
否 |
房间位置 |
make_an_appointment_for_a_bed |
varchar |
64 |
否 |
否 |
预约床位 |
ordinary_users |
int |
11 |
否 |
否 |
普通用户 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
gender |
varchar |
64 |
否 |
否 |
性别 |
id_number |
varchar |
64 |
否 |
否 |
身份证号 |
patient_no |
varchar |
64 |
否 |
否 |
患者编号 |
date_of_going_out |
date |
0 |
否 |
否 |
外出日期 |
reasons_for_going_out |
longtext |
0 |
否 |
否 |
外出原因 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
examine_reply |
varchar |
16 |
否 |
否 |
审核回复 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
medication_information |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
medication_information_id |
int |
11 |
是 |
否 |
用药信息ID |
delivery_no |
varchar |
64 |
否 |
否 |
出库号 |
drug_no |
varchar |
64 |
否 |
否 |
药品编号 |
drug_name |
varchar |
64 |
否 |
否 |
药品名称 |
drug_type |
varchar |
64 |
否 |
否 |
药品类型 |
drug_specifications |
varchar |
64 |
否 |
否 |
药品规格 |
drug_taboos |
varchar |
64 |
否 |
否 |
药品禁忌 |
drug_users |
int |
11 |
否 |
否 |
用药用户 |
drug_unit_price |
int |
11 |
否 |
否 |
药品单价 |
medicine_taking_nurse |
int |
11 |
否 |
否 |
取药护工 |
number_of_drugs |
int |
11 |
否 |
否 |
用药数量 |
drug_amount |
varchar |
64 |
否 |
否 |
药品金额 |
drug_usage |
varchar |
64 |
否 |
否 |
药品用法 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
examine_reply |
varchar |
16 |
否 |
否 |
审核回复 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
nursing_users |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
nursing_users_id |
int |
11 |
是 |
否 |
护工用户ID |
name_of_nurse |
varchar |
64 |
是 |
否 |
护工姓名 |
nurse_no |
varchar |
64 |
是 |
否 |
护工工号 |
gender |
varchar |
64 |
是 |
否 |
性别 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
user_id |
int |
11 |
是 |
否 |
用户ID |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
online_consultation |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
online_consultation_id |
int |
11 |
是 |
否 |
网上咨询ID |
consulting_users |
int |
11 |
否 |
否 |
咨询用户 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
patient_no |
varchar |
64 |
否 |
否 |
患者编号 |
consultation_content |
longtext |
0 |
否 |
否 |
咨询内容 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
examine_reply |
varchar |
16 |
否 |
否 |
审核回复 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
ordinary_users |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
ordinary_users_id |
int |
11 |
是 |
否 |
普通用户ID |
user_name |
varchar |
64 |
是 |
否 |
用户姓名 |
gender |
varchar |
64 |
是 |
否 |
性别 |
id_number |
varchar |
255 |
是 |
否 |
身份证号 |
patient_no |
varchar |
64 |
是 |
否 |
患者编号 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
user_id |
int |
11 |
是 |
否 |
用户ID |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
payment_information |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
payment_information_id |
int |
11 |
是 |
否 |
缴费信息ID |
payment_no |
varchar |
64 |
否 |
否 |
缴费编号 |
payment_user |
int |
11 |
否 |
否 |
缴费用户 |
payment_name |
varchar |
64 |
否 |
否 |
缴费名称 |
payment_amount |
int |
11 |
否 |
否 |
缴费金额 |
payment_instructions |
longtext |
0 |
否 |
否 |
缴费说明 |
pay_state |
varchar |
16 |
是 |
否 |
支付状态 |
pay_type |
varchar |
16 |
否 |
否 |
支付类型 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
rehabilitation_training |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
rehabilitation_training_id |
int |
11 |
是 |
否 |
康复训练ID |
room_name |
varchar |
64 |
否 |
否 |
房间名称 |
room_location |
varchar |
64 |
否 |
否 |
房间位置 |
make_an_appointment_for_a_bed |
varchar |
64 |
否 |
否 |
预约床位 |
ordinary_users |
int |
11 |
否 |
否 |
普通用户 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
gender |
varchar |
64 |
否 |
否 |
性别 |
id_number |
varchar |
64 |
否 |
否 |
身份证号 |
patient_no |
varchar |
64 |
否 |
否 |
患者编号 |
nursing_users |
int |
11 |
否 |
否 |
护工用户 |
training_video |
varchar |
255 |
否 |
否 |
训练视频 |
training_content |
longtext |
0 |
否 |
否 |
训练内容 |
enclosure |
varchar |
255 |
否 |
否 |
附件 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
examine_reply |
varchar |
16 |
否 |
否 |
审核回复 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
room_information |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
room_information_id |
int |
11 |
是 |
否 |
房间信息ID |
serial_no |
varchar |
64 |
否 |
否 |
序号 |
room_name |
varchar |
64 |
否 |
否 |
房间名称 |
room_location |
varchar |
64 |
否 |
否 |
房间位置 |
number_of_beds |
int |
11 |
否 |
否 |
床位数 |
room_details |
longtext |
0 |
否 |
否 |
房间详情 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
training_notice |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
training_notice_id |
int |
11 |
是 |
否 |
训练通知ID |
room_name |
varchar |
64 |
否 |
否 |
房间名称 |
room_location |
varchar |
64 |
否 |
否 |
房间位置 |
make_an_appointment_for_a_bed |
varchar |
64 |
否 |
否 |
预约床位 |
ordinary_users |
int |
11 |
否 |
否 |
普通用户 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
gender |
varchar |
64 |
否 |
否 |
性别 |
id_number |
varchar |
64 |
否 |
否 |
身份证号 |
patient_no |
varchar |
64 |
否 |
否 |
患者编号 |
nursing_users |
int |
11 |
否 |
否 |
护工用户 |
training_accessories |
varchar |
255 |
否 |
否 |
训练附件 |
remarks |
varchar |
64 |
否 |
否 |
备注 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
examine_reply |
varchar |
16 |
否 |
否 |
审核回复 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
5 系统详细设计
5.1登录模块的实现
系统的登录窗口是用户的入口,用户只有在登录成功后才可以进入访问。通过在登录提交表单,后台处理判断是否为合法用户,进行页面跳转,进入系统中去。
登录合法性判断过程:用户输入账号和密码后,系统首先确定输入输入数据合法性,然后在login.jsp页面发送登录请求,调用src下的mainctrl类的dopost方法来验证。
用户登录模块的IPO如下所示:
输入:用户名和密码。
处理:
1)检测用户输入的账号、密码是否正确及在数据库已对应存在。
2)从数据库中提取记录,并储存在本地的session中(timeout默认=30min)。
3)根据用户名,将其显示在系统首页上。
输出:是否成功的信息。
登录流程图如下所示。
图5-1登录流程图
系统登录界面如下所示。
图5-2系统登录界面
用户登录的逻辑代码如下。
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
tokenService.save(accessToken);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
5.2用户子系统模块的实现
5.2.1用户首页模块
系统呈现出一种简洁大方的首页:界面简约、鳞次栉比,用户能轻车熟路的使用。出于对系统使用群体广泛的顾虑,应有良好性能的后台。
@RequestMapping(value = {"/avg_group", "/avg"})
public Map<String, Object> avg(HttpServletRequest request) {
Query count = service.avg(service.readQuery(request), service.readConfig(request));
return success(count.getResultList());
}
5.2.2注册模块
此页面实现普通用户的注册,必须注册登录后才能使用系统大部分功能,用户名不允许重复如果重复将会注册失败,并弹出相应的提示,通过js实现对输入的验证。
用户注册流程图如下所示。
图5-4用户注册流程图
用户注册界面如下图所示。
图5-5用户注册界面
用户注册关键代码如下所示。
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
query.put("username",user.getUsername());
List list = service.select(query, new HashMap<>()).getResultList();
if (list.size()>0){
return error(30000, "用户已存在");
}
user.setUserId(null);
user.setPassword(service.encryption(user.getPassword()));
service.save(user);
return success(1);
}
/**
* 用户ID:[0,8388607]用户获取其他与用户相关的数据
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id")
private Integer userId;
/**
* 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)
*/
@Basic
@Column(name = "state")
private Integer state;
/**
* 所在用户组:[0,32767]决定用户身份和权限
*/
@Basic
@Column(name = "user_group")
private String userGroup;
/**
* 上次登录时间:
*/
@Basic
@Column(name = "login_time")
private Timestamp loginTime;
/**
* 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时
*/
@Basic
@Column(name = "phone")
private String phone;
/**
* 手机认证:[0,1](0未认证|1审核中|2已认证)
*/
@Basic
@Column(name = "phone_state")
private Integer phoneState;
/**
* 用户名:[0,16]用户登录时所用的账户名称
*/
@Basic
@Column(name = "username")
private String username;
/**
* 昵称:[0,16]
*/
@Basic
@Column(name = "nickname")
private String nickname;
/**
* 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成
*/
@Basic
@Column(name = "password")
private String password;
/**
* 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时
*/
@Basic
@Column(name = "email")
private String email;
/**
* 邮箱认证:[0,1](0未认证|1审核中|2已认证)
*/
@Basic
@Column(name = "email_state")
private Integer emailState;
/**
* 头像地址:[0,255]
*/
@Basic
@Column(name = "avatar")
private String avatar;
/**
* 创建时间:
*/
@Basic
@Column(name = "create_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp createTime;
@Basic
@Transient
private String code;
}
5.2.3缴费信息模块
缴费信息页面可查看缴费编号、缴费用户、缴费金额、缴费名称、支付状态、支付类型等详细信息。点击支付按钮可选择微信、支付宝和网银三种支付方式
缴费信息界面如下图所示。
图5-6缴费信息界面
图5-7支付页面
5.2.4来访登记模块
来访登记页面可输入登记号、房间名称、普通用户、用户姓名、身份证号、患者编号、护工用户、房间位置、来访人员、来访日期、来访备注等详细信息进行提交审核,来访登记界面如下图:
图5-8来访登记界面
5.3管理员子系统模块的实现
5.3.1用户管理模块
@PostMapping("/upload")
public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {
log.info("进入方法");
if (file.isEmpty()) {
return error(30000, "没有选择文件");
}
try {
//判断有没路径,没有则创建
String filePath = System.getProperty("user.dir") + "\\target\\classes\\static\\upload\\";
File targetDir = new File(filePath);
if (!targetDir.exists() && !targetDir.isDirectory()) {
if (targetDir.mkdirs()) {
log.info("创建目录成功");
} else {
log.error("创建目录失败");
}
}
String fileName = file.getOriginalFilename();
File dest = new File(filePath + fileName);
log.info("文件路径:{}", dest.getPath());
log.info("文件名:{}", dest.getName());
file.transferTo(dest);
JSONObject jsonObject = new JSONObject();
jsonObject.put("url", "/api/upload/" + fileName);
return success(jsonObject);
} catch (IOException e) {
log.info("上传失败:{}", e.getMessage());
}
return error(30000, "上传失败");
}
5.3.2个人资料管理模块
用户点击登录填写账号信息登录后,会切换内容为“某某用户欢迎您”和历史订单,并给出注销链接。当用户登录成功后会将个人信息保存在session作用域中,点击自己的用户名时,会跳转到个人详细信息页面,由后台通过Freemarker取出session作用域中的用户信息进行动态渲染,例如,邮箱、电话号码、用户名等等。同时页面上会显示修改个人信息和修改密码的按钮,这时客户可以修改自己的登录密码以保障账号的安全性,防止被人窃取账号,通过UserController.java的updatePassword()实现,同时也可以根据自己的个人信息是否变动做出相应的修改,通过updateUserInfo()实现。
密码修改流程图如下所示。
图5-10密码修改流程图
密码修改关键代码如下所示。
/**
* 修改密码
* @param data
* @param request
* @return
*/
@PostMapping("change_password")
public Map<String, Object> change_password(@RequestBody Map<String, String> data, HttpServletRequest request){
// 根据Token获取UserId
String token = request.getHeader("x-auth-token");
Integer userId = tokenGetUserId(token);
// 根据UserId和旧密码获取用户
Map<String, String> query = new HashMap<>();
String o_password = data.get("o_password");
query.put("user_id" ,String.valueOf(userId));
query.put("password" ,service.encryption(o_password));
Query ret = service.count(query, service.readConfig(request));
List list = ret.getResultList();
Object s = list.get(0);
int count = Integer.parseInt(list.get(0).toString());
if(count > 0){
// 修改密码
Map<String,Object> form = new HashMap<>();
form.put("password",service.encryption(data.get("password")));
service.update(query,service.readConfig(request),form);
return success(1);
}
return error(10000,"密码修改失败!");
}
5.3.3药品入库管理模块
添加药品入库信息时,输入必填字段后,表现层的ZixunController接受传过来的药品入库信息参数,再调用ZixunController类的addZixun方法,经过ZixunService业务层到zixunMapper持久层的处理,完成对整个添加药品信息的操作。addZixun方法也和用户管理中的addUser方法类似,同时做添加和修改工作。
修改药品入库信息时,选择需要修改的药品信息进行修改,调用ZixunController控制器的editZixun方法,拿到该药品入库原本的信息并显示到页面,管理员再对需要修改的药品入库信息字段进行修改,完成后调用addZixun方法,调用业务层的updateByKey方法,更新数据库的药品入库信息表的数据。
药品入库信息管理流程图如下所示。
图5-11药品入库信息管理流程图
药品入库信息添加界面如下图所示。
图5-12药品入库信息添加界面
5.3.4缴费信息模块的实现
6 系统测试
6.1系统测试的目的
本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。
6.2系统测试方法
①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。
②功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。
6.3测试过程
测试性能 |
新用户注册 |
||
用例目的 |
测试系统新用户个人信息注册功能的功能和安全性 |
||
前提条件 |
进入注册页面填写个人信息 |
||
输入条件 |
预期输出 |
实际情况 |
|
各项基本信息输入不完整 |
不允许注册,无法点击注册按钮 |
一致 |
|
填写已存在的用户名 |
系统显示出提示信息,要求重新填写 |
一致 |
|
两次密码输入不一致 |
系统显示出提示信息,要求重新填写 |
一致 |
|
填写的各项信息没有符合提示的长度和字符要求 |
系统显示出提示信息,要求重新填写 |
一致 |
|
胡乱填写电话号码 |
收不到验证码 |
一致 |
|
填写验证码与收到的不一致 |
系统显示提示信息告知用户验证码错误,不予注册 |
一致 |
测试性能 |
用户或操作员登录系统 |
||
用例目的 |
测试用户或操作员登录系统时功能是否正常 |
||
前提条件 |
进入用户登录页面或操作员登录页面 |
||
输入条件 |
预期输出 |
实际情况 |
|
各项信息不予填写,直接点击登陆按钮 |
不允许登录,提示填写账号相关信息 |
一致 |
|
填写错误的登录名或密码后点击登录系统 |
提示用户名或密码错误,要求重新填写进行登录 |
一致 |
|
填写与验证码信息不一致的信息 |
系统显示出提示信息,表明验证码错误,要求重新填写 |
一致 |
6.4 测试结果
经过对一系列测试结果的有效分析,本平台开发系统符合用户的要求和需求。所有的基本功能相对齐全,操作起来简单方便,测试系统性能良好,作为大众化系统使用是比较值得推广宣传的。
结论
通过这次老年康复中心的开发,我参考了很多相关系统的例子,取长补短,吸取了其他系统的长处,逐步对该系统进行了完善,但是该系统还是有很多的不足之处,有待以后进一步学习。
实践证明,老年康复中心有着非常好的发展前景,经过测试运行,系统各项功能都十分完善,界面漂亮,使用方便,操作容易,在技术理论上已经成熟。
致 谢
毕业设计结束的同时也意味着四年的大学生活就要结束了。老年康复中心的完成以及如何在系统运行过程中实现的更好,这其中付出了很大的努力,这段时光将会终身难忘。
毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!
最后,我要向牺牲了休息时间来对本文进行审阅,评议和参与论文答辩的各位老师表示深深的感谢。在此,衷心的谢谢您们!
[1]郑戟明,董云朝,柳青.MySQL数据库数据导入导出方法的探讨[J].电脑知识与技术,2022,18(22):24-25.DOI:10.14004/j.cnki.ckt.2022.1517.
[2]张鑫. 呵护老年群体 托起幸福晚年[N]. 邢台日报,2021-07-05(005).DOI:10.28904/n.cnki.nxtbr.2021.000665.
[4]王强. 基于色彩模型的养老康复中心空间视觉系统色彩体系研究[D].河北工业大学,2020.DOI:10.27105/d.cnki.ghbgu.2020.000547.
[5]郑梅兰,魏莉,刘自双,陈珊珊,燕春花.老年康复中心多药耐药菌感染危险因素及风险列线图模型[J].中华医院感染学杂志,2020,30(20):3180-3184.
[6]周金瑾.民办老年康复中心能否以划拨方式取得土地[J].中国土地,2019(10):60.DOI:10.13816/j.cnki.ISSN1002-9729.2019.10.19.
[7]李成. 老年康复心理需求的光环境设计研究[D].南昌大学,2018.
[9]康亚慧. 老年康复中心室内环境色彩运用的设计研究[D].昆明理工大学,2017.
[10]王向真. 浅谈“淄博金域东山康复中心老年公寓设计”[C]//.2016年1月建筑科技与管理学术交流会论文集.,2016:78+70.
[12]杨亭玉. 我国的社区老年康复中心建筑设计研究[D].内蒙古工业大学,2013.
[13]林琛.老年康复中心智能化解决方案[J].中国医院建筑与装备,2011,12(07):27-28.
[14]刘文博. 哈密地区成立老年残疾人康复中心[N]. 哈密日报(汉),2010-10-28(002).
[15]杨京武,张海青.民政部黄金海岸老年康复中心暑期工作成果显著[J].中国民政,2010(09):55.
[16]张旭. 市祥和福星重症智残精神残疾托管康复中心在杭锦旗落成[N]. 鄂尔多斯日报,2010-09-08(003).
[17]杨晓斌,宋连生,张佳丽. 丰台开建本市最大老年康复中心[N]. 北京日报,2009-06-26(008).
[18]方芳.护理管理在老年康复中心对护工管理的体会[J].当代医学(学术版),2008(07):115-116.
[19]刘士荣.老年康复中心护工的心理健康状况调查[J].护理学杂志,2007(15):52-53.
[20], 重庆北碚老年医疗康复中心科研项目. 重庆市,重庆市第九人民医院,2004-01-01.
免费领取源码,请点赞关注私信博主
springboot老年康复中心 计算机毕设源码27406相关推荐
- Springboot停车管理系统 计算机毕设源码65522
摘 要 21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于停车场管理也是十分常见的.过去使用手工的管理方式对停车进行管理,造成了管理繁琐.难以维护等问题,如今使用计算机对停车场停 ...
- SpringBoot在线法律咨询辅助系统 计算机毕设源码56952
摘 要 随着科学技术的飞速发展,社会的方方面面.各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,法律资讯当然也不例外.在线法律咨询辅助系统是以实际运用为开发背景,运用软件工程原理 ...
- Springboot在线考试管理系统 计算机毕设源码62754
摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针对在线考试管理等问题,对 ...
- Springboot计算机等级考试在线答题小程序 计算机毕设源码68573
摘 要 计算机等级考试在线答题小程序主要功能模块包括用户管理.考试动态.考试须知.在线考试.用户反馈等,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架 ...
- 基于Springboot的小型超市商品展销系统 计算机毕设源码01635
摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用.信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代. ...
- springboot健身私教课程预约及管理系统 计算机毕设源码96072
目 录 摘要 1 绪论 1.1课题目的及意义 1.2研究内容 2 1.3系统开发技术的特色 3 1.4 springboot框架介绍 3 1.5论文结构与章节安排 4 2健身私教课程预约及管理系统系 ...
- Springboot企业报销审批系统设计与实现 计算机毕设源码44362
摘 要 企业报销系审批统是将企业财务报销和计算机技术结合起来的一种新型的办公方式,是信息化社会的产物.通过网络,组织机构内部的人员可跨越时间.空间进行操作.通过企业报销审批系统所实施的交换式网络应用 ...
- springboot工科树洞网站的设计与实现 计算机毕设源码48510
摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理.在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设工科树 ...
- Springboot平衡膳食系统小程序 计算机毕设源码27190
摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,平衡膳食系统小程序被用户普遍使用,方便用户能够 ...
最新文章
- factory i/o下载_推荐 Dynalist.io 大纲笔记整理工具
- jpa多表关联查询_JPA【关联查询篇】
- 详解coredump
- RedHat6.5网卡问题总结
- html下拉框变长,改变HTML下拉框SELECT选项的多种方法
- 前端学习(2822):页面配置文件
- 利用FS寄存器获取KERNEL32.DLL基址算法的证明(ZZ)
- 图像 去掉文字 python_opencv-python 去除图片文字
- 2837xd 代码生成——补充(3)
- TZOJ 3244 Happy YuYu's Birthday(数学几何)
- Windows下主机名和IP映射设置
- 新浪微博开放平台站内应用开发流程直播(一)
- 评论:电信部门改革的步子能迈得大一些
- week6:Diagnosing Bias vs. Variance难点记录
- Datawhale组队学习周报(第027周)
- 简述人工神经网络的定义,简述神经网络算法
- 淘宝封杀selenium的ua算法分析
- 央视版笑傲江湖的价值观 (转)
- 那些参加IT培训的人怎么样了?工作月薪都上万吗?
- 项目管理软件排行榜!盘点前十名!