医院管理系统带万字文档医院预约挂号管理系统基于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,一经查实,立即删除!

相关文章

SOLR数据导入和导出

情景 1、solr中的类型修改导致solr的core无法加载&#xff0c;只能删除core&#xff0c;重新创建。但是solr中的数据&#xff0c;只能从core心中导出&#xff0c;在导入新建的核心中。 2、试了几种方案&#xff0c;还是通过第三方freedev / solr-import-export-json的组件更加…

Spring框架(二)——IoC

1、什么是IoC IoC—Inverse of Control&#xff0c;控制反转&#xff0c;将对象的创建权力反转给Spring框架控制反转是为了降低程序耦合度&#xff0c;提高程序扩展力&#xff0c;达到OCP原则&#xff0c;达到DIP原则 OCP开闭原则&#xff1a;在软件开发过程中应当对扩展开放&…

跨阻放大器

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

Milvus Cloud集成 DSPy:搭建高效 RAG Pipeline

引言 大语言模型(LLM)为行业带来变革,具备强大的生成能力,在与知识库和检索器等工具相结合时,能够高效推动聊天机器人和 Agent 等高级生成式 AI(GenAI)应用的发展。与 LLMs 互动的过程中,最核心的部分是提示(prompt)。Prompt 是指用于指导这些模型执行特定任务的命令…

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 …

Oracle PL/SQL 教程 第一部分

PL / SQL代表“过程语言扩展到结构化查询语言”。 SQL用于查询和更新关系数据库。 PL / SQL与SQL紧密集成。 PL / SQL是SQL的Oracle过程扩展&#xff0c;是一种便携式&#xff0c;高性能的事务处理语言。 使用PL / SQL&#xff0c;可以使用所有SQL数据操作&#xff0c;游标…

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

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

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

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

Spring Session与分布式会话管理详解

随着微服务架构的普及&#xff0c;分布式系统中的会话管理变得尤为重要。传统的单点会话管理已经不能满足现代应用的需求。本文将深入探讨Spring Session及其在分布式会话管理中的应用。 什么是Spring Session&#xff1f; Spring Session是一个用于管理HttpSession的Spring框…

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

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

02.Linux下安装FFmpeg

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

揭秘银行理财产品:高收益背后的秘密

一、按币种分类 人民币理财产品&#xff1a;主要投资于人民币计价的金融工具&#xff0c;如国债、金融债、央行票据等。此类产品风险较低&#xff0c;收益稳定。外币理财产品&#xff1a;按照投资的本金风险分类&#xff0c;可分为本金100%保障、部分本金保障及不保本的外汇理…

华为OD机考题HJ24 合唱队

前言 应广大同学要求&#xff0c;开始以OD机考题作为练习题&#xff0c;看看算法和数据结构掌握情况。有需要练习的可以关注下。 描述 N 位同学站成一排&#xff0c;音乐老师要请最少的同学出列&#xff0c;使得剩下的 K 位同学排成合唱队形。 设&#x1d43e;K位同学从左到…

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

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

物联网协议都包含哪些协议?

物联网协议是物联网生态系统中不可或缺的组成部分&#xff0c;它们负责处理和协调物联网设备之间的通信。具体介绍如下&#xff1a; Ethernet&#xff1a;以太网是一种有线网络协议&#xff0c;广泛应用于局域网络(LAN)中&#xff0c;提供稳定的高速数据传输。Wi-Fi&#xff1…

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

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

springboot项目如何整合rocketmq

1、项目导入rocketmq依赖 添加 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-stream-rocketmq</artifactId> </dependency> 完整内容如下: <?xml version="1.0" encoding="…

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能在故障切换的过程中最大程度…