基于springboot的信息化药品管理系统

news/2024/4/28 10:08:01/文章来源:https://blog.csdn.net/mxg74110/article/details/127747828

项目描述

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

功能需求

本系统主要解决医院药品信息化管理,按照要求对系统功能模块划分,从多个维度分析功能需求,合理设计每个功能模块。充分的考虑功能使用者的心里需求,保证系开发出来的功能不仅解决业务需求问题,还需要让使用者操作简便易上手。下面对每个功能的细节点进行分析设计整合完成整个系统的设计。

具备以下功能:

登录功能目标:
为了考虑到用户信息安全以及药品业务数据安全性,增加安全登录信息校验,用户输入账号密码,后台根据用户信息校验系统权限并展示相应的可操作菜单。
用户信息管理功能目标:
针对针对医院职工人员信息的管控,提高人事、用户操作管控。
药品管理功能目标:
对医院所有类型的药物信息管控,包括药品的分类、药品的出入库等,药品信息管理根据药品名称、剂型条件进行筛选,针对每个药品的药品基本信息、药品库存数量、药品操作项进行展示,该模块支持药品信息的新增以及删除操作。
值班排班管理:管理员可以对员工班次进行排班,根据医院人员调配值班。
数据统计目标:系统对各个药品使用情况以及每种类型的药物月、年度销量的统计分析。

系统功能模块框架图

在这里插入图片描述
在这里插入图片描述
药品入库流程
在这里插入图片描述

部分效果图

登录注册界面:
在这里插入图片描述

用户管理
在这里插入图片描述

药品信息管理界面
在这里插入图片描述

药品出库管理
在这里插入图片描述

药品退还管理
在这里插入图片描述

药品销售统计
在这里插入图片描述
在这里插入图片描述

药品购买管理
在这里插入图片描述

数据库设计

系统中用到了16张表,针对每个表都进行了设计,下面对部分核心表进行汇总罗列展示。
(1)用户信息表
在这里插入图片描述

(2)药品信息表
在这里插入图片描述

(3)销售统计表
在这里插入图片描述

(4)药品购买信息表
在这里插入图片描述

(5)排班信息表
在这里插入图片描述

部分代码

/*** 登录*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));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);
}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<YaopinrukuEntity> wrapper = new EntityWrapper<YaopinrukuEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("zhibanyuangong")) {wrapper.eq("yuangonggonghao", (String)request.getSession().getAttribute("username"));}int count = yaopinrukuService.selectCount(wrapper);return R.ok().put("count", count);}
安装部署需求

idea运行一键启动
在这里插入图片描述

总体设计

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

本项目用到的技术和框架

1.开发语言:Java
2.开发模式:B/S
3.数据库:MySQL
4.框架:springboot+mybatis+vue

本项目中的关键点

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

环境工具

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

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

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

相关文章

第九期|不是吧,我在社交媒体的照片也会被网络爬虫?

顶象防御云业务安全情报中心监测到&#xff0c;某社交媒体平台遭遇持续性的恶意爬虫盗取。被批量盗取用户信息和原创内容&#xff0c;经分类梳理和初步加工后&#xff0c;被黑灰产转售给竞争对手或直接用于恶意营销。由此不仅给社交媒体平台的数字资产带来直接损失&#xff0c;…

ActiveState Platform - November 2022

ActiveState Platform - November 2022 ActiveState平台定期更新新的、修补的和版本化的软件包和语言。 Python 3.10.7、3.9.14、3.8.14-解决了许多安全问题的点发布。 Python C库-ibxml 2.10.3、libxslt 1.1.37、libexpat 2.4.9、zlib 1.2.13、curl 7.85.0和sqlite3 3.39.4&am…

大数据必学Java基础(九十六):PreparedStatement完成CURD和批处理

文章目录 PreparedStatement完成CURD和批处理 一、完成CURD 二、批处理 1、什么是批处理

数字图像处理练习题整理 (二)

注: 内容仅供参考, 不保证正确性, 如有误欢迎交流指正.鸣谢: 感谢 &#x1f430;&#x1f414;&#x1f9c4;&#x1f4af;&#x1f4af; 小组的各位同学为内容整理提供的帮助 四.空域邻域滤波 1. 高斯模板生成 请写出生成大小为 (2N1)(2N1)、标准差为 sigma 的高斯模板 H 的…

Redis基础架构

可以存哪些数据&#xff1f; 对于键值数据库而言&#xff0c;基本的数据模型是key-value模型。 例如&#xff0c;“hello”: “world”就是一个基本的 KV 对&#xff0c;其中&#xff0c;“hello”是 key&#xff0c;“world”是 value。SimpleKV 也不例外。在 SimpleKV 中&am…

【Transformers】第 2 章:文本分类

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

PyCharm连接MySQL数据库竟然如此简单

在 PyCharm 中是可以通过内置的工具来连接、操作数据库的&#xff0c;并且对于市面上大多数主流数据库都是支持的。 本篇教程就教大家如何通过 Pycharm 内置的数据库工具连接 MySQL 数据库。 连接 MySQL 首先打开 PyCharm &#xff0c;点击菜单栏的 View --> Tool Window…

PyCharm使用心得体会1

一、Pycharm使用的心得体会 1. 查找功能的使用 查找可以使用的小功能 match case区分大小写words 精确匹配&#xff1f;regex 正则表达式 这个是在选择到的内容中继续进行检索 类似二次检索 2. 软件左下角的structure可以看到文件的结构 show inherited表示展示继承的方法 在…

项目搭建(七)爱心代码❤网站部署(静态网站)

爱心代码❤网站部署&#xff08;静态网站&#xff09;一、环境基础二、修改Tomcat启动配置三、放置静态网站四、启动Tomcat一、环境基础 如果你已经部署了Apache-Tomcat&#xff0c;恭喜你&#xff0c;你已经完成90%的部署工作 如果没有tomcat&#xff0c;那你先部署tomcat吧 …

Restful风格的编程

Restful风格的编程1、 Restful简介2、查询用户以及用户详情2.1常用注解2.2查询用户详情3、处理创建请求3.1RequestBody注解3.1.1用途3.1.2语法规范3.2日期类型的处理3.3BindingResult4、用户信息修改与删除4.1用户信息修改4.2案例前端界面后端控制器1、 Restful简介 Restful比…

HTML爱心代码 | 一起体验理工男的极致浪漫(电视剧男主同款)

写在前面 大家好&#xff0c;我是陈橘又青&#xff0c;今天中午刷微博&#xff0c;看到最近《点燃我温暖你》中男主角——理工男李峋的爱心代码撩到了无数人&#xff0c;于是把代码开源分享给大家。 文章目录写在前面运行示例完整代码保姆级运行教学添加背景图片修改爱心颜色运…

工业物联网解决方案:PLC数据上云

智能制造已成为工业发展的趋势&#xff0c;以PLC为代表的工控系统时制造业转型的核心&#xff0c;通过对其进行数据采集&#xff0c;可以实现远程监控&#xff0c;及时管理和维护。随着通信技术的发展&#xff0c;PLC的数据上云逐渐成为企业的新需求&#xff0c;可以更好远程监…

国际物流详解:国际物流有哪些特点?国际物流有哪些优势?

随着互联网信息的快速发展&#xff0c;越来越多的人通过通关网络接触到了国外世界&#xff0c;随之而来的采购购物潮也使得国内国际物流业发展迅速。那么国际物流有哪些特点?又有哪些优势呢?下面我们一起来详细了解一下国际物流主要特点和优势吧!一、国际物流是什么 在了解国…

oracle实验七(安全管理)

&#xff08;实验目的及要求&#xff09; 实验目的 &#xff08;1&#xff09; 掌握 Oracle 数据库安全控制的实现。 &#xff08;2&#xff09; 掌握 Oracle 数据库用户管理。 &#xff08;3&#xff09; 掌握 Oracle 数据库权限管理。 &#xff08;4&#xff09; 掌握 Oracle…

计算两幅图像的相似度(PSNR、SSIM、MSE、余弦相似度、MD5、直方图、互信息、Hash) 代码实现 与举例

MSE&#xff08;Mean Squared Error&#xff09;均方误差 MSE公式 MSE 计算模型的预测 Ŷ 与真实标签 Y 的接近程度。公式表示为&#xff1a; 对于两个mn的单通道图像I和K&#xff0c;它们的均方误差可定义为&#xff1a; 优点&#xff1a;MSE的函数曲线光滑、连续&#xff…

什么是HTML?

关于每篇博文的浪漫主义 【4k】镰仓的灰色与青 | irkyar | sonya74【【4k】镰仓的灰色与青 | irkyar | sonya74】 https://www.bilibili.com/video/BV14G411A7eX/?share_sourcecopy_web&vd_source385ba0043075be7c24c4aeb4aaa73352 网页 1.1什么是网页 网站是指在因特网…

排列(全排,前一个,下一个)

目录 一&#xff0c; 前一个排列&#xff08;字典序更大的最近的一个排列&#xff09; 1.1 底层实现 1.2 prev_permulation() 二&#xff0c;下一个排列&#xff08;字典序更小的最近的一个排列&#xff09; 1.1 底层实现 1.2 next_permulation() 三&#xff0c;全排列 …

C++基础——函数重载

目录 一.函数 重载的三种形式&#xff1a; 1.参数个数不同的重载函数 2. 类型上的不同重载函数 3. 类型顺序上的不同重载函数 二.函数重载缺省参数 返回值不同&#xff0c;能不能构成函数重载&#xff1f; 重载&#xff1a; 重新赋予意义&#xff0c;可以认为是一词多义&…

AssetBundle检测服务使用指南

熟悉UWA的老朋友都知道&#xff0c;UWA有个经典的免费SaaS服务 - 「在线AssetBundle检测」&#xff0c;可以检测包括纹理、网格、动画片段、材质等项目资源使用情况和具体冗余程度。通过快速查看特定的AssetBundle、资源文件和脚本信息&#xff0c;以及AssetBundle和资源之间的…

JAVA线程池 -clt设计与分析

1. 前言 ctl 是线程池源码中常常用到的一个变量。它的主要作用是记录线程池的生命周期状态和当前工作的线程数。作者通过巧妙的设计&#xff0c;将一个整型变量按二进制位分成两部分&#xff0c;分别表示两个信息。 2. 源码解析 源码部分 /*** The main pool control state,…