基于SpringBoot医院信息管理系统源码

news2024/11/24 23:03:07

 hisystem

1. 用idea打开项目,并且配置maven下载依赖
2. 导入数据库 hisystem.sql
3. 修改application.yml数据库相关配置
4. 用户注册,验证邮件的邮箱考虑到安全问题,暂不提供授权码,如有需求可使用自己邮箱,开启POP3/SMTP服务后,配置到项目里。  

host: smtp.qq.om

password:授权码

username:邮箱

5. 运行后端项目 `HisystemApplication`启动类
6. 访问 http://localhost:8090/
7. 账号:123456@qq.com  密码:123

源码效果视频:

【java毕业设计】基于SpringBoot医院信息管理系统源码

 

 

 

Admin关键代码: 

package com.xgs.hisystem.controller;

import com.xgs.hisystem.pojo.bo.BaseResponse;
import com.xgs.hisystem.pojo.vo.PageRspVO;
import com.xgs.hisystem.pojo.vo.*;
import com.xgs.hisystem.service.IAdminService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**


 * @description:
 */
@RestController
@RequestMapping(value = "/admin")
@Api(tags = "管理员操作API")
public class AdminController {

    @Autowired
    private IAdminService iadminService;

    /**
     * 新建角色
     *
     * @param roleVO
     * @return
     */
    @RequestMapping(value = "/createRole", method = RequestMethod.POST)
    public BaseResponse<String> createRole(@RequestBody @Validated RoleVO roleVO) {

        return iadminService.createRole(roleVO);

    }

    /**
     * 后台添加账户
     *
     * @param reqVO
     * @return
     */
    @RequestMapping(value = "/adduser", method = RequestMethod.POST)
    public BaseResponse<String> saveUserAndSendEmailTemp(@RequestBody @Validated UserRegisterReqVO reqVO) {

        return iadminService.saveUserAndSendEmailTemp(reqVO);
    }

    /**
     * 后台添加角色
     *
     * @param addRoleVO
     * @return
     */
    @RequestMapping(value = "/addRole", method = RequestMethod.POST)
    public BaseResponse<String> addRole(@RequestBody @Validated AddRoleVO addRoleVO) {

        return iadminService.addRole(addRoleVO);
    }


    /**
     * 获取审核角色
     *
     * @param
     * @return
     */
    @GetMapping(value = "/getRoleApply")
    public PageRspVO<applyRspVO> getRoleApply(BasePageReqVO reqVO) {

        return iadminService.getRoleApply(reqVO);

    }


    /**
     * 修改角色状态
     *
     * @param status
     * @param email
     */
    @PostMapping(value = "/changeRoleStatus")
    public void changeRoleStatus(@RequestParam String status, @RequestParam String email) {

        iadminService.changeRoleStatus(status, email);
    }

    /**
     * 公告
     *
     * @param reqVO
     * @return
     */
    @PostMapping(value = "/addAnnouncement")
    public BaseResponse<String> addAnnouncement(@RequestBody @Validated AnnouncementVO reqVO) {

        return iadminService.addAnnouncement(reqVO);
    }

    @GetMapping(value = "/getAnnouncement")
    public PageRspVO<AnnouncementVO> getAnnouncement(BasePageReqVO reqVO) {

        return iadminService.getAnnouncement(reqVO);
    }

    @PostMapping(value = "/changeAnnouncement")
    public BaseResponse<String> changeAnnouncement(@RequestBody @Validated AnnouncementVO announcementVO) {

        return iadminService.changeAnnouncement(announcementVO);
    }

    @PostMapping(value = "/deleteAnnouncement")
    public BaseResponse<String> deleteAnnouncement(@RequestParam String id) {

        return iadminService.deleteAnnouncement(id);
    }

    @PostMapping(value = "/showAnnouncement")
    public BaseResponse<String> showAnnouncement(@RequestParam String id) {

        return iadminService.showAnnouncement(id);
    }

    @PostMapping(value = "/hiddenAnnouncement")
    public BaseResponse<String> hiddenAnnouncement(@RequestParam String id) {

        return iadminService.hiddenAnnouncement(id);
    }

    @PostMapping(value = "/adddepartment")
    @ApiOperation(value = "添加科室", httpMethod = "POST", notes = "添加科室")
    @ApiImplicitParam(name = "reqVO",value = "添加科室", dataType = "AddDepartmentReqVO")
    public BaseResponse<String> addDepartment(@RequestBody @Validated AddDepartmentReqVO reqVO) {

        return iadminService.addDepartment(reqVO);
    }

    @PostMapping(value = "/getDepartment")
    @ApiOperation(value = "获取所有科室", httpMethod = "POST", notes = "获取所有科室")
    public List<GetDepartmentRspVO> getDepartment() {
        return iadminService.getDepartment();
    }
}

 

 

 

package com.xgs.hisystem.controller;

import com.xgs.hisystem.config.ServerConfig;
import com.xgs.hisystem.pojo.bo.BaseResponse;
import com.xgs.hisystem.pojo.vo.AnnouncementVO;
import com.xgs.hisystem.pojo.vo.applyRspVO;
import com.xgs.hisystem.service.IAdminService;
import com.xgs.hisystem.service.IUserService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.util.List;


@Controller
@Api(tags = "页面跳转")
public class PageController {

    @Autowired
    private IUserService iUserService;
    @Autowired
    private IAdminService iAdminService;
    @Autowired
    private ServerConfig serverConfig;

    @GetMapping(value = "/")
    public String login() {
        return "login";
    }

    /**
     * 主页
     *
     * @param model
     * @return
     */
    @GetMapping(value = "/main")
    public String main(Model model) {
        return "main";
    }

    /**
     * 邮件发送成功
     *
     * @param request
     * @param model
     * @return
     */
    @GetMapping(value = "/fmail")
    public String fmail(HttpServletRequest request, Model model) {
        String email = request.getParameter("email");
        model.addAttribute("email", email);
        model.addAttribute("url", serverConfig.getUrl());
        return "email/fmail";
    }

    /**
     * 激活用户状态
     *
     * @param email
     * @param validateCode
     * @return
     * @throws ParseException
     */
    @RequestMapping(value = "/activation", method = RequestMethod.GET)
    public String activation(String email, String validateCode, Model model) throws ParseException {

        BaseResponse baseResponse = iUserService.activation(email, validateCode);

        model.addAttribute("url", serverConfig.getUrl());

        if (baseResponse.getStatus() == 1) {
            return "email/dmail";
        } else {
            return "error";
        }
    }


    @GetMapping(value = "/accountset")
    public String accountSet() {
        return "accountset";
    }


    @GetMapping("/toApply")
    public String toApply() {
        return "/admin/roleApply";
    }

    @GetMapping(value = "/register")
    public String getUserID() {
        return "register/register";
    }

    /**
     * 导航栏通知数量显示,角色审核
     *
     * @param model
     * @return
     */
    @GetMapping(value = "/getRoleNotice")
    public String getRoleNotice(Model model) {

        List<applyRspVO> applyRspList = iAdminService.getRoleNotice();

        model.addAttribute("applyRspList", applyRspList);
        return "common/common_head::notice";

    }

    @GetMapping(value = "/toUserinfo")
    public String toUserinfo() {
        return "userInfo";
    }


    @GetMapping(value = "/announcement")
    public String announcement() {
        return "admin/announcement";
    }

    /**
     * 首页公告显示
     *
     * @param model
     * @return
     */
    @GetMapping(value = "/annDisplay")
    public String annDisplay(Model model) {

        List<AnnouncementVO> annList = iUserService.annDisplay();
        model.addAttribute("annList", annList);

        return "main::ann";
    }

    /**
     * 获取当前用户所有角色
     *
     * @param model
     * @return
     */
    @GetMapping(value = "/getAccountRole")
    public String getAccountRole(Model model) {

        List<String> accountRoleList = iUserService.getAccountRole();
        model.addAttribute("accountRole", accountRoleList);

        return "accountset::accountRole";
    }

    @GetMapping(value = "/registerRecord")
    public String registerRecord() {
        return "register/registerRecord";
    }

    @GetMapping(value = "/outpatient")
    public String outpatient() {
        return "outpatient/outpatient";
    }


    @GetMapping(value = "/storageManage")
    public String storageManage() {

        return "drugStore/storageManage";
    }

    @GetMapping(value = "/outpatientToll")
    public String outpatientToll() {

        return "toll/outpatientToll";
    }

    @GetMapping(value = "/examinationToll")
    public String examinationToll() {

        return "toll/examinationToll";
    }

    @GetMapping(value = "/takingdrug")
    public String takingdrug() {

        return "takingdrug/takingdrug";
    }


    @GetMapping(value = "/medicalExamination")
    public String medicalExamination() {

        return "medicalExamination/medicalExamination";
    }

    @GetMapping(value = "/drugManage")
    public String drugManage() {

        return "drugStore/drugManage";
    }


    @GetMapping(value = "/medicalRecord")
    public String medicalRecord() {

        return "outpatient/medicalRecord";
    }
}

 

 

 

package com.xgs.hisystem.controller;

import com.xgs.hisystem.pojo.bo.BaseResponse;
import com.xgs.hisystem.pojo.vo.outpatient.*;
import com.xgs.hisystem.pojo.vo.register.GetCardIdInforReqVO;
import com.xgs.hisystem.service.IOutpatientService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import java.util.List;


@RestController
@RequestMapping(value = "/outpatient")
@Api(tags = "门诊管理API")
public class OutpatientController {

    @Autowired
    private IOutpatientService iOutpatientService;

    /**
     * 读取就诊卡,获取病人信息
     *
     * @return
     */
    @PostMapping(value = "/getCardIdInfor")
    public PatientInforRspVO getCardIdInfor(@RequestBody GetCardIdInforReqVO reqVO) throws Exception {

        return iOutpatientService.getCardIdInfor(reqVO);
    }

    /**
     * 修改患者基础信息
     *
     * @param reqVO
     * @return
     */

    @PostMapping(value = "/changePatientInfor")
    public BaseResponse<String> changePatientInfor(@RequestBody OtherPatientInforReqVO reqVO) {

        return  iOutpatientService.changePatientInfor(reqVO);
    }

    /**
     * 就诊,稍后处理
     *
     * @param reqVO
     * @return
     */
    @PostMapping(value = "/ProcessLaterMedicalRecord")
    public BaseResponse<String> processLaterMedicalRecord(@RequestBody MedicalRecordReqVO reqVO) {

        return iOutpatientService.processLaterMedicalRecord(reqVO);

    }

    /**
     * 从稍后处理恢复到队列
     *
     * @param registerId
     * @return
     */
    @PostMapping(value = "/restorePatientInfor")
    public PatientInforRspVO restorePatientInfor(@RequestParam String registerId) throws Exception {

        return iOutpatientService.restorePatientInfor(registerId);
    }

    /**
     * 所有药品名
     *
     * @return
     */

    @PostMapping(value = "/getAllDrug")
    public List<String> getAllDrug() {
        return iOutpatientService.getAllDrug();
    }

    /**
     * 单个药品规格
     *
     * @param drug
     * @return
     */

    @PostMapping(value = "/getDrugInfor")
    public DrugRspVO getDrugInfor(String drug) {
        return iOutpatientService.getDrugInfor(drug);
    }

    /**
     * 就诊完成,保存病历
     *
     * @param reqVO
     * @return
     */
    @PostMapping(value = "/addMedicalRecord")
    public BaseResponse<String> addMedicalRecord(@RequestBody @Validated MedicalRecordReqVO reqVO) {

        return iOutpatientService.addMedicalRecord(reqVO);
    }

    /**
     * 就诊获取体检信息
     *
     * @param prescriptionNum
     * @return
     */

    @PostMapping(value = "/getMedicalExamination")
    public medicalExaminationInfoRspVO getMedicalExamination(@RequestParam String prescriptionNum) {

        return iOutpatientService.getMedicalExamination(prescriptionNum);
    }

    @PostMapping(value = "/getalloutpatientqueue")
    @ApiOperation(value = "获取当前医生下所有门诊队列患者", httpMethod = "POST", notes = "获取当前医生下所有门诊队列患者")
    public List<GetAllOutpatientQueueRspVO> getAllOutpatientQueue() {
        return iOutpatientService.getAllOutpatientQueue();
    }

}

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

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

相关文章

Vue3 - 路由 Vue-router 4.X(配置与使用教程)

目录前言安装配置准备工作配置路由基本使用路由传参 1路由传参 2路由传参 3SEO前言 在咱们 Vue2 时代&#xff0c;官方推荐咱们使用 vue-router 3.X 的库&#xff0c;如果是用脚手架创建的话&#xff0c;就直接默认集成到里面了。 Vue3 使用的是 vue-router 4.X 官方库&#xf…

[附源码]计算机毕业设计JAVA小超市进销存管理系统

[附源码]计算机毕业设计JAVA小超市进销存管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM my…

m扩频通信系统在瑞利信道中的误码率性能matlab仿真

目录 1.算法描述 2.matlab算法仿真效果 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 本课题&#xff0c;我们主要涉及到两个理论要点&#xff0c;第一个是瑞利衰落条件&#xff0c;第二个是扩频通信。下面分别对这两个理论进行介绍&#xff1a; 第一个是瑞利衰落条件&#x…

我们又重写了一个关键服务

#01 QueryCoord 组件介绍 QueryCoord 是 Milvus 中查询集群的中心调度节点&#xff0c;在用户将一个 Collection Load 到内存中时&#xff0c;QueryCoord 负责将该 Collection 的 Segment 调度到 QueryNode 集群中&#xff0c;以支持后续的查询。 QueryCoord 最核心的操作有4…

将egg项目部署至服务器

文章目录1.下载linux版本的node-v162.将node安装包从自己电脑上上传到自己的服务器3.在服务器中解压压缩包4.配置环境变量5.使文件生效6.将egg项目传到服务器指定目录下7.下载依赖8.npm start 运行不会占用终端 并且一直在运行 可以使用npm stop停用9.最后使用云服务器ip:端口号…

Linux22 --- 网络为什么要分层、使用tcp协议实现两个进程间通信的功能、IP地址转换函数

一、网络为什么要分层 1 1、分层的优点 1&#xff09;各层之间是独立的。某一层并不需要知道它的下一层是如何实现的&#xff0c;而仅仅需要知道该层通过层间的接口&#xff08;即界面&#xff09;所提供的服务。由于每一层只实现一种相对独立的功能&#xff0c;因而可将一个…

Linux-Hadoop集群配置

文章目录一、配置Hadoop集群1、在master虚拟机上配置hadoop&#xff08;1&#xff09;编辑Hadoop环境配置文件 - hadoop-env.sh&#xff08;2&#xff09;编辑Hadoop核心配置文件 - core-site.xml&#xff08;3&#xff09;编辑HDFS配置文件 - hdfs-site.xml&#xff08;4&…

1542_AURIX_TC275_CPU子系统_内核

全部学习汇总&#xff1a; GreyZhang/g_TC275: happy hacking for TC275! (github.com) 我因为看了这个章节的开篇有些疑惑去看了内核手册&#xff0c;现在学习的进程终于又重新回归&#xff0c;回到了TC275这个MCU的学习上。 这里的几条笔记记录是隔了很久写的&#xff0c;前面…

【Java面试】HashMap死循环问题

问题 最近几道面试题被问了是否了解并发情况下JDK7中HashMap发生死循环&#xff0c;导致CPU占用100%的问题。 由于HashMap并非是线程安全的&#xff0c;所以在高并发的情况下必然会出现问题&#xff0c;这是一个普遍的问题。 如果是在单线程下使用HashMap&#xff0c;自然是没…

[MAUI] 开篇-初识MAUI

前言 在2020年5月, 微软宣布了MAUI跨平台框架, MAUI 是Xamarin.Forms演变而来, 这也就意味着, 如果你原来具备Xamarin.Forms开发经验, 你可以流畅的过渡到MAUI开发当中。 原本于2021年底发布的MAUI正式版被推迟到了2022年5月底发布。现在, 你目前可以通过安装VS2022 预览版进行…

Elasticsearch倒排索引

什么是正排索引&#xff1f; 如下图&#xff0c;有一张商品表&#xff08;tb_goods&#xff09;&#xff1a; 对于mysql数据库来说&#xff0c;肯定会给“id”创建主键索引&#xff0c;然后根据“id”来查询对应的商品信息&#xff0c;而这种情况就被称为“正排索引” 现在有…

eMagin:当月产百万片时,4K MicroOLED成本将不是问题

在今年2022 SID显示周期间&#xff0c;Micro OLED微显示模组厂商eMagin曾展示一款专为超短焦VR头显开发的4K Micro OLED微显示屏&#xff0c;有趣的是&#xff0c;该显示屏连接的主板上印有STEAMBOAT字样&#xff0c;让人不禁怀疑它与Valve之间是否存在某种联系。甚至有猜测认为…

【Linux】8.0 多线程

文章目录1.0 Linux线程概念1.1 Linux线程基本概念1.2 Linux线程优劣介绍2.0 Linux线程控制2.1 pthread_create(创建线程)2.2 pthread_join(线程等待)2.3 pthread_exit(线程终止)2.4 pthread_detach(线程分离)3.0 线程id和LWP的关系4.0 Linux线程互斥4.1 线程互斥相关概念4.2 线…

JUC系列(五) 读写锁与阻塞队列

&#x1f4e3; &#x1f4e3; &#x1f4e3; &#x1f4e2;&#x1f4e2;&#x1f4e2; ☀️☀️你好啊&#xff01;小伙伴&#xff0c;我是小冷。是一个兴趣驱动自学练习两年半的的Java工程师。 &#x1f4d2; 一位十分喜欢将知识分享出来的Java博主⭐️⭐️⭐️&#xff0c;擅…

Qt第二十六章:Nuitka打包教程

Nuitka环境安装 ①下载gcc文件。提取码&#xff1a;8888百度网盘 请输入提取码 ②解压nuitka1.0.6版本&#xff0c;我们解压64位的。 ③设置环境变量 ④检测一下 gcc.exe --version 安装nuitka pip install nuitka pip install ordered-set 防止环境变量不生效&#xff0c;…

【Redis】Redis介绍

文章目录1.NoSQL数据库1.1NoSQL适用场景1.2常用的NoSQL1.3Redis介绍1.4Redis的使用场景1.5Redis默认按照目录1.6Redis的启动1.7Redis是单线程多路IO复用技术1.NoSQL数据库 NoSQL(NoSQL Not Only SQL )&#xff0c;意即“不仅仅是SQL”&#xff0c;泛指非关系型的数据库。 NoS…

学生HTML个人网页作业作品 (服装商城HTML+CSS)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 在线商城购物 | 水果商城 | 商城系统建设 | 多平台移动商城 | H5微商城购物商城项目 | HTML期末大学生网页设计作业&#xff0c;Web大学生网页 HTML&a…

RK3588平台开发系列讲解(Pinctrl篇)Pinctrl设备树介绍

平台内核版本安卓版本RK3588Linux 5.10Android12🚀返回专栏总目录 文章目录 一、 DTS介绍二、新建pinctrl三、引用pinctrl沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍pinctrl设备树的使用方法。 一、 DTS介绍 RK芯片的设备树⼀般把pinctrl节点放在soc…

元宇宙数字藏品,打造数字经济产业,实现全新业态升级

《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》提出以数字化转型整体驱动生产方式、生活方式和治理方式变革&#xff0c;催生新产业新业态新模式&#xff0c;壮大经济发展新引擎&#xff0c;将“虚拟现实和增强现实”列入了数字经济重点产业。 而自…

GAN生成漫画脸

最近对对抗生成网络GAN比较感兴趣&#xff0c;相关知识点文章还在编辑中&#xff0c;以下这个是一个练手的小项目~ (在原模型上做了&#xff0c;为了减少计算量让其好训练一些。) 一、导入工具包 import tensorflow as tf from tensorflow.keras import layersimport numpy a…