摘 要
随着药品管理和供应链管理对精确度和高效性的要求不断提高,传统的人工管理方式已经无法满足现代药房运营的需求。基于此背景,本文设计并实现了一个基于JavaWeb的药房药品采购与供应链管理系统。系统采用Spring Boot框架作为后台开发框架,结合MySQL数据库进行数据存储,全面覆盖了药品采购、库存管理、供应商管理、销售订单管理等关键功能。
本系统的设计目标是通过信息化手段提高药房管理效率,优化采购、销售、库存等各项操作的流程。系统功能模块包括管理员、采购员和销售员等不同角色的权限管理,确保各类用户仅能访问其对应的功能。管理员可以对仓库信息、药品信息、供应商和客户数据进行管理,并处理采购和销售订单;采购员负责提交采购订单并进行供应商管理;销售员则处理客户信息和销售订单。
通过本系统,药房管理能够实现药品采购的自动化和智能化,库存的实时监控以及销售和采购数据的高效处理,从而提升药品供应链的整体管理水平。系统设计简洁、易于维护,并具备较强的扩展性,能够适应未来药房管理的不断发展需求。
关键词:药房管理;供应链管理;采购管理;库存管理;销售管理;Spring Boot;MySQL
ABSTRACT
With the increasing demand for precision and efficiency in drug management and supply chain management, traditional manual management methods are no longer able to meet the needs of modern pharmacy operations. Based on this background, this article designs and implements a pharmacy drug procurement and supply chain management system based on JavaWeb. The system adopts the Spring Boot framework as the backend development framework, combined with MySQL database for data storage, comprehensively covering key functions such as drug procurement, inventory management, supplier management, and sales order management.
The design goal of this system is to improve the efficiency of pharmacy management through information technology, optimize the processes of procurement, sales, inventory and other operations. The system functional modules include permission management for different roles such as administrators, purchasers, and salespeople, ensuring that all types of users can only access their corresponding functions. Administrators can manage warehouse information, drug information, supplier and customer data, and process procurement and sales orders; The purchaser is responsible for submitting purchase orders and managing suppliers; Salespeople handle customer information and sales orders.
Through this system, pharmacy management can achieve automation and intelligence in drug procurement, real-time monitoring of inventory, and efficient processing of sales and procurement data, thereby improving the overall management level of the drug supply chain. The system design is simple, easy to maintain, and has strong scalability, which can adapt to the continuous development needs of future pharmacy management.
Keywords: pharmacy management; supply chain management; Procurement management; Inventory management; Sales management; Spring Boot; MySQL
目 录
1绪论
1.1课题研究背景及意义
随着现代医药行业的快速发展,药品采购与供应链管理的重要性日益突出。药房作为连接药品供应和患者需求的关键环节,其管理效率直接影响药品流通的速度和质量。传统的药品采购和库存管理模式,往往依赖人工操作,容易出现信息滞后、库存不准确以及订单处理效率低等问题,进而影响药品的供应和药品价格的稳定。因此,如何借助信息化手段提升药房的管理水平,成为当今药房管理领域亟待解决的课题。
随着技术的不断进步,尤其是Web开发框架和数据库技术的成熟,越来越多的药房开始借助信息化管理平台来解决传统管理中的问题。基于JavaWeb的药品采购与供应链管理系统能够有效整合药品采购、库存管理、供应商管理、销售管理等多项功能,提升药房的整体运营效率。通过数据库管理系统,药品信息、供应链数据和销售数据等能够实时更新,减少了人工操作带来的误差,提高了数据的准确性和可追溯性。
此外,随着药品流通和供应链管理体系的日益复杂化,药房对系统的管理能力和处理能力提出了更高的要求。Spring Boot框架凭借其轻量级、灵活性强和高效的特点,成为开发后台管理系统的理想选择。MySQL作为一种高性能的关系型数据库,能够为系统提供强大的数据存储与查询能力。结合这两种技术,能够确保药房药品采购与供应链管理系统具备良好的扩展性和高效性,满足未来药房管理的发展需求。
通过构建基于JavaWeb的药房药品采购与供应链管理系统,不仅能够提高药房运营管理的效率,降低人工管理的成本,也能在一定程度上提升药品的流通速度和库存控制的精度,最终实现药品供应链的优化。系统的开发和应用,对促进药房管理的现代化、提升行业整体水平具有重要的现实意义。
1.2国内外发展现状分析
在国内外,药品采购与供应链管理的研究已取得一定的进展,尤其是在信息化技术的推动下,药房管理的效率和精度得到显著提升。早期,药品采购与供应链管理大多依赖人工操作,存在管理繁琐、信息滞后等问题。随着电子商务与信息技术的发展,越来越多的研究开始关注如何通过系统化的手段,优化药品的采购、库存、供应商、销售等环节。
在国内,药品管理领域的研究起步较晚,但随着市场对药品供应链管理的需求日益增加,相关研究逐渐增多。许多研究集中在如何通过信息化手段改进药品管理,尤其是在药品采购与库存管理方面。国内的研究多关注基于Java的Web开发技术以及数据库管理系统的应用,如使用Spring框架、MySQL数据库等进行系统设计和实现。Spring框架因其灵活性和高效性,成为众多药品管理系统的开发选择。通过采用Spring Boot等现代框架,能够提高系统的开发效率,增强系统的扩展性和稳定性。研究还涉及如何通过系统化的数据管理,提升药品的采购、销售与库存的精确度,减少人为操作的错误,确保药品供应链的顺畅。
在国外,药品采购与供应链管理的研究相对较早,尤其是在一些发达国家,相关的研究成果已应用于实际的药品供应链管理系统中。国外的研究多聚焦于如何利用信息技术提升药品供应链的效率和透明度,尤其是在药品采购、物流配送和库存管理等环节。许多研究探讨了如何通过基于Web的系统实现药品数据的集中管理,提高订单处理效率,以及如何通过优化库存管理避免药品过期或库存短缺。与国内相比,国外在供应链管理的系统化、自动化方面应用更多的集成技术,包括库存管理系统、订单处理系统等的协同工作。随着现代数据库技术的发展,国外研究也强调了数据的实时性和准确性,推动了数据驱动的管理模式。
尽管国内外的研究在药品采购与供应链管理领域取得了显著进展,但仍然存在一些共同的挑战。例如,如何在庞大的药品信息和订单处理需求下保证系统的高并发性和稳定性,如何确保系统在数据交换过程中保持一致性和安全性,仍然是许多研究中的关键问题。此外,随着药品流通市场的不断变化,如何提升系统的灵活性和可扩展性,以适应未来业务需求的变化,也是未来研究的一个重要方向。
总体来说,国内外在药品采购与供应链管理系统的研究和实践上都取得了显著的成果,随着技术的发展和市场需求的变化,研究的重点将继续向更高效、更智能的系统解决方案发展。
1.3论文组织结构
本论文共分为七个主要章节,具体结构如下:
1. 绪论:介绍研究背景与意义,回顾国内外研究现状,并概述论文的组织结构。
2. 相关技术介绍:详细介绍与本研究相关的技术,包括Java语言、B/S框架、SpringBoot框架、Vue技术和MySQL数据库。
3. 需求分析:对系统的功能需求和非功能需求进行分析,明确用户和管理员的需求,并进行可行性分析,包括技术、操作和经济可行性。
4. 系统设计:涵盖系统架构设计、总体流程设计和功能设计,并进行数据库的概念设计与表设计。
5. 系统实现:具体描述各个功能模块的实现过程,展示系统如何根据需求进行开发。
6. 系统测试:阐述测试的目的、方法和内容,分析测试结果并得出结论,以验证系统的稳定性和功能完整性。
7. 总结:总结研究的主要成果和贡献,指出存在的不足及未来的研究方向。
2相关技术简介
2.1Java语言
Java语言是一种广泛使用的高级编程语言,具有平台无关性、面向对象特性和丰富的标准库[1]。Java通过Java虚拟机(JVM)实现跨平台运行,开发者可以编写一次代码,在任何支持JVM的环境中执行。Java的面向对象特性使得代码复用和模块化变得更加容易,促进了软件的维护和扩展。Java支持多线程编程,允许开发者在同一程序中同时执行多个任务,提升了应用程序的性能。
Java语言的语法结构简洁且易于理解,吸引了大量开发者[2]。Java的标准库包含数据结构、输入输出处理、网络编程等众多功能模块。这使得开发者在构建应用程序时能够高效利用已有工具,减少重复劳动。Java广泛应用于企业级应用、移动应用、Web开发和大数据处理等领域。
2.2 B/S框架
B/S(Browser/Server)架构是一种基于浏览器和服务器的系统架构模式,用户通过浏览器与服务器进行交互。B/S架构简化了客户端的部署和管理,用户无需在本地安装复杂的软件,只需使用标准浏览器即可访问应用程序。服务器端负责处理业务逻辑和数据存储,客户端则主要负责展示用户界面和数据交互[3]。B/S架构的设计使得系统更新和维护集中在服务器端,降低了维护成本。
B/S架构通常采用Web技术进行实现,包括HTML、CSS和JavaScript等。用户在浏览器中发起请求,服务器响应并返回数据。数据传输通常通过HTTP或HTTPS协议进行,B/S架构的灵活性使其适用于在线购物、信息管理系统和社交网络等各类应用场景[4]。由于其易于扩展性,B/S架构可以方便地支持大规模用户访问,适应不断变化的业务需求。
2.3 SpringBoot框架
SpringBoot框架是基于Spring框架的开源项目,简化Java应用程序的开发过程。SpringBoot通过约定优于配置的理念,减少了传统Spring应用的繁琐配置,开发者可以快速搭建和部署应用程序。框架提供了一系列默认配置,支持自动化配置,简化了应用启动的复杂性[5]。SpringBoot内置了嵌入式Web服务器,使得开发者能够独立运行Java应用,无需外部容器。
SpringBoot支持微服务架构,开发者可以轻松创建和管理多个微服务。框架集成了丰富的功能模块,包括安全、数据访问和消息中间件等,支持RESTful API和JSON数据格式的处理[6]。SpringBoot还提供了强大的监控和管理功能,允许开发者实时监控应用的健康状态和性能指标。借助SpringBoot,开发者能够高效构建和维护现代企业级应用,满足复杂业务需求。
2.4 Vue技术
Vue是一种渐进式JavaScript框架,专注于构建用户界面。Vue采用组件化的开发模式,允许开发者将应用程序拆分为独立的、可重用的组件,从而提高了开发效率和代码的可维护性[7]。框架的核心库专注于视图层,支持数据绑定和DOM操作,提供了简洁的API。Vue的虚拟DOM机制提升了应用的性能,减少了实际DOM操作的次数。
Vue支持双向数据绑定,能够自动更新视图与模型之间的变化。开发者可以通过Vue的指令系统,简化数据展示和事件处理。Vue还支持路由管理和状态管理,使得开发复杂单页面应用变得更加容易[8]。借助Vue的生态系统,开发者能够使用多种工具和库来扩展功能,满足不同的业务需求。Vue在前端开发中逐渐成为主流选择,受到广泛关注和应用。
2.5 MySQL数据库
MySQL是一种开源关系型数据库管理系统,广泛应用于Web应用和企业级数据存储。MySQL支持结构化查询语言,允许开发者通过标准语句进行数据的创建、读取、更新和删除操作[9]。数据库通过表格形式组织数据,支持数据完整性和约束条件的定义。MySQL的存储引擎机制使得用户可以根据具体需求选择不同的存储引擎,以优化性能和功能。
MySQL具有高性能和可扩展性,支持大规模数据存储和高并发访问。系统提供了丰富的用户权限管理和数据加密安全特性。MySQL能够与多种编程语言和框架兼容,广泛应用于内容管理系统、电子商务平台和数据分析等各种场景。
3系统需求分析
3.1系统功能需求分析
基于JavaWeb的药房药品采购与供应链管理系统采用Spring Boot框架进行后台开发,结合MySQL数据库进行数据存储,确保系统具备高效的性能和数据处理能力。以下是对管理员、采购员和销售员角色功能的详细分析:
1.管理员功能分析:
后台首页:管理员在后台首页可以查看系统的概览信息,包括各个模块的快捷入口、系统状态、以及相关操作的提醒信息。首页展示的数据帮助管理员实时了解平台的运营情况。
系统用户管理:管理员有权管理所有用户(包括采购员和销售员)的信息,如新增、删除、修改用户账户及权限。此模块确保了系统中用户角色的安全性和有效性。
仓库信息管理:管理员可以对仓库信息进行增删改查操作,包括管理仓库的位置、容量、库存等基本信息。确保药品的存储信息准确,以便后续的库存管理。
药品信息管理:管理员可以对药品的基本信息(如药品名称、生产厂家、批号、有效期等)进行增删改查。同时,系统可以根据药品库存量设置预警,确保库存不足时及时补货,避免药品短缺。
药品类型管理:管理员可以设置药品的类别和种类,如处方药、非处方药、保健品等。通过增删改查功能管理药品类型,以便对药品进行有效分类,提升系统的管理效率。
供应商管理:管理员能够管理所有供应商的信息,包括新增、修改、删除供应商。系统支持记录供应商的基本信息、合同细节及其历史交易记录,方便采购时选择合适的供应商。
客户信息管理:管理员负责管理客户信息,能够添加、修改、删除客户数据。通过此功能,系统可以准确记录客户的基本信息、交易历史及需求,帮助销售人员更好地服务客户。
采购订单管理:管理员负责审核采购员提交的采购订单,确保订单的合理性与准确性。系统支持对订单进行审批和修改,确保库存的补充和采购计划的执行。
入库记录管理:管理员可以查看和管理药品的入库记录,确保药品入库信息的准确性。管理员在此模块中能够对入库过程中的数据进行核查与确认。
销售订单管理:管理员对销售员提交的销售订单进行审核,确认订单的有效性并批准出库。此功能确保销售订单的合规性,并防止错误或虚假订单。
出库记录管理:管理员确认药品出库记录,核实药品的配送和发货状态。此功能用于确保销售订单的准确处理,确保药品能够正确出库并及时送达客户。
盘点登记管理:管理员负责管理药品的库存盘点信息,包括盘点的日期、结果及差异情况。通过此功能,可以确保药品库存的实际情况与系统数据的一致性。
2.采购员功能分析:
后台首页:采购员通过后台首页查看采购相关的系统数据和任务状态,包括库存预警、采购计划等信息。首页简洁明了,帮助采购员快速了解每日工作重点。
仓库信息管理:采购员可查看仓库信息,但不具备编辑权限。此功能使得采购员了解仓库当前库存状况,便于决策补货与采购计划。
药品信息管理:采购员能够查看药品信息并关注库存预警。当库存达到设定的低值时,系统将自动提示,帮助采购员及时进行采购操作,防止药品短缺。
供应商管理:采购员可以向系统中添加新的供应商信息,确保采购渠道的多样性和供应商的有效管理。
采购订单管理:采购员可以根据库存状况提交采购订单。此模块支持自动生成订单,并提交至管理员审核。采购员可跟踪订单的状态,确保采购任务按时完成。
入库记录管理:采购员能够查看药品的入库记录,确保采购的药品已经正确入库,并跟踪入库过程中的细节。
3.销售员功能分析:
后台首页:销售员通过后台首页查看与销售相关的数据,包括订单信息、客户管理等,确保能够快速进行客户服务和订单处理。
仓库信息管理:销售员能查看仓库信息,了解库存状态,确保药品的可用性以便为客户提供准确的库存情况。
药品信息管理:销售员可查看药品信息,并关注库存预警。当某个药品的库存低于预定值时,销售员会收到提醒,及时告知客户库存状况。
客户信息管理:销售售员可以根据与客户的交易情况,向系统添加新客户的相关信息,包括客户的联系方式、需求情况等。
销售订单管理:销售员可以根据客户需求提交销售订单,订单中包括药品的名称、数量、价格等信息。订单提交后,管理员进行审核,确保订单的正确性。
出库记录管理:销售员可以查看已确认的出库记录,确保订单中所需药品能够及时发货,以满足客户的需求。
以上功能模块通过为不同角色提供精准的权限管理与信息展示,有效地支持了药品采购、库存、供应链以及销售等各项流程。系统不仅帮助管理员高效管理药品信息、供应商、客户及订单,还为采购员和销售员提供了便捷的采购和销售管理工具。通过这些功能的整合,系统能够提升药房药品管理的效率和精确度,有助于降低运营成本并提高客户满意度。
3.2系统非功能性分析
药房药品采购与供应链管理系统在撰写系统毕业论文时,非功能性需求分析是一个重要的部分。非功能性需求主要关注的是系统如何运行,而不是它具体完成什么功能。这些需求包括性能、可用性、安全性、可维护性、可扩展性、易用性等方面。以下是一个关于药房药品采购与供应链管理系统非功能性需求分析的概要。
性能需求:系统需确保快速响应和高吞吐量,以支持大量用户同时访问,即使在高峰时段也能保持流畅的操作体验,避免因延迟或卡顿影响用户体验。
可用性:安系统必须具备高可用性,采用冗余部署、负载均衡等策略,确保即使部分组件故障也能迅速恢复服务,减少服务中断时间,保障用户业务的连续性。
安全性:鉴于系统处理用户敏感信息,如个人信息等,必须实施严格的安全措施,包括数据加密、访问控制、防攻击机制等,以保护用户数据免受未授权访问或泄露。
可维护性:系统设计应注重可维护性,采用模块化、标准化的架构,提供详尽的开发文档和用户手册,确保系统易于理解和维护,降低长期运维成本。
可扩展性:随着业务的发展,系统可能需要扩展功能或提升性能。因此,系统需具备灵活的可扩展性,能够轻松添加新模块、优化性能,以应对未来增长的需求。
易用性:用户界面应直观易用,符合用户习惯,提供清晰的导航和友好的操作反馈,帮助用户快速上手并高效完成任务,提升整体用户满意度。
3.3系统可行性分析
通过药房药品采购与供应链管理系统的可行性分析,我们可以从技术可行性、经济可行性、操作可行性三个维度进行深入探讨,以确保系统的开发与应用具有坚实的可行性基础。
3.3.1技术可行性
Springboot作为目前流行的Java企业级应用开发框架,以其“约定优于配置”的原则,极大地简化了开发流程,降低了技术门槛。同时,结合MyBatis Plus这一强大的ORM框架,可以高效实现数据持久化操作。MySQL数据库作为后端数据存储,以其高性能和稳定性为系统提供了可靠的数据支持。综上所述,从技术角度来看,该系统的开发具备高度可行性。
3.3.2经济可行性
考虑到Springboot、MyBatis Plus及MySQL等均为开源技术,无需支付高昂的许可费用,大大降低了系统的开发成本。同时,这些技术拥有广泛的用户群体和成熟的社区支持,便于获取技术支持和资源共享。此外,系统的实施将显著提升药房药品采购与供应链管理系统的效率和用户体验,从而带来潜在的经济效益。因此,从经济角度来看,药房药品采购与供应链管理系统的开发同样具备可行性。
3.3.3操作可行性
系统设计应遵循用户友好原则,确保用户能够轻松上手并高效使用。通过合理的界面布局、直观的操作流程以及详尽的帮助文档,可以大大降低用户的学习成本,提高系统的操作可行性。此外,系统还应具备完善的权限管理和数据安全机制,确保操作的安全性和合规性。
从技术、经济、操作三个维度来看,药房药品采购与供应链管理系统的开发均具备高度的可行性。
3.4系统用例分析
药房药品采购与供应链管理系统用例分析主要从采购员、管理员、销售员这些实体展开描述。
3.4.1采购员用例分析
采购员具备后台首页、仓库信息管理、药品信息管理(有库存预警)、供应商管理、采购订单管理、入库记录管理等需求用例,详细用例图如图3-1所示。

图3-1采购员用例图
3.4.2管理员用例分析
管理员具备后台首页、系统用户、仓库信息管理、药品信息管理(有库存预警)、药品类型管理、供应商管理、客户信息管理、采购订单管理、入库记录管理、销售订单管理、出库记录管理、盘点登记管理等需求用例。详细用例图如图3-2所示。

图3-2管理员用例图
3.4.3销售员用例分析
销售员具备后台首页、仓库信息管理、药品信息管理(有库存预警)、客户信息管理、销售订单管理、出库记录管理等需求用例。详细用例图如图3-3所示。

图3-3销售员用例图
4系统设计
4.1系统架构设计
系统采用三层开发设计模式,分为:用户界面层,业务逻辑层和数据访问层。用户界面层用来和用户交互,业务逻辑层负责业务的处理和各层之间的数据的传递;数据访问层负责对数据库的访问和检索[10]。
系统的架构图如下图所示。

图4-1 系统架构图
系统各层之间的调用过程如下:
(1)用户通过用户界面层访问系统,向系统提交请求,界面层对请求进行初步的处理和包装,并判断是否要与业务逻辑层进行交互。
(2)业务逻辑层接收来自界面层的请求,对请求进行数据处理。然后调用数据访问层来实现数据库访问,数据访问层访问数据库,将数据读出并返回给逻辑层。
(3)逻辑层将处理的结果,返回给界面层。界面层加以处理呈现给用户。
4.2系统结构设计
药房药品采购与供应链管理系统的整体结构设计如图4-2所示。

图4-2整体功能结构设计图
4.3系统功能设计
4.3.1系统开发流程
药房药品采购与供应链管理系统开发时,首先进行需求分析,进而对系统进行总体的设计规划,设计系统功能模块,数据库的选择等,本系统的开发流程如图4-3所示。

图4-3系统开发流程图
4.3.2 用户登录流程
为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。如图4-4所示。

图4-4登录流程图
4.3.3 系统操作流程
用户打开并进入系统后,会先显示登录界面,输入正确的用户名和密码,系统自动检测信息,若信息无误,则用户会进入系统功能界面,进行操作,否则会提示错误无法登录,操作流程如图4-5所示。

图4-5 系统操作流程图
4.3.4 添加信息流程
管理员可以进行信息的添加,用户也可以对自己权限内的信息进行添加,输入信息后,系统会自行验证输入的信息和数据,若信息正确,会将其添加到数据库内,若信息有误,则会提示重新输入信息,添加信息流程如图4-6所示。

图4-6 添加信息流程图
4.3.5 修改信息流程
管理员可以进行信息的修改,用户页可以对自己权限内的信息进行修改,首先进入修改信息界面,输入修改信息数据,系统进行数据的判断验证,修改信息合法则修改成功,信息更新至数据库,信息不合法则修改失败,重新输入。修改信息流程图如图4-7所示。

图4-7 修改信息流程图
4.3.6 删除信息流程
管理员可以进行信息的删除,对要删除的信息进行选中后,点击删除按钮,系统会询问是否确定,若点击确定,则系统会删除掉选中的信息,并在数据库内对信息进行删除,删除信息流程图如图4-8所示。

图4-8 删除信息流程图
4.4数据库设计
在进行数据库设计时,概念设计帮助明确系统的整体结构和需求。在这一阶段,需要确定实体、属性以及它们之间的关系,为后续的数据库表设计奠定基础。接下来,将深入探讨数据库表设计的具体细节,实现更高效的数据存储和管理。
4.4.1 概念设计
概念设计是数据库设计的第一步,其主要目标是对系统的数据需求进行全面的理解和抽象[11]。在这一阶段,通过建立实体-关系模型(ER模型)来识别系统中的关键实体、属性及其相互关系。概念设计的输出是一个清晰的ER图,作为后续数据库表设计的基础。以下将展示系统的全局E-R图。

图4-10数据库E-R图
4.4.2数据库表设计
这一阶段的重点是将概念模型转换为实际的数据库结构,包括表的创建、字段的定义及数据类型的选择。每个实体通常对应于数据库中的一张表,而实体的属性则转化为表的列[12]。以下是系统的数据库表设计展示。
表 4-1-access_token(登陆访问时长)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | token_id | int | 是 | 是 | 临时访问牌ID | |
| 2 | token | varchar | 64 | 否 | 否 | 临时访问牌 |
| 3 | info | text | 65535 | 否 | 否 | 信息 |
| 4 | maxage | int | 是 | 否 | 最大寿命:默认2小时 | |
| 5 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 7 | user_id | int | 是 | 否 | 用户编号 |
表 4-2-auth(用户权限管理)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | auth_id | int | 是 | 是 | 授权ID | |
| 2 | user_group | varchar | 64 | 否 | 否 | 用户组 |
| 3 | mod_name | varchar | 64 | 否 | 否 | 模块名 |
| 4 | table_name | varchar | 64 | 否 | 否 | 表名 |
| 5 | page_title | varchar | 255 | 否 | 否 | 页面标题 |
| 6 | path | varchar | 255 | 否 | 否 | 路由路径 |
| 7 | parent | varchar | 64 | 否 | 否 | 父级菜单 |
| 8 | parent_sort | int | 是 | 否 | 父级菜单排序 | |
| 9 | position | varchar | 32 | 否 | 否 | 位置 |
| 10 | mode | varchar | 32 | 是 | 否 | 跳转方式 |
| 11 | add | tinyint | 是 | 否 | 是否可增加 | |
| 12 | del | tinyint | 是 | 否 | 是否可删除 | |
| 13 | set | tinyint | 是 | 否 | 是否可修改 | |
| 14 | get | tinyint | 是 | 否 | 是否可查看 | |
| 15 | field_add | text | 65535 | 否 | 否 | 添加字段 |
| 16 | field_set | text | 65535 | 否 | 否 | 修改字段 |
| 17 | field_get | text | 65535 | 否 | 否 | 查询字段 |
| 18 | table_nav_name | varchar | 500 | 否 | 否 | 跨表导航名称 |
| 19 | table_nav | varchar | 500 | 否 | 否 | 跨表导航 |
| 20 | option | text | 65535 | 否 | 否 | 配置 |
| 21 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 22 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-3-buyer(采购员)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | buyer_id | int | 是 | 是 | 采购员ID | |
| 2 | employee_id | varchar | 64 | 是 | 是 | 员工工号 |
| 3 | employee_name | varchar | 64 | 否 | 否 | 员工姓名 |
| 4 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 5 | user_id | int | 是 | 否 | 用户ID | |
| 6 | create_time | datetime | 是 | 否 | 创建时间 | |
| 7 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-4-code_token(验证码)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | code_token_id | int | 是 | 是 | 验证码ID | |
| 2 | token | varchar | 255 | 否 | 否 | 令牌 |
| 3 | code | varchar | 255 | 否 | 否 | 验证码 |
| 4 | expire_time | timestamp | 是 | 否 | 失效时间 | |
| 5 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-5-customer_information(客户信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | customer_information_id | int | 是 | 是 | 客户信息ID | |
| 2 | customer_name | varchar | 64 | 是 | 是 | 客户名称 |
| 3 | customer_phone_number | varchar | 64 | 是 | 否 | 客户电话 |
| 4 | customer_address | varchar | 64 | 是 | 否 | 客户地址 |
| 5 | person_in_charge | varchar | 64 | 是 | 否 | 负责人 |
| 6 | business_scope | text | 65535 | 否 | 否 | 营业范围 |
| 7 | create_time | datetime | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-6-drug_information(药品信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | drug_information_id | int | 是 | 是 | 药品信息ID | |
| 2 | drug_no | varchar | 64 | 是 | 是 | 药品编号 |
| 3 | drug_name | varchar | 64 | 是 | 否 | 药品名称 |
| 4 | type_of_drug | varchar | 64 | 是 | 否 | 药品类型 |
| 5 | drug_specifications | varchar | 64 | 是 | 否 | 药品规格 |
| 6 | drug_inventory | double | 否 | 否 | 药品库存 | |
| 7 | manufacturer | varchar | 64 | 是 | 否 | 生产厂家 |
| 8 | approval_number | varchar | 64 | 是 | 否 | 批准文号 |
| 9 | shelf_number | varchar | 64 | 是 | 否 | 货架编号 |
| 10 | warehouse_name | varchar | 64 | 否 | 否 | 仓库名称 |
| 11 | warehouse_environment | varchar | 64 | 否 | 否 | 仓库环境 |
| 12 | warehouse_address | varchar | 64 | 否 | 否 | 仓库地址 |
| 13 | number_of_shelves_used | double | 否 | 否 | 使用货架数 | |
| 14 | purchase_order_limit_times | int | 是 | 否 | 采购限制次数 | |
| 15 | sales_order_limit_times | int | 是 | 否 | 销售限制次数 | |
| 16 | create_time | datetime | 是 | 否 | 创建时间 | |
| 17 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-7-hits(用户点击)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | hits_id | int | 是 | 是 | 点赞ID | |
| 2 | user_id | int | 是 | 否 | 点赞人 | |
| 3 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 4 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_id | int | 是 | 否 | 来源ID |
表 4-8-inventory_registration(盘点登记)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | inventory_registration_id | int | 是 | 是 | 盘点登记ID | |
| 2 | drug_no | varchar | 64 | 是 | 否 | 药品编号 |
| 3 | drug_name | varchar | 64 | 是 | 否 | 药品名称 |
| 4 | type_of_drug | varchar | 64 | 是 | 否 | 药品类型 |
| 5 | drug_specifications | varchar | 64 | 是 | 否 | 药品规格 |
| 6 | manufacturer | varchar | 64 | 是 | 否 | 生产厂家 |
| 7 | approval_number | varchar | 64 | 是 | 否 | 批准文号 |
| 8 | counting_date | date | 否 | 否 | 盘点日期 | |
| 9 | correction_quantity | double | 否 | 否 | 矫正数量 | |
| 10 | create_time | datetime | 是 | 否 | 创建时间 | |
| 11 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-9-outbound_record(出库记录)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | outbound_record_id | int | 是 | 是 | 出库记录ID | |
| 2 | order_number | varchar | 64 | 否 | 否 | 订单编号 |
| 3 | drug_no | varchar | 64 | 否 | 否 | 药品编号 |
| 4 | drug_name | varchar | 64 | 是 | 否 | 药品名称 |
| 5 | type_of_drug | varchar | 64 | 是 | 否 | 药品类型 |
| 6 | drug_specifications | varchar | 64 | 是 | 否 | 药品规格 |
| 7 | manufacturer | varchar | 64 | 是 | 否 | 生产厂家 |
| 8 | approval_number | varchar | 64 | 是 | 否 | 批准文号 |
| 9 | salesperson | int | 否 | 否 | 销售员 | |
| 10 | customer_name | varchar | 64 | 是 | 否 | 客户名称 |
| 11 | customer_phone_number | varchar | 64 | 是 | 否 | 客户电话 |
| 12 | customer_address | varchar | 64 | 是 | 否 | 客户地址 |
| 13 | sales_unit_price | double | 否 | 否 | 销售单价 | |
| 14 | sales_quantity | double | 否 | 否 | 销售数量 | |
| 15 | sales_amount | double | 否 | 否 | 销售金额 | |
| 16 | issue_date | date | 否 | 否 | 出库日期 | |
| 17 | create_time | datetime | 是 | 否 | 创建时间 | |
| 18 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 19 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 20 | source_id | int | 否 | 否 | 来源ID | |
| 21 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-10-purchase_order(采购订单)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | purchase_order_id | int | 是 | 是 | 采购订单ID | |
| 2 | order_number | varchar | 64 | 否 | 否 | 订单编号 |
| 3 | drug_no | varchar | 64 | 否 | 否 | 药品编号 |
| 4 | drug_name | varchar | 64 | 是 | 否 | 药品名称 |
| 5 | type_of_drug | varchar | 64 | 是 | 否 | 药品类型 |
| 6 | drug_specifications | varchar | 64 | 是 | 否 | 药品规格 |
| 7 | manufacturer | varchar | 64 | 是 | 否 | 生产厂家 |
| 8 | approval_number | varchar | 64 | 是 | 否 | 批准文号 |
| 9 | buyer | int | 否 | 否 | 采购员 | |
| 10 | supplier_name | varchar | 64 | 是 | 否 | 供应商名称 |
| 11 | suppliers_phone_number | varchar | 64 | 否 | 否 | 供应商电话 |
| 12 | supplier_address | varchar | 64 | 否 | 否 | 供应商地址 |
| 13 | purchase_date | date | 否 | 否 | 采购日期 | |
| 14 | purchase_unit_price | double | 否 | 否 | 采购单价 | |
| 15 | purchase_quantity | double | 否 | 否 | 采购数量 | |
| 16 | purchase_amount | double | 否 | 否 | 采购金额 | |
| 17 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 18 | examine_reply | varchar | 16 | 否 | 否 | 审核回复 |
| 19 | receipt_records_limit_times | int | 是 | 否 | 确认入库限制次数 | |
| 20 | create_time | datetime | 是 | 否 | 创建时间 | |
| 21 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 22 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 23 | source_id | int | 否 | 否 | 来源ID | |
| 24 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-11-receipt_records(入库记录)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | receipt_records_id | int | 是 | 是 | 入库记录ID | |
| 2 | order_number | varchar | 64 | 否 | 否 | 订单编号 |
| 3 | drug_no | varchar | 64 | 否 | 否 | 药品编号 |
| 4 | drug_name | varchar | 64 | 是 | 否 | 药品名称 |
| 5 | type_of_drug | varchar | 64 | 是 | 否 | 药品类型 |
| 6 | drug_specifications | varchar | 64 | 是 | 否 | 药品规格 |
| 7 | manufacturer | varchar | 64 | 是 | 否 | 生产厂家 |
| 8 | approval_number | varchar | 64 | 是 | 否 | 批准文号 |
| 9 | buyer | int | 否 | 否 | 采购员 | |
| 10 | supplier_name | varchar | 64 | 是 | 否 | 供应商名称 |
| 11 | suppliers_phone_number | varchar | 64 | 否 | 否 | 供应商电话 |
| 12 | supplier_address | varchar | 64 | 否 | 否 | 供应商地址 |
| 13 | purchase_unit_price | double | 否 | 否 | 采购单价 | |
| 14 | purchase_quantity | double | 否 | 否 | 采购数量 | |
| 15 | purchase_amount | double | 否 | 否 | 采购金额 | |
| 16 | receipt_date | date | 否 | 否 | 入库日期 | |
| 17 | create_time | datetime | 是 | 否 | 创建时间 | |
| 18 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 19 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 20 | source_id | int | 否 | 否 | 来源ID | |
| 21 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-12-salesperson(销售员)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | salesperson_id | int | 是 | 是 | 销售员ID | |
| 2 | employee_id | varchar | 64 | 是 | 是 | 员工工号 |
| 3 | employee_name | varchar | 64 | 否 | 否 | 员工姓名 |
| 4 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 5 | user_id | int | 是 | 否 | 用户ID | |
| 6 | create_time | datetime | 是 | 否 | 创建时间 | |
| 7 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-13-sales_order(销售订单)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | sales_order_id | int | 是 | 是 | 销售订单ID | |
| 2 | order_number | varchar | 64 | 否 | 否 | 订单编号 |
| 3 | drug_no | varchar | 64 | 否 | 否 | 药品编号 |
| 4 | drug_name | varchar | 64 | 是 | 否 | 药品名称 |
| 5 | type_of_drug | varchar | 64 | 是 | 否 | 药品类型 |
| 6 | drug_specifications | varchar | 64 | 是 | 否 | 药品规格 |
| 7 | manufacturer | varchar | 64 | 是 | 否 | 生产厂家 |
| 8 | approval_number | varchar | 64 | 是 | 否 | 批准文号 |
| 9 | salesperson | int | 否 | 否 | 销售员 | |
| 10 | customer_name | varchar | 64 | 是 | 否 | 客户名称 |
| 11 | customer_phone_number | varchar | 64 | 否 | 否 | 客户电话 |
| 12 | customer_address | varchar | 64 | 否 | 否 | 客户地址 |
| 13 | date_of_sale | date | 否 | 否 | 销售日期 | |
| 14 | sales_unit_price | double | 否 | 否 | 销售单价 | |
| 15 | sales_quantity | double | 否 | 否 | 销售数量 | |
| 16 | sales_amount | double | 否 | 否 | 销售金额 | |
| 17 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 18 | examine_reply | varchar | 16 | 否 | 否 | 审核回复 |
| 19 | outbound_record_limit_times | int | 是 | 否 | 确认出库限制次数 | |
| 20 | create_time | datetime | 是 | 否 | 创建时间 | |
| 21 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 22 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 23 | source_id | int | 否 | 否 | 来源ID | |
| 24 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-14-schedule(日程管理)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | schedule_id | smallint | 是 | 是 | 日程ID | |
| 2 | content | varchar | 255 | 否 | 否 | 日程内容 |
| 3 | scheduled_time | datetime | 否 | 否 | 计划时间 | |
| 4 | user_id | int | 是 | 否 | 用户ID | |
| 5 | create_time | datetime | 否 | 否 | 创建时间 | |
| 6 | update_time | datetime | 否 | 否 | 更新时间 |
表 4-15-score(评分)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | score_id | int | 是 | 是 | 评分ID | |
| 2 | user_id | int | 是 | 否 | 评分人 | |
| 3 | nickname | varchar | 64 | 否 | 否 | 昵称 |
| 4 | score_num | double | 是 | 否 | 评分 | |
| 5 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 7 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 8 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 9 | source_id | int | 是 | 否 | 来源ID |
表 4-16-supplier(供应商)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | supplier_id | int | 是 | 是 | 供应商ID | |
| 2 | supplier_name | varchar | 64 | 是 | 是 | 供应商名称 |
| 3 | suppliers_phone_number | varchar | 64 | 否 | 否 | 供应商电话 |
| 4 | supplier_address | varchar | 64 | 否 | 否 | 供应商地址 |
| 5 | person_in_charge | varchar | 64 | 否 | 否 | 负责人 |
| 6 | scope_of_supply | text | 65535 | 否 | 否 | 供应范围 |
| 7 | create_time | datetime | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-17-type_of_drug(药品类型)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | type_of_drug_id | int | 是 | 是 | 药品类型ID | |
| 2 | type_of_drug | varchar | 64 | 是 | 否 | 药品类型 |
| 3 | create_time | datetime | 是 | 否 | 创建时间 | |
| 4 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-18-upload(文件上传)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | upload_id | int | 是 | 是 | 上传ID | |
| 2 | name | varchar | 64 | 否 | 否 | 文件名 |
| 3 | path | varchar | 255 | 否 | 否 | 访问路径 |
| 4 | file | varchar | 255 | 否 | 否 | 文件路径 |
| 5 | display | varchar | 255 | 否 | 否 | 显示顺序 |
| 6 | father_id | int | 否 | 否 | 父级ID | |
| 7 | dir | varchar | 255 | 否 | 否 | 文件夹 |
| 8 | type | varchar | 32 | 否 | 否 | 文件类型 |
表 4-19-user(用户账户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | user_id | int | 是 | 是 | 用户ID | |
| 2 | state | smallint | 是 | 否 | 账户状态:(1可用|2异常|3已冻结|4已注销) | |
| 3 | user_group | varchar | 32 | 否 | 否 | 所在用户组 |
| 4 | login_time | timestamp | 是 | 否 | 上次登录时间 | |
| 5 | phone | varchar | 11 | 否 | 否 | 手机号码 |
| 6 | phone_state | smallint | 是 | 否 | 手机认证:(0未认证|1审核中|2已认证) | |
| 7 | username | varchar | 16 | 是 | 否 | 用户名 |
| 8 | nickname | varchar | 16 | 否 | 否 | 昵称 |
| 9 | password | varchar | 64 | 是 | 否 | 密码 |
| 10 | | varchar | 64 | 否 | 否 | 邮箱 |
| 11 | email_state | smallint | 是 | 否 | 邮箱认证:(0未认证|1审核中|2已认证) | |
| 12 | avatar | varchar | 255 | 否 | 否 | 头像地址 |
| 13 | open_id | varchar | 255 | 否 | 否 | 针对获取用户信息字段 |
| 14 | create_time | timestamp | 是 | 否 | 创建时间 |
表 4-20-user_group(用户组)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | group_id | mediumint | 是 | 是 | 用户组ID | |
| 2 | display | smallint | 是 | 否 | 显示顺序 | |
| 3 | name | varchar | 16 | 是 | 否 | 名称 |
| 4 | description | varchar | 255 | 否 | 否 | 描述 |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_id | int | 是 | 否 | 来源ID | |
| 8 | register | smallint | 否 | 否 | 注册位置 | |
| 9 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 10 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-21-warehouse_information(仓库信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | warehouse_information_id | int | 是 | 是 | 仓库信息ID | |
| 2 | warehouse_name | varchar | 64 | 否 | 否 | 仓库名称 |
| 3 | warehouse_environment | varchar | 64 | 是 | 否 | 仓库环境 |
| 4 | warehouse_address | varchar | 64 | 否 | 否 | 仓库地址 |
| 5 | shelf_number | varchar | 64 | 是 | 是 | 货架编号 |
| 6 | total_number_of_shelves | double | 否 | 否 | 货架总数 | |
| 7 | create_time | datetime | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 |
5系统实现
5.1后台首页功能实现
管理员在后台首页可以查看系统的概览信息,包括各个模块的快捷入口、系统状态、以及相关操作的提醒信息。首页展示的数据帮助管理员实时了解平台的运营情况,包括仓库信息统计图、药品信息统计图等。后台首页页面如图5-1所示。

图5-1后台首页界面图
5.2仓库信息管理功能实现
点击系统导航栏上的“仓库信息管理”菜单按钮,管理员可以对仓库信息进行增删改查操作,包括管理仓库的位置、容量、库存等基本信息。采购员和销售员都可以查看仓库信息。管理员添加仓库信息页面如图5-2所示。

图5-2管理员添加仓库信息界面图
5.3药品信息管理功能实现
点击系统导航栏上的“药品信息管理”菜单按钮,管理员可以对药品的基本信息(如药品名称、生产厂家、批号、规格等)进行增删改查。同时,系统可以根据药品库存量设置预警,确保库存不足时及时补货,避免药品短缺。采购员和销售员都可以查看药品信息。管理员添加药品信息页面如图5-3所示。

图5-3管理员添加药品信息界面图
5.4采购订单管理功能实现
点击系统导航栏上的“采购订单管理”菜单按钮,采购员可以根据库存状况提交采购订单。管理员可以查看和审核采购员提交的采购订单,采购员提交采购订单页面如图5-4所示。管理员审核采购订单页面如图5-5所示。

图5-4采购员提交采购订单界面图

图5-5管理员审核采购订单界面图
5.5销售订单管理功能实现
点击系统导航栏上的“销售订单管理”菜单按钮,销售员可以根据客户需求提交销售订单,订单中包括药品的名称、数量、价格等信息。订单提交后,管理员进行审核。销售员提交销售订单页面如图5-6所示。管理员审核销售订单页面如图5-7所示。

图5-6销售员提交销售订单界面图

图5-7管理员审核销售订单界面图
5.6供应商管理功能实现
点击系统导航栏上的“供应商管理”菜单按钮,采购员可以向系统中添加新的供应商信息。管理员能够管理所有供应商的信息,包括新增、修改、删除供应商信息。采购员添加供应商信息页面如图5-8所示。

图5-8采购员添加供应商信息界面图
5.7客户信息管理功能实现
点击系统导航栏上的“客户信息管理”菜单按钮,销售售员可以根据与客户的交易情况,向系统添加新客户的相关信息,包括客户的联系方式、需求情况等。管理员能够管理所有客户信息,能够添加、修改、删除客户数据。销售员添加客户信息页面如图5-9所示。

图5-9销售员添加客户信息界面图
5.8盘点登记管理功能实现
点击系统导航栏上的“盘点登记管理”菜单按钮,管理员可以管理药品的库存盘点信息,包括盘点的日期、结果及差异情况。盘点登记信息添加页面如图5-10所示。

图5-10盘点登记信息添加界面图
6系统测试
6.1测试目的
测试的主要目的是确保系统的功能和性能满足预期的需求,同时识别和修复潜在的缺陷。通过系统测试,可以验证各个功能模块的正确性和稳定性,确保系统在不同使用场景下的表现符合设计要求。测试目的包括确认系统功能的完整性、验证数据处理的准确性、评估系统的性能和安全性。测试还可以提高用户满意度,保证用户在使用系统时获得流畅和可靠的体验。通过全面的测试,可以降低后期维护成本,减少系统上线后出现故障的风险,从而保障系统的长期稳定运行。
6.2测试方法
在本系统中,测试方法主要依赖于测试用例的设计与执行。测试用例是根据系统需求文档编写的,覆盖所有功能模块及其边界情况。每个测试用例包含输入数据、预期结果和实际结果的对比,以验证系统的功能是否按预期工作。
常见的测试用例包括功能测试用例、边界测试用例和异常测试用例[13]。功能测试用例针对系统的各项功能进行验证;边界测试用例则侧重于输入数据的边界条件,验证系统在极端情况下是否能够稳定运行;异常测试用例则用于验证系统在处理错误输入或异常情况时的反应。本文选择功能测试用例进行系统测试。
在测试执行过程中,记录每个用例的执行结果,并根据实际结果与预期结果的对比,判断系统是否存在缺陷。通过系统化的测试用例执行,可以有效提高测试的覆盖率和效率,为系统的最终上线提供保障。
6.3测试内容
通过对系统中所含的主要实体对象及其功能操作进行测试用例设计。以下是详细的测试:
表6-1用户注册登录测试表
用户注册登录测试用例:
| 用例说明 | 测试目的 | 测试步骤 | 预期结果 | 输出结果 | 通过情况 |
| 用户注册、登录 | 测试用户正确注册、登录 |
| 用户注册成功,登录成功 | 结果输出符合预期 | 通过 |
表6-2采购订单提交测试表
采购订单提交用例:
| 用例说明 | 测试目的 | 测试步骤 | 预期结果 | 输出结果 | 通过情况 |
| 采购订单提交 | 测试采购员采购订单提交功能 |
| 用户采购订单提交成功,生成采购订单列表 | 结果输出符合预期 | 通过 |
表6-3销售订单提交测试表
销售订单提交测试用例:
| 用例说明 | 测试目的 | 测试步骤 | 预期结果 | 输出结果 | 通过情况 |
| 销售订单提交 | 测试销售员销售订单提交功能 | 1、击导航栏“药品信息管理”,进入出现药品信息列表; 2、点击“销售”,输入相关信息后点击提交 | 用户销售订单提交成功,生成销售订单列表 | 结果输出符合预期 | 通过 |
表6-4仓库信息添加测试表
管理员销售订单提交添加测试用例:
| 用例说明 | 测试目的 | 测试步骤 | 预期结果 | 输出结果 | 通过情况 |
| 仓库信息添加测试 | 测试管理员添加仓库信息功能 |
| 仓库信息添加成功,生成仓库信息列表 | 结果输出符合预期 | 通过 |
6.4测试结论
经过上述测试,并对测试数据结果综合分析。药房药品采购与供应链管理系统具备简便,数据透明等特性。完全符合药房药品采购与供应链管理系统的要求。
结 论
本文设计并实现了基于JavaWeb的药房药品采购与供应链管理系统,系统采用Spring Boot框架和MySQL数据库,旨在提升药房管理的效率和精确度。通过对系统功能的深入分析和设计,系统实现了对药品采购、库存、供应商管理、销售订单等多个方面的有效管理,能够为药房的日常运营提供全面支持。
系统通过角色权限管理,确保管理员、采购员和销售员能够在各自的职责范围内高效开展工作。管理员能够对仓库、药品、供应商、客户及订单等进行全面管理,确保药品的采购和销售过程符合规范;采购员可以根据库存和预警信息提交采购订单,确保药品供应的及时性;销售员通过管理客户信息和销售订单,提高了客户服务的效率和准确性。系统的设计不仅优化了药品采购与供应链的管理流程,还提高了库存管理的透明度和实时性。
在技术实现上,Spring Boot框架提供了简洁的开发环境和高效的运行性能,MySQL数据库确保了数据的安全性和高效存储。系统具备较强的扩展性,能够根据实际需求对功能进行进一步优化和升级,以适应未来药房业务的增长和变化。
总体而言,基于Spring Boot和MySQL的药房药品采购与供应链管理系统,为药房的管理提供了一种高效、智能、可扩展的解决方案,能够有效提升药品供应链的整体效率,降低管理成本,并为药房运营的数字化转型提供支持。未来,随着技术的不断进步和行业需求的变化,系统可以在智能化、自动化等方面进一步创新,满足更广泛的管理需求。
参考文献
- 冯志林.Java EE程序设计与开发实践教程[M].机械工业出版社:202105.353.
- 尹应荆.JAVA编程语言在计算机软件开发中的应用[J].石河子科技,2023,(05):45-47.
- 刘江涛,王亮亮,吴庆茹,等.基于B/S模式的铁路勘测设计案例信息化管理系统设计与实现[J].铁路计算机应用,2021,30(03):32-35.
- 张丹丹,李弘.基于B/S架构的办公管理系统设计与开发[J].铁路通信信号工程技术,2024,21(09):44-48+106.
- 王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.
- 熊永平.基于SpringBoot框架应用开发技术的分析与研究[J].电脑知识与技术,2021,15(36):76-77.
- 赵媛.基于Vue的Web系统前端性能优化分析[J].电脑编程技巧与维护,2024,(09):44-46.
- 秦冬.浅析Vue框架在前端开发中的应用[J].信息与电脑(理论版),2024,36(13):61-63.
- 李艳杰.MySQL数据库下存储过程的综合运用研究[J].现代信息科技,2023,7(11):80-82+88.
- 陈倩怡,何军.Vue+Springboot+MyBatis技术应用解析[J].电脑编程技巧与维护,2020,(01):14-15+28.
- 周晓玉,崔文超.基于Web技术的数据库应用系统设计[J].信息与电脑(理论版),2023,35(09):189-191.
- 马艳艳,吴晓光.计算机软件与数据库的设计策略分析[J].电子技术,2024,53(05):104-105.
- 李俊萌.计算机软件测试技术与开发应用策略分析[J].信息记录材料,2023,24(03):50-52.
- MoodleyD ,OosthuizenR .A framework for developing systems engineering management for process plant acquisition projects[J].Systems Engineering,2024,28(1):45-57.
- 龙金香.供水企业供应链的采购管理系统的优化研究[J].上海商业,2024,(01):160-162.
- 赵世峰,王照峰,张宁.基于供应链环境下采购管理系统的应用与探索[J].中国战略新兴产业,2022,(32):139-141.
- 王叶昊.企业设备采购和供应链管理研究——以A公司备件管理系统为例[J].商场现代化,2021,(13):85-87.DOI:10.14013/j.cnki.scxdh.2021.13.032.
- 张述嘉,师韵,林洁,等.基于WEB的供应链采购管理系统的设计与实现[J].科学技术创新,2021,(09):84-85.
- Yue Q ,Qiao Y .The analysis application of ERP system in the electric power enterprises purchase management[J].IOP Conference Series: Earth and Environmental Science,2020,525(1):012124-.
- Cahyono D ,Suryani E .The Suitability Evaluation of Procurement Information Systems to the Needs of Users and Management Using Human, Organization, Technology-Fit (HOT-Fit) Framework[J].IPTEK The Journal for Technology and Science,2020,31(1):101-110.
致 谢
本论文的完成离不开众多导师、同学以及亲友的支持与帮助。在此,首先向我的导师表示最诚挚的感谢。在整个研究和写作过程中,导师以严谨治学的态度和丰富的专业知识给予了我无私的指导,从论文选题到最终定稿的每一个环节,都为我提供了宝贵的建议与意见,使我得以不断完善研究内容、拓展学术视野。导师耐心细致的指导不仅帮助我解决了许多学术难题,也让我在研究能力与学术写作方面得到了显著的提升。导师的鼓励与支持是我完成这篇论文的重要动力,也让我深刻体会到学术研究的严谨性与意义。
我还要感谢在学习生活中给予我帮助和支持的同学、朋友以及家人。论文撰写过程中,许多同学与我共同探讨问题,分享经验与资料,使我的研究更加全面深入。朋友们的关心和陪伴让我在繁忙的研究过程中能够调节心情,保持良好的状态。特别感谢我的家人,他们始终给予我无条件的理解和支持,为我创造了安心学习与研究的环境。正是因为有了大家的帮助和支持,我才能克服论文写作中的重重困难并顺利完成。再次向所有支持和帮助过我的人表达衷心的感谢。
984

被折叠的 条评论
为什么被折叠?



