Vue+SpringBoot打造个人健康管理系统

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 健康档案模块
    • 2.2 体检档案模块
    • 2.3 健康咨询模块
  • 三、系统展示
  • 四、核心代码
    • 4.1 查询健康档案
    • 4.2 新增健康档案
    • 4.3 查询体检档案
    • 4.4 新增体检档案
    • 4.5 新增健康咨询
  • 五、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的个人健康管理系统,包含了健康档案模块、体检档案模块、健康咨询模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,个人健康管理系统基于角色的访问控制,给普通用户、健康管理员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

个人健康管理系统,包含了健康档案模块、体检档案模块、健康咨询模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示。

2.1 健康档案模块

健康档案模块可以记录个人的基本信息、病史、过敏情况、药物使用、疫苗接种等健康相关信息。这些记录可以提供给医疗服务提供者,帮助他们更好地了解个体的健康状态,为个体提供更加个性化的医疗服务。

健康档案模块可以记录个体的健康监测数据,如体重、血压、血糖、心率等。这些数据可以帮助个人了解自己的健康状况,及时发现问题并采取相应的措施。

健康档案模块可以记录个体的疾病诊断和治疗信息,包括疾病的类型、治疗方案、用药情况等。这些信息有助于个体管理自己的疾病,并为医疗服务提供者提供参考,以便为个体提供更加精确的治疗建议。

2.2 体检档案模块

体检档案模块可以记录个人的体检数据,如身高、体重、血压、血糖、胆固醇等指标。这些数据可以提供给医疗服务提供者,帮助他们了解个体的健康状况,评估个体的健康风险和潜在疾病

体检档案模块可以追踪个人的体检历史,记录个体每次体检的结果和变化趋势。通过对比不同时间段的体检数据,可以及时发现个体的健康变化,提前预防和干预潜在的健康问题。

基于个人的体检数据和健康档案信息,体检档案模块可以提供针对个体的健康建议和指导。根据个体的体检结果和健康状况,系统可以生成个性化的健康改善方案,并提供相关的健康知识和建议,帮助个体更好地管理和改善自己的健康。

2.3 健康咨询模块

个人健康管理系统需要健康咨询模块是因为健康咨询是个体获取健康信息和专业指导的重要途径,健康咨询模块可以通过提供健康知识和教育资料,帮助个体了解健康问题和预防方法。通过解答常见的健康问题和提供权威的健康指导,个人可以更好地了解如何保持健康、预防疾病,并做出正确的健康决策。健康咨询模块可以根据个体的健康状况和需求,提供个性化的健康指导和建议。通过分析个体的健康档案和体检数据,系统可以针对个体的特定情况给出相应的健康咨询,如饮食建议、运动方案、心理健康指导等。这样,个人可以根据自己的实际情况进行健康管理,并更好地控制和改善自己的健康。


三、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、核心代码

4.1 查询健康档案

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询健康档案")
public Result<IPage<HealthArchives>> getByPage(@ModelAttribute HealthArchives healthArchives ,@ModelAttribute PageVo page){QueryWrapper<HealthArchives> qw = new QueryWrapper<>();User currUser = securityUtil.getCurrUser();QueryWrapper<User> userQw = new QueryWrapper<>();userQw.eq("id",currUser.getId());userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND role_id = '1536606659751841799'");if(iUserService.count(userQw) < 1L) {qw.eq("user_id",currUser.getId());}if(!ZwzNullUtils.isNull(healthArchives.getUserName())) {qw.like("user_name",healthArchives.getUserName());}if(!ZwzNullUtils.isNull(healthArchives.getContent1())) {qw.like("content1",healthArchives.getContent1());}IPage<HealthArchives> data = iHealthArchivesService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<HealthArchives>>().setData(data);
}

4.2 新增健康档案

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增健康档案")
public Result<HealthArchives> insert(HealthArchives healthArchives){User user = iUserService.getById(healthArchives.getUserId());if(user == null) {return ResultUtil.error("人员不存在");}healthArchives.setDate(DateUtil.today());healthArchives.setUserName(user.getNickname());healthArchives.setMobile(user.getMobile());iHealthArchivesService.saveOrUpdate(healthArchives);return new ResultUtil<HealthArchives>().setData(healthArchives);
}

4.3 查询体检档案

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询体检档案")
public Result<IPage<CheckArchives>> getByPage(@ModelAttribute CheckArchives checkArchives ,@ModelAttribute PageVo page){QueryWrapper<CheckArchives> qw = new QueryWrapper<>();User currUser = securityUtil.getCurrUser();QueryWrapper<User> userQw = new QueryWrapper<>();userQw.eq("id",currUser.getId());userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND role_id = '1536606659751841799'");if(iUserService.count(userQw) < 1L) {qw.eq("user_id",currUser.getId());}if(!ZwzNullUtils.isNull(checkArchives.getUserName())) {qw.like("user_name",checkArchives.getUserName());}if(!ZwzNullUtils.isNull(checkArchives.getMobile())) {qw.like("mobile",checkArchives.getMobile());}if(!ZwzNullUtils.isNull(checkArchives.getResult())) {qw.like("result",checkArchives.getResult());}IPage<CheckArchives> data = iCheckArchivesService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<CheckArchives>>().setData(data);
}

4.4 新增体检档案

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增体检档案")
public Result<CheckArchives> insert(CheckArchives checkArchives){User user = iUserService.getById(checkArchives.getUserId());if(user == null) {return ResultUtil.error("人员不存在");}checkArchives.setUserName(user.getNickname());checkArchives.setMobile(user.getMobile());checkArchives.setDate(DateUtil.today());iCheckArchivesService.saveOrUpdate(checkArchives);return new ResultUtil<CheckArchives>().setData(checkArchives);
}

4.5 新增健康咨询

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增健康咨询")
public Result<HealthMessage> insert(HealthMessage healthMessage){User currUser = securityUtil.getCurrUser();healthMessage.setUserId(currUser.getId());healthMessage.setUserName(currUser.getNickname());healthMessage.setTime(DateUtil.now());healthMessage.setReplyContent("");healthMessage.setReplyUser("");healthMessage.setReplyTime("");iHealthMessageService.saveOrUpdate(healthMessage);return new ResultUtil<HealthMessage>().setData(healthMessage);
}

五、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/527020.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring事件发布监听器ApplicationListener原理- 观察者模式

据说监听器模式也是mq实现的原理, 不过mq我还没来得及深入学习, 先用spring来理解一下吧 Spring事件发布监听器ApplicationListener原理- 观察者模式 什么是观察者模式一个Demo深入认识一下观察者模式Spring中的事件发布监听ps 什么是观察者模式 大家都听过一个故事叫做烽火戏…

C语言初学10:typedef

一、作用 为用户定义的数据类型取一个新名字 二、对结构体使用typedef定义新的数据类型名字 #include <stdio.h> #include <string.h>typedef struct Books //使用 typedef 来定义一个新的数据类型名字 {char title[50];} book;int main( ) {//book是typedef定…

微信小程序uniapp+django+python的酒店民宿预订系统ea9i3

Android的民宿预订系统设计的目的是为用户提供民宿客房、公告信息等方面的平台。 与PC端应用程序相比&#xff0c;Android的民宿预订系统的设计主要面向于民宿&#xff0c;旨在为管理员和用户、商家提供一个Android的民宿预订系统。用户可以通过Android及时查看民宿客房等。 An…

视频扩散模型介绍 Video Diffusion Models Introduction

视频扩散模型介绍 Video Diffusion Models Introduction Diffusion 扩散模型中的一些概念DDPMDDIMCLIPLatent DiffusionStable DiifusionLoRADreamBoothControlNet 视频生成评估标准图片层面视频层面 前人的工作Make-A-VideoAlign your Latents 开源视频生成模型ModelScopeT2V&…

Java中常用的集合及方法(3)

1、List&#xff08;接上级--常用方法示例补充&#xff09; 1.4 常用的方法 1.4.2 LinkedList&#xff08;JDK8&#xff09; LinkedList是Java中一个实现了List接口和Deque接口的类&#xff0c;它采用链表结构存储数据&#xff0c;支持高效的插入和删除操作。 LinkedList中…

阿里云服务器一个月多少钱?最便宜的5元1个月

阿里云服务器一个月多少钱&#xff1f;最便宜5元1个月。阿里云轻量应用服务器2核2G3M配置61元一年&#xff0c;折合5元一个月&#xff0c;2核4G服务器30元3个月&#xff0c;2核2G3M带宽服务器99元12个月&#xff0c;轻量应用服务器2核4G4M带宽165元12个月&#xff0c;4核16G服务…

Gitlab修改仓库权限为public、Internal、Private

Public&#xff08;公开&#xff09;&#xff1a;所有人都可以访问该仓库&#xff1b; Internal&#xff08;内部&#xff09;&#xff1a;同一个GitLab群组或实例内的所有用户都可以访问该仓库&#xff1b; Private&#xff08;私人&#xff09;&#xff1a;仅包括指定成员的用…

【动态规划】【前缀和】【和式变换】100216. K 个不相交子数组的最大能量值

本文涉及知识点 动态规划汇总 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode 100216. K 个不相交子数组的最大能量值 给你一个长度为 n 下标从 0 开始的整数数组 nums 和一个 正奇数 整数 k 。 x 个子数组的能量值定义为 stren…

STM32FreeRTOS信号量(STM32cube高效开发)

一、信号量 &#xff08;一&#xff09;信号量概括 信号量是操作系统中重要的一部分&#xff0c;信号量是一种解决同步问题的机制&#xff0c;可以实现对共享资源的有序访问。 FreeRTOS 提供了多种信号量&#xff0c;按信号量的功能可分为二值信号量、计数型信号量、互斥信…

python版本原因导致的grpcio-tools-1.48.2安装失败

因为工作需要使用python开发grpc客户端&#xff0c;在mac电脑上通以下命令安装python的grpc依赖库总是不成功 pip3 install --no-cache-dir --force-reinstall -Iv grpcio1.48.2 grpcio-tools1.48.2 clang -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG …

图片在div完全显示

效果图&#xff1a; html代码&#xff1a; <div class"container" style" display: flex;width: 550px;height: 180px;"><div class"box" style" color: red; background-color:blue; width: 50%;"></div><div …

蓝桥杯嵌入式省赛模板构建——串口发送

介绍 串口发送&#xff1a;单片机发送数据给电脑 只需要掌握异步收发 PA9单片机发送数据&#xff0c;PA10单片机接收数据 波特率&#xff1a;每秒传输的二进制位数&#xff0c; 例&#xff1a;4800bps:每秒能传输4800个bit 由下图可知一帧 10个bit(加上启动位和停…