SpringBoot+Vue智慧药店管理系统开发实践 📅 发布时间:2026/9/17 6:37:06 👁 浏览次数: 1. 项目背景与核心价值智慧药店药品信息管理系统是传统药店数字化转型的关键基础设施。随着医药零售行业信息化程度提升单纯依赖人工记录药品进销存的方式已无法满足现代药店管理需求。这个毕业设计项目通过SpringBoot框架实现了药品全生命周期管理包含采购、库存、销售、效期预警等核心功能模块。我在实际药店管理系统开发中发现这类系统需要特别关注三个核心痛点一是药品批次和效期管理必须绝对精准二是处方药销售需要严格的权限控制三是系统需要与医保平台、电子处方平台等第三方系统无缝对接。这个毕业设计虽然规模较小但完整覆盖了药店管理的基础业务场景。2. 系统架构设计2.1 技术选型分析采用SpringBoot 2.7 MyBatis Plus Vue.js前后端分离架构。选择这套技术栈主要基于以下考虑SpringBoot的自动配置特性适合快速搭建后台服务MyBatis Plus的代码生成器可快速产出药品基础CRUD接口Vue.js组件化开发便于构建复杂的药品表单界面数据库选用MySQL 8.0关键配置参数transaction_isolation READ-COMMITTED innodb_buffer_pool_size 1G # 药品数据缓存优化2.2 核心功能模块系统包含6个核心模块药品档案管理维护药品基础信息批准文号、规格、厂家等库存管理实现批次/效期双维度库存控制采购管理支持供应商比价和采购订单追踪销售管理区分处方药/OTC不同销售流程报表统计销售毛利、库存周转等经营分析系统管理角色权限、操作日志等基础功能3. 关键业务实现3.1 药品效期预警设计效期管理是药店系统的核心功能实现方案// 每日凌晨执行效期检查任务 Scheduled(cron 0 0 0 * * ?) public void checkExpiryAlert() { // 查询30天内将过期药品 ListDrugBatch expiringSoon drugBatchMapper.selectList( new QueryWrapperDrugBatch() .le(expiry_date, LocalDate.now().plusDays(30)) .eq(status, NORMAL)); // 生成预警记录并通知相关人员 expiringSoon.forEach(batch - { createAlertRecord(batch); sendWechatNotice(batch.getResponsiblePerson()); }); }3.2 处方药销售流程处方药销售需要严格的四重校验执业药师账号登录验证处方图片上传存档药品库存可用量检查销售记录关联处方编号前端采用Vue.js实现多步骤表单const prescriptionSteps [ { title: 药师认证, component: PharmacistAuth }, { title: 处方上传, component: PrescriptionUpload }, { title: 药品选择, component: DrugSelection }, { title: 交易确认, component: PaymentConfirm } ]4. 数据库设计要点4.1 核心表结构表名关键字段说明drug_infodrug_code, name, spec, manufacturer药品基础档案drug_batchbatch_no, drug_id, quantity, expiry_date批次库存信息purchase_ordersupplier_id, total_amount, approval_status采购订单sales_recordmember_id, prescription_no, payment_type销售记录4.2 库存事务处理采用乐观锁解决库存并发问题Transactional public boolean reduceStock(Long batchId, int quantity) { DrugBatch batch drugBatchMapper.selectById(batchId); if (batch.getQuantity() quantity) { throw new BusinessException(库存不足); } int updated drugBatchMapper.update(null, new UpdateWrapperDrugBatch() .setSql(quantity quantity - quantity) .eq(id, batchId) .eq(quantity, batch.getQuantity())); // 乐观锁条件 return updated 0; }5. 毕业设计实现建议5.1 论文撰写要点需求分析章节建议采用UML用例图展示药店各角色药师、收银员、店长的系统功能需求系统设计章节包含完整的E-R图和核心类图测试方案至少覆盖药品效期预警、处方药销售两个核心场景的测试用例5.2 答辩PPT制作技巧技术架构部分建议采用分层图示展示SpringBoot的架构优势重点演示药品效期预警和处方药销售两个特色功能准备1-2个典型业务场景的演示视频备用6. 常见问题解决方案6.1 药品编码问题问题不同厂家同一药品的编码不一致 解决方案采用国药准字规格作为唯一标识建立药品别名表处理同药不同名情况6.2 库存不同步问题问题销售时库存足够但实际扣减失败 处理方案前端增加库存预占机制后台采用消息队列异步处理库存变更定期执行库存校正任务关键提示药店系统开发必须特别注意药品GSP规范要求所有数据修改都需要记录完整操作日志这是药监检查的重点项目。7. 扩展功能建议对接医保系统通过医保开放平台API实现医保结算增加AI处方识别集成OCR技术自动提取处方信息会员健康档案建立顾客用药记录和过敏史档案在实际开发中建议先确保基础功能的稳定性再逐步扩展高级功能。药店系统对数据准确性要求极高所有核心业务操作都需要设计完善的异常处理机制。