基于Java+SpringBoot+vue前后端分离社区医院信息平台设计实现

news2024/9/23 17:13:38

博主介绍全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战

🍅文末获取源码联系🍅

👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟

2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅

Java项目精品实战案例《100套》

Java微信小程序项目实战《100套》

 

系统介绍:

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了社区医院信息平台的开发全过程。通过分析社区医院信息平台管理的不足,创建了一个计算机管理社区医院信息平台的方案。文章介绍了社区医院信息平台的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。

本社区医院信息平台有管理员,患者,护士,医生,药品管理员共五个角色。管理员可以管理个人中心,患者管理,护士管理,医生管理,药品管理员管理。护士可以管理个人中心,患者管理,待检查列表管理,检查结果管理,注射列表管理,完成注射列表管理,注射取药列表管理。医生主要对患者进行检查和诊断。药品管理员关注个人中心,诊断信息管理,注射信息,药品信息,药品进价取药列表,注射列表,药费结算。因而具有一定的实用性。

本站是一个B/S模式系统,采用Spring Boot框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得社区医院信息平台管理工作系统化、规范化。本系统的使用使管理人员从繁重的工作中解脱出来,实现无纸化办公,能够有效的提高社区医院信息平台管理效率。

本系统是基于B/S架构的网站系统,设计的功能结构图如下图所示:

 图4-2功能结构图

程序上交给用户进行使用时,需要提供程序的操作流程图,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。

程序操作流程图

功能截图:

5.1 患者信息管理

社区医院信息平台的系统管理员可以管理患者,可以对患者信息添加修改删除以及查询操作。具体界面的展示如图5.1所示。

 图5.1 患者信息管理界面

5.2 护士信息管理

系统管理员可以查看对护士信息进行添加,修改,删除以及查询操作。具体界面如图5.2所示。

 图5.2 护士信息管理界面

5.3 医生信息管理

管理员可以对医生信息进行添加,修改,删除以及查询操作。界面如下图所示:

 图5.3 医生信息管理界面

5.4 药品管理员管理

管理员可以对药品管理员信息进行添加修改删除操作。界面如下图所示:

 图5.4 药品管理员界面

5.5 患者添加

医生可以对患者信息进行添加。界面如下图所示:

 图5.5 患者添加界面

5.6 安排检查

护士登录后对患者进行安排检查。界面如下图所示:

 图5.6 安排检查界面

5.7 完成注射列表

护士可以查看完成的注射列表信息。界面如下图所示:

 图5.7 完成注射列表界面

代码实现:

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
    
    @Autowired
    private UserService userService;
    
    @Autowired
    private TokenService tokenService;

    /**
     * 登录
     */
    @IgnoreAuth
    @PostMapping(value = "/login")
    public R login(String username, String password, String role, HttpServletRequest request) {
        UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
        if(user != null){
            if(!user.getRole().equals(role)){
                return R.error("权限不正常");
            }
            if(user==null || !user.getPassword().equals(password)) {
                return R.error("账号或密码不正确");
            }
            String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
            return R.ok().put("token", token);
        }else{
            return R.error("账号或密码或权限不对");
        }

    }
    
    /**
     * 注册
     */
    @IgnoreAuth
    @PostMapping(value = "/register")
    public R register(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
            return R.error("用户已存在");
        }
        userService.insert(user);
        return R.ok();
    }

    /**
     * 退出
     */
    @GetMapping(value = "logout")
    public R logout(HttpServletRequest request) {
        request.getSession().invalidate();
        return R.ok("退出成功");
    }
    
    /**
     * 密码重置
     */
    @IgnoreAuth
    @RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
        UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
        if(user==null) {
            return R.error("账号不存在");
        }
        user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
    
    /**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
        PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
        Integer id = (Integer)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
            return R.error("用户已存在");
        }
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

论文参考:

源码获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

 精彩专栏推荐订阅下方专栏👇🏻

2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅

Java项目精品实战案例《100套》

Java微信小程序项目实战《100套》

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

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

相关文章

Hadoop_HDFS_常见的文件组织格式与压缩格式

参考资料 1. HDFS中的常用压缩算法及区别_大数据_王知无_InfoQ写作社区 2. 本文主要介绍下HDFS上的常见文件格式和压缩格式 总结 : HDFS 中常见的文件存储格式 textfile &#xff1a;行式存储格式sequencefile &#xff1a;行式存储格式orc &#xff1a;列式存储格式, 支…

Deployment 升级应用2

上次我们说到自己手动的做使用 RS 的方式来升级 pod &#xff0c;感觉还是蛮复杂的&#xff0c;并且容易弄错&#xff0c;实际生产过程中&#xff0c;肯定不会这样来弄&#xff0c;很危险 那么今天我们来分享 Deployment 的方式来显示的升级应用吧 Deployment 的方式升级应用…

3dmax崩溃后如何恢复文件?

当意外或突然关闭 3ds Max 场景时&#xff0c;有时会出现恢复 3ds Max 场景的问题。在处理任何项目的过程中&#xff0c;有时需要恢复 3ds Max 场景&#xff0c;为此在专用文件夹中创建备份副本。如果您使用的是 Windows 操作系统并且未更改项目位置或不知道项目位置&#xff0…

如何通过nginx代理实现外网访问内网mysql或oracle数据库

项目开发部署中经常会遇到MySQL或Oracle数据库安装在内网&#xff0c;而我们的应用服务只能部署在外网&#xff0c;如果实现外网服务访问连接内网的数据库呢&#xff1f;本次介绍如何通过Nginx配置实现外网访问内网数据库。 1、前置机服务器 首先要保证有一台前置机服务器既可…

为Android构建现代应用——主体结构

创建Screents和ViewModels 在前面的章节中&#xff0c;我们已经分析了OrderNow项目的理论概念和我们将赋予的组织。 在本章中&#xff0c;我们将开始实现初始结构和模板&#xff0c;这将联接每一个应用程序的部分。 首先将添加以下带有各自视图模型的主屏幕&#xff1a; •…

到底什么是前后端分离

目录 Web 应用的开发主要有两种模式&#xff1a; 前后端不分离 前后端分离 总结 Web 应用的开发主要有两种模式&#xff1a; 前后端不分离 前后端分离 理解它们的区别有助于我们进行对应产品的测试工作。 前后端不分离 在早期&#xff0c;Web 应用开发主要采用前后端不…

“云上新气象”,VDI+IDV混合部署,麒麟信安云正式上线某市气象局!

阴晴冷暖&#xff0c;风云变幻&#xff0c;气象与人们的生活密切相关&#xff0c;气象局信息系统的智慧高效运营对于提升灾害防御能力、城市气象观测等方面具有重要作用&#xff0c;随着气象业务范围的不断扩展&#xff0c;气象局的信息化建设与数字化转型也亟需提上日程。 走…

【Solr】Solr搜索引擎使用

文章目录 一、什么是Solr?二 、数据库本身就支持搜索啊,干嘛还要搞个什么solr?三、如果我们想要使用solr那么首先我们得安装它 一、什么是Solr? 其实我们大多数人都使用过Solr,也许你不会相信我说的这句话,但是事实却是如此啊 ! 每当你想买自己喜欢的东东时,你可能会打开某…

Python入门准备

安装并配置Python 1、想要更新终端里Python的版本&#xff1a; 在python.org官网上下载最新版&#xff0c;下载安装以后&#xff0c;在终端输入python3进行询问。 2、完成Python环境的安装(Linux:操作系统&#xff0c;基于Cent0S7&#xff09; 在Linux系统上安装Python需要…

中小学分班查询系统如何制作?这个方法3分钟轻松搞定

暑假一过完&#xff0c;新学年即将开始&#xff0c;学校面临着一个重要的任务&#xff1a;学生分班。无论是新生入学还是低年级升高年级&#xff0c;都需要进行分班工作。这对负责分班的老师们来说&#xff0c;增加了相当大的工作量和挑战。 在开学前&#xff0c;如何快速搞定…

Pure Admin 图标篇

1. 官方图标讲解地址 B站搜索&#xff1a;vue-pre-admin之图标篇&#xff0c;作者“乐于分享的程序员小铭” 2. 实操 1. iconify官网 Icon Sets • Iconify 2. 在build->optimize.ts 中&#xff0c;配置所用的Iconify icon包 如&#xff1a; "iconify-icons/ep&quo…

LNK 2001 问题的一种解决办法

问题&#xff1a; 可能有这样的报错&#xff0c;error LNK 2001: 无法解析的外部符号" protected: virtual void __thiscall testing::Test::SetUp(void)"。 解决办法&#xff1a; 换了各编译器就好了&#xff0c;从第二个换到了第一个。 猜测&#xff1a;这里是因…

开江县“五社联动 关爱一老一小“主题活动之银龄爱齿健康关爱计划

为进一步宣传和推动“五社联动”关爱“一老一小”的社工服务理念&#xff0c;近日&#xff0c;开江县网格员社会工作服务中心携手彭州市葡萄树社会工作服务中心链接爱心单位&#xff08;夜郎古酒&#xff09;捐赠的1440支牙膏&#xff08;合和泰品牌牙膏&#xff09;&#xff0…

Electron从构建到打包程exe应用

Electron从构建到打包程exe应用 Electron文档搭建网页装载到 BrowserWindow中定义全局对象进程之间通信打包应用程序对代码进行签名 Electron文档 搭建 创建一个文件夹&#xff0c;在根目录执行以下几个命令 1.npm init 2.npm install electron --save-dev 3.根目录新增main…

route_group时调整routing rule via array大小

使用route_group secondary pg pin时需要multi via/double via&#xff0c;可以使用如下办法。 用create_routing_rule -vias {{via_def_name array_size NR/R} {xx xx xx}} R和NR就是能不能旋转 set_routing_rule net_name -rule rule_name -max_routing_layers MEx -max_la…

RHCSA(一)

1、在VMware上创建虚拟机以及安装Linux操作系统&#xff0c;使用ssh进行远程连接 1.创建虚拟机 2.安装Linux系统 3.使用Xshell进行远程ssh连接终端 进入了Linux系统&#xff0c;打开终端输入ifconfig回车得到了虚拟网卡的IP地址为192.168. 163.128 打开Xshell远程连接软件…

Longhorn vs Rook vs OpenEBS vs Portworx vs IOMesh:细说 5 款 K8s 持久化存储产品优劣势

云原生时代下&#xff0c;越来越多的企业开始使用 Kubernetes&#xff08;K8s&#xff09;承载数据库、消息中间件等“生产级”有状态工作负载。由于这些应用对数据持久保存、性能、容量扩展和快速交付具有较高的要求&#xff0c;企业往往需要采用专为 Kubernetes 环境设计的持…

入侵检测——IDS概述、签名技术

1. 什么是IDS&#xff1f; IDS&#xff08;intrusion detection system&#xff09;入侵检测系统&#xff0c;是一种对网络传输进行即时监视&#xff0c;在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它会对系统的运行状态进行监视&#xff0c;发现各种攻击企…

力扣959. 由斜杠划分区域

题目描述&#xff1a; 在由 1 x 1 方格组成的 n x n 网格 grid 中&#xff0c;每个 1 x 1 方块由 /、\ 或空格构成。这些字符会将方块划分为一些共边的区域。 给定网格 grid 表示为一个字符串数组&#xff0c;返回 区域的数量 。 请注意&#xff0c;反斜杠字符是转义的&…

乐维监控 | 如何快速关闭网络设备所有端口

在运维监控实践中&#xff0c;由于不同的运维人员可能会关注不同的监控指标&#xff0c;因此乐维监控在监控网络设备时&#xff0c;会默认开启所有的端口&#xff0c;尽可能多的覆盖监控指标&#xff0c;避免遗漏重要指标。但是&#xff0c;这样又会带来新的问题&#xff0c;在…