摘 要
本课题旨在通过设计和实现基于SSM框架的药店药品管理系统,以提升药品管理效率。目标包括自动化药品的入库、出库和库存查询,规范管理流程,提供实时数据监控,提高服务质量,促进信息化转型,降低成本,优化药品流通,增强竞争力,并推动行业标准化。论文详细介绍了系统的设计思想、相关技术、系统分析、系统设计和系统实现等内容。系统采用了SSM框架,基于B/S架构,使用Java语言开发,数据库采用MySQL。系统功能包括用户信息管理、药品信息管理、销售统计管理、财务统计管理、用户购买药品和订单管理。通过系统测试,验证了系统的功能和性能,结果表明系统运行稳定,符合设计要求。该系统的实现为药店提供了一种高效、便捷的药品管理解决方案,具有较高的实用价值和推广意义。
关键词:药店药品管理系统;SSM框架;MySQL数据库
Abstract
The aim of this project is to improve the efficiency of drug management by designing and implementing a pharmacy drug management system based on the SSM framework. The goals include automating the inbound, outbound, and inventory inquiry of drugs, standardizing management processes, providing real-time data monitoring, improving service quality, promoting information transformation, reducing costs, optimizing drug circulation, enhancing competitiveness, and promoting industry standardization. The paper provides a detailed introduction to the design philosophy, related technologies, system analysis, system design, and system implementation of the system. The system adopts SSM framework, based on B/S architecture, developed in Java language, and the database uses MySQL. The system functions include user information management, drug information management, sales statistics management, financial statistics management, user purchase of drugs and order management. Through system testing, the functionality and performance of the system have been verified, and the results show that the system runs stably and meets the design requirements. The implementation of this system provides an efficient and convenient drug management solution for pharmacies, with high practical value and promotional significance.
Keywords: Pharmacy drug management system; SSM framework; MySQL database
目录
第1章绪论
1.1 研究背景与意义
随着医疗行业的不断进步和药品市场的日益扩大,药店药品管理的复杂性和重要性愈发凸显。传统的药店管理方式多依赖于人工操作,存在库存管理不及时、销售跟踪困难、数据查询耽误时间长、数据管理步骤繁琐等问题,不仅效率低下,且容易出错,难以满足现代药店的运营需求。药品作为一种特殊的商品,其质量和安全直接关系到消费者的健康,因此,对药品实施科学、规范的管理显得尤为重要。
促进信息化转型,通过引入SSM框架,药店能够实现高效的信息管理,促进整体信息化转型,提高运营能力。降低运营成本,高效的药品管理系统能够显著降低人工成本和管理成本,通过优化管理流程,实现资源的合理配置。优化药品流通管理,通过系统化的数据分析,能够精准识别畅销药品和滞销药品,帮助药店进行科学的采购和库存管理。增强市场竞争力,在激烈的市场竞争中,信息化管理系统能够提高药店的反应速度和服务能力,从而增强市场竞争力。推动行业标准化,采用先进的技术和管理模式,推动药品行业的标准化与规范化,提升整个行业的服务水平和管理水平。
1.2国内外研究现状
国外药店药品管理系统的现状主要体现在以下几个方面,包括系统的功能、技术发展、法规合规和行业趋势等。这些系统往往采用模块化设计,使得各个功能模块可以独立开发和维护,从而降低了系统的复杂性和维护成本。国外的药店药品管理系统设计大体有五个方面,包括了系统功能与应用,技术发展,法规合规,行业趋势,市场竞争。
Z.Yu,H. Zhu, X.Liao(2024)《Antibody-drug conjugates-related interstitial lung diseases: data mining of the FAERS database》[1]通过对美国食品药品监督管理局(FDA)不良事件报告系统(FAERS)数据库的大规模数据分析,探讨了抗体药物偶联物(ADCs)与间质性肺病(ILD)之间的潜在关联。研究者们分析了一系列ADC治疗后出现ILD病例报告,评估了ADCs引发ILD的风险因素、临床特征及转归。结果显示,ADC治疗确实与ILD的发生率升高有关,且ILD发展迅速,临床表现多样,严重程度不一。研究还发现,早期诊断和及时干预对于改善患者预后至关重要。
F.Pourasghar,M.Farahbakhsh,S.H.Bazargani(2024)《Design,development,and evaluation of a multi-lingual web-based database for informing people regarding driving-impairing medicines》[2]开发及评估一个多语种网络数据库的过程,该数据库旨在提高公众对影响驾驶能力药物的认识。研究团队创建了一个包含多种语言的在线数据库,涵盖了广泛影响驾驶能力的药物信息,包括处方药和非处方药。数据库不仅提供了药物的详细说明,还强调了其可能对驾驶能力的影响,以及如何安全用药的指导。该系统采用直观的用户界面,便于用户根据药物名称、成分或类别进行查询。
Xuan D ,Yuxuan B (2024)《A Pharmacy Drug Information Management System Based on Django Development》[3]该论文介绍了基于Django框架开发的一款药房药品信息管理系统。系统设计旨在优化药房的药品库存管理、销售、采购和客户关系管理等核心业务流程。论文强调了利用Django框架的优势,如其强大的ORM(对象关系映射)、灵活的模板系统和内置的安全特性,来构建高效、安全的药品信息管理平台。
综上所述,国外药品管理系统的研究与实施正在向高效、安全、智能化的方向发展。随着数字化和智能化技术的进步,这些系统有助于提升患者的用药安全、提高药品管理效率,并且增强患者的参与度。未来,随着技术的进一步发展和融合,我们可以期待药品管理系统在全球范围内的持续进步和创新。
国内的研究者也在积极探索新技术在药店药品管理系统中的应用。例如,一些研究者开始尝试将云计算、大数据等技术引入药店药品管理系统中,以提升系统的处理能力和智能化水平。国内的药店药品管理系统在功能上也在不断拓展和完善。以满足用户的多样化需求。
艾斌,陈宪泽,陈淑娇,等(2024)《基于医联体结构下的居民健康管理云服务模式研究》[4]是一种可行的解决方案。为了进一步推广和应用这一模式,建议政府加大对医联体建设的投入,加强政策支持和资金保障;同时,医疗机构应加强技术研发,提高云服务的安全性和稳定性;此外,还需要加强公众的健康意识教育,提高居民对健康管理的认知和参与度。
郑诗庭,刘国源,翟玉兰,等(2024)《基于“互联网+”的门诊处方共享平台设计与实践》[5]是医疗服务信息化的重要体现,不仅提高了医疗服务的效率和质量,还改善了患者的就医体验。随着技术的不断进步和应用的深入,相信这一平台将在未来发挥更大的作用,为医疗行业的发展做出更大的贡献。
谭康康,胡支滨,韩阳等人(2023)《药店药品信息管理系统的设计及优化》[6]成功地设计并优化了一个药店药品信息管理系统。该系统不仅能够满足药店的业务需求,还具有良好的性能、安全性和用户体验。未来,计划进一步完善系统功能,提高系统的智能化水平,为药店提供更加高效、便捷的服务。
张文卓(2022)《基于知识图谱的药品推荐系统的研究与实现》[7],本研究采用了知识图谱技术,通过构建药品知识图谱,将药品的属性、适应症、副作用等信息进行结构化存储,并建立药品之间的关联。同时,通过用户画像的构建,收集用户的个人信息、健康状况、过敏史等,以便为用户提供个性化的药品推荐。
王梦昕(2022)《基于虚拟仿真技术的模拟中药房设计与构建》[8],不仅提升中药房的管理效率和服务质量,还为中药调剂教育提供一个安全、高效的学习和培训环境。随着技术的不断发展,虚拟仿真技术在中药房设计与构建中的应用将会更加广泛和深入。
综上所述,国内药店药品系统设计正在经历一场深刻的变革,从传统的手工管理模式逐步转向高度自动化、智能化的新一代系统。智能药房系统、药品管理系统和新型药物递送系统的广泛应用,不仅提高了药品管理的效率和安全性,也为患者提供了更为便捷和安全的服务体验。未来,随着技术的不断发展和完善,我们有理由相信,这些系统将会在医疗领域发挥更加重要的作用,为我国的医疗事业发展做出更大贡献。
1.3 研究内容与目标
对系统的需求分析、总体设计、详细设计、系统实现和系统测试等方面。首先,进行需求分析,明确系统的功能需求和非功能需求,如药品信息管理、销售信息管理、供应商与采购信息管理、报损信息管理以及公告信息管理等功能。其次,进行系统总体设计,确定系统的架构、模块划分以及数据库设计等。在详细设计阶段,进一步细化每个模块的功能和界面设计。在系统实现阶段,利用SSM框架、JSP技术、MySQL数据库等开发技术,实现系统的各项功能。进行系统测试,包括功能测试、性能测试和安全测试等,确保系统的稳定性和可靠性。
开发一个功能完善的药店药品管理系统,以提高药店的运营效率和药品管理的精细化程度。具体而言,研究目标包括优化药店内部的管理流程,实现药品信息的精准管理,包括库存、有效期、销售情况等,以降低药品损耗和确保药品质量安全。同时,有效管理供应商和采购信息,降低采购成本,保证药品供应的稳定性。此外,通过深入分析销售信息和报损信息,为药店的营销策略调整提供依据。最终,通过公告信息功能,加强内部信息流通,提高团队协作能力,实现药店药品管理的信息化和智能化。
第2章相关技术
2.1 MySQL数据库
它是一种真实的多用户,多线程的 SQL数据库服务器.是一种以 SQL为基础的 Client/Server模式的关系数据库管理系统,其特点是功能强大,使用简单,管理方便,安全可靠,运行速度快,多线程,跨平台性,完全网络化,稳定性等。另外,使用者可以使用多种语言来撰写程式来存取 MySQL资料库。MySQL是开源运动中的一种,它得到了越来越多的关注和广泛的应用。MySQL非常适合用于 Web网站或者应用程序中的后端数据库开发。
MySQL数据库的特征如下:
(1) c、 c++,保证了源码的轻便性和灵活性。
(2)支持多种操作系统,如: FreeBSD,HP-UX, Linux, Mac, Novell等。
(3) 为各种程序设计语言提供 API。比如 C、 C++、 Python、 Java、 Perl、 PHP、埃菲尔铁塔、 Ruby、 Tcl等等。
(4)以及为支援多线程而使用的 CPU资源。
(5)对 SQL的算法进行了优化,有效地加快了查询的速度。
(6)网站上的客户机及伺服器可用于任意单独程式设计环境,亦可供中国、GB2312、BIG5、日文撰写、通用资金等多种语文支援,并可内嵌于资料表格及其它软体shift_jis中,以供列使用。
(7) TCP/IP、 ODBC、 JDBC等数据库,并为其它用户提供了与其它设备的链接。
(8)对管理工具进行管理,并对数据库运行进行控制与优化.
(9)可以在一个大型数据库中进行上千万次的记录。
2.2 B/S结构
在B/S结构下,系统主要分为前端展示层、业务逻辑层和数据存储层。前端展示层通过HTML、CSS、JavaScript等技术实现用户界面的友好交互,使用户能够轻松管理药品信息、销售记录等。业务逻辑层则基于SSM(Spring、Spring MVC、MyBatis)框架,负责处理前端请求、执行业务规则和数据校验等核心功能,确保系统的高效运行和数据的准确性。数据存储层则采用MySQL等关系型数据库,存储和管理系统所需的大量数据,支持复杂的查询和分析操作。B/S结构的采用,不仅简化了系统的部署和维护,还使得系统具有良好的可扩展性和跨平台性,能够满足药店药品管理多样化的需求,为药店的信息化建设提供了强有力的支持。
2.3 SSM框架简介
SSM框架,是Spring、Spring MVC和MyBatis三大Java开发框架的整合,为药店药品管理系统提供了稳定且高效的技术支持。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它负责基础架构的搭建,使得Java开发者可以专注于应用程序的业务逻辑开发。在药店药品管理系统中,Spring框架主要用于实现业务对象的管理和依赖注入,提高了系统的可扩展性和可维护性。Spring MVC是Spring提供的一个强大而灵活的Web框架,它基于MVC(Model-View-Controller)设计模式,将Web应用分为模型、视图和控制器三层。在药店药品管理系统中,Spring MVC框架主要用于处理用户请求、转发请求以及管理视图展示,使得系统的前端交互更加流畅和友好。MyBatis则是一个优秀的持久层框架,它支持自定义SQL和高级映射,通过配置文件可以轻松地连接数据库并进行操作。在药店药品管理系统中,MyBatis框架主要用于实现数据对象的持久化,简化了数据库的CRUD(创建、读取、更新、删除)操作,提高了数据访问的效率和准确性。
2.4 JSP技术
JSP是 Sun Microsystems在1999年6月提出的一种技术,它以 JavaServlet和完整的 Java架构为基础,实现了一个先进、安全、跨平台的 Web站点的构建。JSP技术为动态网页的开发提供了多种途径。
JSP相对于微软的 ASP,有以下几个方面的优势:
(1)开放性: JSP技术以平台与伺服器的独立性为基础,其技术支援范围广泛,专业,不同的工具包,由伺服器的元件及资料库产品开发者所提供。而 ASP则是依靠 MICROSOFT来实现的。
(2)平台与服务端的独立: JSP所开发的程序可以在 Java语言的任意环境下正常运行。从而使 JSP可以在不同的 WEB服务器上运行,并且支持不同的开发者所提供的不同的工具。
(3)开放式的开发流程,开源:从1995年开始, SUN就开始与其他一些 Java机构一起,利用开源的方式,对 JAVA的各种技术与规格进行了研究与修订。
(4) JSP标签的可扩充性: JSP技术可以通过与 XML相容的标签技术的强大能力,极大地降低了对脚本语言的依赖性,为开发人员提供了对 JSP标签进行扩展的能力。
(5)跨平台可复用: JSP构件(EJB、 JavaBean或者自定义 JSP标签)可以实现跨平台的复用。
2.5Java语言介绍
Java语言具有平台无关性,这意味着编写的代码可以在任何支持Java的平台上运行,无需进行修改,这为药店药品管理系统的跨平台部署提供了极大便利。Java语言拥有强大的面向对象特性,如封装、继承和多态等,使得开发者能够构建出结构清晰、易于维护和扩展的系统架构。Java语言被用来实现系统的业务逻辑、数据处理和用户界面交互等功能。通过Java的类和方法,开发者能够定义出清晰的业务模型,并通过调用数据库访问层的方法实现数据的持久化存储和检索。此外,Java还提供了丰富的API和库,如Java Swing、JavaFX等,用于构建用户界面,使得药店药品管理系统的操作界面更加直观和易用。
第3章系统需求分析
3.1 系统功能性需求分析
系统需要具备完善的药品信息管理功能,这包括但不限于药品的入库、出库、库存查询、有效期管理以及药品分类等。通过这些功能,药店可以实时监控药品的库存状态,避免药品过期或短缺的情况发生,同时提高药品管理的效率和准确性。销售信息管理功能也是必不可少的。系统应能记录每一笔销售交易,包括销售药品的名称、数量、价格以及销售时间等关键信息。这有助于药店管理者分析销售数据,制定更为精准的营销策略。系统还应包含供应商与采购信息管理功能,以便于药店管理供应商信息和采购记录。通过该功能,药店可以优化采购流程,降低采购成本,同时确保药品供应的稳定性。报损信息管理功能同样重要,它允许药店记录和处理因各种原因导致的药品报损情况。这有助于药店准确核算成本,及时调整库存。为了加强药店内部的信息流通和团队协作,系统还设计了公告信息管理功能。药店管理者可以通过该功能发布重要通知、促销活动等公告信息,确保所有员工都能及时获取相关信息。
3.2 系统非功能需求分析
系统需具备高度的可靠性和稳定性,能够持续不断地提供服务,避免因系统故障导致的业务中断。这要求系统在设计时充分考虑容错机制和备份方案,确保在出现异常情况时能够快速恢复服务。系统性能是一个关键的非功能性需求。系统应能够快速响应用户的请求,尤其是在高峰期或处理大量数据时。因此,在设计时需要优化数据库查询、提高数据处理效率,并采用负载均衡等技术手段来确保系统的流畅运行。易用性也是系统非功能性需求分析中的重要一环。系统界面应简洁明了,易于操作,使用户能够快速上手并高效地完成工作任务。同时,系统还应提供详细的操作指南和帮助文档,以支持用户自主学习和解决常见问题。系统的可扩展性和可维护性同样重要。随着药店业务的不断发展和变化,系统需要能够灵活地适应新的需求,并易于进行功能扩展和性能优化。同时,系统代码应具备良好的可读性和可维护性,以便于开发团队进行后续的维护和升级工作。
3.3可行性分析
在对该药房实施药品管理制度的目标进行了初步调研与分析后,提出了可行的实施方案,并逐一加以论证。本文从技术上,经济上,操作上,上,上,下三个层面上,对这一问题进行了分析。
3.3.1技术可行性
本药店药品管理在此基础上,本文提出了一种以 JAVA为开发语言,以 SSM为基础的 B/S体系结构。
(1) Java具有性能稳定,升级性好,开发速度快,管理简单,新语言,服务等特点。整个系统为使用者提供了大量无关紧要的小事。
(2) 以 B/S模型为基础的软件开发已经越来越成熟。
(3) Java是一种面向对象的开发语言,已为人所熟知。编程人员可以很容易地利用 Eclipse平台上的某些已知方案。
由此可见,该系统在技术上是可行的,而且开发人员已经具备了相应的开发技巧,因此,该系统的开发技术是可行的。
3.3.2经济可行性
本药店药品管理系统所有的软件都是开放源码的,这就节省了大量的人力物力,减少了开发费用。而且对电脑的配置要求非常简单,就算是淘汰的电脑也能满足使用的需求,所以这个系统从经济上来说是完全可行的,因此在经济上是非常可行的。
3.3.3操作可行性
本药店药品管理这个系统的界面非常的简单,只要是使用过的人,都可以使用。该系统操作简便,易于管理,具有良好的交互性和操作简便性,具有较高的可操作性。
总之,该系统的研制目的是明确的,技术上,经济上,操作上都有较高的可行性,而且投资少,功能完善,管理方便,所以该系统的研制是切实可行的。
第4章系统设计
4.1系统总体设计
本系统是基于B/S架构的网站系统,设计的功能结构图如下图4-1所示:
图4-1功能结构图
图4-2系统工作原理图
4.2数据库设计
数据库设计就是针对特定的应用环境,构建一个最佳的数据库模式,构建一个数据库以及它的应用系统,让它可以高效地存储数据,满足不同使用者的应用需要(信息需求和处理需求)。在数据库界,经常将各种类型的数据库系统统称为“数据库应用系统”。
数据库的设计主要从需求分析,概念结构,逻辑结构,物理结构,数据库的实现,数据库的操作与维护等方面进行了详细的论述。
4.2.1数据库实体
概念设计的目的就是要建立一个能体现特定机构的信息需要的数据库系统的概念模型,这种模型与数据库的逻辑结构无关,与 DBMS (DBMS)无关,与计算机系统无关。
基于需求分析,利用概念数据模型(如E-R模型)来表达数据以及数据间的关联关系,并以此为基础,提出一种能够体现用户对信息的需求与处理要求的数据库体系的概念模型。概念设计的目的就是要对应用领域中的信息模式进行精确的描述,从而使其能够很好地向数据库系统的逻辑模型转化,并且便于用户理解。数据库概念模式是一种基于真实环境的数据模型,它不能直接应用于数据库系统。在这个过程中,使用者可以参与并对其进行评估,以确保其设计符合使用者的要求。电子- R模型法是目前最常用的一种设计方法。下面的图表显示了这个系统的E-R图表:
图4.3 药品资讯信息实体属性图
(2)留言板信息实体属性图如图4.4所示:
图4.4 留言板信息实体属性图
(3)管理员信息实体属性图如图4.5所示:
图4.5 管理员信息实体属性图
4.2.2数据库设计表
1.表设计原则
药店药品管理系统需要后台数据库,下面介绍数据库中的各个表的详细信息:
表4.1 地址
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
userid | bigint(20) | 否 | 用户id | |
address | varchar(200) | 否 | 地址 | |
name | varchar(200) | 否 | 收货人 | |
phone | varchar(200) | 否 | 电话 | |
isdefault | varchar(200) | 否 | 是否默认地址[是/否] |
表4.2 财务统计
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
tongjibianhao | varchar(200) | 是 | NULL | 统计编号 |
jinhuozonge | float | 是 | NULL | 进货总额 |
xiaoshoushouru | float | 是 | NULL | 销售收入 |
chunlirun | varchar(200) | 是 | NULL | 纯利润 |
dengjiriqi | date | 是 | NULL | 登记日期 |
beizhu | varchar(200) | 是 | NULL | 备注 |
表4.3 购物车表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
tablename | varchar(200) | 是 | yaopinxinxi | 商品表名 |
userid | bigint(20) | 否 | 用户id | |
goodid | bigint(20) | 否 | 商品id | |
goodname | varchar(200) | 是 | NULL | 商品名称 |
picture | varchar(200) | 是 | NULL | 图片 |
buynumber | int(11) | 否 | 购买数量 | |
price | float | 是 | NULL | 单价 |
discountprice | float | 是 | NULL | 会员价 |
表4.4 在线问药
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
userid | bigint(20) | 否 | 用户id | |
adminid | bigint(20) | 是 | NULL | 管理员id |
ask | longtext | 是 | NULL | 提问 |
reply | longtext | 是 | NULL | 回复 |
isreply | int(11) | 是 | NULL | 是否回复 |
表4.5 药品信息评论表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
refid | bigint(20) | 否 | 关联表id | |
userid | bigint(20) | 否 | 用户id | |
nickname | varchar(200) | 是 | NULL | 用户名 |
content | longtext | 否 | 评论内容 | |
reply | longtext | 是 | NULL | 回复内容 |
表4.6 留言板
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
userid | bigint(20) | 否 | 留言人id | |
username | varchar(200) | 是 | NULL | 用户名 |
content | longtext | 否 | 留言内容 | |
reply | longtext | 是 | NULL | 回复内容 |
表4.7 药品资讯
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
title | varchar(200) | 否 | 标题 | |
introduction | longtext | 是 | NULL | 简介 |
picture | varchar(200) | 否 | 图片 | |
content | longtext | 否 | 内容 |
表4.8 订单
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
orderid | varchar(200) | 否 | 订单编号 | |
tablename | varchar(200) | 是 | yaopinxinxi | 商品表名 |
userid | bigint(20) | 否 | 用户id | |
goodid | bigint(20) | 否 | 商品id | |
goodname | varchar(200) | 是 | NULL | 商品名称 |
picture | varchar(200) | 是 | NULL | 商品图片 |
buynumber | int(11) | 否 | 购买数量 | |
price | float | 否 | 0 | 价格/积分 |
discountprice | float | 是 | 0 | 折扣价格 |
total | float | 否 | 0 | 总价格/总积分 |
discounttotal | float | 是 | 0 | 折扣总价格 |
type | int(11) | 是 | 1 | 支付类型 |
status | varchar(200) | 是 | NULL | 状态 |
address | varchar(200) | 是 | NULL | 地址 |
tel | varchar(200) | 是 | NULL | 电话 |
consignee | varchar(200) | 是 | NULL | 收货人 |
表4.9 收藏表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
userid | bigint(20) | 否 | 用户id | |
refid | bigint(20) | 是 | NULL | 收藏id |
tablename | varchar(200) | 是 | NULL | 表名 |
name | varchar(200) | 否 | 收藏名称 | |
picture | varchar(200) | 否 | 收藏图片 |
表4.10 管理员表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
username | varchar(100) | 否 | 用户名 | |
password | varchar(100) | 否 | 密码 | |
role | varchar(100) | 是 | 管理员 | 角色 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增时间 |
表4.11 销售统计
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
tongjibianhao | varchar(200) | 是 | NULL | 统计编号 |
yaopinmingcheng | varchar(200) | 是 | NULL | 药品名称 |
xiaoshouliang | int(11) | 是 | NULL | 销售量 |
xiaoshoue | float | 是 | NULL | 销售额 |
chengbene | float | 是 | NULL | 成本额 |
lirun | float | 是 | NULL | 利润 |
dengjiriqi | date | 是 | NULL | 登记日期 |
beizhu | varchar(200) | 是 | NULL | 备注 |
表4.12 药品类别
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yaopinleibie | varchar(200) | 是 | NULL | 药品类别 |
表4.13 药品信息
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yaopinbianhao | varchar(200) | 否 | 药品编号 | |
yaopinmingcheng | varchar(200) | 否 | 药品名称 | |
leixing | varchar(200) | 是 | NULL | 类型 |
yaopinleibie | varchar(200) | 是 | NULL | 药品类别 |
picihao | varchar(200) | 是 | NULL | 批次号 |
shengchanriqi | date | 是 | NULL | 生产日期 |
youxiaoqizhi | date | 是 | NULL | 有效期至 |
shengchandanwei | varchar(200) | 是 | NULL | 生产单位 |
shengchandizhi | varchar(200) | 是 | NULL | 生产地址 |
yaopintupian | varchar(200) | 是 | NULL | 药品图片 |
yaopinshuoming | longtext | 是 | NULL | 药品说明 |
clicktime | datetime | 是 | NULL | 最近点击时间 |
clicknum | int(11) | 是 | 0 | 点击次数 |
price | float | 否 | 价格 | |
onelimittimes | int(11) | 是 | -1 | 单限 |
alllimittimes | int(11) | 是 | -1 | 库存 |
表4.14 用户
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
zhanghao | varchar(200) | 否 | 账号 | |
mima | varchar(200) | 否 | 密码 | |
xingming | varchar(200) | 是 | NULL | 姓名 |
nianling | varchar(200) | 是 | NULL | 年龄 |
xingbie | varchar(200) | 是 | NULL | 性别 |
shouji | varchar(200) | 是 | NULL | 手机 |
shenfenzheng | varchar(200) | 是 | NULL | 身份证 |
zhaopian | varchar(200) | 是 | NULL | 照片 |
money | float | 是 | 0 | 余额 |
4.3 系统功能模块设计
药品信息管理模块是整个系统的基石。该模块涵盖了药品的入库、出库、库存查询、有效期管理以及药品分类等功能。通过该模块,药店可以实时掌握药品的库存状态,包括每种药品的数量、位置、有效期等关键信息,从而有效避免药品过期或短缺的情况发生。同时,药品分类功能使得药店能够按照药品的类型、用途或治疗领域进行分类管理,提高了药品检索和管理的效率。销售信息管理模块是系统的重要组成部分。该模块能够记录每一笔销售交易,包括销售药品的名称、数量、价格、销售时间以及销售人员等关键信息。通过这些数据,药店管理者可以分析销售趋势,制定精准的营销策略,提高销售额和客户满意度。此外,销售信息管理模块还支持销售报表的生成和导出功能,方便药店进行财务核对和业绩评估。
在供应商与采购信息管理模块中,系统实现了对供应商信息的全面管理,包括供应商的名称、联系方式、供货能力、信用等级等关键信息。通过该模块,药店可以优化采购流程,降低采购成本,同时确保药品供应的稳定性。此外,采购信息管理功能还能够记录每次采购的详细信息,包括采购药品的名称、数量、价格、采购日期以及供应商等,为药店的财务管理和库存控制提供了有力支持。报损信息管理模块则用于记录和处理因各种原因导致的药品报损情况。通过该模块,药店可以准确核算成本,及时调整库存,同时防止过期或损坏药品流入市场。报损信息管理模块还支持报损原因的统计和分析功能,帮助药店找出报损的根源,采取针对性的措施减少报损率。系统还设计了公告信息管理模块,用于加强药店内部的信息流通和团队协作。通过该模块,药店管理者可以发布重要通知、促销活动等公告信息,确保所有员工都能及时获取相关信息,提高药店的运营效率和团队协作能力。在用户界面设计方面,系统注重用户体验和操作的便捷性。通过采用简洁明了的界面设计和直观易用的操作流程,使得用户能够快速上手并高效地完成工作任务。同时,系统还提供了详细的操作指南和帮助文档,以支持用户自主学习和解决常见问题。
第5章系统实现
5.1 系统环境搭建
系统选择了Java作为开发语言,这是由于其跨平台性、面向对象特性和丰富的API库,非常适合构建复杂的企业级应用。Java语言与SSM框架(Spring、Spring MVC、MyBatis)的兼容性也确保了系统开发的顺利进行。在系统开发环境方面,项目团队采用了集成开发环境(IDE)如IntelliJ IDEA或Eclipse,这些IDE提供了强大的代码编辑、调试和测试功能,大大提高了开发效率。此外,团队还配置了版本控制系统(如Git),以便于代码的版本管理和团队协作。
数据库方面,系统选择了MySQL作为数据存储和管理工具。MySQL是一款开源的关系型数据库管理系统,具有高性能、稳定性和易于使用的特点。在项目初期,团队进行了数据库的详细设计,包括表结构、字段类型、索引等,以确保数据的完整性和查询效率。在服务器环境搭建上,系统采用了Tomcat作为Web服务器,它支持Java Servlet和JSP技术,为系统提供了稳定的Web运行环境。同时,为了增强系统的安全性和性能,团队还配置了反向代理服务器(如Nginx)和负载均衡器,以实现请求的分发和故障转移。在系统部署方面,项目团队遵循了容器化部署的原则,将系统打包成Docker镜像,并部署在Kubernetes集群上。这种部署方式不仅提高了系统的可扩展性和可维护性,还简化了部署和升级流程。为了确保系统的稳定性和性能,团队还进行了详尽的测试环境搭建,包括单元测试、集成测试、性能测试和安全测试等。这些测试环境与实际生产环境保持高度一致,以便于发现潜在的问题并进行修复。
5.2系统各功能模块的实现
5.2.1 用户信息管理
药店药品管理系统的系统管理员可以对用户信息添加修改删除以及查询操作。具体界面的展示如图5.1所示。
图5.1 用户信息管理界面
5.2.2 药品信息管理
系统管理员可以查看对药品信息进行添加,修改,删除以及查询操作。具体界面如图5.2所示。
图5.2 药品信息管理界面
5.2.3 销售统计管理
系统管理员可以对销售统计进行登记。具体界面如图5.2所示。
图5.3 销售统计管理界面
5.2.4 财务统计管理
系统管理员可以对财务统计进行添加修改删除。具体界面如图5.2所示。
图5.4 财务统计管理界面
5.2.5 用户购买药品
用户登录后可以在药品信息购买药品。具体界面如图5.2所示。
图5.5 门诊病历信息管理界面
5.2.6 我的订单
用户购买药品后会生成我的订单,可以在我的订单里面查看。具体界面如图5.2所示。
第6章系统测试
6.1 测试的目的和方法
软件测试就是用来找出问题的一个过程。测试的任务和用途可被描述为:
目的:找出开发过程中存在的问题;
任务:显示程式中可能存在的问题,藉由在电脑上执行程式。
另外一种预测与之相关联,称为错误校正。其宗旨和任务可如下所述:
目标:找出并更正错误;
任务:解决软件失效问题,确保程序的可靠性。在图6-1中,给出了测试和错误校正之间的关系。该图显示了每次试验都要准备一些必需的试验资料,这些资料连同要试验的规程一起送到电脑上去运行。通常,人们会把一次运行所需的测试资料,称作“测试案例”。每个测试案例都有对应的“测试结果”。如果不能满足“期望结果”,那就是程序有问题,必须进行纠正。
图6.1测试与纠错信息流程
6.2 功能测试
功能测试主要包括五项内容:适用性、准确性、可操作性、依从性、安全性。
本系统功能测试如表6-1所示:
表6-1 系统功能测试
测试内容 | 测试结果 |
适用性 | 好 |
准确性 | 好 |
可操作性 | 好 |
依从性 | 好 |
安全性 | 好 |
6.3 可用性测试
可用性测试用于检测系统的可操作性、可理解性、可学习性等方面内容。具体测试方面如表6-2所示。
表6-2 系统可用性测试
测试项 | 测试人员的评价 |
窗口移动、大小改变、关闭等操作是否正常 | 是 |
操作模块是否友好 | 是 |
模块、提示内容等文字描述是否正确 | 是 |
模块布局是否协调、合理 | 是 |
模块的状态是否正确(对选中项能否发生对应切换) | 是 |
鼠标、键盘操作是否支持 | 是 |
所需数据项是否正确显示 | 是 |
操作流程是否合理 | 是 |
是否提供帮助信息 | 是 |
6.4 性能测试
性能测试主要通过模拟系统运行环境,根据用户的要求,对系统的运行进行测试。系统运行速度,网络响应时间,以及对并发节点数量的支撑,是衡量系统性能的一个重要指标。
1)系统运行速度:在多台机器上进行了测试,未见任何迟滞、停滞现象。
2)网络的响应时间:网络的响应时间由三个参数组成:最小应答时间,平均应答时间,最大应答时间。通过试验,在网络运行正常的情况下, NBA网络的三个参数分别是:1/2/6秒,而 NBA网络的三个参数分别是3/7/12秒,满足了用户的要求。属于用户心理可承受范围。
3)支持并发节点数量:通过仿真环境的测试,当46个并发节点同时存在时,该系统的运行速率出现了很大的起伏,大约10秒钟,满足了用户的要求。
6.5 测试分析
该站点在设计上吸取了国内外优秀站点的精华,从接口到系统的设计均确保了用户的便捷。本系统的主要特征与优势总结为:
(1)该系统使用的移置性和针对性都很强,由于有针对性能提供更好的服务,而且可移植性可以跨多个系统进行操作,更加方便用户。
(2)此功能齐全,便于管理,可以对各类错误、异常进行及时、充分的处理,从而防止了许多由于使用者粗心大意造成的错误,使用简便,具有良好的人机界面,只要是能上网的人,都能熟练地使用。
6.6 测试结果分析
通过对以上的试验结果进行了分析,表明该系统能够满足用户的要求。全部的基本功能点都已经完成了,而且操作简便,操作过程也非常的简单、合理。这是一个非常具有推广价值的药店药品管理系统。
结论
本系统充分利用了SSM框架(Spring、Spring MVC、MyBatis)的技术优势,结合Java语言的强大功能和MySQL数据库的稳定性能,实现了药品信息管理、销售信息管理、供应商与采购信息管理、报损信息管理以及公告信息管理等多个核心功能模块。这些功能模块不仅满足了药店日常运营的基本需求,还提高了药品管理的效率和准确性,为药店的信息化建设提供了有力支持。在系统设计与实现过程中,项目团队注重用户体验和操作的便捷性,采用了简洁明了的界面设计和直观易用的操作流程,使得用户能够快速上手并高效地完成工作任务。同时,系统还提供了详细的操作指南和帮助文档,以支持用户自主学习和解决常见问题,进一步提升了系统的易用性和用户满意度。在系统环境搭建、测试与部署方面也进行了全面的规划和细致的部署,确保了系统的稳定性和性能。通过采用容器化部署和Kubernetes集群管理,系统实现了高可用性和弹性扩展,为药店的长期发展提供了坚实的技术保障。
参考文献
[1] Yu Z,Zhu H,Liao X.Antibody-drug conjugates-related interstitial lung diseases:data mining of the FAERS database.[J].Expert opinion on drug safety,2024,
[2] Pourasghar F,Farahbakhsh M,Bazargani S H,et al.Design, development, and evaluation of a multi-lingual web-based database for informing people regarding driving-impairing medicines.[J].Traffic injury prevention,2024,1-9.
[3] Xuan D,Yuxuan B.A Pharmacy Drug Information Management System Based on Django Development[J].Academic Journal of Engineering and Technology Science,2024,7(4).
[4] 艾斌,陈宪泽,陈淑娇,等.基于医联体结构下的居民健康管理云服务模式研究[J].中国标准化,2024,(14):239-243.
[5] 郑诗庭,刘国源,翟玉兰,等.基于“互联网+”的门诊处方共享平台设计与实践[J].中国数字医学,2024,19(05):106-111.
[6] 谭康康,胡支滨,韩阳,等.药店药品信息管理系统的设计及优化[J].华北理工大学学报(自然科学版),2023,45(02):104-109.
[7] 张文卓.基于知识图谱的药品推荐系统的研究与实现[D].河北工程大学,2022.
[8] 王梦昕.基于虚拟仿真技术的模拟中药房设计与构建[D].北京中医药大学,2022.
[9] 杨文斌,耿洲,邱琦,等.基于FMEA法的住院药房智能麻精药品管理系统的构建和应用[J].中国现代应用药学, 2023, 40(9):1253-1259.
[10] 赵东坤.智能化信息化管理系统在医院药品管理中的效果评价[J].中国卫生产业, 2023, 20(21):151-153.
[11] 汤晓航.信息化管理系统在医院药品管理中对工作效率的影响[J].智慧健康, 2024, 10(6):8-11.
[12] 戎成婷,王菲菲,罗晶晶,等.麻醉精神类药品智能管理系统的构建与应用[J].中国卫生质量管理, 2023, 30(2):16-19.
[13] 王然然,朱凤娇.系统化管理模式在临床试验用药品生产质量管理中的应用[J].中文科技期刊数据库(全文版)医药卫生, 2023.
[14] 张 帆,林铁豪,朱欢敏,等.BC120全自动血培养系统作为药品无菌检查替代方法的可行性研究[J].微生物前沿, 2024, 13(3):8.DOI:10.12677/amb.2024.133022.
[15] 徐建军,雷铃伟,王丽,等.高校实验室药品管理系统的开发与应用[J].湖北工程学院学报, 2024(6).
致谢
在完成这篇《基于 SSM 的药店药品管理系统设计与实现》毕业论文的过程中,我深知这不仅是我个人努力的成果,更是众多师长、同学以及家人支持与帮助的结晶。因此,我怀着无比感激的心情,向他们致以最诚挚的谢意。
首先,我要衷心感谢我的指导教师王艳春老师。王老师在论文的选题、研究方法、技术指导以及论文撰写等各个环节都给予了我悉心的指导和无私的帮助。从论文的初步构思到最终定稿,王老师始终耐心地倾听我的想法,为我指明方向,帮助我克服了一个又一个难题。王老师严谨的治学态度、丰富的专业知识和对学术的执着追求,深深地感染了我,成为我学习和成长道路上的榜样。在此,我向王老师表示最崇高的敬意和最衷心的感谢!
感谢齐齐哈尔工程学院计算机科学与技术专业的全体教师,他们在我大学期间的每一步成长中都倾注了大量的心血。课堂上,老师们深入浅出的讲解让我对专业知识有了扎实的理解;课后,他们耐心的答疑解惑帮助我解决了无数的困惑。正是在他们的精心培养下,我具备了完成本论文所需的专业知识和技能。特别感谢在数据库、Java 语言、Web 开发等课程中给予我指导的老师们,他们的教学为我完成本论文奠定了坚实的基础。
感谢我的同学们,感谢你们在学习和生活中给予我的陪伴和支持。在论文撰写过程中,我们相互交流、相互鼓励,共同探讨技术难题,分享学习心得。每一次的讨论都让我受益匪浅,拓宽了我的思路,也让我在遇到困难时不再感到孤单。感谢你们在我遇到挫折时给予我的安慰和鼓励,让我能够坚持下去,顺利完成论文。
最后,我要感谢我的家人。感谢你们一直以来对我的理解、支持和鼓励。在我为了完成论文而挑灯夜战时,是你们默默的陪伴和关心让我感到温暖;在我遇到困难想要放弃时,是你们的鼓励让我重新振作。没有你们的支持,我不可能顺利完成学业,更不可能完成这篇论文。感谢你们为我所做的一切,我爱你们!
完成这篇论文只是我学术旅程中的一个小小里程碑,未来的道路还很长。我将继续努力,不辜负所有帮助和支持我的人。再次向所有给予我帮助的人表示衷心的感谢!。