【开源】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. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ZigBee学习——在官方例程实现组网

✨Z-Stack版本&#xff1a;3.0.2 ✨IAR版本&#xff1a;10.10.1 ✨这篇博客是在善学坊BDB组网实验的基础上进行完善&#xff0c;并指出实现的过程中会出现的各种各样的问题&#xff01; 善学坊教程地址&#xff1a; ZigBee3.0 BDB组网实验 文章目录 一、基础工程选择二、可能遇…

Linux笔记之Docker进行镜像备份与迁移

Linux笔记之Docker进行镜像备份与迁移 ——2024-02-11 code review! 文章目录 Linux笔记之Docker进行镜像备份与迁移1. 导出容器文件系统为 tar 归档文件2. 将 tar 归档文件导入为新的 Docker 镜像3. 运行新的 Docker 镜像并创建容器 1. 导出容器文件系统为 tar 归档文件 要导…

【前端web入门第五天】03 清除默认样式与外边距问题【附综合案例产品卡片与新闻列表】

文章目录: 1.清除默认样式 1.1清除内外边距1.2清除列表圆点(项目符号) 3.外边距问题-合并现象4.外边距问题–塌陷问题5.行内元素垂直内外边距6.圆角与盒子阴影 6.1圆角 6.2 盒子模型-阴影(拓展) 综合案例一 产品卡片 综合案例二 新闻列表 1.清除默认样式 在实际设计开发中,要…

OpenCV-36 多边形逼近与凸包

目录 一、多边形的逼近 二、凸包 一、多边形的逼近 findContours后的轮廓信息countours可能过于复杂不平滑&#xff0c;可以用approxPolyDP函数对该多边形曲线做适当近似&#xff0c;这就是轮廓的多边形逼近。 apporxPolyDP就是以多边形去逼近轮廓&#xff0c;采用的是Doug…

带特效喝酒神器小程序源码-多种游戏支持流量主

由多个游戏组合而成,每一个小程序都基本带特效~~ 功能如下 1.小马快跑(支持竞选模式和个人单选模式,PS马是真的在跑哟) 2.彩票智能选号(支持多个彩种选号,快来选你的专属号码吧) 3.整蛊鳄鱼(少了一颗牙自动往酒杯加酒,看你和几杯) 4.真心话大冒险(这个就不多做解释啦) 5.…

【数学建模】【2024年】【第40届】【MCM/ICM】【F题 减少非法野生动物贸易】【解题思路】

一、题目 &#xff08;一&#xff09; 赛题原文 2024 ICM Problem F: Reducing Illegal Wildlife Trade Illegal wildlife trade negatively impacts our environment and threatens global biodiversity. It is estimated to involve up to 26.5 billion US dollars per y…

PyCharm2023.3.2配置conda环境

重点在于Path to conda这一步&#xff0c;需要找到conda.bat这个文件&#xff0c;PyCharm才能识别出现有的conda环境。

分享76个文字特效,总有一款适合您

分享76个文字特效&#xff0c;总有一款适合您 76个文字特效下载链接&#xff1a;https://pan.baidu.com/s/1rIiUdCMQScoRVKhFhXQYpw?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不…

操作系统(14)----文件系统的结构

目录 一.文件系统的层次结构 1.用户接口&#xff1a; 2.文件目录系统&#xff1a; 3.存取控制模块&#xff1a; 4.逻辑文件系统与文件信息缓冲区&#xff1a; 5.物理文件系统&#xff1a; 二.文件系统的全局结构 1.文件系统在外存中的结构 &#xff08;1&#xff09;物…

Linux nohup命令和

参考资料 linux后台运行nohup命令的使用及2>&1字符详解 目录 前期准备一. 基本语法二. 执行时不指定日志文件三. 执行后不想要日志文件四. nohup命令的执行与kill4.1 执行4.2 kill 前期准备 &#x1f4c4;handle_file.sh #!/bin/bashecho "文件复制开始..."…

2.11 运算符

1、选择题 1.1、若有以下程序 main() { char a1,b2; printf("%c,",b); printf("%d\n",b-a); } 程序运行后的输出结果是 C A&#xff09;3,2 B&#xff09;50,2 C&#xff09;2,2 D&#xff09;2,50 解析&#xff1a;b是先赋值后自加&#…

MacOS - M1芯片 Mac 在“恢复”模式中启用系统扩展教程

部分软件需要开启系统扩展才能正常使用&#xff0c;但是默然M1芯片的Mac不能直接打开系统扩展&#xff0c;如下两图。 若要启用系统扩展&#xff0c;您需要在“恢复”环境中修改安全性设置。 若要执行此操作&#xff0c;请将系统关机&#xff0c;然后按住触控ID或电源按钮以开…

寻找最优的路测线 - 华为OD统一考试

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 200分 题解&#xff1a; Java / Python / C 题目描述 评估一个网络的信号质量&#xff0c;其中一个做法是将网络划分为栅格&#xff0c;然后对每个栅格的信号质量计算。 路测的时候&#xff0c;希望选择一条信号最好…

《数电》理论笔记-第1章-逻辑代数基础

参考&#xff1a;视频 和 《数字电路与逻辑设计》 电子书 一&#xff0c;第1章 逻辑代数基础 1 数字量和模拟量 略 2 数制&#xff08;十进制&#xff0c;二进制&#xff0c;八进制和十六进制&#xff09; 拨电话&#xff08;BoDH&#xff09;---&#xff08;2八10十六&…

【Django】Django项目部署

项目部署 1 基本概念 项目部署是指在软件开发完毕后&#xff0c;将开发机器上运行的软件实际安装到服务器上进行长期运行。 在安装机器上安装和配置同版本的环境[python&#xff0c;数据库等] django项目迁移 scp /home/euansu/Code/Python/website euansuxx.xx.xx.xx:/home…

labelImg和labelme区别

LabelImg和LabelMe是两种常用的标注工具&#xff0c;用于创建标注数据集以供机器学习和计算机视觉任务使用。虽然它们都具有相似的目标&#xff0c;即方便用户进行图像标注&#xff0c;但在某些方面存在一些区别。下面将介绍LabelImg和LabelMe的区别及联系&#xff0c;同时提供…

如何写出别人写不出的内容(译)

&#xff08;译者序&#xff1a;这篇文章不只是写作&#xff0c;对信息获取、阅读也都有启发。随着社交媒体和 AI 的发展&#xff0c;人们越来越被动的接收海量信息&#xff0c;如何主动查找与整理对自己有用的内容&#xff0c;将是一个不可或缺的能力。&#xff09; 原文&…

模型 PMF(产品市场契合度)

系列文章 主要是 分享 思维模型&#xff0c;涉及各个领域&#xff0c;重在提升认知。产品与市场高度契合。 1 PMF(Product Market Fit)产品市场契合度 的应用 1.1 PMF在创业过程中的应用-Vincy公司的产品PartnerShare 实现PMF需要企业深入了解目标市场的需求和用户的反馈&…

导数的定义【高数笔记】

【含义】可以抽象成&#xff0c;在一个极其短的时间段内&#xff0c;温度差 / 时间差 【本质】瞬间的平均值 【分类】可以分成几类&#xff1f;每类需要注意的点 【导数存在的必要条件】 【导数与极限的关系】可以参考导数的定义的式子 【题型解法】分几个题型&#xff1f;每个…

C++ shell - 在线 C++ 编译器

C shell - 在线 C 编译器 1. C shell2. Example program3. Options4. ExecutionReferences 1. C shell C Shell v2 https://cpp.sh/ https://cpp.sh/about.html C Shell v2, free online compiler, proudly uses emscripten to compile your code. emscripten is a clang-ba…