医院物流管理系统--毕设附源码48869
医院物流管理系统采用C#(ASP.NET)技术开发,致力在提升医院物资管理的效率和透明度。通过系统化的管理模式,医院能够实现对物资采购、库存、出入库、配送等环节的全程跟踪与监督,确保医院各类物资的及时供应和精确管理。系统通过数据库进行数据存储与查询,结合现代化的前端设计,为用户提供友好、直观的操作界面,使得医院管理人员可以快速进行各项任务处理。该系统能够实时掌握物资的库存状态与流转情况,避免库存短
目 录
摘 要
医院物流管理系统采用C#(ASP.NET)技术开发,致力在提升医院物资管理的效率和透明度。通过系统化的管理模式,医院能够实现对物资采购、库存、出入库、配送等环节的全程跟踪与监督,确保医院各类物资的及时供应和精确管理。系统通过数据库进行数据存储与查询,结合现代化的前端设计,为用户提供友好、直观的操作界面,使得医院管理人员可以快速进行各项任务处理。
该系统能够实时掌握物资的库存状态与流转情况,避免库存短缺和过剩的情况,保证医院各科室的物资需求得到及时满足。系统支持自动化的库存管理、物资申请、入库记录和出库审核等功能,能够减少人工操作,提高工作效率。此外,通过系统提供的数据分析与报告功能,医院能够更好地进行成本控制和资源规划,确保物资管理的科学性与合理性。
关键词:医院物流管理;C#(ASP.NET);库存管理。
Abstract
The hospital logistics management system is developed using C # (ASP.NET) technology, dedicated to improving the efficiency and transparency of hospital material management. Through a systematic management mode, hospitals can achieve full tracking and supervision of material procurement, inventory, inbound and outbound, distribution and other links, ensuring timely supply and precise management of various materials in the hospital. The system stores and queries data through a database, combined with modern front-end design, providing users with a user-friendly and intuitive interface, enabling hospital management personnel to quickly handle various tasks.
This system can real-time monitor the inventory status and circulation of materials, avoid inventory shortages and surpluses, and ensure that the material needs of various departments in the hospital are met in a timely manner. The system supports automated inventory management, material requisition, inbound recording, and outbound audit functions, which can reduce manual operations and improve work efficiency. In addition, through the data analysis and reporting functions provided by the system, hospitals can better control costs and plan resources, ensuring the scientific and rational management of materials.
Keywords: hospital logistics management; C#(ASP.NET);Inventory management.
第一章 绪 论
1.1研究背景及意义
随着医疗行业的不断发展,医院物资的管理需求日益增加,传统的手工管理方式已经无法满足现代医疗服务的高效性和精准性。医院物资的采购、存储、分配和配送等环节涉及众多部门和操作,若管理不善,容易导致库存积压、资源浪费或短缺,严重影响医疗服务的质量与效率。因此,构建一套高效、透明且易于操作的物流管理系统显得尤为重要。
医院物流管理系统通过集成信息技术与管理流程,能够实时掌握医院物资的库存状况和使用需求,确保物资能够及时补充,并避免浪费。该系统实现了物资管理的自动化与精细化,通过减少人工操作和提升数据处理效率,不仅降低了运营成本,也提高了工作效率。与此同时,通过准确的库存预警与动态管理,医院能够更加科学地规划资源,减少物资浪费,保障患者的治疗需求。这种管理模式的转型,不仅提升了医院内部的管理水平,也为医疗行业的持续发展提供了有力支持。
1.2国内外研究现状
在国际上,医院物流管理系统已经得到了广泛应用,尤其是在发达国家,医院的物资管理早已实现了信息化和自动化。许多国外医院采用综合管理系统来处理物资的采购、库存、配送等工作。这些系统通过数据驱动决策,帮助医院实时跟踪物资流动和使用情况,有效减少了库存积压和资源浪费。例如,美国和欧洲的多家医院已经部署了基于ERP(企业资源计划)系统的物资管理解决方案,通过整合各部门信息,实现了物资供应链的高效协作。此外,国外的许多研究聚焦于如何通过优化库存管理和物资配送来提升医疗效率,确保医疗物资的及时供应,以满足高强度的医疗需求。
在国内,随着医疗行业信息化建设的不断推进,医院物资管理系统也逐渐得到了重视。国内许多大型医院和医疗机构已经开始建设物资管理平台,采用信息技术来进行物资的动态监控和智能化管理。中国的一些医院已经实现了从物资采购到库存管理,再到配送的全程数字化管理。与此同时,国内的研究也表明,通过信息化系统,医院能够有效降低运营成本,提高资源利用率。然而,由于国内一些医院的资金、技术和管理能力相对有限,信息化建设的普及率和管理水平仍存在差异,部分基层医院在物资管理上的智能化程度较低,亟需进一步的技术提升。
综合来看,国际和国内在医院物流管理系统的研究和应用上已取得一定进展,但仍然存在差距。国外一些成熟的医院物流管理系统强调智能化和自动化,能够有效降低成本和提高效率,而国内尽管取得了一定的进展,但部分医院在系统的普及和应用中仍面临技术、资金等多方面的挑战。未来,随着技术的进步和管理理念的不断优化,医院物流管理系统有望进一步推动医疗资源的精细化管理和服务水平的提升。
1.3论文组织结构
本论文共分为七个主要章节,具体结构如下:
1. 绪论:介绍研究背景与意义,回顾国内外研究现状,并概述论文的组织结构。
2. 相关技术介绍:详细介绍与本研究相关的技术,包括C#开发语言、ASP.NET技术、SQL Server数据库。
3. 需求分析:对系统的功能需求和非功能需求进行分析,明确用户和管理员的需求,并进行可行性分析,包括技术、操作和经济可行性。
4. 系统设计:涵盖系统架构设计、系统模块设计,并进行数据库的概念设计与表设计。
5. 系统实现:具体描述各个功能模块的实现过程,展示系统如何根据需求进行开发。
6. 系统测试:阐述测试的目的,分析测试结果并得出结论,以验证系统的稳定性和功能完整性。
7. 总结:总结研究的主要成果和贡献,指出存在的不足及未来的研究方向。
第二章 关键技术
2.1C#开发语言
C#是一种面向对象的程序设计语言,类是C#程序的基本组成单元,类中又包含了属性和方法,在类中又可以创建无数个对象。类中包含的主要成员是字段和方法,字段是指一种数据变量,方法是指对字段进行操作的集合,包括给其他变量赋值、调用方法等[1]。C#代码都是编写在类体中,类体中的每个数据项都可以看作是一个对象,C#不支持类的多重继承,但可以支持接口的多重继承,并且支持类和接口的实现。由于C#通常在网络环境中使用,所以C#提供了一个防止代码恶意攻击的安全机制,同时,C#具有强类型机制、自动收集垃圾和异常处理等特性,这些都是C#语言健壮性的重要保证[2]。
(1)C# 结合 C、Java、Perl 以及自创的新语法形成了自己独特的语法。
(2)C#可以更快速的执行动态网页,当然这只是相对于CGI或者Perl来说,C#可以在HTML文档中嵌入程序,而且去执行,另外C#能够实现CGI的所有功能,因此说明C#具有很强大的功能。
(3)大部分当下流行的数据库和操作系统C#语言都能够支持。
(4)C#语言的最重要特点就是可以让C、C++进行扩展
(1)开放源代码:事实上C#的所有源代码都可以得到。
(2)免费性:C#是开源代码并且免费
(3)快捷性:C#对于初学者来说,它不止编辑简单可以嵌入与HTML语言中,而且对于程序开发和运行也是非常快速的,并且非常容易掌握。
(4)跨平台性强:C#是可以在服务器运行的脚本语言,所以在UNIX、Android、Mac OS、WINDOWS等操作平台上都可以运行。
(5)效率高:C#对系统资源的消耗相当少,所以它的效率高。
(6)图像处理:C#不止是可以使用GD2对图像进行处理,而且他还可以完成对图像的创建[3]。
(7)面向对象:C#在面向对象上有了许多的改进,C#语言开发大型商业程序也是可以胜任的。
2.2 SQL Server数据库
SQL Server是一种开放源代码的关系型数据库管理系统(RDBMS)[4]。关系数据库将数据保存在不同的表中,提高了灵活性,它使用最常用的结构化查询语言(SQL)进行数据库管理。SQL Server因其具有速度快、体积小、总体拥有成本低和开放源码的优点而备受关注[5]。特点:
(1)支持多种操作系统。
(2)为多种编程语言提供了API。
(3)支持多线程,充分利用CPU资源。
(4)SQL Server性能卓越、服务稳定,很少出现异常宕机。
(5)原生JSON支持。
(6)优化SQL查询算法,有效地提高查询速度[6]。
2.3ASP.NET技术
ASP.NET技术:ASP.NET 是微软公司主推的新技术,是运行于Windows 平台.net 框架下的一种新型的功能强大的WEB 编程语言[7]。发展至今,ASP.NET 经过几年的改进和优化,已渐渐成为成熟、稳定的能与JSP 对抗的一种WEB 编程语言。传统ASP 由于被束缚于弱类型的脚本语言功能限制,导致ASP 难以应用在中大型系统中。ASP.NET 其强大的功能、高系数的安全性、快捷的处理速率等众多优点,成为程序员爱不释手的技术。
因为ASP.NET 是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在WEB 应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.NET 的WEB 应用中[8]。
第三章 系统分析
3.1系统可行性分析
3.1.1技术可行性
技术可行性分析的核心在于评估系统开发所需技术资源的可用性,以及现有技术是否能够满足系统功能需求。作为系统开发平台的ASP.NET,提供了丰富的类库和工具,极大地提高了开发效率,确保了系统各项功能的实现。ASP.NET的安全性和稳定性已获得广泛认可,能够满足系统对安全性和稳定性提出的严格要求。此外,ASP.NET框架的兼容性亦十分出色,支持与多种数据库及第三方服务的无缝集成,为系统开发与维护提供了显著的便利。综合考量,从技术可行性角度出发,利用ASP.NET开发该系统是完全适宜的。
3.1.2经济可行性
在经济层面考量,开发医院物流管理系统具有较高的可行性。首先,该系统的开发成本相对较低,得益于开源框架和工具的利用,从而有效降低了开发成本。其次,系统的运行与维护成本亦相对低廉,通过采用ASP.NET等技术,实现了系统的自动化部署与维护。因此,从成本效益的角度分析,开发此类系统是切实可行的。
3.1.3社会可行性
随着医疗行业对高效管理需求的增加,信息化、智能化的物流管理已成为趋势。该系统通过提升物资管理效率、减少人工错误、降低资源浪费,能够显著提升医院运营水平,从而提高医疗服务质量,满足患者的需求。此外,系统的透明度和高效性有助于构建公众对医院的信任,推动社会资源的优化配置。
3.1.4操作可行性
该系统的操作界面设计简洁明了,便于用户理解和操作。系统配备了详尽的操作指南和帮助文档,使用户能够迅速掌握并熟练运用系统。此外,系统具有良好的容错性和错误提示功能,能在用户操作失误时及时提供提示信息,引导用户进行正确操作。因此,从操作层面来看,医院物流管理系统同样具备可行性。
3.2系统功能分析
3.2.1功能性分析
医院物流管理系统划分为了后端模块这一大部分。
后端普通用户模块:
注册登录:普通用户可以通过系统提供的注册功能进行账号创建,注册成功后可以使用用户名和密码进行登录。登录后,用户可根据权限访问相应的功能模块。
后台首页:普通用户可以进入个人后台首页,在该页面可以修改个人资料、登录密码等信息。该功能帮助用户保持信息的更新与安全,便于日常管理。
物资信息管理:普通用户可以查看物资信息的详细内容,并能够提交物资采购申请。系统会根据库存情况提供物资库存预警提醒,帮助用户提前掌握物资需求和库存状态。用户还可以通过搜索和查询功能对物资信息进行检索。
采购申请管理:普通用户可以查看自己的采购申请详情,查看申请的审核状态,并可以记录订单信息。该功能便于用户了解申请的进度,同时提供搜索、查询和重置功能,方便用户管理采购记录。
订单信息管理:普通用户可以查看物资订单的详细信息,包括订单的配送状态、订单备注等。通过该功能,用户能够随时跟踪物资的配送进度,并能够进行搜索和查询操作,确保信息准确无误。
后端管理员模块:
登录:管理员通过输入用户名和密码登录系统,系统会进行身份验证,确保只有授权的管理员可以访问后台管理界面。
后台首页:管理员在后台首页可以修改个人信息、更新登录密码等,确保管理人员的账户信息保持最新和安全。此外,管理员可以随时退出系统,确保系统的安全性。
系统用户:管理员可以对所有系统用户(包括普通用户和其他管理员)进行全面管理。功能包括搜索、查询、重置用户信息,导入和导出用户数据,以及对用户账号状态的管理。管理员还可以添加、删除用户,并恢复删除的数据。在数据导入前,系统会要求管理员下载导入文档,确保数据的准确性。
物资信息管理:管理员可以查看并修改物资信息详情,审核采购申请,并对物资的入库和出库记录进行登记和审核。该模块支持物资库存预警提醒,确保库存不会超标或短缺。系统自动计算出入库物资的数量,并支持数据导入和导出,管理员可以方便地导入保存好的文档,也可以删除不需要的记录。
物资类型管理:管理员可以对物资类型进行管理,包括查看、添加、删除和修改物资类型的相关信息。该功能帮助管理员保持物资分类的准确性,便于后续的采购、库存管理和出库操作。
入库记录管理:管理员可以查看和审核物资的入库记录。通过该功能,管理员能确保物资入库的准确性,并可以导入和导出入库数据。同时,管理员也可以删除不必要的入库记录,保证数据清晰整洁。
出库记录管理:管理员可以查看和审核物资的出库记录,确保物资的合理分配与使用。与入库记录类似,出库记录也支持数据的导入、导出和删除功能。系统自动计算出库数量,方便管理和追踪。
采购申请管理:管理员可以查看并审核用户提交的采购申请,确认订单信息和审批流程。管理员还可以导出、删除申请数据,支持数据导入和导出功能。在审核过程中,管理员能够确保所有采购活动符合规定流程。
订单信息管理:管理员负责查看订单详情,安排配送以及管理订单备注信息。管理员可以查询订单的配送状态,重置订单信息并进行相关操作,如删除订单记录或导出数据,确保订单信息的准确性和及时处理。
权限管理:管理员可以管理系统用户的权限,包括查看权限列表、修改权限、添加或删除权限项等。管理员可以通过权限名或用户组进行权限配置,确保不同角色的用户拥有合适的系统访问权限。这一功能使得管理员能够灵活地控制各类用户的访问权限,提高系统的安全性与管理效率。
3.2.2非功能性分析
医院物流管理系统的非功能性需求比如医院物流管理系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等,具体可以表示在如下3-1表格中:
表3-1医院物流管理系统非功能需求表
|
安全性 |
主要指医院物流管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
|
可靠性 |
可靠性是指医院物流管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
|
性能 |
性能是影响医院物流管理系统占据市场的必要条件,所以性能最好要佳才好。 |
|
可扩展性 |
比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
|
易用性 |
用户只要跟着医院物流管理系统的页面展示内容进行操作,就可以了。 |
|
可维护性 |
医院物流管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
3.3系统用例分析
医院物流管理系统的完整UML用例图分别是图3-1、3-2。
普通用户角色用例如下图所示。

图3-1医院物流管理系统普通用户角色用例图
管理员角色用例如下图所示。

图3-2医院物流管理系统管理员角色用例图
3.4系统总体流程设计
3.4.1数据开发流程
系统开发流程的主要步骤,从需求分析到系统完成的全过程。流程包括需求分析、总体设计(结构、功能、数据)、详细设计(模块、编码)、模块整合与调用,以及测试、扩展和完善,最终完成系统的开发。本系统的开发流程如下图所示

图3-3系统开发流程图
3.4.2用户登录流程
用户输入用户名和密码后,系统先检查输入是否为空,再验证用户名是否存在,若存在则通过用户名获取密码并校验。若密码正确则登录成功,否则提示密码错误。若用户名不存在或无法登录,提示用户操作无效。如下图所示。

图3-4登录流程图
3.4.3系统操作流程
用户首先进入系统登录界面,输入用户名和密码后,系统验证信息是否正确。若验证失败,返回登录界面重新输入,若验证成功,则进入功能界面,执行相应功能处理后结束操作流程。操作流程如下图所示。

图3-5系统操作流程图
3.4.4添加信息流程
管理员可以添加信息,用户添加可以自己权限内的信息,输入信息后,要想利用这个软件来进行系统的安全管理,首先需要登录到该软件中。添加信息流程如下图所示。

图3-6添加信息流程图
3.4.5修改信息流程
用户首先选择需要修改的记录,输入修改后的数据,系统判断输入数据是否合法。若数据不合法,提示重新输入,若数据合法,则将修改后的数据写入数据库,完成操作后流程结束。修改信息流程图如下图所示。

图3-7修改信息流程图
3.4.6删除信息流程
用户选择需要删除的记录后,系统判断是否确认删除。若未确认,返回选择环节,若确认删除,则更新数据库,删除对应记录,完成操作后流程结束。删除信息流程图如下图所示。

图3-8删除信息流程图
第四章 系统总体设计
本章主要讨论的内容包括医院物流管理系统的功能模块设计、数据库系统设计。
4.1系统架构设计
在系统架构设计中,我将确定系统的整体结构和组件之间的关系。这包括选择适当的架构风格,划分系统的层次结构,并定义各个模块的职责和交互方式。架构图如下图所示。

图4-1系统架构设计图
表示层(Presentation Layer):负责与用户进行交互,将系统的功能和数据以易于理解和操作的方式展示给用户。通常包括用户界面、页面设计和用户输入验证等。
业务逻辑层(Business Logic Layer):处理系统的核心业务逻辑,包括对用户请求的处理、业务规则的执行以及数据的处理和转换。它独立于表现层和数据层,实现了业务逻辑的封装和复用。
数据层(Data Layer):负责数据的存储、访问和管理,包括数据库和持久化机制。数据层提供了对数据的增删改查操作,并与业务逻辑层进行交互,使系统能够有效地存储和检索数据。
这三个层次相互独立,通过明确的接口和协议进行通信,实现了系统的模块化和可扩展性。表现层负责将用户的请求传递给业务逻辑层,业务逻辑层处理请求并返回结果,最后数据层负责与数据库交互并提供数据支持。这种分层架构有助于实现系统的可维护性、灵活性和可测试性。
4.2系统模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本医院物流管理系统中的用例。那么接下来就要开始对本医院物流管理系统的架构、主要功能和数据库开始进行设计。医院物流管理系统根据前面章节的需求分析得出,医院物流管理系统的功能模块图如下图所示。

图4-2医院物流管理系统功能模块图
4.3数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
4.3.1数据库概念结构设计
下面是整个医院物流管理系统中主要的数据库表总E-R实体关系图。

图4-3医院物流管理系统总E-R关系图
4.3.2数据库逻辑结构设计
通过上一小节中医院物流管理系统中总E-R关系图上得出一共需要创建多个数据表。在此主要罗列几个主要的数据库表结构设计。
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
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-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-4-commonly_used(入库记录)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
commonly_used_id |
int |
是 |
是 |
入库记录ID |
|
|
2 |
material_no |
varchar |
64 |
否 |
否 |
物资编号 |
|
3 |
material_name |
varchar |
64 |
否 |
否 |
物资名称 |
|
4 |
material_type |
varchar |
64 |
否 |
否 |
物资类型 |
|
5 |
receipt_time |
date |
否 |
否 |
入库时间 |
|
|
6 |
receipt_quantity |
double |
否 |
否 |
入库数量 |
|
|
7 |
receipt_remarks |
text |
65535 |
否 |
否 |
入库备注 |
|
8 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|
9 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
10 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
11 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
12 |
source_id |
int |
否 |
否 |
来源ID |
|
|
13 |
source_user_id |
int |
否 |
否 |
来源用户 |
表 4-5-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-6-material_information(物资信息)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
material_information_id |
int |
是 |
是 |
物资信息ID |
|
|
2 |
material_no |
varchar |
64 |
是 |
是 |
物资编号 |
|
3 |
material_name |
varchar |
64 |
否 |
否 |
物资名称 |
|
4 |
material_type |
varchar |
64 |
否 |
否 |
物资类型 |
|
5 |
warehouse |
varchar |
64 |
否 |
否 |
所在仓库 |
|
6 |
material_inventory |
double |
否 |
否 |
物资库存 |
|
|
7 |
inventory_remarks |
text |
65535 |
否 |
否 |
库存备注 |
|
8 |
purchase_requisition_limit_times |
int |
是 |
否 |
采购申请限制次数 |
|
|
9 |
commonly_used_limit_times |
int |
是 |
否 |
入库记录限制次数 |
|
|
10 |
outbound_record_limit_times |
int |
是 |
否 |
出库记录限制次数 |
|
|
11 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
12 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-7-material_type(物资类型)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
material_type_id |
int |
是 |
是 |
物资类型ID |
|
|
2 |
material_type |
varchar |
64 |
否 |
否 |
物资类型 |
|
3 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
4 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-8-order_information(订单信息)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
order_information_id |
int |
是 |
是 |
订单信息ID |
|
|
2 |
order_number |
varchar |
64 |
否 |
否 |
订单编号 |
|
3 |
ordinary_user |
int |
否 |
否 |
普通用户 |
|
|
4 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
|
5 |
material_name |
varchar |
64 |
否 |
否 |
物资名称 |
|
6 |
material_type |
varchar |
64 |
否 |
否 |
物资类型 |
|
7 |
purchase_quantity |
varchar |
64 |
否 |
否 |
采购数量 |
|
8 |
procurement_channel |
varchar |
64 |
否 |
否 |
采购渠道 |
|
9 |
delivery_status |
varchar |
64 |
否 |
否 |
配送状态 |
|
10 |
order_remarks |
text |
65535 |
否 |
否 |
订单备注 |
|
11 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
12 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
13 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
14 |
source_id |
int |
否 |
否 |
来源ID |
|
|
15 |
source_user_id |
int |
否 |
否 |
来源用户 |
表 4-9-ordinary_user(普通用户)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
ordinary_user_id |
int |
是 |
是 |
普通用户ID |
|
|
2 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
|
3 |
user_gender |
varchar |
64 |
否 |
否 |
用户性别 |
|
4 |
users_mobile_phone |
varchar |
16 |
否 |
否 |
用户手机 |
|
5 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|
6 |
user_id |
int |
是 |
否 |
用户ID |
|
|
7 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-10-outbound_record(出库记录)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
outbound_record_id |
int |
是 |
是 |
出库记录ID |
|
|
2 |
material_no |
varchar |
64 |
否 |
否 |
物资编号 |
|
3 |
material_name |
varchar |
64 |
否 |
否 |
物资名称 |
|
4 |
material_type |
varchar |
64 |
否 |
否 |
物资类型 |
|
5 |
outbound_time |
date |
否 |
否 |
出库时间 |
|
|
6 |
quantity_of_issue |
double |
否 |
否 |
出库数量 |
|
|
7 |
outbound_remarks |
text |
65535 |
否 |
否 |
出库备注 |
|
8 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|
9 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
10 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
11 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
12 |
source_id |
int |
否 |
否 |
来源ID |
|
|
13 |
source_user_id |
int |
否 |
否 |
来源用户 |
表 4-11-purchase_requisition(采购申请)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
purchase_requisition_id |
int |
是 |
是 |
采购申请ID |
|
|
2 |
ordinary_user |
int |
否 |
否 |
普通用户 |
|
|
3 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
|
4 |
users_mobile_phone |
varchar |
64 |
否 |
否 |
用户手机 |
|
5 |
material_no |
varchar |
64 |
否 |
否 |
物资编号 |
|
6 |
material_name |
varchar |
64 |
否 |
否 |
物资名称 |
|
7 |
material_type |
varchar |
64 |
否 |
否 |
物资类型 |
|
8 |
purchase_quantity |
double |
否 |
否 |
采购数量 |
|
|
9 |
application_time |
date |
否 |
否 |
申请时间 |
|
|
10 |
procurement_channel |
varchar |
64 |
否 |
否 |
采购渠道 |
|
11 |
purchase_remarks |
text |
65535 |
否 |
否 |
采购备注 |
|
12 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|
13 |
examine_reply |
varchar |
255 |
否 |
否 |
审核回复 |
|
14 |
order_information_limit_times |
int |
是 |
否 |
订单信息限制次数 |
|
|
15 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
16 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
17 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
18 |
source_id |
int |
否 |
否 |
来源ID |
|
|
19 |
source_user_id |
int |
否 |
否 |
来源用户 |
表 4-12-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-13-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-14-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 |
是 |
否 |
更新时间 |
第五章 详细设计与实现
医院物流管理系统的详细设计与实现主要是根据前面的医院物流管理系统的需求分析和医院物流管理系统的总体设计来设计页面并实现业务逻辑。主要从医院物流管理系统界面实现、业务逻辑实现这两部分进行介绍。
5.1用户注册模块
不是医院物流管理系统中正式用户的是可以在线进行注册的,当填写上自己的账号+设置密码+确认密码+昵称+邮箱+身份+用户姓名+用户性别等信息后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。其用户注册模块展示如下图所示。

图5-1注册模块图
5.2登录模块
医院物流管理系统中的前台上注册后的用户是可以通过自己的用户名+密码进行登录的,当用户输入完整的自己的用户名+密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的用户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到医院物流管理系统的首页中,否则将会提示相应错误信息,登录模块如下图所示。

图5-2登录模块图
5.3后端普通用户功能模块
5.3.1物资信息管理模块
普通用户可以查看物资信息的详细内容,并能够提交物资采购申请。系统会根据库存情况提供物资库存预警提醒,帮助用户提前掌握物资需求和库存状态。用户还可以通过搜索和查询功能对物资信息进行检索。模块如下图所示:

图5-3提交采购申请模块图
5.3.2采购申请管理模块
普通用户可以查看自己的采购申请详情,查看申请的审核状态,并可以记录订单信息。该功能便于用户了解申请的进度,同时提供搜索、查询和重置功能,方便用户管理采购记录。模块如下图所示。

图5-4采购申请管理模块图

图5-5登记订单信息模块图
5.3.3订单信息管理模块
普通用户可以查看物资订单的详细信息,包括订单的配送状态、订单备注等。通过该功能,用户能够随时跟踪物资的配送进度,并能够进行搜索和查询操作,确保信息准确无误。模块如下图所示。

图5-6订单信息管理模块图

图5-7安排配送模块图
5.4后端管理员功能模块
5.4.1采购申请管理模块
管理员可以查看并审核用户提交的采购申请,确认订单信息和审批流程。管理员还可以导出、删除申请数据,支持数据导入和导出功能。在审核过程中,管理员能够确保所有采购活动符合规定流程。模块如下图所示。

图5-8审核采购申请模块图
5.4.2系统用户模块
管理员可以对所有系统用户(包括普通用户和其他管理员)进行全面管理。功能包括搜索、查询、重置用户信息,导入和导出用户数据,以及对用户账号状态的管理。管理员还可以添加、删除用户,并恢复删除的数据。在数据导入前,系统会要求管理员下载导入文档,确保数据的准确性。流程图如下所示。

图5-9系统用户模块图
系统用户模块如下图所示。

图5-10系统用户模块图
5.4.3订单信息管理模块
管理员负责查看订单详情,安排配送以及管理订单备注信息。管理员可以查询订单的配送状态,重置订单信息并进行相关操作,如删除订单记录或导出数据,确保订单信息的准确性和及时处理。模块如下图所示。

图5-11订单信息管理模块图
5.4.4物资信息管理模块
管理员可以查看并修改物资信息详情,审核采购申请,并对物资的入库和出库记录进行登记和审核。该模块支持物资库存预警提醒,确保库存不会超标或短缺。系统自动计算出入库物资的数量,并支持数据导入和导出,管理员可以方便地导入保存好的文档,也可以删除不需要的记录。模块如下图所示。

图5-12登记入库记录模块图

图5-13审核入库记录模块图

图5-14登记出库记录模块图

图5-15审核出库记录模块图
5.4.5物资类型管理模块
管理员可以对物资类型进行管理,包括查看、添加、删除和修改物资类型的相关信息。该功能帮助管理员保持物资分类的准确性,便于后续的采购、库存管理和出库操作。模块如下图所示。

图5-16添加物资类型模块图
5.4.6入库记录管理模块
管理员可以查看和审核物资的入库记录。通过该功能,管理员能确保物资入库的准确性,并可以导入和导出入库数据。同时,管理员也可以删除不必要的入库记录,保证数据清晰整洁。模块如下图所示。

图5-17入库记录管理模块图
5.4.7出库记录管理模块
管理员可以查看和审核物资的出库记录,确保物资的合理分配与使用。与入库记录类似,出库记录也支持数据的导入、导出和删除功能。系统自动计算出库数量,方便管理和追踪。模块如下图所示。

图5-18出库记录管理模块图
第六章 系统测试
6.1系统测试的目的
测试的主要目的是确保系统的功能和性能满足预期的需求,同时识别和修复潜在的缺陷。通过系统测试,可以验证各个功能模块的正确性和稳定性,确保系统在不同使用场景下的表现符合设计要求。测试目的包括确认系统功能的完整性、验证数据处理的准确性、评估系统的性能和安全性[10]。测试还可以提高用户满意度,保证用户在使用系统时获得流畅和可靠的体验。通过全面的测试,可以降低后期维护成本,减少系统上线后出现故障的风险,从而保障系统的长期稳定运行。
6.2测试方法
在本系统中,测试方法主要依赖于测试用例的设计与执行。测试用例是根据系统需求文档编写的,覆盖所有功能模块及其边界情况。每个测试用例包含输入数据、预期结果和实际结果的对比,以验证系统的功能是否按预期工作。
常见的测试用例包括功能测试用例、边界测试用例和异常测试用例。功能测试用例针对系统的各项功能进行验证;边界测试用例则侧重于输入数据的边界条件,验证系统在极端情况下是否能够稳定运行;异常测试用例则用于验证系统在处理错误输入或异常情况时的反应。本文选择功能测试用例进行系统测试。
在测试执行过程中,记录每个用例的执行结果,并根据实际结果与预期结果的对比,判断系统是否存在缺陷。通过系统化的测试用例执行,可以有效提高测试的覆盖率和效率,为系统的最终上线提供保障。
6.3测试用例
6.3.1用户登录功能测试
表6-1 用户登录功能测试表
|
用例名称 |
用户登录系统 |
|
目的 |
测试用户通过正确的用户名和密码可否登录功能 |
|
前提 |
未登录的情况下 |
|
测试流程 |
1) 进入登录页面 2) 输入正确的用户名和密码 |
|
预期结果 |
用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
|
实际结果 |
实际结果与预期结果一致 |
6.3.2创建数据测试
在系统中,创建功能也是基础功能之一,因此创建功能的测试很有代表性。在此章节主要列举在创建时各种情况下系统结果的测试。由于系统涉及创建功能操作过多,因此将多处统称创建功能。
创建数据用例如表6-2 所示。
表6-2 创建数据测试用例
|
测试用例编号 |
YL_05 |
|
|
测试用例名称 |
系统使用者进行创建数据 |
|
|
测试用例描述 |
使用者输入要创建的数据 |
|
|
系统入口 |
浏览器 |
|
|
步骤 |
预期结果 |
实际结果 |
|
输入完整并且格式正确的数据 |
提示“创建成功”,并显示所有数据 |
预期结果 |
|
核心位置数据但非必要位置不输入数据 |
提示“创建成功”,并显示所有数据 |
预期结果 |
|
核心数据位置不输入数据 |
提示“创建失败” |
预期结果 |
6.3.3修改数据测试
在系统中,修改功能是系统主要实现功能,因此修改功能的测试很有代表性。在此章节主要列举在修改时各种情况下系统结果的测试。由于系统涉及修改功能操作过多,因此将多处数据表记录修改和状态修改统称修改功能。
修改数据用例如表6-3所示。
表6-3 修改数据测试用例
|
测试用例编号 |
YL_06 |
|
|
测试用例名称 |
系统使用者进行修改数据 |
|
|
测试用例描述 |
使用者对可修改的数据项进行修改 |
|
|
系统入口 |
浏览器 |
|
|
步骤 |
预期结果 |
实际结果 |
|
将现有数据修改成正确的数据 |
提示“修改成功”,并显示所有数据 |
预期结果 |
|
将现有数据修改成错误的数据 |
提示“修改失败” |
预期结果 |
6.3.4查询数据测试
在系统中,查询功能是使用系统使用最多也是最基础的功能,因此查询功能的测试很有代表性。在此章节主要列举在查询时各种情况下系统结果的测试。
查询数据用例如表6-4所示。
表6-4 查询数据测试用例
|
测试用例编号 |
YL_05 |
|
|
测试用例名称 |
系统使用者进行查询数据 |
|
|
测试用例描述 |
全部查询以及输入关键词查询 |
|
|
系统入口 |
浏览器 |
|
|
步骤 |
预期结果 |
实际结果 |
|
界面自动查询全部 |
显示对应所有记录 |
预期结果 |
|
输入已存在且能匹配成功的关键字 |
显示所查询到的数据 |
预期结果 |
|
输入不存在的关键字 |
显示数据界面为空 |
预期结果 |
6.4测试结果
在本次测试的过程主要针对所有功能下的添加操作,修改操作和删除操作,并以真实数据一一进行相关功能项目的输入,最终能够保证每个项目涉及的功能都能够正常运行,因此能够保证本次设计的,已实现的功能能够正常运行并且相关数据库的信息也同样保证正确。
结 论
本论文通过C#(ASP.NET)技术开发了医院物流管理系统,系统主要实现了医院物资的采购、库存管理、入库与出库记录、订单管理等功能。通过系统化的设计与实现,医院能够实时掌握物资库存的动态,确保物资的合理调配与及时供应。系统自动化的管理模式减少了人工操作,提升了物资管理的效率和准确性,从而确保了医疗资源的高效利用和医疗服务的顺畅运行。
在开发过程中,充分理解了C#(ASP.NET)框架的优势,特别是在构建高效、稳定的企业级应用方面,系统具有良好的可扩展性与维护性。同时,项目中积累了宝贵的实际操作经验,尤其是在数据存储、前端交互和后台逻辑设计方面,为今后类似项目的开发提供了重要参考。
展望未来,随着技术的不断发展,医院物流管理系统有望集成更多智能化功能,进一步提升物资管理的自动化和精确性,推动医院整体管理水平的进一步提高。
参考文献
- 王强.计算机C语言编译系统前后端的设计与实现[J].科学技术创新,2024,(24):128-131.
- 屈晓,周挺,郑艳松.一种实现C语言程序的在线编译系统设计[J].电脑知识与技术,2024,20(25):51-54.
- [2]王娟, 李敏. 高职C语言程序设计混合式教学研究与实践[J]. 现代商贸工业, 2024, 45 (08): 267-268.
- 李晓峰,郭伊,闫衍. 基于C/S架构的SQL数据库技术研究 [J]. 网络安全和信息化, 2024, (02): 83-85.
- 马艳艳,吴晓光.计算机软件与数据库的设计策略分析[J].电子技术,2024,53(05):104-105.
- 武相军,崔占鹏,李辰,等.SQL Server数据库编程与开发教程[M].化学工业出版社:202402.398.
- 张俊杰.基于Angular和ASP.NET Core技术的数据采集系统的设计与实现[J].信息与电脑(理论版),2023,35(06):155-160.
- 宋雅飞.“ASP.NET”技术在企业网站设计中的应用[J].无线互联科技,2022,19(04):89-90.
- 马艳艳,吴晓光.计算机软件与数据库的设计策略分析[J].电子技术,2024,53(05):104-105.
- 李俊萌.计算机软件测试技术与开发应用策略分析[J].信息记录材料,2023,24(03):50-52
- Ottonelli R D . Mastering Visual Studio 2022:Develop apps like a pro with advanced Visual Studio techniques using C# and .NET[M]. Packt Publishing Limited: 2024-12-06.
- Jesse L ,Joseph D . Programming APIs with C# and .NET:Develop high-performance APIs that ensure seamless application communication and enhanced security[M]. Packt Publishing Limited: 2024-11-22.
- J. M P . Real-World Web Development with .NET 9:Build websites and services using mature and proven ASP.NET Core MVC, Web API, and Umbraco CMS[M]. Packt Publishing Limited: 2024-12-20.
- 孙晓林. 医院物流管理系统在医用耗材管理中的运用分析 [J]. 中国物流与采购, 2024, (23): 67-68.
- 高静,叶立润. 医院药库管理中SPD院内物流管理系统应用思考 [J]. 物流工程与管理, 2023, 45 (12): 124-126.
- 潘瑾,邱雪停,王银雪,等. 基于多级库房管理系统的医院智能化物流管理研究 [J]. 中国数字医学, 2022, 17 (08): 18-24.
- 王凯,吴友红. 医院物流管理系统应用在医用耗材管理中的价值研究 [J]. 中国医疗器械信息, 2022, 28 (12): 160-162.
- 崔萌. 医院物流管理信息系统的开发与实践 [J]. 信息记录材料, 2021, 22 (08): 207-209.
- 邓菲. 新时期医院物流系统的设计优化 [J]. 中国医疗器械信息, 2021, 27 (12): 187-190.
- 陈毓杰,陈翠微,孙奕奕. 医院物流管理系统在医用耗材管理中的应用分析 [J]. 中国医疗器械信息, 2020, 26 (23): 167-168+173.
- 林万超. 医院物流管理优化研究[D]. 湖北工业大学, 2020.
致 谢
医院物流管理系统的设计与实施工作业已圆满结束。尽管在过程中遭遇了诸多挑战,但内心却充满了自豪与满足感。在此,我要向大学四年间所有教导过我的老师们表达最深的谢意。他们的专业知识与人生智慧,使我得以成长为一名能够独立完成系统的学子。特别要感谢我的指导老师,他以无比的耐心解答我的疑惑,引导我解决问题,并提升了我的自主解决问题的能力。同时,室友和同学们的宝贵建议与支持,也让我取得了显著的进步。展望未来,我将继续不懈追求卓越,以不负所学所悟以及老师的期望。坚信只要持之以恒,未来必将取得更加辉煌的成就。期待一个更加美好的未来!
此外,医院物流管理系统的设计与实施不仅是技术上的挑战,更是个人成长的试金石。挫折与困难成为了我成长的垫脚石,让我更深入地理解问题,并精确地找到解决方案。每解决一个问题,我都会感到莫大的满足与自豪。
对于未来,我满怀期待与信心。无论道路多么崎岖,只要保持坚定的信念并持续努力,我坚信必将取得更大的成就。期待将所学的知识与技能应用于实践,为社会作出更大的贡献。
最后,我要向所有帮助和支持我的人表达衷心的感谢。你们的教诲、鼓励与支持,是我取得今日成就的重要因素。我将继续努力,不辜负你们的期望,为实现更加美好的未来而不懈奋斗。
点赞+收藏+关注 → 私信领取本源代码、数据库
更多推荐

所有评论(0)