《药品管理系统》

1.项目概述

药品管理系统是对现有传统药品管理模式的改进和提高的基础上进行设计与开发,主要用于医疗体系中药品的管理,对医疗体系进行实时监控。由于当前大量医疗体系的药品进销存环节尚处于人工统计作业阶段,不仅效率不高,而且难免由于管理不当而出现纰漏。所以设计出一个完善高效的药品进销存管理系统,用以帮助药品产品管理和员工管理以及供应商管理的自动化。

2.项目规划

2.1需求分析

随着我国医药卫生体制的不断改革和互联网技术的快速发展, 利用计算机进行医院药品的信息化管理已成为社会发展的必然趋势。传统的药品管理主要采用人工方式, 存在效率低、不规范、药品信息更新延迟等诸多问题。为提高医院工作效率, 加强规范化管理, 该文设计实现了一个基于springboot+thymeleaf的医院药品管理系统。该系统以idea为主要开发平台, MySQL为后台数据库, 采用B/S模式和Bootstrap技术实现系统图形化界面, 具有药品管理、供应商信息管理和用户管理等功能, 具有一定的应用价值。

2.2结构分析

根据实际需求情况,将整个系统分为两部分。第一部分为系统的超级管理员,具有管理系统的最高权限,包括用户管理、药品管理、供应商管理等功能模块。第二部分分为普通管理员,分别具有药品管理和供应商管理的功能权限。每部分模块的主要功能如下:
1)用户管理模块:提供超级管理员、普通管理员三种账户权限。在登录时提供正确的用户名和密码后,不同身份的用户进入不同的用户界面。超级管理员可以对所有用户信息进行编辑、添加、删除。普通管理人员仅能对个人信息进行编辑和药品的管理和供应商管理。
2)药品管理:管理员可以对药品库存信息进行查询、添加、删减、药品有效期检查、药品调价等功能。
3)供应商管理:管理员根据采购及退货药品数据的分析,选择合适的供应商,具有添加、查询、编辑、删除供应商信息的功能。

2.3数据库设计

数据库表的设计是系统开发中的关键部分,根据对系统中不同权限的管理员功能模块的分析,在MySQL数据库中设计张数据表,分别是用户表(user)、药品表(medicine)、保存登录信息表(persistent_logins)、供应商表(supplier)。

3.页面详细设计(前端UI及后台逻辑实现)

3.1 登录页面设计



+通过ajax的方式向后端传送用户名、密码、验证码,验证码点击刷新通过调用js的 refresh()实现,图片验证码是用谷歌提供的Captcha实现,这个系统用了security安全框架,因此要把点击验证码刷新的接口释放,然后security安全框架实现记住我的功能,设置7天免登陆,把登录的username和token存进数据库,比对token是否过期实现免登陆功能。用户表里面有两个字段,一个是type,type的值为1则为超级管理员,为0则为普通管理员,还有一个字段是status判断状态,status的值为“正常”,才能登录,否则是禁用状态。

3.2 注册页面设计



通过ajax把注册用户的信息传给后台,在后台实现添加用户的功能,其中发送短信验证码用了腾讯云提供的api接口,我们只需要注册生成发送验证码需要id和秘钥,用工具类TxSmsUtil连接,然后用Math.random()的方法生成随机的6位验证码,把生成的验证码通过redisTemplate.opsForValue().set()方法写进Redis缓存里面,设置key的有效期为5分钟,五分钟后过期了就不能使用。

3.3后台首页页面设计


后台首页给登录的管理员提供日历查询,天气预报查询,主要是用了Jquery的插件实现,待办事物的功能,相当于备忘录,用js把数据存进本地而不是session里面,因此重启服务器还会存在。在登录了以后,会把登录的用户名传过来,上次登录时间功能就是从数据库查询,但是要进行时间的转换,添加依赖即可。

3.4 用户管理页面设计


本次项目使用的是mybatis-plus操作数据库,因此遍历数据后返回map,ajax进行提交后,如果成功就会得到json类型的数据,因此从ajax的success方面里面取出当前页数据,当前页码,总共的页面等数据。

3.5 用户添加页面设计



添加用户跟注册的逻辑差不多,唯一不同的就是多了个上传图片的功能,上传之后能立刻回显,我是用ajax实现的,把文件上传到当前项目的upload文件夹下面,然后保存当前的地址到数据库,遍历的时候就查询数据库的地址。

3.6 用户修改页面设计


修改用户功能,通过在遍历用户的页面点击修改按钮后,把对应的id传给后端,后端通过id从数据库查找,然后再把数据回显到页面上。

3.7 用户密码页面设计


用户可以自行修改密码,通过security安全框架对密码进行加密,存进数据库。

3.8 药品管理页面设计


同样通过mybatis-plus从数据库遍历药品信息,跟用户管理不一样的是,返回前端数据的形式我不在用json,我用model进行传值,因此可以更好的实现分页的功能。

3.9药品增加页面设计


采用日期控件,把时间转换,再通过form表单的形式传给后台。

3.10药品修改页面设计

药品修改这次采用的是url地址传参,再用param接收,因此就不需要从数据库查询了,但是会涉及信息泄露的问题,因为地址栏已经显示了。

3.11供应商管理页面设计



供应商管理跟药品管理是一样的思路,通过model传值。所有的删除功能都是通过id传给后台,然后根据id进行删除。

4.项目测试






5.总结

链接: 在线访问地址
账号: admin
密码:123456

图片等其他资源都是网上摘取的,如有侵权请联系作者哈,各位正在学习的小伙伴也可以关注一下博主哈,也可以关注《程序员南辞》公众号,可以在公众号获取源码。大家一起学习进步,项目还有很多缺点,请大家多多指教。

Springboot+Thymeleaf《药品管理系统》相关推荐

  1. Ajax+SpringBoot+Thymeleaf使用中遇到的跳转页面问题

    前言:这周在使用 Ajax+Thymeleaf 时遇到一个问题,折腾了我很久,在此记录一下 Ajax+SpringBoot+Thymeleaf使用中遇到的跳转页面问题 问题描述 我的目的:通过 Aja ...

  2. SpringBoot thymeleaf使用方法,thymeleaf模板迭代

    SpringBoot thymeleaf使用方法,thymeleaf模板迭代 SpringBoot thymeleaf 循环List.Map ============================= ...

  3. SpringBoot Thymeleaf使用教程(实用版)

    SpringBoot Thymeleaf使用教程(实用版) 使用Thymeleaf 三大理由: 简洁漂亮 容易理解 完美支持HTML5 使用浏览器直接打开页面 不新增标签 只需增强属性 学习目标 快速 ...

  4. springboot+thymeleaf+pageHelper带条件分页查询

    html层 <div><a class="num"><b th:text="'共 '+ ${result.resultMap['pages' ...

  5. 基于springboot+thymeleaf+mybatis的员工管理系统 —— 增删改查

    员工管理系统 - 增删改查 entity 查询所有功能 查询所有的页面 emplist.html 保存员工 保存员工的页面 addEmp.html 删除员工 修改员工 根据id查询员工 修改员工信息 ...

  6. 基于springboot+thymeleaf+mybatis的员工管理系统 —— 登录与注册

    员工管理系统 - 登录与注册功能 创建项目 pom.xml 数据库表设计和环境准备 建表SQL application.properties 用户注册与登录功能 entity dao service ...

  7. 基于Springboot + Thymeleaf 的招聘网站(源代码+数据库) 026

    部分代码地址 https://gitee.com/ynwynwyn/springboot-recruit-public 基于Springboot + Thymeleaf 的招聘网站(源代码+数据库) ...

  8. springBoot+thymeleaf框架实现cms内容管理和商城系统

    springBoot+thymeleaf框架实现cms内容管理和商城系统 概要介绍 基于开源框架springBoot2.3+thymeleaf+springSecurity+lucene8.5.2 是 ...

  9. springboot+thymeleaf+bootstrap+mybatis-Plus+mysql 情侣空间网站源代码

    前言 最近刷短视频,因为那个程序员电视剧中表白爱心很火,短视频很多表白程序.看了之后很感兴趣,想着自己做一个情侣空间网站,于是就花了两个星期写了一个.因为前端使用bootstrap可以兼容手机端.话不 ...

  10. 基于javaweb的蓝天幼儿园管理系统(java+springboot+thymeleaf+html+mysql)

    基于javaweb的蓝天幼儿园管理系统(java+springboot+thymeleaf+html+mysql) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/my ...

最新文章

  1. 第一章 用户及组的管理
  2. SAP上传Excel文档字符限制处理
  3. 一口气管理几十个中断不是问题
  4. ITU-T G.1080 IPTV的体验质量(QoE)要求 (Quality of experience requirements for IPTV services)
  5. JavaScript:设置网站title
  6. python继承list_python中 class和l
  7. ubuntu18.04安装微信和qq和谷歌浏览器
  8. Excel作统计图表
  9. openwrt utc时区修改
  10. 为什么在使用m2e时Eclipse WTP不发布库
  11. 如何做好跨境电商,先了解3个基本观念
  12. 在图片上的文字背景,颜色是黑色?
  13. Android直播软件搭建左滑右滑清屏控件
  14. InetAddress类常用方法
  15. pymysql模块安装后,import pymysql找不到?
  16. maven打包maven-shade-plugin报错Non-parseable POM解决方法
  17. LabVIEW使用G#框架实现面向对象编程
  18. 读《测试驱动开发的3项修炼--走出TDD丛林》
  19. IGAL九期班学习笔记-汪云海
  20. virtual box 无法上网

热门文章

  1. PHP 微信网页授权开发
  2. 高等数学第七版下册 同济大学数学系 编 课后答案 习题解析
  3. python实现水仙花数
  4. DSO(Direct Sparse Odometry)
  5. Android去掉wps广告,WPS解锁高级功能,PC和安卓版去除广告,精简版!
  6. listary提升开发效率
  7. L298N电机驱动原理图+PCB制版文件(和你买的模块一模一样的!)
  8. 【JSP售票系统】JSP+SSH+MSSQL火车票铁路售票系统源码
  9. 大学四年,这个Java自习路线,让我现在进了阿里
  10. StackPanel与Grid交叉使用