摘要
在医药行业数字化转型的大背景下,传统药品管理模式存在数据统计繁琐、库存管理混乱、业务流程不规范等问题,难以满足现代化医药经营的管理需求。本文设计并实现了一套基于SpringBoot+MyBatis-Plus+MySQL+Layui技术栈的药品管理系统,以药品全生命周期管理为核心,整合供应商管理、药品信息管理、出入库管理、销售管理、退货管理、问题药品管理等核心业务模块,实现医药经营数据的信息化、规范化、高效化管理。系统采用前后端分离的轻量化架构,后端基于SpringBoot实现业务逻辑快速开发,MyBatis-Plus简化数据库操作,MySQL存储业务数据;前端基于Layui框架实现简洁易用的交互界面,有效降低操作人员的学习成本。经测试,系统功能完整、运行稳定,能够满足中小型医药门店、药房的日常管理需求,具备较高的实用价值和推广意义。
关键词
SpringBoot;MyBatis-Plus;MySQL;Layui;药品管理系统;信息化管理

一、系统开发背景与意义
1.1 开发背景
随着我国医药行业的快速发展,药品经营企业的业务规模不断扩大,药品种类、供应商数量、销售数据等呈指数级增长。传统依靠人工记账、Excel表格管理的方式,存在数据易丢失、统计效率低、库存盘点不准确、业务追溯困难等痛点,同时也无法满足药品监管部门对药品溯源、库存管理的规范化要求。在此背景下,开发一套轻量化、易操作、功能完善的药品管理系统,成为医药经营企业提升管理效率、降低运营成本的核心需求。
1.2 开发意义
本系统针对中小型医药经营场所的实际业务场景设计,实现药品从采购、入库、销售、退货到问题处理的全流程数字化管理。一方面,系统可自动完成数据统计、库存更新、业务记录留存,减少人工操作失误,提升管理效率;另一方面,系统支持数据快速查询、报表追溯,满足药品经营的合规性要求。同时,系统采用主流开源技术栈开发,部署简单、维护便捷,无需高额的硬件和软件成本,适合中小型医药企业普及使用。
二、系统核心技术栈
本系统采用后端+前端的轻量化开发架构,核心技术栈选型兼顾开发效率、运行稳定性和使用便捷性,具体如下:
2.1 后端核心技术
SpringBoot:主流Java后端开发框架,摒弃繁琐的XML配置,实现自动配置、快速部署,大幅提升后端开发效率,是系统的核心业务支撑框架。
MyBatis-Plus:在MyBatis基础上的增强工具,无需编写XML映射文件和基础CRUD SQL语句,通过注解和接口封装即可实现数据库操作,简化持久层开发。
MySQL:关系型数据库,开源免费、性能稳定,支持海量数据存储和高效查询,用于存储系统所有业务数据。
2.2 前端核心技术
Layui:模块化前端UI框架,轻量级、兼容性强,界面简洁美观,无需复杂的前端工程化配置,适合快速开发管理系统后台界面,降低前端开发难度。
2.3 架构设计
系统采用经典的三层架构(表现层、业务逻辑层、数据访问层):
表现层:基于Layui实现前端页面渲染与交互,接收用户操作请求并传递给后端;
业务逻辑层:基于SpringBoot实现核心业务逻辑处理,如库存计算、数据校验、业务流程控制;
数据访问层:基于MyBatis-Plus实现与MySQL数据库的交互,完成数据的增删改查操作。
三、数据库设计
数据库是系统的核心数据支撑,本系统根据药品管理的实际业务需求,设计9张核心数据表,覆盖用户、供应商、药品、业务记录等全维度数据,采用InnoDB存储引擎,字符集为UTF-8,保证数据存储的稳定性和兼容性。
3.1 数据库整体设计思路
数据库命名遵循业务语义化规范,表字段设计贴合实际业务场景,包含主键、业务关键字段、时间戳、备注等,所有表均设置自增主键id,保证数据唯一性。同时,通过药品名称、供应商名称、药品编码等字段实现多表关联,满足数据联合查询、业务追溯的需求。
3.2 核心数据表详细设计
用户表(user):存储系统登录用户信息,包含用户ID、用户名、密码,是系统权限控制的基础表。
供应商表(supplier):管理药品供应商信息,包含供应商ID、名称、描述、创建时间,实现供应商信息的统一维护。
药品信息表(druginfo):系统核心基础表,存储所有药品的详细信息,包含药品ID、名称、供应商、生产日期、保质期、药品编码、价格、库存,是所有业务操作的数据基础。
账单信息表(billinfo):记录药品进货账单,包含账单ID、供应商名称、药品名称、数量、总金额、进货时间,用于采购数据统计。
出入库表(owinfo):记录药品出入库操作记录,包含操作ID、药品名称、操作类型、数量、操作人、操作时间,实现库存变动追溯。
问题药品表(problem):记录问题药品信息,包含记录ID、药品名称、数量、单价、问题原因、操作时间,用于不合格药品管理。
客户退货表(returngoods):记录客户退货业务数据,包含退货ID、药品名称、编号、数量、总金额、退货原因、操作人、时间。
供应商退货表(returnsupplier):记录向供应商退货的业务数据,包含退货ID、药品名称、数量、供应商名称、进货时间、退货原因、创建时间。
销售记录表(saleinfo):记录药品销售数据,包含销售ID、药品名称、编号、数量、金额、操作人、销售时间,用于销售统计与业绩核算。
3.3 数据库设计优势
表结构模块化,各表职责单一,便于维护和扩展;
字段设计贴合业务,无需冗余字段,提升数据存储效率;
支持多表联合查询,满足药品溯源、数据统计、报表生成等复杂业务需求;
自带时间戳字段,所有业务操作均可追溯,符合医药行业监管要求。
四、系统功能模块设计
本系统以药品管理为核心,划分7大核心功能模块,覆盖系统登录、基础信息管理、核心业务操作、数据记录查询全流程,模块间相互独立又协同工作,满足日常管理需求。
4.1 系统管理模块
该模块是系统的入口,核心功能为用户登录。基于用户表(user)实现账号密码验证,仅合法用户可登录系统,保证系统数据的安全性。同时支持用户密码修改功能,提升账号安全性。
4.2 供应商管理模块
实现供应商信息的全生命周期管理,支持供应商信息新增、查询、修改、删除。管理员可维护供应商名称、描述等信息,为药品采购、退货给供应商等业务提供基础数据支持。
4.3 药品信息管理模块
系统核心基础模块,管理所有药品的基础信息。支持药品信息的增删改查,可维护药品名称、供应商、生产日期、保质期、库存、价格等关键信息,库存数据会根据出入库、销售、退货业务自动更新,保证库存数据实时准确。
4.4 采购与账单管理模块
负责药品采购业务处理,管理员录入采购的药品、供应商、数量、金额等信息,系统自动生成进货账单,同步更新药品库存,并将记录存入账单信息表(billinfo),支持采购记录查询与统计。
4.5 出入库管理模块
实现药品库存的动态管理,区分入库和出库两种操作类型。操作人员选择药品、录入操作数量、填写操作人信息,系统自动更新药品库存,并生成出入库记录(owinfo),全程记录库存变动轨迹,便于盘点和溯源。
4.6 销售管理模块
负责药品零售业务处理,录入销售的药品、数量、操作人等信息,系统自动计算销售金额,更新药品库存,生成销售记录(saleinfo)。支持销售记录查询、统计,方便核算业绩和核对销售数据。
4.7 异常与退货管理模块
该模块整合问题药品管理、客户退货、供应商退货三大子功能:
问题药品管理:记录不合格药品的数量、原因等信息,规范问题药品处理流程;
客户退货管理:记录客户退回药品的信息,自动恢复药品库存;
供应商退货管理:记录向供应商退回药品的信息,同步扣减药品库存。
五、系统实现与核心技术应用
5.1 后端实现(SpringBoot+MyBatis-Plus)
项目结构:采用标准分层结构,分为controller(控制层)、service(业务层)、mapper(数据访问层)、pojo(实体类)包,代码结构清晰,便于维护。
MyBatis-Plus应用:数据访问层继承BaseMapper接口,无需编写基础CRUD SQL语句,仅需通过注解编写复杂业务SQL,大幅简化开发。例如药品信息的查询、新增、修改、删除均可通过封装方法实现,提升开发效率。
业务逻辑处理:在service层实现核心业务逻辑,如库存计算、数据校验、多表数据联动更新,保证业务流程的规范性和数据的准确性。
5.2 前端实现(Layui)
基于Layui的表格、表单、弹窗、导航等模块化组件,快速开发系统界面。前端页面采用简洁的后台管理布局,包含侧边导航栏、数据表格、搜索框、操作按钮,操作逻辑简单直观。前端通过异步请求与后端交互,实现数据的实时加载和更新,无需刷新页面,提升用户体验。
5.3 数据库交互(MySQL)
系统所有业务数据均存储于MySQL数据库,通过MyBatis-Plus实现高效的数据交互。支持单表条件查询、多表联合查询、数据分页、模糊查询等功能,满足大数据量下的快速检索需求。同时,数据库设置主键自增、非空校验等约束,保证数据完整性。
六、系统测试与应用效果
6.1 测试环境
硬件:普通PC机;软件:Windows系统、JDK8、MySQL5.7、Maven;网络:本地局域网。
6.2 功能测试
对系统7大核心模块进行全功能测试,测试结果表明:用户登录、供应商管理、药品信息管理、采购、出入库、销售、退货、问题药品管理等功能均能正常运行;数据增删改查操作响应迅速;库存数据可根据业务自动更新,无数据错乱、丢失等问题;前端界面兼容主流浏览器,操作流畅无卡顿。
6.3 应用效果
系统部署后可满足中小型药房、医药门店的日常管理需求:
效率提升:替代人工记账,数据录入、统计效率提升80%以上;
数据准确:库存、销售、采购数据实时更新,杜绝人工统计误差;
操作便捷:Layui界面简洁易懂,零基础操作人员可快速上手;
合规可控:所有业务操作均可追溯,满足医药行业规范化管理要求。
七、总结与展望
7.1 总结
本文设计的基于SpringBoot+MyBatis-Plus+MySQL+Layui的药品管理系统,针对中小型医药企业的管理痛点,实现了药品全流程信息化管理。系统采用主流开源技术栈,开发效率高、部署维护简单;数据库设计合理,覆盖全业务数据;功能模块完整,操作便捷易用。经测试,系统运行稳定、功能完善,能够有效解决传统药品管理模式的弊端,具备较高的实用价值。
7.2 展望
未来可对系统进行进一步优化升级:一是增加权限管理功能,区分管理员、操作员等不同角色,提升系统安全性;二是增加数据可视化报表功能,通过图表展示销售数据、库存数据,辅助经营决策;三是对接移动端,实现手机端查询、操作,提升系统使用的便捷性;四是增加药品过期预警功能,自动提醒过期药品,进一步优化业务管理流程。
八、资料获取
1、阿丰资源;
2、后台回复关键词【药品管理系统】;