当前位置: 首页 > news >正文

基于springboot的医院管理系统

项目描述

临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里,你想解决的问题,今天给在家介绍一篇基于Springboot开发的医院管理系统。

功能需求

本医疗系统通过分析和确定系统的角色和功能划分,按照业务合理区分为不同的菜单功能模块。从求医患者和医院相关管理人员的角度出发,对每个功能的需求实现点进行人性化详细的构思。对每个功能的细节点进行分析设计整合完成整个医疗系统的设计。

具备以下功能:
  1. 门诊管理模块:即用户挂号、处方规划、项目规划、项目缴费、项目检查、药品缴费、门诊患者库。
  2. 住院管理模块:即入院登记、缴费管理、药品记账、项目记账、出院结算、费用详情等。
  3. 系统管理模块:即菜单管理、角色管理、用户管理、图标管理、数据源监控等。
  4. 统计管理模块:门诊月年度统计、住院月年度统计、医生统计对比、门诊当天统计等。
  5. 数据中心:科室中心、医生列表、药品产地、挂号类型、仓库、经办人、计量单位、供货商等。
  6. 药房管理模块:药房详情、门诊取药、住院取药等。
  7. 仓库管理模块:入库单、库存查询、出库单、操作记录、药品回收等。
系统功能模块框架图

在这里插入图片描述

部分效果图

登录界面:

在这里插入图片描述
系统首页
在这里插入图片描述
处方划价
在这里插入图片描述
用户管理
在这里插入图片描述
库存药品信息管理
在这里插入图片描述
菜单管理
在这里插入图片描述
用户挂号界面
在这里插入图片描述

数据库设计

系统中用到了36张表,针对每个表都进行了设计,下面对部分核心表进行汇总罗列展示。
(1)角色表
在这里插入图片描述
(2)治疗报告表
在这里插入图片描述
(3)用户角色表
在这里插入图片描述
(4)权限表
在这里插入图片描述

部分代码
@Controller
@RequestMapping("user")
public class UserController {@Autowiredprivate UserService userService;@RequestMapping("selectAllUser")@ResponseBodypublic Object selectAllUser(Integer page,Integer limit,User user){PageHelper.startPage(page, limit);List<User> allUser = userService.selectAllUser(user);PageInfo pageInfo = new PageInfo(allUser);Map<String, Object> tableData = new HashMap<String, Object>();//这是layui要求返回的json数据格式tableData.put("code", 0);tableData.put("msg", "");//将全部数据的条数作为count传给前台(一共多少条)tableData.put("count", pageInfo.getTotal());//将分页后的数据返回(每页要显示的数据)tableData.put("data", pageInfo.getList());return tableData;}/** 修改用户* */@RequestMapping("updateUser")@ResponseBodypublic Object updateUser(User user){int i1 = userService.checkUser(user);if(i1==1) {return "当前登陆名已存在";}else{int i = userService.updateUser(user);if(i>0){return "修改成功";}else{return "修改失败";}}}/** 删除用户* */@RequestMapping("deleteUser")@ResponseBodypublic Object deleteUser(Integer userid){userService.deleteUser(userid);return "删除成功";}/** 初始化用户分配角色* */@RequestMapping("initUserRole")@ResponseBodypublic DataGridView initUserRole(Integer userid){return userService.queryUserRole(userid);}/** 添加用户* */@RequestMapping("addUser")@ResponseBodypublic Object addUser(User user){int i1 = userService.checkUser(user);if(i1==1){return "当前登陆名已存在";}else {//加盐String salt = UserCredentialsMatcher.generateSalt(6);//MD5加密迭代两次user.setPwd(UserCredentialsMatcher.encryptPassword("md5", "123456", salt, 2));user.setType(2);user.setSalt(salt);System.out.println(salt);int i = userService.addUser(user);if (i > 0) {return "添加成功";} else {return "添加失败";}}}/** 重置密码* */@RequestMapping("resetUserPwd")@ResponseBodypublic Object resetUserPwd(User user,Integer userid){user.setUserid(userid);//加盐String salt = UserCredentialsMatcher.generateSalt(6);//MD5加密迭代两次user.setPwd(UserCredentialsMatcher.encryptPassword("md5", "123456", salt, 2));user.setType(2);user.setSalt(salt);userService.resetUserPwd(user);return "重置成功";}/** 保存用户和角色的关系* */@RequestMapping("saveUserRole")@ResponseBodypublic Object saveUserRole(UserRole userRole){userService.saveUserRole(userRole);return "分配成功";}    /** 修改资料* */@RequestMapping("editLogin")@ResponseBodypublic Object editLogin(User user){int i = userService.editLogin(user);if(i==1){return "修改成功";}else{return "修改失败";}}@Autowiredprivate MenuService menuService;@RequestMapping("editPwd")@ResponseBodypublic Object editPwd(User user,String loginname,String pwd,String pwd1){//第一步:建立subjectSubject subject = SecurityUtils.getSubject();//第二步:封装token  凭证UsernamePasswordToken token = new UsernamePasswordToken(loginname, pwd);try {//只要能通过认证就能通过了subject.login(token);//加盐String salt = UserCredentialsMatcher.generateSalt(6);//MD5加密迭代两次user.setPwd(UserCredentialsMatcher.encryptPassword("md5", pwd1, salt, 2));user.setSalt(salt);userService.editPwd(user);return "1";//修改成功} catch (IncorrectCredentialsException e) {return "0";//密码错误}}
}
安装部署需求

利用tomcat启动运行

总体设计

本系统是一个基于springboot的微服务架构,前端使用熟知的JavaScript脚本实现系统页面,在后期的发布通过Tomcat服务器部署,也可以通过nginx进行服务代理或者集成负载。
系统设计了基于角色的权限管控,超级管理员可以创建不同的角色,给每个用户分配不用的角色,每个角色的用户分配不同的工作任务和权限按钮。这个系统的设计采用MVC模式,按照视图、控制、数据处理、持久层划分实现。简化了大量的配置和程序代码的耦合性。数据库采用免费开源的MySQL数据库,即节约了成本能够支撑起真个系统业务数据和信息化数据的存储。

本项目用到的技术和框架

1.开发语言:Java
2.开发模式:B/S
3.数据库:MySQL

本项目中的关键点

此系统的开发采用java语言开发,基于B/S结构,这些开发环境使系统更加完善。使用到的工具和技术都是开源免费的。

环境工具

开发工具 Eclipse/IDEA
语言 JDK1.8 、VUE、springboot,mybatis
硬件:笔记本电脑;
软件:Tomcat9.0 Web服务器、Navicat数据库客户端、MySQL;
操作系统:Windows 10;
其它软件:截图工具、常用浏览器;
微信扫下方二维码关注公众号,经常分享一些技术上的理解文章。
在这里插入图片描述

相关文章:

释放Stable Diffusion 无限可能

最近在整理大语言模型的系列内容&#xff0c;Stable Diffusion 是我下一篇博客的主题。关注 Stable Diffusion&#xff0c;是因为它是目前最受欢迎和影响力最大的多模态生成模型之一。Stable Diffusion 于 2022 年 8 月发布&#xff0c;主要用于根据文本的描述产生详细图像&…...

C语言:文件操作(中)

片头 嗨&#xff01;小伙伴们&#xff0c;大家好&#xff01;在上一篇中&#xff0c;我们学习了C语言&#xff1a;文件操作&#xff08;上&#xff09;&#xff0c;在这一篇中&#xff0c;我们将继续学习文件操作&#xff0c;准备好了吗&#xff1f;Ready Go ! ! ! 文件的顺序…...

在Linux中,如何查看所有正在运行的进程?

在Linux中,查看所有正在运行的进程可以使用多种命令,这些命令提供了不同的信息和视图。以下是一些常用的命令: 1. ps 命令 ps(Process Status)是一个基本的进程查看工具,它可以显示当前系统中活动进程的状态。查看所有进程: ps auxaux选项组合表示查看所有用户的所有进程…...

python关键字(pass)

5、pass 在Python编程中&#xff0c;pass 是一个特殊的空操作关键字&#xff0c;用于表示一个语句的存在&#xff0c;但它不执行任何操作。pass 关键字在语法上需要一条语句但又不希望有任何实际操作的场景下非常有用。无论是Python的基础学习者还是经验丰富的开发者&#xff…...

Android --- 网络请求

通常在 Android 中进行网络连接一般使用 Scoket 和HTTP&#xff0c;HTTP 请求方式比 Scoket 多。HTTP 请求一般采用原生的 HttpClient 和 HttpUrlConnection 的两种网络访问方式&#xff08;系统自带的&#xff09;。但是在 Android 5.0 的时候 Google 就不推荐使用 HttpClient…...

360

5.3 周五 说是今早早去出去玩。 现在已经是凌晨两点,从十二点起一起学到现在。学了点 为了早上的游玩,该睡觉了,平时睡的很多的说。那个后台集成方案,有需要就学那个吧,目前按照教学视频的节奏来就行了 快睡觉啊...

基于springboot的医院管理系统

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里&#xff0c;你想解决的问题&#xff0…...

Django + Nginx https部署实战(第一辑)

WebServer和WebAPP 之前对于nginx的了解都只是听说&#xff0c;根本就不知道nginx对于整个网站的作用。经历了数个项目之后&#xff0c;我本人逐渐对nginx有了更深入的了解&#xff0c;也希望把这段经历拿出来分享给大家&#xff01; 由于我本人之前接触的都是Python的Django…...

Pycharm+服务器运行代码

Pycharm服务器运行代码服务器的连接与Anaconda环境配置ssh连接安装Anaconda创建虚拟环境安装代码所需的库Pycharm上传代码到服务器服务器的连接与Anaconda环境配置 ssh连接 我使用的是MobaXterm&#xff0c;新建一个会话&#xff0c;选择SSH&#xff0c;输入主机IP地址自己的…...

【Spring】IDEAspring-mybatis的整合----关于配置文件的整合

文章目录spring-mybatis的整合过程步骤1.导包&#xff0c;spring的jar包&#xff0c;mybatis的jar包2.mybatis.xml配置3.spring-mybatis.xml配置4.dao、service层、代码测试spring-mybatis的整合过程步骤 1.导包&#xff0c;spring的jar包&#xff0c;mybatis的jar包 <!--统…...

ssm技术

ssm ssm框架配置 maven项目–》webquickstart pom文件 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLo…...

MQ消息队列

MQ消息队列 消息队列&#xff08;Message Queue&#xff0c;简称MQ&#xff09;&#xff0c;指保存消息的一个容器&#xff0c;本质是个队列 消息队列是大型分布式系统不可缺少的中间件&#xff0c;也是高并发系统的基石中间件 使用消息队列还可以实现异步处理 下图便是消息…...

【JVM技术专题】精心准备了一套JVM分析工具的锦囊「JConsole补充篇」

前提概要 本篇文章主要针对于之前本系列文章的补充版&#xff0c;之前落下了Jconsole分析工具&#xff0c;所以为了了却这个遗憾&#xff0c;所以小编又开了这篇文章&#xff0c;主要针对于Jconsole工具进行相关的应用性能分析。 初识JConsole 【Jconsole&#xff08;Java Moni…...

基于PHP的高效协同办公管理系统

有需要请私信或看评论链接哦 可远程调试 基于PHP高效协同办公管理系统一 介绍 高效协同办公管理系统基于Yii框架开发&#xff0c;数据库mysql&#xff0c;可以稳定用于商业以及门户级的开发和使用。 二 系统功能 用户 1 办公门户(邮件/日志/汇报/日程/信息中心/通知公告/微博…...

第十四届蓝桥杯(Web应用开发)模拟赛1期-大学组

数据类型检测 请看这篇数据类型检测 渐变色背景生成器 html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name&…...

【遥感科学】遥感科学绪论

第一章 绪论 本系列适用于梅安新老师的遥感导论复习&#xff0c;也可以作为遥感领域的快速入门文章 一、遥感的基本概念 啥子是遥感&#xff1f;借用童庆禧院士的理解&#xff0c;那就是欲穷千里目&#xff0c;更上一层楼&#xff0c;遥感可以看做人的眼睛或者感知的延伸&…...

Tensorflow图像识别 Tensorflow手写体识别(二)

资源介绍 我们从 MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges 这条链接&#xff08;MNIST官网&#xff09;中下载好数据集&#xff0c;如下&#xff1a; 下载下来以后整理成包含四个压缩包的文件MNIST_data&#xff08;不要解压&#x…...

盘点上海IB国际学校,你会选哪一所呢?

之前&#xff0c;小编给大家盘点了上海热门的AP学校和Alevel学校&#xff0c;同时也介绍了国际课程的具体情况&#xff1b;今天就和大家聊聊上海的IB国际学校。IB即是国际文凭组织IBO(International Baccalaureate Organisation)为全球学生开设从幼儿园到大学预科的课程&#x…...

Teamcity为Azure的git源颁发ssh-rsa证书,使用ssl-keygen在macos下操作

Teamcity通过git,持续集成Azure源的项目时,总出现最近总出如下类似的错误: failed to checkout and determine revision: unable to list remote for ssh://gitssh.dev.azure.com/v3/<organization_name>/<project_name>/<repo_name>: unknown error: remot…...

【Java从入门到精通】Java 正则表达式

目录 正则表达式实例 &#x1f349;java.util.regex 包 &#x1f349;实例 &#x1f349;捕获组 &#x1f349;实例 &#x1f349;RegexMatches.java 文件代码&#xff1a; &#x1f349;正则表达式语法 &#x1f349;Matcher 类的方法 &#x1f349;索引方法 &#…...

VULHUB复现fastjson1.2.24反序列化漏洞

蚌埠住了&#xff0c;遇到了很多奇奇怪怪的问题。 如果你问我为啥不用kali&#xff0c;我会告诉你&#xff0c;我电脑上的kali装不成docker-compose!我急用了ubuntu如果你问我为啥用ubuntu克隆&#xff0c;我会告诉你&#xff0c;我电脑上的kali不能安装成功java8这个版本如果你…...

LLaMA3(Meta)微调SFT实战Meta-Llama-3-8B-Instruct

LlaMA3-SFT LlaMA3-SFT, Meta-Llama-3-8B/Meta-Llama-3-8B-Instruct微调(transformers)/LORA(peft)/推理 项目地址 https://github.com/yongzhuo/LLaMA3-SFT默认数据类型为bfloat6 备注 1. 非常重要: weights要用bfloat16/fp32/tf32(第二版大模型基本共识), 不要用fp16, f…...

Rust中的并发性:Sync 和 Send Traits

在并发的世界中&#xff0c;最常见的并发安全问题就是数据竞争&#xff0c;也就是两个线程同时对一个变量进行读写操作。但当你在 Safe Rust 中写出有数据竞争的代码时&#xff0c;编译器会直接拒绝编译。那么它是靠什么魔法做到的呢&#xff1f; 这就不得不谈 Send 和 Sync 这…...

CORBA须知(Common Object Request Broker Architecture,通用对象请求代理架构)

1. 定义&#xff1a; CORBA&#xff08;Common Object Request Broker Architecture&#xff0c;通用对象请求代理架构&#xff09;&#xff0c;是由OMG&#xff08;Object Management Group&#xff0c;對象管理組&#xff09; 制定和控制的软件构建标准。 这个架构使得不同…...