医院管理系统带万字文档医院预约挂号管理系统基于spingboot和vue的前后端分离java项目java课程设计java毕业设计

文章目录

  • 仓库管理系统
    • 一、项目演示
    • 二、项目介绍
    • 三、万字项目文档
    • 四、部分功能截图
    • 五、部分代码展示
    • 六、底部获取项目源码带万字文档(9.9¥带走)

仓库管理系统

一、项目演示

医院管理系统

二、项目介绍

基于springboot+vue的前后端分离医院管理系统

语言: Java 数据库:MySQL 前后端分离

前端技术 : Vue2 + ElementUl

后端技术 : SpringBoot2 + MyBatisPlus + Redis

系统角色:管理员、医生、患者

管理员:登录、医生信息管理、患者信息管理、挂号信息管理、药物信息管理、检查项目管理、病床信息管理、排班信息管理、数据统计分析

医生:登录、首页、今日挂号列表、历史挂号列表、住院申请管理、个人信息查询

患者:注册登录、首页、预约挂号、我的挂号、住院信息、个人信息

三、万字项目文档

在这里插入图片描述

在这里插入图片描述

四、部分功能截图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

五、部分代码展示

package com.bear.hospital.controller;import com.bear.hospital.pojo.Admin;
import com.bear.hospital.pojo.Doctor;
import com.bear.hospital.service.AdminService;
import com.bear.hospital.service.DoctorService;
import com.bear.hospital.service.OrderService;
import com.bear.hospital.service.PatientService;
import com.bear.hospital.utils.JwtUtil;
import com.bear.hospital.utils.ResponseData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.HashMap;
import java.util.Map;@RestController
@RequestMapping("admin")
public class AdminController {@Autowiredprivate AdminService adminService;@Autowiredprivate DoctorService doctorService;@Autowiredprivate PatientService patientService;@Autowiredprivate OrderService orderService;/*** 登录数据验证*/@PostMapping("/login")@ResponseBodypublic ResponseData login(@RequestParam("aId") int aId, @RequestParam("aPassword") String aPassword) {Admin admin = this.adminService.login(aId, aPassword);if (admin != null) {Map<String,String> map = new HashMap<>();map.put("aName", admin.getAName());map.put("aId", String.valueOf(admin.getAId()));String token = JwtUtil.getToken(map);map.put("token", token);return ResponseData.success("登录成功", map);} else {return ResponseData.fail("登录失败,密码或账号错误");}}/*** 分页模糊查询所有医护人员信息*/@RequestMapping("findAllDoctors")public ResponseData findAllDoctors(@RequestParam(value = "pageNumber") int pageNumber, @RequestParam(value = "size") int size, @RequestParam(value = "query") String query){return ResponseData.success("返回医护人员信息成功",  this.doctorService.findAllDoctors(pageNumber, size, query));}/*** 根据id查找医生*/@RequestMapping("findDoctor")public ResponseData findDoctor(@RequestParam(value = "dId") int dId) {return ResponseData.success("查询医生成功", this.doctorService.findDoctor(dId));}/*** 增加医生信息*/@RequestMapping("addDoctor")@ResponseBodypublic ResponseData addDoctor(Doctor doctor) {Boolean bo = this.doctorService.addDoctor(doctor);if (bo) {return ResponseData.success("增加医生信息成功");}return ResponseData.fail("增加医生信息失败!账号或已被占用");}/*** 删除医生信息*/@RequestMapping("deleteDoctor")public ResponseData deleteDoctor(@RequestParam(value = "dId") int dId) {Boolean bo = this.doctorService.deleteDoctor(dId);if (bo){return ResponseData.success("删除医生信息成功");}return ResponseData.fail("删除医生信息失败");}/*** 修改医生信息* bug: dState会自动更新为0*/@RequestMapping("modifyDoctor")@ResponseBodypublic ResponseData modifyDoctor(Doctor doctor) {this.doctorService.modifyDoctor(doctor);return ResponseData.success("修改医生信息成功");}/*** 分页模糊查询所有患者信息*/@RequestMapping("findAllPatients")public ResponseData findAllPatients(@RequestParam(value = "pageNumber") int pageNumber, @RequestParam(value = "size") int size, @RequestParam(value = "query") String query){return ResponseData.success("返回患者信息成功",  this.patientService.findAllPatients(pageNumber, size, query));}/*** 删除患者信息*/@RequestMapping("deletePatient")public ResponseData deletePatient(@RequestParam(value = "pId") int pId) {Boolean bo = this.patientService.deletePatient(pId);if (bo){return ResponseData.success("删除患者信息成功");}return ResponseData.fail("删除患者信息失败");}/*** 分页模糊查询所有挂号信息*/@RequestMapping("findAllOrders")public ResponseData findAllOrders(@RequestParam(value = "pageNumber") int pageNumber, @RequestParam(value = "size") int size, @RequestParam(value = "query") String query){return ResponseData.success("返回挂号信息成功",  this.orderService.findAllOrders(pageNumber, size, query));}/*** 删除挂号信息*/@RequestMapping("deleteOrder")public ResponseData deleteOrder(@RequestParam(value = "oId") int oId) {Boolean bo = this.orderService.deleteOrder(oId);if (bo){return ResponseData.success("删除挂号信息成功");}return ResponseData.fail("删除挂号信息失败");}}
package com.bear.hospital.controller;import com.bear.hospital.pojo.Bed;
import com.bear.hospital.service.BedService;
import com.bear.hospital.utils.ResponseData;
import com.bear.hospital.utils.TodayUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("bed")
public class BedController {@Autowiredprivate BedService bedService;/*** 查找所有空床位*/@RequestMapping("findNullBed")public ResponseData findNullBed(){return ResponseData.success("查找所有空床位成功", this.bedService.findNullBed());}/*** 增加床位信息*/@RequestMapping("updateBed")public ResponseData updateBed(Bed bed) {if (this.bedService.updateBed(bed))return ResponseData.success("增加床位成功!");return ResponseData.fail("增加床位失败!");}/*** 根据pId查询住院*/@RequestMapping("findBedByPid")public ResponseData findBedByPid(@RequestParam(value = "pId") int pId){return ResponseData.success("根据pId查询住院成功", this.bedService.findBedByPid(pId)) ;}/*** 分页模糊查询所有床位信息*/@RequestMapping("findAllBeds")public ResponseData findAllBeds(int pageNumber, int size, String query){return ResponseData.success("返回所有床位信息成功", this.bedService.findAllBeds(pageNumber, size, query));}/*** 根据id查找床位*/@RequestMapping("findBed")public ResponseData findBed(int bId){return ResponseData.success("根据id查找床位成功", this.bedService.findBed(bId));}/*** 增加床位信息*/@RequestMapping("addBed")@ResponseBodypublic ResponseData addBed(Bed bed) {Boolean bo = this.bedService.addBed(bed);if (bo) {return ResponseData.success("增加床位信息成功");}return ResponseData.fail("增加床位信息失败!床号或已被占用");}/*** 删除药物信息*/@RequestMapping("deleteBed")public ResponseData deleteBed(@RequestParam(value = "bId") int bId) {Boolean bo = this.bedService.deleteBed(bId);if (bo){return ResponseData.success("删除床位信息成功");}return ResponseData.fail("删除床位信息失败");}/*** 清空床位信息*/@RequestMapping("emptyBed")public ResponseData emptyBed(int bId){if(this.bedService.emptyBed(bId))return ResponseData.success("清空床位信息成功");return ResponseData.fail("清空床位信息失败");}/*** 统计今天挂号人数*/@RequestMapping("bedPeople")public ResponseData bedPeople(){String bStart = TodayUtil.getTodayYmd();return ResponseData.success("统计今天住院人数成功", this.bedService.bedPeople(bStart));}
}
package com.bear.hospital.controller;import com.bear.hospital.pojo.Doctor;
import com.bear.hospital.service.DoctorService;
import com.bear.hospital.service.OrderService;
import com.bear.hospital.service.PatientService;
import com.bear.hospital.utils.JwtUtil;
import com.bear.hospital.utils.ResponseData;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;@RestController
@RequestMapping("doctor")
public class DoctorController {@Autowiredprivate DoctorService doctorService;@Autowiredprivate OrderService orderService;@Autowiredprivate PatientService patientService;/*** 登录数据验证*/@RequestMapping(value = "login", method = RequestMethod.POST)@ResponseBodypublic ResponseData login(@RequestParam(value = "dId") int dId, @RequestParam(value = "dPassword") String dPassword) {Doctor doctor = this.doctorService.login(dId, dPassword);if (doctor != null) {Map<String,String> map = new HashMap<>();map.put("dName", doctor.getdName());map.put("dId", String.valueOf(doctor.getdId()));String token = JwtUtil.getToken(map);map.put("token", token);//response.setHeader("token", token);return ResponseData.success("登录成功", map);} else {return ResponseData.fail("登录失败,密码或账号错误");}}/*** 查看当天挂号列表*/@RequestMapping("findOrderByNull")public ResponseData findOrderByNull(@Param(value = "dId") int dId, @RequestParam(value = "oStart") String oStart){System.out.println("账号时间为"+dId+oStart);return ResponseData.success("返回当天挂号信息成功", this.orderService.findOrderByNull(dId,oStart));}/*** 根据患者id查询患者信息*/@RequestMapping("findPatientById")public ResponseData findPatientById(int pId){return ResponseData.success("返回患者信息成功!", this.patientService.findPatientById(pId));}/*** 分页根据科室查询所有医生信息*/@RequestMapping("findDoctorBySectionPage")public ResponseData findDoctorBySectionPage(int pageNumber, int size, String query, String arrangeDate, String dSection){return ResponseData.success("分页根据科室查询所有医生信息成功", this.doctorService.findDoctorBySectionPage(pageNumber, size, query, arrangeDate, dSection));}/*** 用户评价*/@RequestMapping("updateStar")public ResponseData updateStar(int dId, Double dStar){if(this.doctorService.updateStar(dId, dStar))return ResponseData.success("评价成功");return ResponseData.fail("评价失败");}/*** 上传Excel导入数据*/@RequestMapping(value = "uploadExcel", method = RequestMethod.POST)@ResponseBodypublic ResponseData uploadExcel(@RequestParam("file") MultipartFile multipartFile) throws Exception {if (this.doctorService.uploadExcel(multipartFile))return ResponseData.success("上传Excel导入数据成功");return ResponseData.fail("上传Excel导入数据失败");}/*** Excel导出数据*/@RequestMapping("downloadExcel")public ResponseData downloadExcel(HttpServletResponse response) throws IOException {if (this.doctorService.downloadExcel(response))return ResponseData.success("Excel导出数据成功");return ResponseData.fail("Excel导出数据失败");}
}
package com.bear.hospital.controller;import com.bear.hospital.pojo.Orders;
import com.bear.hospital.service.OrderService;
import com.bear.hospital.utils.ResponseData;
import com.bear.hospital.utils.TodayUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.ArrayList;@RestController
@RequestMapping("order")
public class OrderController {@Autowiredprivate OrderService orderService;/*** 根据id更新挂号信息*/@PostMapping("updateOrder")@ResponseBodypublic ResponseData updateOrder(@RequestBody Orders orders) {if (this.orderService.updateOrder(orders))return ResponseData.success("更新挂号信息成功");return ResponseData.fail("更新挂号信息失败!");}/*** 根据id设置缴费状态*/@RequestMapping("updatePrice")public ResponseData updatePrice(int oId){if (this.orderService.updatePrice(oId))return ResponseData.success("根据id设置缴费状态成功");return ResponseData.success("根据id设置缴费状态失败");}/*** 查找医生已完成的挂号单*/@RequestMapping("findOrderFinish")public ResponseData findOrderFinish(int pageNumber, int size, String query, int dId){return ResponseData.success("查找医生已完成的挂号单完成!", this.orderService.findOrderFinish(pageNumber, size, query, dId));}/*** 根据dId查询挂号*/@RequestMapping("findOrderByDid")public ResponseData findOrderByDid(int pageNumber, int size, String query, int dId){return ResponseData.success("返回挂号信息成功", this.orderService.findOrderByDid(pageNumber, size, query, dId)) ;}/*** 统计今天挂号人数*/@RequestMapping("orderPeople")public ResponseData oderPeople(){String oStart = TodayUtil.getTodayYmd();return ResponseData.success("统计今天挂号人数成功", this.orderService.orderPeople(oStart));}/*** 统计今天某个医生挂号人数*/@RequestMapping("orderPeopleByDid")public ResponseData orderPeopleByDid(int dId){String oStart = TodayUtil.getTodayYmd();return ResponseData.success("统计今天挂号人数成功", this.orderService.orderPeopleByDid(oStart, dId));}/*** 获取过去七天的挂号人数*/@RequestMapping("orderSeven")public ResponseData orderSeven(){ArrayList<Integer> list = new ArrayList<>();String oStart = null;for(int i = 20; i > 0;i--){oStart = TodayUtil.getPastDate(i);int people = this.orderService.orderPeople(oStart);list.add(people);}return ResponseData.success("获取过去20天的挂号人数成功", list);}/*** 统计挂号男女人数*/@RequestMapping("orderGender")public ResponseData orderGender(){return ResponseData.success("统计挂号男女人数", this.orderService.orderGender());}/*** 增加诊断及医生意见*/@PostMapping("updateOrderByAdd")@ResponseBodypublic ResponseData updateOrderByAdd(@RequestBody Orders order){if (this.orderService.updateOrderByAdd(order))return ResponseData.success("增加诊断及医生意见成功");return ResponseData.fail("增加诊断及医生意见失败");}/*** 判断诊断之后再次购买药物是否已缴费*/@RequestMapping("findTotalPrice")public ResponseData findTotalPrice(int oId){if(this.orderService.findTotalPrice(oId))return ResponseData.success("未缴费");return ResponseData.fail("无需缴费");}/*** 请求挂号时间段*/@RequestMapping("findOrderTime")public ResponseData findOrderTime(String arId){return ResponseData.success("请求挂号时间段成功", this.orderService.findOrderTime(arId));}/*** 统计过去20天挂号科室人数*/@RequestMapping("orderSection")public ResponseData orderSection(){return ResponseData.success("统计过去20天挂号科室人数成功", this.orderService.orderSection());}}

六、底部获取项目源码带万字文档(9.9¥带走)

有问题,或者需要协助调试运行项目的也可以

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

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

相关文章

跨阻放大器

#创作灵感# 最近涉及到微电流的监测项目&#xff0c;而里面的核心就是跨阻放大器&#xff0c;所以这里做一个简单的介绍&#xff0c;后续等项目完成了&#xff0c;再做一个实例的介绍。 #正文# 跨阻放大器&#xff08;Transimpedance Amplifier, TIA&#xff09;是一种将输入电…

NCBI Virus 帮助文档

What is NCBI Virus?&#xff08;什么是NCBI病毒&#xff09; 主要功能&#xff1a; Compare your sequence to those in the NCBI Virus database using NCBI BLAST algorithm. 使用NCBI BLAST算法将您的序列与NCBI病毒数据库中的序列进行比较。Search, view and download …

威联通 NAS 磁盘扩容 更换大容量磁盘具体操作以以TS-532X为例

第一步 检查磁盘状态 打开存储与快照总管&#xff0c;选左侧磁盘查看磁盘状态&#xff0c;应该是就绪状态。 三块磁盘都是就绪状态。 上面截图是更换过程中的截图 具体操作 然后点击存储/快照 &#xff0c;选管理 选逐一更换磁盘&#xff0c;这里raid组需要注意&#xff0…

【LeetCode】 740. 删除并获得点数

这真是一道好题&#xff01;这道题不仅考察了抽象思维&#xff0c;还考察了分析能力、化繁为简的能力&#xff0c;同时还有对基本功的考察。想顺利地做出这道题还挺不容易&#xff01;我倒在了第一步与第二步&#xff1a;抽象思维和化繁为简。题目的要求稍微复杂一些&#xff0…

数据恢复篇:如何在电脑上恢复已删除和丢失的音乐文件

尽管流媒体网络非常流行&#xff0c;但许多人仍然选择将音乐下载并保存在 PC 本地。这会使文件面临丢失或意外删除的风险。 幸运的是&#xff0c;您可以使用数据恢复软件恢复已删除的音乐和其他文件类型。这篇文章讨论了这些解决方案以及如何使用奇客数据恢复检索丢失的音乐文…

02.Linux下安装FFmpeg

目录 一、下载FFmpeg的编译源码 二、编译源码 三、ffmpeg工具结构解析 1、bin目录 2、include库 3、lib库 四、注意事项 五、可能出现的一些问题 1、某些工具未安装/版本过久 2、缺少pkg-config工具 3、缺少ffmplay FFmpeg 是一个开源的跨平台音视频处理工具集&…

科普文:八大排序算法(JAVA实现)+ 自制动画 (袁厨的算法小屋)

我将我仓库里的排序算法给大家汇总整理了一下&#xff0c;写的非常非常细&#xff0c;还对每个算法制作了动画&#xff0c;一定能够对大家有所帮助&#xff0c;欢迎大家阅读。另外我也对 leetcode 上面可以用排序算法秒杀的算法题进行了总结&#xff0c;会在后面的文章中进行发…

Python自动化运维 系统基础信息模块

1.系统信息的收集 系统信息的收集&#xff0c;对于服务质量的把控&#xff0c;服务的监控等来说是非常重要的组成部分&#xff0c;甚至是核心的基础支撑部分。我们可以通过大量的核心指标数据&#xff0c;结合对应的检测体系&#xff0c;快速的发现异常现象的苗头&#xff0c;进…

Golang | Leetcode Golang题解之第208题实现Trie前缀树

题目&#xff1a; 题解&#xff1a; type Trie struct {children [26]*TrieisEnd bool }func Constructor() Trie {return Trie{} }func (t *Trie) Insert(word string) {node : tfor _, ch : range word {ch - aif node.children[ch] nil {node.children[ch] &Trie{…

mac|tableau public 仪表盘使用

对华东地区的利润进行仪表盘可视化 选择下面的功能表的新建仪表盘,把上面的表1表2放入其中 通过下图操作将两个表联合起来&#xff0c;即上图使用筛选器时下面的表随之改变 将上图设置为筛选器&#xff0c;可以通过点击地区查看数据

MySQL之MHA高可用集群及故障切换

一、MHA概述 MHA&#xff08;MasterHigh Availability&#xff09;是一套优秀的mysql高可用环境下故障切换和主从复制的软件。MHA的出现就是为了解决mysql单点故障。Mysql故障切换过程中&#xff0c;MHA能做到0-30秒内自动完成故障性切换操作。MHA能在故障切换的过程中最大程度…

特征工程的力量

为什么你应该使用逻辑回归来建模非线性决策边界&#xff08;使用 Python 代码&#xff09; 作为一名大数据从业者&#xff0c;复杂的机器学习技术非常具有吸引力。使用一些深度神经网络 (DNN) 获得额外的 1% 准确率&#xff0c;并在此过程中启动 GPU 实例&#xff0c;这让人非常…

了解 ZooKeeper:关键概念和架构

ZooKeeper 是一种分布式协调服务&#xff0c;广泛用于分布式系统中&#xff0c;用于维护配置信息、命名、同步和组服务。它最初由雅虎开发&#xff0c;现在是一个 Apache 项目&#xff0c;已成为许多大型分布式应用程序不可或缺的一部分。本文深入探讨 ZooKeeper 的关键概念和架…

Spark Join优化案例:Join Key 远大于 Payload

在一个案例中&#xff0c;大表 100GB、小表 10GB&#xff0c;它们全都远超广播变量阈值&#xff08;默认 10MB&#xff09;。因为小表的尺寸已经超过 8GB&#xff0c;在大于 8GB 的数据集上创建广播变量&#xff0c;Spark 会直接抛出异常&#xff0c;中断任务执行&#xff0c;所…

python-基础篇-选择-是什么

文章目录 定义一&#xff1a;Python 条件语句跟其他语言基本一致的&#xff0c;都是通过一条或多条语句的执行结果&#xff08; True 或者 False &#xff09;来决定执行的代码块。1、什么是条件语句2、if 语句的基本形式3、if 语句多个判断条件的形式4、if 语句多个条件同时判…

Golang | Leetcode Golang题解之第205题同构字符串

题目&#xff1a; 题解&#xff1a; func isIsomorphic(s, t string) bool {s2t : map[byte]byte{}t2s : map[byte]byte{}for i : range s {x, y : s[i], t[i]if s2t[x] > 0 && s2t[x] ! y || t2s[y] > 0 && t2s[y] ! x {return false}s2t[x] yt2s[y] …

《昇思25天学习打卡营第6天 | 函数式自动微分》

《昇思25天学习打卡营第6天 | 函数式自动微分》 目录 《昇思25天学习打卡营第6天 | 函数式自动微分》函数式自动微分简单的单层线性变换模型函数与计算图微分函数与梯度计算Stop Gradient 函数式自动微分 神经网络的训练主要使用反向传播算法&#xff0c;模型预测值&#xff0…

建站小记:迁移域名DNS到CloudFlare

CloudFlare一直有赛博菩萨之称&#xff0c;据说用它做DNS解析服务又快又好又免费&#xff0c;还能防DDOS攻击&#xff0c;并且可以提供页面访问统计功能。 正好我博客网页打开略卡顿&#xff0c;所以决定将自己的DNS解析迁移到CloudFlare。 1.登录CF控制台&#xff0c;添加自己…

LeetCode-刷题记录-二分法合集(本篇blog会持续更新哦~)

一、二分查找概述 二分查找&#xff08;Binary Search&#xff09;是一种高效的查找算法&#xff0c;适用于有序数组或列表。&#xff08;但其实只要满足二段性&#xff0c;就可以使用二分法&#xff0c;本篇博客后面博主会持续更新一些题&#xff0c;来破除一下人们对“只有有…

(已解决)Adobe Flash Player已不再受支持

文章目录 前言解决方案 前言 一般来说&#xff0c;很少遇到官方网站使用Adobe Flash Player来进行录用名单公示了。但是&#xff0c;今天就偏偏遇到一次&#xff0c; 用谷歌浏览器打不开&#xff0c; 点了没有反应&#xff0c;用其他的浏览器&#xff0c;例如windows自带的那…