ssm基于微信小程序的社区老人健康管理服务系统的设计与实现毕业设计源码011513

2023-11-18

摘要

随着现在网络的快速发展,网络的应用在各行各业当中它很快融入到了许多分类管理之中,他们利用网络来做这个社区老人健康管理服务系统,随之就产生了“社区老人健康管理服务系统 .”,这样就让社区老人健康管理服务系统更加方便简单。

对于本社区老人健康管理服务系统的设计来说,通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上的错误和遗漏。社区老人健康管理服务系统使用Java语言,采用基于MVVM模式的SSM技术进行开发,使用 Eclipse 2017 CI 10 编译器编写,数据方面主要采用的是微软的MySQL关系型数据库来作为数据存储媒介,配合前台HTML+CSS 技术完成系统的开发。具体根据社区老人健康管理服务系统的现状来进行开发的,具体根据用户需求实现社区老人健康管理服务系统网络化的管理,各类信息有序地进行存储,实现功能:首页、用户管理、医生信息、预约信息、体检报告、健康评估、健康干预、健康档案、健康咨询、呼救信息、待办事项、检查项目、运营数据等功能。

本论文主要讲述了社区老人健康管理服务系统开发背景,该系统它主要是对需求分析和功能需求做了介绍,并且对系统做了详细的测试和总结。具体从业务流程、数据库设计和系统结构等多方面的问题。望能利用先进的计算机技术和网络技术来改变目前的社区老人健康管理服务系统管理状况,提高管理效率。

关键词:健康管理系统;微信小程序;MySQL


Abstract

With the rapid development of the network, the application of the network is in all walks of life. It quickly integrates into many classified management. They use the network to make this community elderly health management service system, and then there is the "community elderly health management service system", This makes the community elderly health management service system more convenient and simple.

For the design of the community elderly health management service system, through scientific management and convenient services, the work efficiency is improved and the errors and omissions in data storage are reduced. The community elderly health management service system uses Java language, adopts SSM technology based on MVVM mode for development, and is written with eclipse 2017 CI 10 compiler. In terms of data, it mainly uses Microsoft's MySQL relational database as the data storage medium, and completes the development of the system with the foreground HTML + CSS Technology. It is specifically developed according to the current situation of the community elderly health management service system, and realizes the networked management of the community elderly health management service system according to the needs of users. All kinds of information are stored orderly to realize the functions: home page, user management, doctor information, appointment information, physical examination report, health assessment, health intervention, health files, health consultation, call for help information, to-do items, inspection items Operation data and other functions.

This paper mainly describes the development background of community elderly health management service system. The system mainly introduces the demand analysis and functional requirements, and makes a detailed test and summary of the system. From the aspects of business process, database design and system structure. We hope to use advanced computer technology and network technology to change the current management status of community elderly health management service system and improve management efficiency.

KeywordsHealth management system; Wechat applet; MySQL
目 录

1 绪论

1.1 课题研究背景

1.2 课题研究意义

1.3系统开发技术的特色

2 基于微信小程序平台的社区老人健康管理服务系统分析

2.1可行性分析

2.1.1技术可行性分析

2.1.2经济可行性分析

2.1.3操作可行性分析

2.2需求分析

2.3用例分析

3基于微信小程序平台的社区老人健康管理服务系统总体设计

3.1系统功能模块设计

3.3数据库设计

3.3.1 数据库概念结构设计

3.3.2 数据库表设计

4 基于微信小程序平台的社区老人健康管理服务系统实现

4.1 微信端

4.1.1 用户注册界面

4.1.2 用户登录界面

4.1.3 搜索健康资讯界面

4.1.4 医生详情界面 19

4.1.5 预约信息界面 22

4.1.6体检报告界面 23

4.2 后台端

4.2.1 管理员登录界面

4.2.2首页界面

4.2.3医生信息界面

4.2.4体检报告界面

4.2.5预约信息界面 

4.2.6健康评估界面 

4.2.7健康档案界面

4.2.8用户管理界面

4.2.9健康资讯界面

5 基于微信小程序平台的社区老人健康管理服务系统测试

5.1测试目的

5.2功能测试

5.3测试策略

5.4测试特性及分析

5.5性能测试

总结与展望

参考文献

致谢

1 绪论

1.1 课题研究背景

现下全国很多企业已经把自己企业内的软件朝着智能化的方向在转移,尤其是在朝着符合自己企业特色的移动端方向来扩展。像以前企业内使用的社区老人健康管理服务系统是单机版或者网络版的,就需要朝着移动端中的小程序来扩展,因此我决定开发社区老人健康管理服务系统小程序。通过借助现在热门的微信小程序,让社区老人健康管理服务系统变的更加人性化,也可以使得社区老人健康管理系统在智能化管理上有所提高。

1.2 课题研究意义

近几年来,随着各个地区引进大量人才,对老人健康的需求越来越高,我们生活中越来越多方面需要利用智能手机,我们所需要的各种信息的处理操作都可以通过使用智能手机来完成,有了智能手机就可以方便的对各种信息进行查询和维护了。

因此需要实现对老人健康管理的电子化,提高老人健康管理效能和使用效能。随着微信小程序的高速发展,小巧便捷的微信小程序受到也越来越多人的喜爱,基于这个背景下设计一款基于微信小程序平台的社区老人健康管理服务系统,利用小程序便利性的优点,提高社区老人健康管理服务系统的工作效率,使社会人员能够享受更加便捷高效的服务。

1.3系统开发技术的特色

(1)基于微信小程序平台的社区老人健康管理服务系统系统中的web后台管理中的后端不再使用古老的jsp+javabean+servlet[5]技术,而是使用当前主流的SSM[框架,它减少java配置代码,简化编程代码,目前SSM框架也是很多企业选择的框架之一。

(2)基于微信小程序平台的社区老人健康管理服务系统系统中的web后台管理中的前端使用的是bootstrap框架,它配合ajax[8]和jquery[9]可以美化页面设计。

(3)基于微信小程序平台的社区老人健康管理服务系统系统中数据库用的mysql5.7,它执行效率高。


2 基于微信小程序平台的社区老人健康管理服务系统分析

基于微信小程序平台的社区老人健康管理服务系统可在移动端实现健康资讯和个人信息管理等操作,相对于传统社区老人健康管理服务系统,基于微信小程序平台的社区老人健康管理服务系统提高了效率和便利性。在后台可对医生信息、预约信息、体检报告、健康评估、健康干预、健康档案、健康咨询、呼救信息、待办事项、检查项目、运营数据和用户信息进行管理、有效掌握老人健康信息,充分了解用户的需求,更有针对性的服务用户。

2.1可行性分析

2.1.1技术可行性分析

基于微信小程序平台的社区老人健康管理服务系统存储所使用的mysql数据库以及开发中所使用的IDEA、Tomcat这些开发工具的使用,能够给我们的编写工作带来许多的便利。系统使用SSM框架进行开发,使系统的可扩展性和维护性更佳,减少java配置代码,简化编程代码,目前SSM框架也是很多企业选择的框架之一。

2.1.2经济可行性分析

在开发基于微信小程序平台的社区老人健康管理服务系统中所使用的开发软件像IDEA开发工具、Tomcat8.0服务器、MySQL5.7数据库、Photoshop图片处理软件等,这些都是开源免费的,并且基于微信小程序平台的社区老人健康管理服务系统是自己设计并编码实现的,数据库是使用流行mysql进行数据的存储,开源的mysql等技术的使用,减少系统开发费用。

2.1.3操作可行性分析

在日常生活中,随着小程序的快速推广和使用,越来越多人掌握小程序的使用方法,基于微信小程序平台的社区老人健康管理服务系统在这种条件背景下是很容易被人们所接受和熟悉的,所以在操作上没任何问题。

2.2需求分析

基于微信小程序平台的社区老人健康管理服务系统中的web后台管理端采用了IntelliJ IDEA 2019.3.4 开发工具,配合了java开发语言中SSM开发框架以及tomcat8.0服务器[14]、jdk1.8,微信端采用了微信开发者工具稳定版1.05.2111300,页面使用wxss和wxml进行布局[15],微信端和web后台管理端采用json接口通信。

微信小程序端:

(1)用户注册:不是基于微信小程序平台的社区老人健康管理服务系统中的会员用户,可以在线注册成为真正的会员用户,包括了发布者和用户两部分;

(2)用户登录:是基于微信小程序平台的社区老人健康管理服务系统中的会员用户,可以直接登录来使用基于微信小程序平台的社区老人健康管理服务系统;

(3)健康资讯:用户进行健康资讯的阅览,查看管理者发布的健康资讯信息。(4)医生信息:在微信小程序端中是可以不同的医生信息展示出来不同的医生详情的;

(5)呼救信息:管理员和用户都可以点击“呼救信息”查看呼救信息,进行审核;

(6)基本信息:发布者和用户可以对自己的个人信息和登录密码进行维护;

Web后台管理端:

(1)轮播图/公告栏管理:可以对基于微信小程序平台的社区老人健康管理服务系统中微信小程序端的轮播图信息和公告信息进行上传和管理;

(2)用户管理:可以对能操作基于微信小程序平台的社区老人健康管理服务系统中web后台管理的管理员信息进行创建和管理,同时也可以对系统中小程序端注册的用户进行管控;

(3)健康资讯管理:管理员在后台可以对基于微信小程序社区老人健康管理服务系统中显示的健康资讯信息进行增删改查。

(4)预约信息管理:可以对系统中的预约信息进行维和和管理;

(5)更多管理:当点击“更多”这一菜单的时候,会出现医生信息+预约信息+体检报告+健康评估+健康干预+健康档案+健康咨询+呼救信息+待办事项+检查项目+运营数据这十一个子菜单,能够对体检报告进行增删改查操作,对用户提交的健康档案进行管控,以及实现对用户提交的呼救信息+预约信息进行审核管理;

2.3用例分析

基于微信小程序平台的社区老人健康管理服务系统的完整UML用例图分别是图2-1,图2-2河图2-3。在参与者上包括用户、发布者以及管理员。

老人用户角色的用例包括用户注册、用户登录、健康资讯、基本信息、预约信息、体检报告、健康评估、健康干预、健康档案、健康咨询、退出登录。

 

图2-1 基于微信小程序平台的社区老人健康管理服务系统用户角色用例图

医生用户角色的用例包括注册、登录、用户管理、预约信息、体检报告、健康评估、健康干预、健康档案、健康咨询、呼救信息、待办事项、检查项目、运营数据、退出登录。

 

图2-2基于微信小程序平台的社区老人健康管理服务系统医生角色用例图

管理员角色的用例包括、用户管理、轮播图、公告栏、医生信息、预约信息、体检报告、健康评估、健康干预、健康档案、健康咨询、呼救信息、待办事项、检查项目、运营数据。

 

图2-3 基于微信小程序平台的社区老人健康管理服务系统管理员角色用例图

3基于微信小程序平台的社区老人健康管理服务系统总体设计

在上一章节中分析了基于微信小程序平台的社区老人健康管理服务系统的功能性需求,并且根据需求分析了基于微信小程序平台的社区老人健康管理服务系统中的用例。那么接下来就要开始对基于微信小程序平台的社区老人健康管理服务系统架构、主要功能和数据库开始进行设计。

3.1系统功能模块设计

通过对基于微信小程序平台的社区老人健康管理服务系统的功能需求分析以及用例分析,得出了基于微信小程序平台的社区老人健康管理服务系统的功能模块图如图3-1所示。

 

图3-1基于微信小程序平台的社区老人健康管理服务系统功能模块图

3.3数据库设计

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

3.3.1 数据库概念结构设计

下面是整个社区老人健康管理服务系统中主要的数据库表总E-R实体关系图。

图3-6 社区老人健康管理服务系统 总E-R关系图

 

下面根据社区老人健康管理服务系统 的数据库总E-R关系图可以得出社区老人健康管理服务系统 需要很多E-R图,在此罗列出来一些主要的数据库E-R模型图。

 

图3-7运营数据E-R关系图

 

图3-8 健康档案E-R关系图

 

图3-9 待办事项E-R关系图

 

图3-10医生用户信息E-R关系图

 

图3-11医生信息E-R关系图

 

图3-12 体检报告-R关系图

3.3.2 数据库表设计

通过前面E-R关系图一共需要创建很多个数据表。在此罗列这7个主要数据库表的关系模型如下:

to_do_list表:

名称

类型

长度

不是null

主键

注释

to_do_list_id

int

11

待办事项ID

title_name

varchar

64

标题名称

doctor_information

int

11

医生信息

full_name

varchar

64

姓名

job_number

varchar

64

工号

content_details

text

0

内容详情

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

reservation_information表:

名称

类型

长度

不是null

主键

注释

reservation_information_id

int

11

预约信息ID

doctor_information

int

11

医生信息

name_of_doctor

varchar

64

医生姓名

doctor_position

varchar

64

医生职务

elderly_information

int

11

老人信息

full_name

varchar

64

姓名

contact_number

varchar

16

联系电话

time_of_appointment

varchar

64

预约时间

reservation_status

varchar

64

预约状态

physical_examination_items

varchar

64

体检项目

appointment_content

text

0

预约内容

reply_message

text

0

回复信息

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

operational_data表:

名称

类型

长度

不是null

主键

注释

operational_data_id

int

11

运营数据ID

statistical_date

date

0

统计日期

number_of_inspectors

int

11

检查人数

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

medical_examination_report表

名称

类型

长度

不是null

主键

注释

medical_examination_report_id

int

11

体检报告ID

report_name

varchar

64

报告名称

report_date

date

0

报告日期

doctor_information

int

11

医生信息

elderly_information

int

11

老人信息

full_name

varchar

64

姓名

contact_number

varchar

64

联系电话

report_content

text

0

报告内容

content_analysis

text

0

内容分析

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

inspection_items表:

名称

类型

长度

不是null

主键

注释

inspection_items_id

int

11

检查项目ID

physical_examination_items

varchar

64

体检项目

project_description

text

0

项目描述

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

health_records表:

名称

类型

长度

不是null

主键

注释

health_records_id

int

11

健康档案ID

file_names

varchar

64

档案名称

doctor_information

int

11

医生信息

elderly_information

int

11

老人信息

full_name

varchar

64

姓名

contact_number

varchar

64

联系电话

file_content

text

0

档案内容

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

health_consultation表:

名称

类型

长度

不是null

主键

注释

health_consultation_id

int

11

健康咨询ID

doctor_information

int

11

医生信息

elderly_information

int

11

老人信息

elderly_consultation

text

0

老人咨询

doctor_reply

text

0

医生回复

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

health_assessment表:

名称

类型

长度

不是null

主键

注释

health_assessment_id

int

11

健康评估ID

doctor_information

int

11

医生信息

elderly_information

int

11

老人信息

full_name

varchar

64

姓名

contact_number

varchar

64

联系电话

constitution_identification

text

0

体质辨识

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

call_for_help_information表:

名称

类型

长度

不是null

主键

注释

call_for_help_information_id

int

11

呼救信息ID

elderly_information

int

11

老人信息

full_name

varchar

64

姓名

gender

varchar

64

性别

telephone

varchar

16

电话

address

varchar

64

住址

processing_status

varchar

64

处理状态

content_description

text

0

内容描述

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

doctor_information表:

名称

类型

长度

不是null

主键

注释

doctor_information_id

int

11

医生信息ID

doctor_information

int

11

医生信息

name_of_doctor

varchar

64

医生姓名

doctor_gender

varchar

64

医生性别

doctor_position

varchar

64

医生职务

on_duty_time

varchar

64

在岗时间

on_duty_position

varchar

64

在岗位置

doctor_photos

varchar

255

医生照片

doctor_profile

text

0

医生简介

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

elderly_users表:

名称

类型

长度

不是null

主键

注释

elderly_users_id

int

11

老人用户ID

full_name

varchar

64

姓名

gender

varchar

64

性别

address

varchar

64

住址

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

doctor_user表:

名称

类型

长度

不是null

主键

注释

doctor_user_id

int

11

医生用户ID

full_name

varchar

64

姓名

gender

varchar

64

性别

job_number

varchar

64

工号

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

4 基于微信小程序平台的社区老人健康管理服务系统实现

基于微信小程序平台的社区老人健康管理服务系统划分了微信小程序用户端和web后台管理员端,微信端实现用户注册、登录管理、搜索管理、房源管理和租售管理等功能,web端是为后台管理员提供查看用户管理、医生信息、预约信息、体检报告、健康评估、健康干预、健康档案、健康咨询、呼救信息、待办事项、检查项目、运营数据平台。

4.1 微信端

4.1.1 用户注册界面

不是基于微信小程序平台的社区老人健康管理服务系统的会员可以通过微信小程序在线进行注册,填写上自己的账号、密码、重复密码、昵称、邮箱登信息后点击“提交”按钮后将会验证是否有非空数据,再验证密码和重复密码是否一样,最后验证是否账号重复,都验证没问题后即可注册成功。注册实现了用户注册和发布者注册两部分,其用户注册界面展示如下图4-1所示。

 

图4-1用户注册界面图

用户注册代码如下:

  /**

     * 注册

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(HttpServletRequest request) throws IOException {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = service.readBody(request.getReader());

        query.put("username",String.valueOf(map.get("username")));

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}

    public Map<String,Object> readBody(BufferedReader reader){

        BufferedReader br = null;

        StringBuilder sb = new StringBuilder("");

        try{

            br = reader;

            String str;

            while ((str = br.readLine()) != null){

                sb.append(str);

            }

            br.close();

            String json = sb.toString();

            return JSONObject.parseObject(json, Map.class);

        }catch (IOException e){

            e.printStackTrace();

        }finally{

            if (null != br){

                try{

                    br.close();

                }catch (IOException e){

                    e.printStackTrace();

                }

            }

        }

        return null;

    }

    public void insert(Map<String,Object> body){

        E entity = JSON.parseObject(JSON.toJSONString(body),eClass);

        baseMapper.insert(entity);

        log.info("[{}] - 插入操作:{}",entity);

}

4.1.2 用户登录界面

微信小程序上注册后的会员可以通过自己的用户名和密码进行登录,在用户填写好自己的用户名和密码信息并点击“登录”按钮后,将会先验证是否有非空数据,再验证填写的用户信息和数据库中保存的是否一致,一致后将会登录成功,登录成功后将会在左上角上显示用户信息;否则将会提示相应错误信息,用户登录界面如下图4-2所示。

 

图4-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;

        QueryWrapper wrapper = new QueryWrapper<User>();

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }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.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            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, "账号或密码不正确");

        }

}

    public String select(Map<String,String> query,Map<String,String> config){

        StringBuffer sql = new StringBuffer("select ");

        sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");

        sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));

        if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){

            sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");

        }

        if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){

            sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");

        }

        if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){

            int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;

            int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;

            sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);

        }

        log.info("[{}] - 查询操作,sql: {}",table,sql);

        return sql.toString();

}

    public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

输入有效的用户名和密码信息,点击“登录”按钮,自动跳转到“首页”页面,首页界面如下图4-3所示。

 

图4-3首页界面图

4.1.3 搜索健康资讯界面

在搜索的输入框中输入自己想要搜索的健康资讯信息并点击后面的“搜索”按钮后将会根据模糊匹配的方式,去数据库中搜索最匹配的健康资讯信息并显示出来。搜索健康资讯界面如下图4-4所示。

 

图4-4搜索健康资讯界面图

4.1.4 医生详情界面

点击任意一个医生后将可以进入到该医生的详情界面中,它包括了医生姓名+医生性别+医生职务+在岗时间等一系列的详细介绍,进行点赞、收藏等,医生详情界面如下图4-5所示。

 

图4-5医生详情界面图

4.1.5 预约信息界面

点击“预约”后进入到“预约信息”界面,输入医生信息+医生姓名+医生职务+老人信息+姓名+联系电话+预约时间+预约内容,点击“提交”按钮后将会生成自己的预约信息,预约信息界面如下图4-6所示。

 

图4-6预约信息界面图

4.1.6体检报告界面

从基于微信小程序平台的社区老人健康管理服务系统端底部的“我的”菜单进入后选择“体检报告”后可以查看到体检报告信息,进行查看体检信息,界面如下图4-7所示。

 

图4-7体检报告界面图

4.2 后台端

4.2.1 管理员登录界面

管理员可以从浏览器上输入后台登录的网址后输入自己的用户名,密码图片验证后点击“登录”按钮后将会验证是否有非空数据,其次再验证是否和数据库中保存的一致,都验证成功后将登录成功,管理员登录界面如下图4-8所示。

 

图4-8管理员登录界面图

4.2.2医生信息界面

管理员点击后台左边的“医生信息”菜单后,将可以维护和管理基于微信小程序平台的社区老人健康管理服务系统中的医生信息,支持管理员编辑,预约、咨询等操作,医生信息管理界面如下图4-9所示。

 

图4-9医生信息管理界面图

医生信息逻辑代码如下所示。

@PostMapping("/set")

@Transactional

    public Map<String, Object> set(HttpServletRequest request) throws IOException {

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

}

4.2.4 体检报告界面

管理员点击后台左边的“体检报告”菜单后将可以查看到所有用户的体检报告记录,体检报告界面如下图4-10所示。

 

图4-10体检报告界面图

体检报告管理关键代码如下:

    @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

}

4.2.5预约信息界面

管理员点击后台左边的“预约信息”菜单后将可以查看到所有用户的预约信息记录,预约信息界面如下图4-11所示。

 

图4-11预约信息界面图

预约信息管理关键代码如下所示。

   public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

4.2.6健康评估界面

管理员点击后台左边的“健康评估”菜单后将可以查看到所有用户提交的的健康评估记录,健康评估界面如下图4-12所示。

 

图4-12健康评估界面图

健康评估逻辑代码如下所示。

@RequestMapping("/get_list")

    public Map<String, Object> getList(HttpServletRequest request) {

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

    }

4.2.7健康档案界面

管理员点击后台左边的“健康档案”菜单后将可以查看到所有用户提交的的健康档案记录,健康档案界面如下图4-13所示。

 

图4-13健康档案界面图

健康档案逻辑代码如下所示。

@RequestMapping("/get_obj")

    public Map<String, Object> obj(HttpServletRequest request) {

        List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));

        if (resultList.size() > 0) {

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("obj",resultList.get(0));

            return success(jsonObject);

        } else {

            return success(null);

        }

}

4.2.8用户管理界面

管理员点击后台左边的“医生用户”或者“老人用户”菜单后可以查看到小程序端上注册过的用户信息,支持对违规的用户进行删除操作,如下图4-14所示。

 

图4-14用户管理界面图

用户管理逻辑代码如下:

 @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        Map<String,Object> paramMap = service.readBody(request.getReader());

        this.addMap(paramMap);

        return success(1);

}

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

}

4.2.9健康资讯界面

管理员点击后台左边的“健康资讯问”菜单后可以查看以往发布的健康资讯信息,支持微信小程序用户查看健康资讯信息,如下图4-15所示。

 

图4-15健康资讯界面图

健康资讯管理关键代码如下:

    @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

}

5 基于微信小程序平台的社区老人健康管理服务系统测试

5.1测试环境

1、服务器端

操作系统:Windows 7

Web服务器:Tomcat7.0

数据库:Mysql

开发语言:Java

2、客户端

浏览器:Internet Explorer10

界面布局:DIV+CSS

分辨率:最佳效果1027*768以上像素

3、开发工具

Visual Studio Code

Myeclipse

5.2测试目标

系统测试是用于检查软件的质量、性能、可靠性等是否符合用户需求。一套严谨的、规范的、完善的测试过程将大大提高软件的质量、可信度、可靠性,降低软件的出错率,降低用户风险系数。通过在计算机上对系统进行测试试验并从中发现此系统中存在的问题和错误然后加以修改,使之更加符合用户需求。

1.测试的目的是通过测试来发现程序在执行过程中的错误的过程。

2.好的测试方案是可以检验出还未被发现的错误的方案。

3.好的测试是发现了到目前为止还未被发现的错误的测试。

4.该系统能够完成管理员、医生信息、用户管理、预约信息、体检报告、健康评估、健康干预、健康档案、健康咨询、呼救信息、待办事项、检查项目、运营数据等功能,做到所开发的系统操作简单,尽量使系统操作不受用户对电脑知识水平的限制。

5.3功能测试

下表是基于微信小程序平台的社区老人健康管理服务系统.功能的测试用例,检测了基于微信小程序平台的社区老人健康管理服务系统.中对医生信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;管理员登录系统。

表6-1医生信息管理的测试用例

功能描述

用于医生信息管理

测试目的

检测医生信息管理时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加医生信息,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加医生信息,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改医生信息,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改医生信息,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除医生信息,选择医生信息删除

提示删除成功

与预期结果一致

点击搜索医生信息,输入存在的医生信息名

查找出医生信息

与预期结果一致

点击搜索医生信息 ,输入不存在的在线投票名

不显示医生信息

与预期结果一致

下表是预约信息管理功能的测试用例,检测了预约信息管理的操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;管理员登录系统。

表6-2 预约信息管理的测试用例

功能描述

用于预约信息管理

测试目的

检测预约信息管理时各种操作的情况

测试数据以及操作

预期结果

实际结果

未选择预约信息,点击提交

提示请选择预约信息

与预期结果一致

未上传附件,点击提交

提示请选择附件

与预期结果一致

未选择原因,点击提交

提示请选择原因

与预期结果一致

5.4测试结果

根据以上测试情况,测试结果如下表所示。

表6-1测试结果表

测试项目

测试结果

登录测试

成功

修改密码测试

成功

健康干预管理测试

成功

医生信息测试

成功

健康评估

成功

预约信息管理测试

成功

呼救信息测试

成功

用户管理测试

成功

总结与展望

至此,基于微信小程序平台的社区老人健康管理服务系统已经结束,在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从中我也收获了很多宝贵的方法和设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、Java技术、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。

当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。

参考文献

[1]王春丽.基于SSM框架的会议管理信息系统设计与实现[J].电脑编程技巧与维护,2022(03):83-85.DOI:10.16184/j.cnki.comprg.2022.03.016.

[2]王月红,蒋冀萍.基于Java的煤矿风险预警与防控系统设计[J].煤炭技术,2022,41(03):173-175.DOI:10.13301/j.cnki.ct.2022.03.041.

[3]梅涛. 一种JAVA通用版关系型数据操作中间件[P]. 北京市:CN114138878A,2022-03-04.

[4]朱珍珠,段华斌,邓永清,杜丹蕾.基于Java的增值平台的设计与实现[J].办公自动化,2022,27(05):55-58.

[5]张文慧,王国田,陈永,温禾,袁涛,艾显威.基于SSM框架城市水体治理工程案例信息系统设计与实现[J].软件,2022,43(02):83-88+92.

[6]李艳杰.基于JAVA与MySQL数据库的移动端题库练习系统的设计与实现[J].黑龙江科学,2022,13(02):56-57.

[7]陈春燕.基于JAVA技术手机自助充电系统的设计[J].电脑知识与技术,2022,18(03):4-6.DOI:10.14004/j.cnki.ckt.2022.0197.

[8]王茹葳.Java编程语言在大数据开发中的应用[J].电子技术,2022,51(01):160-161.

[9]李洁,许青,胡进贤,胡宏智.关于Java面向对象编程技术“课程思政”元素提炼的研究与实践[J].中国新通信,2022,24(02):226-228.

[10]王一竹.基于MySQL的图书馆信息管理系统设计[J].电脑编程技巧与维护,2022(01):93-95+116.DOI:10.16184/j.cnki.comprg.2022.01.003.

[11]郭静.基于SSM框架的高校新生预报到系统的设计与实现[J].电子技术与软件工程,2022(02):232-235.

[12]冯凯.“MySQL数据库”课程教学中常见问题探析[J].无线互联科技,2021,18(24):158-159.

[13]王晨. 基于JAVA的教室查询系统研究[C]//.第三十五届中国(天津)2021’IT、网络、信息技术、电子、仪器仪表创新学术会议论文集.,2021:16-19.DOI:10.26914/c.cnkihy.2021.013673.

[14]田青海. 面向Java应用的性能监控系统的设计与实现[D].浙江大学,2021.DOI:10.27461/d.cnki.gzjdx.2021.002539.

[15]徐智宇. 基于B/S架构的工具管理系统设计与实现[D].北京交通大学,2021.DOI:10.26944/d.cnki.gbfju.2021.003272.

[16]Xiaojie Guo,Tingmei Wang*. Design and Implementation of Graduate Information Management System Based on SSM Framework[J]. Journal of Simulation,2020,8(2).

[17]Ping Wanxin,Chen Yuankun,Hou Xiaoyan. Design of Campus Bicycle Rental Management System Based on SSM Framework[J]. Journal of Physics: Conference Series,2019,1314.

[18]杨瑞婷. 面向社区居家养老的健康管理产品服务系统设计研究[D].南京理工大学,2019.DOI:10.27241/d.cnki.gnjgu.2019.000553.

[19]肖睿,龙浩,孙琳,杨桂英,余婕. Java高级特性编程及实战[M].人民邮电出版社:大数据开发实战系列, 201801.209.

[20]SJ/T 11683-2017, Java语言源代码缺陷控制与测试指南[S].

致谢

至此论文结束,感谢您的阅读。首先,我要感谢我的父母对我的支持与理解,在两年的本科学习生活中,倾其所能的爱护我,使我能够心无旁骛,全心全意的投入到学习中;不断鼓励我,让我能够拥有不断前进的动力。其次还要感谢我的导师,感谢在这段时间给予我有效的建议,以至于我的毕设有了整体的设计思路,尽管我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。在老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。

此外,还要感谢我的同学,热心的解答了我在程序上遇到的问题,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测,让我受益良多。在这两年的时间里,我学会了许多专业的知识,还有老师们的谆谆教诲和同学们的帮助使我不断进步,能够做得更好;我也会不断给自己充电,不断突破,成为更好的自己。

最后向所有关心我、帮助我的老师及同学们表示衷心的感谢!

免费领取本源代码,请关注点赞+私信

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ssm基于微信小程序的社区老人健康管理服务系统的设计与实现毕业设计源码011513 的相关文章

随机推荐

  • 堆排序(堆的构造及代码实现)

    简介 java系列技术分享 持续更新中 初衷 一起学习 一起进步 坚持不懈 如果文章内容有误与您的想法不一致 欢迎大家在评论区指正 希望这篇文章对你有所帮助 欢迎点赞 收藏 留言 更多文章请点击 文章目录 一 堆的简介 二 堆的实现 2 1
  • golang 接口和方法探讨

    一 方法简介 方法 Go语言里有两种类型的接收者 值接收者和指针接收者 使用值类型接收者定义的方法 在调用的时候 使用的其实是值接收者的一个副本 所以对该值的任何操作 不会影响原来的类型变量 如果我们使用一个指针作为接收者 那么就会其作用了
  • vue-element-admin基本使用

    vue element admin 是开发后台管理系统的一个比较完备的前端解决方案 本地运行体验 git clone https github com panjiachen vue element admin git 从github上拉取代
  • Axure 9.0.0.3699 授权码

    产品经理主力工具 Axure 在2020年5月26日更新了最新的 3699版本 具体更新如下 很多小伙伴在更新后会出现之前的授权无法使用的情况 如果出现这种情况大家可以通过在产品栈查找相对应的版本进行获取最新的授权码 获取地址 https
  • Vue项目中使用@代替src——并在VScode中开启@路径自动提示

    这篇文章是为了记录一下项目里面经常使用的一个配置 路径别名 我自己个取的名 一般的 路径别名 src components src components 以上的路径别名的好处就是 当项目文件较多的时候 可以避免 这样的一层一层的回溯路径 当
  • findbugs使用_程序员技能与成长:使用静态代码分析工具和代码审查

    使用静态代码分析工具 前面的小节介绍了一些编码规范及最佳实践 如果在编码阶段可以很好地遵循这些规范 并践行最佳实践的话 就可以大大提升代码的质量 提高可读性 降低维护成本等 在很多公司内部及开发团队中 为了保证大家都遵循这些规范 都会有静态
  • SD卡容量变小后怎么恢复

    我是因为给linux板子刷系统 所以导致SD卡内存从16G变成了40MB 恢复方法 1 win r 启动命令行 2 输入diskpart回车 运行DISKPART 3 list disk回车 列出电脑的硬盘清单 4 看看你的u盘是哪一个 选
  • 【数据结构 002】 算法复杂度

    1 算法定义 Algorithm Defintion 2 算法特性 Algorithm Feature 输入 有0个或者多个输入 输出 至少1个或者多个输出 有穷性 算法在执行有限的步骤之后 会自动结束而不会出现无限循环 并且每个步骤都在可
  • 阿里资深架构师三年整理出:Java面试核心知识点原理篇文档

    本文是对Java程序员面试必备知识点的总结 详细讲解了JVM原理 多线程 数据结构和算法 分布式缓存 设计模式等内容 希望读者能通过阅读本书对Java的基础原理有更深入 全面的理解 面试官通常会在短短两小时内对面试者的知识结构进行全面了解
  • win电脑C/D盘清理技巧

    dir AD 查看当前路径下的所有文件夹 1 下载 和安装 磁盘文件占用空间分析工具TreeSize Free 可以查看某个目录下的每个文件 文件夹占用的磁盘空间大小 大文件夹使用win自带 的右键属性查看大小会耗时很久 2 把自己安装在C
  • 【华为OD机试真题】不开心的小朋友- python

    题目描述 不开心的小朋友 输入一个数代表摇摇车的数量 在下一行输入一串数字 用空格隔开 每个数字代表不同的小朋友的编号 小朋友的编号不能重复 每个小朋友只有一个编号 小朋友排队坐摇摇车 如果小朋友离开之前没有摇摇车坐视为不开心的小朋友 同现
  • mysql更新区间的数_解决针对MySQL中对于某一个区间段范围的数据更新的情况

    1 在使用更新update的过程中 我们可能会想要更新比如id段在某一个指定范围内的数据 如果我们是想要更新前面多少行的数据的话可以直接 UPDATE tb name SET column name value ORDER BY id AS
  • 华为OD机试 - 滑动窗口最大和 - 滑动窗口(Java 2023 B卷 100分)

    目录 专栏导读 一 题目描述 二 输入描述 三 输出描述 四 解题思路 五 Java算法源码 六 效果展示 1 输入 2 输出 3 说明 华为OD机试 2023B卷题库疯狂收录中 刷题点这里 专栏导读 本专栏收录于 华为OD机试 JAVA
  • 配置多个TOMCAT

    1 把下载好的tomcat解压到想存放的目录 它不用安装的 在官网下载好 一解压就是了 2 打开电脑的 编辑环境变量 配置CATALINA HOME环境变量如图 我这里装了9和10 先配一个CATALINA HOME9 值是tomcat9的
  • Qt样式表-详解

    一 QT样式表简介 1 1 QT样式表简介 QSS的主要功能是使界面的表现与界面的元素分离 使得设计皮肤与界面控件分离的软件成为可能 QT样式表是允许用户定制widgets组件外观的强大机制 此外 子类化QStyle也可以定制widgets
  • Latex数学公式方程格式总结

    单行公式有自动标号 一般式子之间行距较大 begin equation T tilde nabla lim Delta v rightarrow 0 frac 1 Delta v left oint s T hat n mathrm d s
  • Java接口以及static和final关键字

    Java接口以及static和final关键字 一 static 二 final 三 让final元素可以初始化 不用固定赋值 四 接口 五 抽象方法 六 接口能够创建对象吗 匿名内部类 七 另一实例 开锁 一 static static代
  • OI考试中及平常练习里的一些低级错误总结

    long long相关 1 没开long long long long开少了 具体地 可能是未对题目可能产生的数值预估 可能是只写了int的读优 忽略long long 2 define int long long出锅 1 比如在遍历图的时
  • React中的性能优化

    1 所有的this指向都在constructor中绑定 就避免了多次绑定 this指向问题 只有当this指向我们定义的组件时才能去对state做修改 不去改变this指向 在该方法中this就指向undefined 2 setState是
  • ssm基于微信小程序的社区老人健康管理服务系统的设计与实现毕业设计源码011513

    摘要 随着现在网络的快速发展 网络的应用在各行各业当中它很快融入到了许多分类管理之中 他们利用网络来做这个社区老人健康管理服务系统 随之就产生了 社区老人健康管理服务系统 这样就让社区老人健康管理服务系统更加方便简单 对于本社区老人健康管理