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