目录
摘要
本文介绍了基于微信小程序的基于微信小程序的小型体检中心管理系统设计与开发,该系统旨在提高体检中心的工作效率和服务质量,通过自动化管理各项业务流程,实现资源的优化配置和高效利用。
该系统采用Springboot框架构建、Mysql数据库、JAVA语言等、为用户提供丰富的交互体验和友好的界面设计,系统功能模块包括了后台首页、系统用户、体检项目管理、体检类型管理、预约信息管理、体检报告 管理、评价反馈管理、员工排班管理、设备信息管理、维修信息管理、系统管理、公告通知管理、资源管理等多个模块。基于微信小程序的基于微信小程序的小型体检中心管理系统设计与开发是一款功能全面、易于扩展的管理软件,旨在帮助体检中心实现数字化转型,提高管理效率和服务质量。未来,该系统将继续不断创新和发展,为体检中心的长期发展提供了有力支持。
关键词:基于微信小程序的小型体检中心管理系统;springboot框架
Abstract
This paper describes the design and implementation of the small center management system developed based on the Springboot framework. The system aims to improve the work efficiency and service quality of the physical examination center, and realize the optimal allocation and efficient utilization of resources through the automatic management of various business processes.
The system adopts Springboot framework, Mysql database, JAVA language, etc., to provide users with rich interactive experience and friendly interface design. The system function module includes background homepage, system users, physical examination project management, physical examination type management, appointment information management, appointment information management, physical examination report management, evaluation feedback management, staff scheduling management, equipment information management, maintenance information management, system management, announcement management and resource management. Springboot Small physical examination center management system is a comprehensive, easy to expand management software, aiming to help the physical examination center to achieve digital transformation, improve management efficiency and service quality. In the future, the system will continue to innovate and develop, providing strong support for the long-term development of the physical examination center.
Keywords: small physical examination center management system; springboot framework
第一章 绪论
1.1选题背景及意义
随着人们对健康的重视程度日益提高,体检已经成为了许多人日常生活中不可或缺的一部分。然而,传统的体检流程往往存在效率低下、信息不透明等问题,这给体检者和医疗机构都带来了诸多不便。因此,开发一款基于微信小程序的小型体检中心管理系统具有重要的现实意义和应用价值。
首先,该系统能够提高体检效率。通过线上预约、结果查询等功能,减少了体检者的等待时间,同时也优化了医疗资源的配置。医疗机构可以更加精准地掌握体检者的需求,合理安排医疗资源,提高整体工作效率。
其次,该系统有助于提升信息透明度。体检者可以通过手机随时查看自己的体检进度和结果,无需亲自前往医疗机构。同时,医疗机构也可以通过系统对体检数据进行统计和分析,为制定更加科学的健康管理方案提供数据支持。
此外,该系统还具有推广和普及的潜力。微信小程序作为一种轻量级的应用程序,具有易于传播、易于使用的特点。通过微信小程序推广小型体检中心管理系统,可以让更多的人享受到便捷、高效的体检服务,提高整个社会的健康水平。
综上所述,基于微信小程序的小型体检中心管理系统的设计与开发具有重要的选题背景和意义。通过该系统的应用,可以优化体检流程、提高体检效率、提升信息透明度,为社会健康事业的发展做出贡献。
1.2国内外研究现状
在基于微信小程序的小型体检中心管理系统的国内外研究现状方面,我们可以看到,随着信息技术的快速发展和医疗行业的数字化转型,这一领域的研究和应用正在不断深入。
在国内,基于微信小程序的小型体检中心管理系统的研究与应用近年来呈现出蓬勃发展的态势。众多医疗机构和科技公司纷纷投入研发力量,推出了一系列符合中国医疗体系特点的管理系统。这些系统不仅具备基本的体检信息管理、报告生成等功能,还融入了大数据分析、人工智能等先进技术,为体检中心提供了更加智能化、高效化的管理手段。同时,随着国家对于医疗信息化政策的支持和推广,国内研究者在基于微信小程序的小型体检中心管理系统领域的创新与应用也日趋活跃,形成了丰富的研究成果和实践案例。
在国际上,基于微信小程序的小型体检中心管理系统的研究与应用同样取得了显著进展。许多发达国家在医疗信息化方面投入巨大,推动了相关技术的快速发展。在基于微信小程序的小型体检中心管理系统方面,国外研究者不仅关注系统的基本功能实现,还注重系统的安全性、稳定性和用户体验等方面的优化。此外,随着云计算、物联网等技术的普及,国外研究者也在探索将这些先进技术应用于基于微信小程序的小型体检中心管理系统中,以提升系统的性能和可扩展性。
综上所述,基于微信小程序的小型体检中心管理系统的国内外研究现状呈现出蓬勃发展的态势。未来,随着技术的不断进步和应用需求的不断升级,这一领域的研究与应用将更加深入和广泛。同时,我们也期待国内外研究者能够加强交流与合作,共同推动基于微信小程序的小型体检中心管理系统的创新与发展。
1.3研究方法
首先,通过引擎搜索或者查阅相关文献资料,了解了本系统开发的背景以及设计系统的意义所在,收集用户需求信息。其次,在开发工具上,最终确定是基于Mysql数据库,在Java的springboot框架设计的基础上实现,设计出系统大致的功能模块。主要从方便系统用户和系统管理员的角度进行分析,明确该系统应该具有的功能。最终是测试系统,通过用例测试发现存在的问题并找到解决的方案。利用现有的开发平台,结合自己所学的知识,在老师的指导帮助下来完成该设计,确保系统的可用性、实用性。
第二章 相关技术介绍
2.1 Java编程语言
Java采用函数或者过程来解析对于数据的操作,但又把数据和函数之间相互分开,这样并不利于维护,并会增加程序的工作量。而面向对象的编程将程序的函数和函数对于数据的操作封装在一个类中,作为一个整体来处理。所以Java语言是主要通过面向对象来实现编程,并且摒除了C++语言中的指针、多继承等比较难理解部分,创造出了自身独有的单继承、多接口、高内聚、低耦合等特性。
2.2 B/S模式
计算机的系统软件主要分为两种:系统软件和应用软件。应用软件则是为了某个特定的应用而开发的一类软件,比如文字处理软件Word、QQ、开发本软件用的myeclise工具等。而应用型软件大致的分为B/S和C/S两种模式,常用的QQ、Office办公软件就是C/S结构的,另外常见基于的B/S结构开发的有各种网站,比如淘宝、企业的门户网站[7]。
B/S模式的优势有三个:第一是开发和业务扩展简单、只需要改变网页代码,就可以达到想要的网页效果;第二学生的操作显浅易懂;第三具有分布性特定,可以随时随地的进行查询、浏览等业务的处理。这是C/S所无法实现的。综上因素,选择B/S模式来设计和实现本系统。
2.3 MySQL简介
MySQL是一个开放的、快速的、多线程的SQL关系型数据库服务器。由于其体积小、免费、运行速度快以及可以通过相关免费的软件来对MySql数据库中的相关数据结构信息等等优点。受广大中等、小型企业所喜爱并占据了很大地位。本系统在数据库方面选用MySQL,并通过Nacivat来进行MySql数据库的管理。在Mysql的安装过程中,最需要注意的就是数据库的编码问题,所以在安装数据库时需要设置数据库的编码为Utf-8,与前台页面和服务器的编码相一致。
2.4 springboot框架
SpringBoot框架是由Pivotal团队提供的一个全新框架,旨在简化新Spring应用的初始搭建以及开发过程。它并不是一门新技术,而是将之前常用的Spring、SpringMVC、data-jpa等常用的框架封装到了一起,帮助开发者隐藏这些框架的整合细节,实现敏捷开发。
SpringBoot框架的特点包括:
1. 不需要模板化的配置:SpringBoot项目通过特定的方式进行配置,使开发人员不再需要定义样板化的配置。
2. 自动整合第三方框架:在SpringBoot中整合第三方框架时,只需要导入相应的starter依赖包,就自动整合了。
3. 配置文件的简化:SpringBoot默认只有一个.properties的配置文件,不推荐使用xml,后期会采用.java的文件去编写配置信息。
此外,SpringBoot框架是构建微服务框架SpringCloud的基础。因此,对于想要从事快速应用开发或微服务开发的开发者来说,掌握SpringBoot框架是非常重要的。
2.5 小程序框架以及目录结构介绍
整个小程序框架系统分为两部分:逻辑层和视图层。小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 小程序 体验的服务。小程序在视图层与逻辑层间提供了数据传输和事件系统,提供了自己的视图层以及逻辑层框架,让开发者能够专注于数据与逻辑。框架的核心是一个响应的数据绑定系统,可以让数据与视图非常简单地保持同步。在逻辑层做数据修改,在视图层就会做相应的更新。框架提供了一套基础的组件,这些组件自带微信风格的样式以及特殊的逻辑,开发者可以通过组合基础组件,创建出强大的微信小程序 。
第三章 基于微信小程序的小型体检中心管理系统分析
本章内容概括了基于微信小程序的小型体检中心管理系统的系统目的,可行性分析、功能分析以及用例分析。
3.1系统目标
基于微信小程序的小型体检中心管理系统的系统目标旨在实现体检流程的高效化、规范化和智能化。通过整合体检中心的各项资源,优化体检流程,提高体检效率,为体检者提供更加便捷、舒适的体检服务。同时,该系统还能够对体检数据进行精准管理,确保数据的准确性和完整性,为体检中心的运营管理和决策提供有力支持。此外,该系统还具备智能化的健康评估功能,能够根据体检者的个人情况,提供个性化的健康建议和干预措施,帮助体检者更好地管理自己的健康。总之,基于微信小程序的小型体检中心管理系统的系统目标是实现体检流程的高效化、规范化和智能化,提高体检服务质量和体检者的健康管理水平。
3.2可行性分析
3.2.1技术可行性分析
从技术实现的角度审视,Java编程语言和Spring Boot框架完全胜任基于微信小程序的小型体检中心管理系统的开发工作。Java语言,凭借其成熟、稳定和广泛的应用基础,展现了卓越的面向对象特性和跨平台运行能力,轻松应对各种复杂应用场景的挑战。与此同时,结合MySQL数据库作为后端数据存储解决方案,可以确保系统数据的稳定性和可靠性,为基于微信小程序的小型体检中心管理系统的稳定运行提供坚实的技术支撑。因此,运用Java语言和Spring Boot框架开发基于微信小程序的小型体检中心管理系统在技术层面是完全可行的。
3.2.2经济可行性分析
该系统开发成本低,因采用开源框架SpringBoot,降低技术门槛和成本。模块化设计使代码维护更便捷,降低维护成本。系统提升体检中心效率,减少手动操作,降低人力成本。优化用户体验和提供个性化服务,增强用户满意度和忠诚度。吸引更多用户,增加市场份额。长远来看,基于SpringBoot的基于微信小程序的小型体检中心管理系统经济可行,有望为企业带来可观经济效益。技术发展和系统优化将提升平台竞争力和盈利能力。
此次项目设计的时候我参考了很多类似系统的成功案例,对它们的操作界面以及功能都进行了系统的分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。因此操作可行性也没有问题。
3.3系统功能分析
3.3.1功能性分析
基于微信小程序的小型体检中心管理系统我划分为了注册用户模块、工作人员和管理员模块三大部分。
注册用户模块:
1. 首页:注册用户登录后,将首先看到首页。首页会展示一些重要的信息,如体检项目、设备信息、网站公告、体检常识、我的等模块。用户可以在首页快速浏览这些信息,以便了解当前的健康动态和优惠情况。
2. 体检项目:在体检项目板块,注册用户可以浏览和选择各种体检项目。这些项目会根据不同的需求(如年龄段、性别、职业等)进行分类,方便用户找到适合自己的体检项目。用户还可以查看各个项目的详细介绍、价格、以及预约情况。
3. 设备信息:在设备信息板块,注册用户可以查看体检中心所使用的各种医疗设备的信息,包括设备的名称、型号、使用说明等。这有助于用户了解体检中心的技术实力和设备情况。
4. 网站公告:网站公告板块会发布一些重要的通知和公告,如体检中心的开放时间调整、设备维护通知、以及一些健康知识的普及等。注册用户需要经常关注这个板块,以便及时了解相关信息。
5. 体检常识:体检常识板块会提供一些关于体检的知识和建议,如体检前的准备、体检过程中的注意事项、以及体检后的处理等。这对于用户来说是非常有用的,可以帮助他们更好地进行体检并理解体检结果。
6. 我的:用户可以查看和管理自己个人信息,还为用户提供了基本信息、收藏、预约信息、体检报告、评价反馈等相关模块,用户他们随时了解自己的健康状况。
管理员模块:
1. 后台首页:作为管理员进入系统的入口,后台首页展示了系统的主要功能和实时数据概览,包括用户数量、体检报告统计图、设备状态等,帮助管理员快速了解系统整体运行情况。
2. 系统用户管理:在这里,管理员可以管理系统的所有用户,包括创建新用户、修改用户信息、删除用户等。同时,还可以对用户角色进行权限分配,确保系统的安全性和数据的保密性。
3. 体检项目管理:管理员可以在此添加、编辑和删除体检项目,确保体检项目的完整性和准确性。同时,还可以对体检项目进行分类管理,方便用户查找和选择适合自己的体检项目。
4. 体检类型管理:为了满足不同用户的需求,管理员可以在此定义多种体检类型,如常规体检、入职体检、特殊检查等。每种体检类型可以包含不同的体检项目组合,为用户提供个性化的体检服务。
5. 预约信息管理:管理员可以实时查看和管理用户的预约信息,包括预约时间、体检项目、预约状态等。同时,还可以对预约信息进行调整或取消,确保预约流程的顺畅进行。
6. 体检报告管理:管理员可以在此查看和管理用户的体检报告,确保报告的准确性和完整性。同时,还可以对报告进行分类、导出和打印等操作,方便用户查阅和使用。
7. 评价反馈管理:用户可以在完成体检后对服务进行评价和反馈,管理员可以在此查看和管理这些评价和反馈。通过分析用户的评价和反馈,管理员可以了解服务质量和用户需求,为改进服务提供依据。
8. 员工排班管理:管理员可以在此制定和管理员工的排班计划,确保员工能够按时到岗并提供优质的服务。同时,还可以根据员工的实际情况进行调整和修改,确保排班的合理性和灵活性。
9. 设备信息管理:管理员可以在此查看和管理设备的详细、摆放位置和设备状态等。通过实时监控设备的状态和使用情况,管理员可以及时发现和解决设备问题,确保体检流程的顺利进行。
10. 维修信息管理:当设备出现故障或需要维护时,管理员可以在此记录和管理设备的维修信息。包括报修时间、维修状态、报修原因等,方便后续的设备维护和故障排查。
11. 系统管理:管理员可以在此对前台发布的轮播图进行更新维护,并支持增删改查的操作。
12. 公告通知管理:管理员可以在此发布和管理系统的公告通知,如系统更新、服务调整、优惠活动等。用户可以在登录系统时查看这些公告通知,及时了解系统的最新动态和优惠政策。
13. 资源管理:管理员可以在此管理和维护系统的各类资源,包括体检常识、常识分类。这些资源可以用于丰富系统的功能和用户体验,如展示体检项目的图片、提供用户操作的文档指南等。
工作人员模块:
1.后台首页:后台首页提供了全面的数据概览和快速导航功能。工作人员可以一目了然地查看当日的预约数、已完成体检数、设备状态以及各项关键业务指标,确保对整个工作流程有全面的掌握。
2. 体检项目管理:此模块详细列出了所有可提供的体检项目,包括项目名称、价格、时长等详细信息。管理员可以在这里进行项目的添加、修改或删除,以满足不断变化的市场需求和客户要求。
3. 预约信息管理:预约信息管理模块允许工作人员查看、编辑或取消客户的预约信息。系统根据客户的个人信息和所选项目,智能生成预约日历和提醒,确保每位客户都能在合适的时间得到满意的服务。
4. 体检报告管理:体检报告是服务的核心产出。在这个模块,工作人员可以生成、审核和发布体检报告,确保每位客户都能及时收到准确、详尽的健康建议。
5. 评价反馈管理:为了不断提升服务质量,系统特别设置了评价反馈模块。客户在完成体检后,可以通过系统对服务、环境、医生等多个方面进行评价和反馈。这些宝贵的信息将被整理和分析,作为改进服务的重要依据。
6. 员工排班管理:合理的排班是确保服务质量的关键。在员工排班管理模块,管理员可以根据员工的工作能力、经验和客户需求,进行智能排班。同时,系统还提供了实时的员工工作状态监控功能,确保每位员工都能在最佳状态下为客户提供服务。
7. 设备信息管理:作为体检服务的基础,设备信息的管理至关重要。在设备信息管理模块,管理员可以查看设备的设备详细、摆放位置和设备状态,确保设备的正常运行和及时更新。
8. 维修信息管理:设备在长期运行过程中难免会出现故障。在维修信息管理模块,系统提供了完整的设备维修记录和追踪功能。一旦设备出现故障,系统会立即通知维修人员,并记录维修的详细过程和结果,确保设备的快速恢复和服务的连续性。
3.3.2非功能性分析
基于微信小程序的小型体检中心管理系统的非功能性需求比如基于微信小程序的小型体检中心管理系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表3-1基于微信小程序的小型体检中心管理系统非功能需求表
安全性 | 主要指基于微信小程序的小型体检中心管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指基于微信小程序的小型体检中心管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响基于微信小程序的小型体检中心管理系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着基于微信小程序的小型体检中心管理系统的页面展示内容进行操作,就可以了。 |
可维护性 | 基于微信小程序的小型体检中心管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
3.4系统用例分析
基于微信小程序的小型体检中心管理系统的完整UML用例图分别是图3-2、3-3、3-4
注册用户角色用例如图3-2所示。
图3-2 基于微信小程序的小型体检中心管理系统注册用户角色用例图
管理员角色用例如图3-3所示。
图3-3基于微信小程序的小型体检中心管理系统管理员角色用例图
工作人员角色用例如图3-4所示。
图3-4基于微信小程序的小型体检中心管理系统工作人员角色用例图
3.4业务流程
分析完springboot基于微信小程序的小型体检中心管理系统的数据流,那么接下来我们来看系统的业务流程,如下图所示:
图3-5业务流程图
3.5本章小结
本章主要通过对基于微信小程序的小型体检中心管理系统的系统目标、可行性分析、功能需求分析、系统用例分析,确定整个基于微信小程序的小型体检中心管理系统要实现的功能。同时也为基于微信小程序的小型体检中心管理系统的代码实现和测试提供了标准。
第四章 基于微信小程序的小型体检中心管理系统总体设计
本章主要讨论的内容包括基于微信小程序的小型体检中心管理系统的功能模块设计、数据库系统设计。
4.1系统架构设计
本基于微信小程序的小型体检中心管理系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
图4-1基于微信小程序的小型体检中心管理系统架构设计图
表现层(UI):又称UI层,主要完成本基于微信小程序的小型体检中心管理系统的UI交互功能,一个良好的UI可以大大提高用户的用户体验,增强用户使用本基于微信小程序的小型体检中心管理系统时的舒适度。UI的界面设计也要适应不同版本的基于微信小程序的小型体检中心管理系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。
业务逻辑层(BLL):主要完成本基于微信小程序的小型体检中心管理系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):由于本基于微信小程序的小型体检中心管理系统的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本基于微信小程序的小型体检中心管理系统的数据存储和管理功能。
4.2系统模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本基于微信小程序的小型体检中心管理系统中的用例。那么接下来就要开始对本基于微信小程序的小型体检中心管理系统的架构、主要功能和数据库开始进行设计。基于微信小程序的小型体检中心管理系统根据前面章节的需求分析得出,其总体设计模块图如下图所示。
图4-2 基于微信小程序的小型体检中心管理系统功能模块图
4.3数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
4.3.1数据库概念结构设计
下面是整个基于微信小程序的小型体检中心管理系统中主要的数据库表总E-R实体关系图。
图4-3基于微信小程序的小型体检中心管理系统总E-R关系图
通过上一小节中基于微信小程序的小型体检中心管理系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
表appointment_information (预约信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | appointment_information_id | int | 10 | 0 | N | Y | 预约信息ID | |
2 | project_number | varchar | 64 | 0 | Y | N | 项目编号 | |
3 | entry_name | varchar | 64 | 0 | Y | N | 项目名称 | |
4 | physical_examination_price | varchar | 64 | 0 | Y | N | 体检价格 | |
5 | project_type | varchar | 64 | 0 | Y | N | 项目类型 | |
6 | physical_examination_personnel | int | 10 | 0 | Y | N | 0 | 体检人员 |
7 | appointment_users | int | 10 | 0 | Y | N | 0 | 预约用户 |
8 | appointment_time | datetime | 19 | 0 | Y | N | 预约时间 | |
9 | appointment_status | varchar | 64 | 0 | Y | N | 预约状态 | |
10 | line_up_ahead | varchar | 64 | 0 | Y | N | 前方排队 | |
11 | estimated_duration | varchar | 64 | 0 | Y | N | 预计时长 | |
12 | appointment_remarks | text | 65535 | 0 | Y | N | 预约备注 | |
13 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
14 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | device_information_id | int | 10 | 0 | N | Y | 设备信息ID | |
2 | equipment_number | varchar | 64 | 0 | Y | N | 设备编号 | |
3 | device_name | varchar | 64 | 0 | Y | N | 设备名称 | |
4 | placement_position | varchar | 64 | 0 | Y | N | 摆放位置 | |
5 | device_status | varchar | 64 | 0 | Y | N | 设备状态 | |
6 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
7 | device_details | text | 65535 | 0 | Y | N | 设备详情 | |
8 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | employee_scheduling_id | int | 10 | 0 | N | Y | 员工排班ID | |
2 | employee_name | int | 10 | 0 | Y | N | 0 | 员工姓名 |
3 | working_hours | datetime | 19 | 0 | Y | N | 上班时间 | |
4 | off_duty_time | datetime | 19 | 0 | Y | N | 下班时间 | |
5 | scheduling_type | varchar | 64 | 0 | Y | N | 排班类型 | |
6 | scheduling_details | longtext | 2147483647 | 0 | Y | N | 排班详情 | |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | evaluation_feedback_id | int | 10 | 0 | N | Y | 评价反馈ID | |
2 | project_number | varchar | 64 | 0 | Y | N | 项目编号 | |
3 | entry_name | varchar | 64 | 0 | Y | N | 项目名称 | |
4 | project_type | varchar | 64 | 0 | Y | N | 项目类型 | |
5 | physical_examination_personnel | int | 10 | 0 | Y | N | 0 | 体检人员 |
6 | evaluate_users | int | 10 | 0 | Y | N | 0 | 评价用户 |
7 | feedback_type | varchar | 64 | 0 | Y | N | 反馈类型 | |
8 | feedback_time | datetime | 19 | 0 | Y | N | 反馈时间 | |
9 | feedback_content | text | 65535 | 0 | Y | N | 反馈内容 | |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | online_service_id | int | 10 | 0 | N | Y | 在线客服ID | |
2 | consulting_users | int | 10 | 0 | Y | N | 0 | 咨询用户 |
3 | user_name | varchar | 64 | 0 | Y | N | 用户名称 | |
4 | consultation_time | datetime | 19 | 0 | Y | N | 咨询时间 | |
5 | consultation_type | varchar | 64 | 0 | Y | N | 咨询类型 | |
6 | consultation_questions | text | 65535 | 0 | Y | N | 咨询问题 | |
7 | question_response | text | 65535 | 0 | Y | N | 问题回复 | |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表physical_examination_items (体检项目)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | physical_examination_items_id | int | 10 | 0 | N | Y | 体检项目ID | |
2 | project_number | varchar | 64 | 0 | Y | N | 项目编号 | |
3 | entry_name | varchar | 64 | 0 | Y | N | 项目名称 | |
4 | project_type | varchar | 64 | 0 | Y | N | 项目类型 | |
5 | physical_examination_personnel | int | 10 | 0 | Y | N | 0 | 体检人员 |
6 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
7 | physical_examination_price | int | 10 | 0 | Y | N | 0 | 体检价格 |
8 | project_details | longtext | 2147483647 | 0 | Y | N | 项目详情 | |
9 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表physical_examination_report (体检报告)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | physical_examination_report_id | int | 10 | 0 | N | Y | 体检报告ID | |
2 | project_number | varchar | 64 | 0 | Y | N | 项目编号 | |
3 | entry_name | varchar | 64 | 0 | Y | N | 项目名称 | |
4 | project_type | varchar | 64 | 0 | Y | N | 项目类型 | |
5 | physical_examination_personnel | int | 10 | 0 | Y | N | 0 | 体检人员 |
6 | appointment_users | int | 10 | 0 | Y | N | 0 | 预约用户 |
7 | user_name | varchar | 64 | 0 | Y | N | 用户名称 | |
8 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
9 | user_age | int | 10 | 0 | Y | N | 0 | 用户年龄 |
10 | user_height | int | 10 | 0 | Y | N | 0 | 用户身高 |
11 | user_weight | int | 10 | 0 | Y | N | 0 | 用户体重 |
12 | user_body_temperature | int | 10 | 0 | Y | N | 0 | 用户体温 |
13 | user_pulse_rate | int | 10 | 0 | Y | N | 0 | 用户脉率 |
14 | systolic_pressure | varchar | 64 | 0 | Y | N | 收缩压 | |
15 | diastolic_pressure | varchar | 64 | 0 | Y | N | 舒张压 | |
16 | physical_examination_time | datetime | 19 | 0 | Y | N | 体检时间 | |
17 | physical_examination_results | longtext | 2147483647 | 0 | Y | N | 体检结果 | |
18 | medical_advice_reminder | text | 65535 | 0 | Y | N | 医嘱提醒 | |
19 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表physical_examination_type (体检类型)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | physical_examination_type_id | int | 10 | 0 | N | Y | 体检类型ID | |
2 | physical_examination_type | varchar | 64 | 0 | Y | N | 体检类型 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | registered_users_id | int | 10 | 0 | N | Y | 注册用户ID | |
2 | project_number | varchar | 64 | 0 | Y | N | 用户名称 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | user_age | int | 10 | 0 | Y | N | 0 | 用户年龄 |
5 | contact_information | varchar | 16 | 0 | Y | N | 联系方式 | |
6 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | repair_information_id | int | 10 | 0 | N | Y | 维修信息ID | |
2 | equipment_number | varchar | 64 | 0 | Y | N | 设备编号 | |
3 | device_name | varchar | 64 | 0 | Y | N | 设备名称 | |
4 | placement_position | varchar | 64 | 0 | Y | N | 摆放位置 | |
5 | repair_employee | int | 10 | 0 | Y | N | 0 | 报修员工 |
6 | repair_time | datetime | 19 | 0 | Y | N | 报修时间 | |
7 | maintenance_status | varchar | 64 | 0 | Y | N | 维修状态 | |
8 | reason_for_repair | varchar | 64 | 0 | Y | N | 报修原因 | |
9 | repair_remarks | text | 65535 | 0 | Y | N | 报修备注 | |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
表user_group (用户组:用于用户前端身份和鉴权)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | working_personnel_id | int | 10 | 0 | N | Y | 工作人员ID | |
2 | personnel_name | varchar | 64 | 0 | Y | N | 人员姓名 | |
3 | gender_of_personnel | varchar | 64 | 0 | Y | N | 人员性别 | |
4 | personnel_position | varchar | 64 | 0 | Y | N | 人员职位 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
4.4本章小结
整个基于微信小程序的小型体检中心管理系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
第五章 基于微信小程序的小型体检中心管理系统详细设计与实现
基于微信小程序的小型体检中心管理系统的详细设计与实现主要是根据前面的基于微信小程序的小型体检中心管理系统的需求分析和基于微信小程序的小型体检中心管理系统的总体设计来设计页面并实现业务逻辑。主要从基于微信小程序的小型体检中心管理系统界面实现、业务逻辑实现这两部分进行介绍。
5.1用户功能界面
5.1.1前台首页界面
在普通用户在登录后,可以在首页看到个性化的推荐内容,包括首页、体检项目、设备信息、网站公告、体检常识、我的等。首页还提供了快速导航链接,前台首页界面展示如下图所示。
图5-1 前台首页界面图
不是基于微信小程序的小型体检中心管理系统中正式用户的是可以在线进行注册的,当填写上自己的账号+设置密码+确认密码+昵称+邮箱+手机号+身份+用户姓名+用户性别等信息后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。其用户注册界面展示如下图所示。
图5-2 前台用户注册界面图
注册代码:
/
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
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);
}
基于微信小程序的小型体检中心管理系统中的前台上注册后的用户是可以通过自己的用户名+密码进行登录的,当用户输入完整的自己的用户名+密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的用户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到基于微信小程序的小型体检中心管理系统的首页中;否则将会提示相应错误信息,登录界面如下图所示。
图5-3登录界面图
登录代码:
/
* 登录
* @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.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());
Duration duration = Duration.ofSeconds(7200L);
redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);
// 返回用户信息
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.1.4我的界面
我的:我的是用户的个人管理界面,用户可以在这里查看自己的基本信息、收藏、预约信息、体检报告、评价反馈等内容。方便用户随时掌握自己的体检动态。我的界面如下图所示:
图5-4我的界面图
网站公告:用户可以在此模板查看网站的公告信息,包括网站公告、关于我们、联系方式、网站介绍等,网站公告界面如下图所示:
图5-5网站公告界面图
体检常识:体检常识是为了帮助用户更好的了解体检知识,提供体检的基本信息、注意事项及常见问题的解答,用户可以对自己喜欢的知识文章进行点赞、收藏和评论。体检常识界面如下图所示。
图5-6体检常识界面图
5.1.7体检项目界面
体检项目:用户可以在体检项目页面选择自己需要的体检项目进行参与。包括项目编号、名称、价格、体检人员等,用户可以根据自己的需要和判断进行预约、点赞和收藏。体检项目界面如下图所示。
图5-7体检项目界面图
5.2管理员功能界面
5.2.1系统用户界面
系统用户:管理员可以对平台注册用户、工作人员进行分类和权限设置。管理员可以添加、查询、重置或删除注册用户、工作人员的用户账号,这一功能确保了平台用户信息的准确性和用户操作的规范性。系统用户管理界面如下图所示:
图5-8系统用户界面图
5.2.2系统管理界面
管理员在“系统管理”页面中可以对前台发布的轮播图进行增删改查的操作。系统管理界面如图所示。
图5-9系统管理界面图
体检项目管理:管理员可以在页面对体检项目进行更新维护,并可以查询、重置、删除等操作。体检项目管理界面如下图所示。
图5-10体检项目管理界面
5.2.4体检类型管理界面
体检类型管理:管理员可以在页面对体检类型进行更新维护,并可以查询、重置、删除等操作。体检类型管理界面如下图所示。
图5-11体检类型管理界面
5.2.5员工排班管理界面
员工排班管理:管理员可以在此制定和管理员工的排班计划,确保员工能够按时到岗并提供优质的服务。同时,还可以根据员工的实际情况进行调整和修改,确保排班的合理性和灵活性。员工排班管理界面如下图所示。
图5-12员工排班管理界面
5.2.6公告通知管理界面
公告通知管理:管理员可以在此发布和管理系统的公告通知,用户可以在登录系统时查看这些公告通知,及时了解系统的最新动态和优惠政策。公告通知管理界面如下图所示。
图5-13公告通知管理界面
5.3工作人员功能界面
5.3.1预约信息管理界面
预约信息管理:预约信息管理模块允许工作人员查看、编辑或取消客户的预约信息。确保每位客户都能在合适的时间得到满意的服务。预约信息管理界面如下图所示。
图5-14预约信息管理界面
5.3.2体检报告管理界面
体检报告管理:体检报告是服务的核心产出。工作人员可以生成、审核和发布体检报告,确保每位客户都能及时收到准确、详尽的健康建议。体检报告管理界面如下图所示。
图5-15体检报告管理界面
5.3.3设备信息管理界面
设备信息管理:作为体检服务的基础,设备信息的管理至关重要。在设备信息管理模块,管理员可以查看设备的设备详细、摆放位置和设备状态,确保设备的正常运行和及时更新。设备信息管理界面如下图所示。
图5-16设备信息管理界面
5.3.4维修信息管理界面
维修信息管理:在维修信息管理模块,系统提供了完整的设备维修记录和追踪功能。一旦设备出现故障,系统会立即通知维修人员,并记录维修的详细过程和结果,确保设备的快速恢复和服务的连续性。维修信息管理界面如下图所示。
图5-17维修信息管理界面
第六章 系统测试
系统的前台、后台、数据库完成以后,这个系统才算是完成了一半,我们在这之后要对系统进行最后的一个阶段,那就是测试了,测试对一个系统来说是非常重要的,有的时候开发完一个系统,如果测试不合格的话,这个系统是没有办法进行投入使用的,所有我们要用测试对系统的功能进行检验,把不完善的功能尽量完善,把出现的bug解决掉,然后给用户呈现出一个完美的系统。通过对系统最后一步的测试,使得开发人员对自己的系统更加有信心,更加积极的为后期的系统版本的更新提供支持。
6.1系统测试的目的
一个系统测试的目的就是检验系统在真正的工作环境、条件下是不是能够正常运行,各种功能能不能符合设计的要求,通过测试发现系统当中存在的一些潜在的错误,然后对系统进行改进,使得系统最终以完美的形式展现给用户,提高用户使用过程中的体验度,真正达到项目的实际使用目的。
6.2测试用例
6.2.1评论测试
表6-1 评论测试用例
测试用例编号 | YL_03 | |
测试用例名称 | 系统使用者进行在线交流 | |
测试用例描述 | 使用者输入交流标题、内容等信息 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
输入完整的评论标题和内容 | 提示“评论成功”,并进入系统 | 预期结果 |
不输入的评论标题和内容 | 提示“请输入完整” | 预期结果 |
6.2.2创建数据测试
在系统中,创建功能也是基础功能之一,因此创建功能的测试很有代表性。在此章节主要列举在创建时各种情况下系统结果的测试。由于系统涉及创建功能操作过多,因此将多处统称创建功能。
创建数据用例如下表所示。
表6-2 创建数据测试用例
测试用例编号 | YL_05 | |
测试用例名称 | 系统使用者进行创建数据 | |
测试用例描述 | 使用者输入要创建的数据 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
输入完整并且格式正确的数据 | 提示“创建成功”,并显示所有数据 | 预期结果 |
核心位置数据但非必要位置不输入数据 | 提示“创建成功”,并显示所有数据 | 预期结果 |
核心数据位置不输入数据 | 提示“创建失败” | 预期结果 |
6.2.3修改数据测试
在系统中,修改功能是系统主要实现功能,因此修改功能的测试很有代表性。在此章节主要列举在修改时各种情况下系统结果的测试。由于系统涉及修改功能操作过多,因此将多处数据表记录修改和状态修改统称修改功能。
修改数据用例如下表所示。
表6-3 修改数据测试用例
测试用例编号 | YL_06 | |
测试用例名称 | 系统使用者进行修改数据 | |
测试用例描述 | 使用者对可修改的数据项进行修改 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
将现有数据修改成正确的数据 | 提示“修改成功”,并显示所有数据 | 预期结果 |
将现有数据修改成错误的数据 | 提示“修改失败” | 预期结果 |
6.2.4查询数据测试
在系统中,查询功能是使用系统使用最多也是最基础的功能,因此查询功能的测试很有代表性。在此章节主要列举在查询时各种情况下系统结果的测试。
查询数据用例如下表所示。
表6-4 查询数据测试用例
测试用例编号 | YL_05 | |
测试用例名称 | 系统使用者进行查询数据 | |
测试用例描述 | 全部查询以及输入关键词查询 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
界面自动查询全部 | 显示对应所有记录 | 预期结果 |
输入已存在且能匹配成功的关键字 | 显示所查询到的数据 | 预期结果 |
输入不存在的关键字 | 显示数据界面为空 | 预期结果 |
6.3测试结果
在本章节对基于微信小程序的小型体检中心管理系统进行了测试,并对系统中的部分功能进行了用例分析,能够发现系统还是比较稳定的,系统的所有功能基本可以实现,能够满足管理员和用户的需求。通过测试可以看出在系统的运行过程中,其功能完整,对于输入的错误信息,能够把错误信息提示出来,方便用户操作的时候发现自己输入的信息哪里有错误,进而进行改正,而且系统界面都设有导航栏,操作非常便捷,不需要对使用者进行任何培训,对于企业来说是一个很有价值的系统。
结论
至此,基于微信小程序的小型体检中心管理系统已经结束,在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从中我也收获了很多宝贵的方法和设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、JAVA语言、Mysql,Springboot这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。
当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。
参考文献
[1]Arianti D F ,Triastono J ,Pertiwi D M , et al. Renewable energy potential of rice straw and paunch manure as bioethanol feedstocks in Central Java, Indonesia [J]. Case Studies in Chemical and Environmental Engineering, 2024, 9 100677-.
[2]Xiao Z ,Ali Y ,Xin W , et al. Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis [J]. International Journal of Information Technology and Web Engineering (IJITWE), 2023, 18 (1): 1-14.
[3]Yang Y . Design and Implementation of Student Information Management System Based on Springboot [J]. Advances in Computer, Signals and Systems, 2022, 6 (6):
[4]沈晓敏,黄婷,徐璟,等. 体检中心排队管理系统的应用与效果 [J]. 中医药管理杂志, 2020, 28 (03): 85-86.
[5]袁延飞. 私营健康体检中心财务信息化建设的必要性分析 [J]. 企业改革与管理, 2019, (20): 151+155.
[6]张滨. 大医一院健康体检管理系统的设计与实现[D]. 大连理工大学, 2018.
[7]吴晓霞,罗欢欢. 综合性体检网络管理系统在健康体检中的应用 [J]. 全科护理, 2018, 16 (15): 1871-1873.
[8]体检中心管理系统. 江苏省, 南京师范大学, 2018-01-01.
[9]泮金鸽,李国军,金君. 医院健康管理系统升级体会 [J]. 中医药管理杂志, 2017, 25 (19): 158-159.
[10]吴昊,陈荣山,姚婕. 全流程体检管理系统的设计与应用 [J]. 科技资讯, 2017, 15 (22): 125+127.
[11]林国全. 浅谈健康体检管理系统在个性化体检中的设计与应用 [J]. 科技资讯, 2017, 15 (01): 8+10.
[12]王岩. 健康体检管理系统的设计与实现[D]. 郑州大学, 2016.
[13]刘培英. 疾控中心健康体检管理系统及其数据分析 [J]. 世界最新医学信息文摘, 2016, 16 (86): 263.
[14]韩冬博,于瑞萍. 健康管理系统开发与集成 [J]. 医学信息学杂志, 2016, 37 (06): 44-47.
[15]李月凤,颜玉英,徐金红. 构建以体检报告质量为中心的结构化健康管理系统 [J]. 医疗装备, 2016, 29 (09): 92-93.
[16]齐赛,贾亚男,左玮玮,等. PACS/RIS系统在健康体检中的应用价值 [J]. 河北医科大学学报, 2016, 37 (02): 216-219.
[17]杨媛,赵长伟. 体检中心全程优质服务实践 [J]. 农垦医学, 2014, 36 (01): 81-83.
[18]黄智勇,李杰,成雄,等. 医院体检信息管理系统的设计与开发 [J]. 医疗卫生装备, 2013, 34 (05): 48-49.
[19]赵传运. 健康信息数据管理系统的研究与实现[D]. 电子科技大学, 2013.
[20]高辉,王翠华,谭志燕. 信息管理系统在医院体检中心的应用与发展 [J]. 中国现代医药杂志, 2013, 15 (02): 96-98.
致 谢
转眼间,大学生用户活便已经接近尾声,人面对着离别与结束,总是充满着不舍与茫然,我亦如此,仍记得那年秋天,我迫不及待的提前一天到了学校,面对学校巍峨的大门,我心里充满了期待:这里,就是我新生活的起点吗?那天,阳光明媚,学校的欢迎仪式很热烈,我面对着一个个对着我微笑的同学,仿佛一缕缕阳光透过胸口照进了我心里,同时,在那天我认识可爱的室友,我们携手共同度过了这难忘的两年。如今,我望着这篇论文的致谢,不禁又要问自己:现在,我们就要说再见了吗?
感慨莫名,不知所言。遥想当初刚来学校的时候,心里总是想着工科学校会过于板正,会缺乏一些柔情,当时心里甚至有一点点排斥,但是随着我对学校的慢慢认识与了解,我才认识到了她的美丽,她的柔情,并且慢慢的喜欢上了这个校园,但是时间太快了,快到我还没有好好体会她的美丽便要离开了,但是她带给我的回忆,永远不会离开我,也许真正离开那天我的眼里会满含泪水,我不是因为难过,我只是想将她的样子映在我的泪水里,刻在我的心里。最后,感谢我的老师们,是你们教授了我们知识与做人的道理;感谢我的室友们,是你们陪伴了我如此之久;感谢每位关心与支持我的人。
少年,追风赶月莫停留,平荒尽处是春山。