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

140 篇文章 15 订阅
139 篇文章 2 订阅

项目描述

临近学期结束,还是毕业设计,你还在做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;
其它软件:截图工具、常用浏览器;
微信扫下方二维码关注公众号,经常分享一些技术上的理解文章。
在这里插入图片描述

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿麦小七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值