基于SSM的药房药品采购集中管理系统的设计与实现论文

news2024/12/28 18:20:27

摘 要

互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对药房药品采购信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用药房药品采购集中管理系统可以有效管理,使信息管理能够更加科学和规范。
药房药品采购集中管理系统在Eclipse环境中,使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,系统可以实现采购订单管理,配送订单管理,结算订单管理,退货订单管理以及药品信息管理等功能。
总之,药房药品采购集中管理系统集中管理信息,有着保密性强,效率高,存储空间大,成本低等诸多优点。它可以降低信息管理成本,实现信息管理计算机化。
关键词:药房药品采购集中管理系统;Java语言;Mysql

Abstract
Since the development of the Internet, both its theory and technology have matured, and it has been widely involved in all aspects of society. It allows information to be disseminated through the Internet, and it can serve people well with information management tools. In view of the chaotic management of drug purchase information in pharmacies, high error rate, poor information security, high labor intensity, and time-consuming and labor-intensive problems, the use of a centralized drug purchase management system for pharmacies can effectively manage and make information management more scientific and standardized.
The pharmacy drug purchasing centralized management system is coded in Java language in the Eclipse environment, and Mysql is used to create a data table to save the data generated by the system. The system can provide information display and corresponding services. The system can realize functions such as purchase order management, delivery order management, settlement order management, return order management, and drug information management.
In short, the centralized management information of pharmacy drug procurement centralized management system has many advantages such as strong confidentiality, high efficiency, large storage space, and low cost. It can reduce the cost of information management and realize the computerization of information management.
Key Words:Pharmacy drug purchase centralized management system; Java language; Mysql

目 录

第1章 绪论 1
1.1 课题背景 1
1.2 课题意义 1
1.3 研究内容 2
第2章 开发环境与技术 3
2.1 MYSQL数据库 3
2.2 JSP技术 3
2.3 SSM框架 4
第3章 系统分析 5
3.1 可行性分析 5
3.1.1 技术可行性 5
3.1.2 经济可行性 5
3.1.3 操作可行性 5
3.2 系统流程 6
3.2.1 操作流程 6
3.2.2 登录流程 6
3.2.3 删除信息流程 7
3.2.4 添加信息流程 8
3.3 性能需求 8
3.4 功能需求 9
第4章 系统设计 14
4.1 设计原则 14
4.2 功能结构设计 14
4.3 数据库设计 19
4.3.1 数据库概念设计 19
4.3.2 数据库物理设计 22
第5章 系统实现 27
5.1 管理员功能实现 27
5.1.1 卫生局管理 27
5.1.2 统计药品信息 27
5.1.3 卫生院管理 28
5.2 卫生局功能实现 29
5.2.1 采购订单管理 29
5.2.2 配送订单管理 29
5.2.3 统计结算订单 30
5.3 卫生院功能实现 30
5.3.1 配送订单 30
5.3.2 统计采购订单 31
5.4 卫生室功能实现 32
5.4.1 配送订单管理 32
5.4.2 结算订单管理 32
5.4.3 退货订单管理 33
5.5 药品供应商功能实现 33
5.5.1 采购订单管理 33
5.5.2 配送订单管理 34
第6章 系统测试 35
6.1 功能测试 35
6.1.1 登录功能测试 35
6.1.2 修改密码功能测试 36
6.2 测试结果 36
结 论 37
致 谢 38
参考文献 39

第1章 绪论

1.1 课题背景
互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。所以各行业,尤其是规模较大的企业和学校等都开始借助互联网和软件工具管理信息,传播信息,共享信息等等,以此可以增强自身实力,提高在同行业当中的竞争能力,并从各种激烈的竞争中获取发展的机会。针对药房药品采购信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,经过分析和考虑,在目前的情况下,可以引进一款药房药品采购集中管理系统这样的现代化管理工具,这个工具就是解决上述问题的最好的解决方案。它不仅可以实时完成信息处理,还缩短药房药品采购信息管理流程,使其系统化和规范化。同时还可以减少工作量,节约药房药品采购信息管理需要的人力和资金。所以药房药品采购集中管理系统是信息管理环节中不可缺少的工具,它对管理者来说非常重要。
1.2 课题意义
现如今,信息种类变得越来越多,信息的容量也变得越来越大,这就是信息时代的标志。近些年,计算机科学发展得也越来越快,而且软件开发技术也越来越成熟,因此,在生活中的各个领域,只要存在信息管理,几乎都有计算机的影子,可以说很多行业都采用计算机的方式管理信息。信息计算机化处理相比手工操作,有着保密性强,效率高,存储空间大,成本低等诸多优点。针对药房药品采购信息管理,采用药房药品采购集中管理系统可以有效管理,使信息管理能够更加科学和规范。
总之,在实际中使用药房药品采购集中管理系统,其意义如下:
第一点:药房药品采购集中管理系统的实际运用,可以帮助管理人员在短时间内完成信息处理工作;
第二点:通过系统页面的合理排版布局,可以更加直观的展示系统的内容,并且使用者可以随时阅读页面信息,随时操作系统提供的功能;
第三点:可以实现信息管理计算机化;
第四点:可以降低信息管理成本;
1.3 研究内容
对药房药品采购集中管理系统设计制作,不仅需要技术支撑,也需要大量的理论研究。本文在对药房药品采购集中管理系统进行介绍时,将按照如下内容进行。
第一部分:介绍药房药品采购集中管理系统研究的背景意义,便于用户了解系统;
第二部分:介绍开发药房药品采购集中管理系统需要搭建的环境,包括技术和工具;
第三部分:介绍用户对药房药品采购集中管理系统的功能要求,以及对药房药品采购集中管理系统的性能要求等;
第四部分:介绍数据库的设计方案,以及根据功能要求设计的功能结构;
第五部分:介绍通过编码最终实现的系统功能运行效果;
第六部分:介绍系统的功能测试,对系统进行综合检测,并及时解决系统出现的问题,直至系统运行正常。

第2章 开发环境与技术

药房药品采购集中管理系统的编码实现需要搭建一定的环境和使用相应的技术,接下来的内容就是对药房药品采购集中管理系统用到的技术和工具进行介绍。
2.1 MYSQL数据库
本课题所开发的应用程序在数据操作方面是不可预知的,是经常变动的,没有办法直接把数据写在文档里,这样不仅仅不安全,也不能实现应用程序的功能。如果要能实现应用程序所需要的数据存储功能,就避免不了要进行专业数据库存储软件的选择。基本上应用程序实现的功能不算太复杂,市面上任何一个关系型数据库软件都可以实现。参考自己的学习进度和操作习惯来讲,Oracle数据库是适合的,但是所需要的的安装软件很大,并且有好多不需要的功能都是开启的状态,十分消耗电脑资源,所以没有选择Oracle数据库,而SQL Server数据库虽然学过,但是安装的时候因为电脑上可能有其他的软件存在,经常性的出问题,而安装问题不好解决就需要重新安装操作系统,这样对已经存在的软件来讲又是一种时间上的浪费。只有MySQL数据库,安装包小,安装速度快,操作简单,哪怕安装出问题也好解决,不用重装操作系统,也不影响电脑上运行的其他软件,消耗资源也少,最重要的是在功能方面完全的符合设计需要,所以最后选择了MySQL数据库作为应用软件开发需要的数据库。
2.2 JSP技术
在动态网站的兴起之初,作为高级编程语言的Java自然不会放弃这个领域的蛋糕。Sun公司推出了Servlet作为输出动态网站的一种技术标准,虽然不怎么受当时程序员的喜爱,但是当初也没有太多的选择,随后几个月PHP语言问世,不考虑性能和效率如何,起码在书写网页所需要的动态代码块和静态代码块方面进行了区分,让书写效率和可读效率大大的提升,所以很多Java程序员以及刚入行的初级程序员都选择了PHP语言作为自己职业的发展方向,Sun公司为了维护Java语言在高级编程语言上的江湖地位,防止PHP继续抢走市场份额占有率,Sun公司联合Apache基金会研发了一个关于Java动态网页的一个新型的技术标准,这就是JSP技术。JSP吸取了PHP语言在页面书写上面的所有优点,但是又背靠Java EE的庞大后台,又能实现很多通过Java组件就能实现的功能,在JSP页面上可以直接引用那些组件,让JSP更加的强壮丰富。保证了Java技术纵向的可持续发展,并且在动态网站开发领域终于站稳了脚跟,其他PHP开发人员可以很快的转移到JSP进行开发,不考虑一些特殊组件或者功能的开发,只从动态页面的开发上来讲,完全实现了PHP程序和JSP程序的几乎无成本的转换,JSP技术就这样的发展了起来。
2.3 SSM框架
SSM框架不是一个框架的名称,而是三个框架的首字母缩写,分别是Spring框架、SpringMVC框架、MyBatis框架。是目前Java开发者中学习的首选框架。
Spring框架继承了JavaEE和EJB框架的优点,在依赖注入方面去掉了臃肿的配置,在面向切面方面也简化了代码数量,提高了代码品质。依赖注解进行配置,让所有的依赖都可以通过程序的自动配置和寻找,减少了代码写作数量,提高了代码阅读性。
SpringMVC框架与Spring只是一个公司的,在底层代码结构上可以复用,但是最主要的功能是对数据提交请求进行过滤,并且对数据的返回进行过滤,不限于页面是JSP技术,也可以是其他的技术,更容易大型开发的集合技术。
MyBatis框架摒弃了Hibernate框架的配置臃肿方面,有时候Hibernate框架业务比较复杂的时候,代码量反而增加,性能下降,无法对底层的数据库语句优化,而MyBatis框架则有效的解决了这个方面,可以通过Java语句,对数据库操作语句进行优化,代码更简洁,执行效率更高,并且可以生产一些模块化代码,解决了开发过程中容易出现的实体映射方面的操作。

第3章 系统分析

面对即将开发的系统,进行提前的分析是必要的。这也是开发流程中必须有的环节。通常分析系统期间,主要涉及的内容包括系统开发可行性问题,对系统功能和性能的分析等问题。
3.1 可行性分析
在正式对需要建设的项目进行投资前,有一个比较关键的步骤是不能缺少的,那就是可行性分析。它主要从当前技术,经济等角度去评估系统的可行性,在投资决策中常常采用这种科学的方法来论证项目。
3.1.1 技术可行性
当前,系统开发的技术已经发展成熟,而且通过计算机网络可以获取开发工具的使用方法,以及规范化编写的模块化代码,这些知识可以帮助开发者顺利完成本系统的编码工作。
3.1.2 经济可行性
本系统开发期间需要配置的软件环境,可以免费通过开发类官网下载安装,需要配置的硬件设备也不需要具备很高的性能,通常网吧电脑,或学校计算机机房的电脑都符合要求。因此,从经济方面考虑,药房药品采购集中管理系统开发可行。
3.1.3 操作可行性
药房药品采购集中管理系统根据用户使用习惯进行开发,设计的界面具有统一性,并具备优秀的导航功能。所以,只要会简单操作电脑的人员,可以无压力操作药房药品采购集中管理系统。
总之,从上述的论证来看,本系统可以开发。
3.2 系统流程
流程图这样的工具可以直观反映出系统内部的操作逻辑,可以帮助用户更好的理解系统。
3.2.1 操作流程
进入本系统需要访问者提供验证信息。验证合格的访问者才能获取访问资格。其具体的操作流程见下图。访问者根据登录界面设置的信息项如实填写,待信息通过验证后,访问者可以进入指定的页面享受本系统提供的服务和阅读本系统的相关信息。
在这里插入图片描述

图3.1 操作流程图
3.2.2 登录流程
本系统的登录模块,其内部的流程见下图。主要对访问本系统的人员提供的验证信息进行逐个判断,系统面对录入错误的信息会给出提示,比如,提示账号不对,或提示密码不匹配等提示信息。总之,在登录页面填写的所有信息都符合要求,访问者就登录成功了。
在这里插入图片描述

图3.2 登录流程图
3.2.3 删除信息流程
本系统在经常性的使用后,会产生很多失去价值的信息,因此就需要及时清理数据,腾出系统的空间。对这些数据进行清理时,其对应的流程见下图。先选中要清理的数据,通过反复确认需要清理的数据,避免操作人员误删。已经删除的数据就不会出现在系统里面。
在这里插入图片描述

图3.3 删除信息流程图
3.2.4 添加信息流程
本系统主要用于显示信息,提供服务,其中,数据添加功能就是其中的服务之一,具体流程见下图。让操作者在信息添加的页面录入数据,待这些数据被提交检验合格后,就会在系统指定页面显示出来。
在这里插入图片描述

图3.4 添加信息流程图
3.3 性能需求
进行需求分析,包括了根据用户实际需求制定功能,也涵盖了对即将设计的系统进行性能上的需求分析。所以一般分析系统时,一方面要分析系统功能,另一方面也要分析系统的性能。毕竟设计开发出一个好性能的系统可以确保系统的质量可靠。
接下来分析系统的性能,还要从界面友好性,系统的时间特性,系统的可靠性等方面来分析说明。
(1)时间特性要求:系统处理数据都有时间要求,这也是系统的时间特性。通常都会把数据处理的时间进行分析,也会设置用户请求的响应时间,还有系统在满负荷运行时可以偏离的范围数值等都需要提前分析确定。
(2)界面友好性:除了功能上需要考虑用户需求外,在人机交互界面的设计上,也需要考虑用户的使用习惯,包括界面的布局,界面基调选择以及颜色搭配等。尽量做到用户在接受简单的培训之后,可以对系统进行独立操作。
(3)系统可靠性:对于初学者而言,很容易出现一个问题,就是设计开发的系统,因为人为的误操作出现崩溃,有些也会导致电脑死机。这样的现象也说明这种容错能力低下的系统是不可靠的。完全不能作为生活中处理信息的系统。当下,系统开发要保证可靠性,设计时,把模块化和结构化的设计理念也考虑进来。如果遇到对时效性要求比较严格的系统,也需要采取其它的措施,比如双机系统,还有磁盘阵列等方式。还有就是一个可靠性的系统,对设备的供电能力也有要求。
3.4 功能需求
不同的系统提供的服务也不相同,其对应的功能也不相同,所以,系统开工前,需要明确其用途,确定其功能。由此,才可以进行各个任务的开展。
药房药品采购集中管理系统经过分析,确定了其需要设置管理员的角色,其操作的功能通过用例图展示(见下图)。管理员增删改查卫生局,卫生院,卫生室,药品供应商,药品以及区域信息,统计药品库存。
在这里插入图片描述

图3.5 管理员用例图
药房药品采购集中管理系统经过分析,确定了其需要设置卫生局的角色,其操作的功能通过用例图展示(见下图)。卫生局审核采购订单和配送订单,对药品库存,采购订单,结算订单和退货订单进行统计。
在这里插入图片描述

图3.6 卫生局用例图
药房药品采购集中管理系统经过分析,确定了其需要设置卫生院的角色,其操作的功能通过用例图展示(见下图)。卫生院审核采购订单,查看配送订单,查看结算订单,采购订单,退货订单的统计报表。
在这里插入图片描述

图3.7 卫生院用例图
药房药品采购集中管理系统经过分析,确定了其需要设置卫生室的角色,其操作的功能通过用例图展示(见下图)。卫生室结算配送订单并在线支付,或者对配送订单进行退货。
在这里插入图片描述

图3.8 卫生室用例图
药房药品采购集中管理系统经过分析,确定了其需要设置药品供应商的角色,其操作的功能通过用例图展示(见下图)。药品供应商对审核通过的采购订单进行配送,管理配送订单,查看退货订单。
在这里插入图片描述

图3.9 药品供应商用例图

第4章 系统设计

一个成功设计的系统在内容上必定是丰富的,在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值,吸引更多的访问者访问系统,以及让来访用户可以花费更多时间停留在系统上,则表明该系统设计得比较专业。
4.1 设计原则
本系统在设计过程中需要依照一定的设计原则进行,目的就是为了让开发的系统具备高质量,齐全完备的功能,方便简单的操作,如此才可以最大限度的满足使用者的要求。系统设计原则除了基本的易操作原则外,还有安全性原则,准确性原则。
第一个设计原则:易操作原则,针对本系统设计的功能要完备齐全,编码时,设计的各个接口要具备友好性,使用者一旦使用本系统时,要能够轻松上手,操作本系统处理数据时,要具备便利性。此外,也需要设计一些必要提示,引导使用者操作系统。
第二个设计原则:安全性原则,本系统在登录模块要对各个访问者进行身份验证,系统会通过访问者输入的信息进行判断,使用提前编写的安全验证代码进行数据比对,引导匹配成功的访问者进入指定的操作界面。这样可以避免无关性访问者窃取系统的数据。
第三个设计原则:准确性原则,为了保证使用者登记的数据是正确的,需要提前设计数据纠错机制,让使用者可以通过系统的报错提示,仔细检查登记的错误信息,并及时纠正错误,填写规范正确的信息。比如设置密码时,要求密码的长度不能低于6个字符,且数据类型要求不能全部是数字等都能进行规范。
4.2 功能结构设计
在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的管理员结构图(见下图)。管理员增删改查卫生局,卫生院,卫生室,药品供应商,药品以及区域信息,统计药品库存。
在这里插入图片描述

图4.1 管理员功能结构图
在前面分析的卫生局功能的基础上,进行接下来的设计工作,最终展示设计的卫生局结构图(见下图)。卫生局审核采购订单和配送订单,对药品库存,采购订单,结算订单和退货订单进行统计。
在这里插入图片描述

图4.2 卫生局功能结构图
在前面分析的卫生院功能的基础上,进行接下来的设计工作,最终展示设计的卫生院结构图(见下图)。卫生院审核采购订单,查看配送订单,查看结算订单,采购订单,退货订单的统计报表。
在这里插入图片描述

图4.3 卫生院功能结构图
在前面分析的卫生室功能的基础上,进行接下来的设计工作,最终展示设计的卫生室结构图(见下图)。卫生室结算配送订单并在线支付,或者对配送订单进行退货。

在这里插入图片描述

图4.4 卫生室功能结构图
在前面分析的药品供应商功能的基础上,进行接下来的设计工作,最终展示设计的药品供应商结构图(见下图)。药品供应商对审核通过的采购订单进行配送,管理配送订单,查看退货订单。
在这里插入图片描述

图4.5 药品供应商功能结构图
4.3 数据库设计
开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。
4.3.1 数据库概念设计
这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。
(1)下图是管理员实体和其具备的属性。
在这里插入图片描述

图4.4 管理员实体属性图
(2)下图是卫生局实体和其具备的属性。
在这里插入图片描述

图4.5 卫生局实体属性图
(3)下图是卫生院实体和其具备的属性。
在这里插入图片描述

图4.6 卫生院实体属性图
(4)下图是卫生室实体和其具备的属性。
在这里插入图片描述

图4.7 卫生室实体属性图
(5)下图为上述各实体间相互之间的关系。
在这里插入图片描述

图4.8 实体间关系E-R图
4.3.2 数据库物理设计
本数据库是关系型数据库,因此对二维表的结构设计也比较关键。毕竟二维表格模型就是关系型数据库中的关系模型。而一些常用的关系模型中的概念也需要了解,才可以对关系模型进行设计。下面就简单介绍关系,元组,属性,域,关键字等常用概念的含义。
关系:关系就是数据库中的一张数据表,每张数据表都有命名,也就是每个关系也有名字,那就是数据表名;
元组:元组就是数据表中的一行记录;
属性:属性就是数据表中的字段,也就是数据表中的一列;
域:域就是对数据表中属性的取值进行限定;
关键字:关键字就是数据表中的主键;
在了解了表结构设计的常用概念后,接下来就需要使用前面绘制的E-R模型完成表结构的设计工作,并在数据库中创建数据表,并为各个数据表进行命名。以下就对设计的结果通过表格形式进行展示。
表4.1 采购订单信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yaopinmingcheng varchar(200) 否 药品名称
yaopintupian varchar(200) 是 NULL 药品图片
caigouriqi date 是 NULL 采购日期
goumaishuliang int(11) 是 NULL 购买数量
weishengshizhanghao varchar(200) 是 NULL 卫生室账号
fuzerenxingming varchar(200) 是 NULL 负责人姓名
weishengshiming varchar(200) 是 NULL 卫生室名
suoshuquyu varchar(200) 是 NULL 所属区域
lianxidianhua varchar(200) 是 NULL 联系电话
sfsh varchar(200) 是 否 是否审核
shhf longtext 是 NULL 审核回复
表4.2 结算订单信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yaopinmingcheng varchar(200) 否 药品名称
yaopintupian varchar(200) 是 NULL 药品图片
goumaishuliang int(11) 是 NULL 购买数量
jine int(11) 是 NULL 金额
jiesuanriqi date 是 NULL 结算日期
weishengshizhanghao varchar(200) 是 NULL 卫生室账号
fuzerenxingming varchar(200) 是 NULL 负责人姓名
weishengshiming varchar(200) 是 NULL 卫生室名
suoshuquyu varchar(200) 是 NULL 所属区域
lianxidianhua varchar(200) 是 NULL 联系电话
ispay varchar(200) 是 未支付 是否支付
表4.3 配送订单信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yaopinmingcheng varchar(200) 否 药品名称
yaopintupian varchar(200) 是 NULL 药品图片
weishengshiming varchar(200) 是 NULL 卫生室名
goumaishuliang int(11) 是 NULL 购买数量
yaopinjiage int(11) 是 NULL 药品价格
jine int(11) 是 NULL 金额
gongyingshangzhanghao varchar(200) 是 NULL 供应商账号
xiaoshoudaili varchar(200) 是 NULL 销售代理
lianxidianhua varchar(200) 是 NULL 联系电话
sfsh varchar(200) 是 否 是否审核
shhf longtext 是 NULL 审核回复
表4.4 退货订单信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yaopinmingcheng varchar(200) 否 药品名称
yaopintupian varchar(200) 是 NULL 药品图片
goumaishuliang int(11) 是 NULL 购买数量
jine int(11) 是 NULL 金额
tuihuoriqi date 是 NULL 退货日期
weishengshizhanghao varchar(200) 是 NULL 卫生室账号
fuzerenxingming varchar(200) 是 NULL 负责人姓名
weishengshiming varchar(200) 是 NULL 卫生室名
suoshuquyu varchar(200) 是 NULL 所属区域
lianxidianhua varchar(200) 是 NULL 联系电话
表4.5 管理员信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
username varchar(100) 否 用户名
password varchar(100) 否 密码
role varchar(100) 是 管理员 角色
addtime timestamp 否 CURRENT_TIMESTAMP 新增时间
表4.6 卫生局信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
weishengjuzhanghao varchar(200) 否 卫生局账号
mima varchar(200) 否 密码
fuzerenxingming varchar(200) 否 负责人姓名
guanxiaquyu varchar(200) 是 NULL 管辖区域
lianxidianhua varchar(200) 是 NULL 联系电话
youxiang varchar(200) 是 NULL 邮箱
zhaopian varchar(200) 是 NULL 照片
表4.7 卫生室信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
weishengshizhanghao varchar(200) 否 卫生室账号
mima varchar(200) 否 密码
fuzerenxingming varchar(200) 否 负责人姓名
weishengshiming varchar(200) 是 NULL 卫生室名
suoshuquyu varchar(200) 是 NULL 所属区域
lianxidianhua varchar(200) 是 NULL 联系电话
youxiang varchar(200) 是 NULL 邮箱
zhaopian varchar(200) 是 NULL 照片
表4.8 卫生院信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
weishengyuanzhanghao varchar(200) 否 卫生院账号
mima varchar(200) 否 密码
fuzerenxingming varchar(200) 否 负责人姓名
guanxiaquyu varchar(200) 是 NULL 管辖区域
lianxidianhua varchar(200) 是 NULL 联系电话
youxiang varchar(200) 是 NULL 邮箱
zhaopian varchar(200) 是 NULL 照片
表4.9 药品供应商信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
gongyingshangzhanghao varchar(200) 否 供应商账号
mima varchar(200) 否 密码
xiaoshoudaili varchar(200) 否 销售代理
lianxidianhua varchar(200) 是 NULL 联系电话
youxiang varchar(200) 是 NULL 邮箱
zhaopian varchar(200) 是 NULL 照片
表4.10 药品信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yaopinbianhao varchar(200) 否 药品编号
yaopinmingcheng varchar(200) 否 药品名称
jixing varchar(200) 是 NULL 剂型
picihao varchar(200) 是 NULL 批次号
shengchanriqi date 是 NULL 生产日期
yaopinshuoming longtext 是 NULL 药品说明
shengchandanwei varchar(200) 是 NULL 生产单位
shengchandizhi varchar(200) 是 NULL 生产地址
yaopintupian varchar(200) 是 NULL 药品图片
baozhiqi varchar(200) 是 NULL 保质期
yaopinkucun int(11) 是 NULL 药品库存

第5章 系统实现

进入到这个环节,也就可以及时检查出前面设计的需求是否可靠了。一个设计良好的方案在运用于系统实现中,是会帮助系统编制人员节省时间,并提升开发效率的。所以在系统的编程阶段,也就是系统实现阶段,对于一些不合理的设计需求,也是可以及时发现。因为设计的方案是完全指导系统的编码过程的。
5.1 管理员功能实现
5.1.1 卫生局管理
管理员进入指定功能操作区之后可以管理卫生局。其页面见下图。管理员增删改查卫生局信息。
在这里插入图片描述

图5.1 卫生局管理页面
5.1.2 统计药品信息
管理员进入指定功能操作区之后可以统计药品信息。其页面见下图。管理员查看各种药品对应的库存数量。
在这里插入图片描述

图5.2 统计药品信息页面
5.1.3 卫生院管理
管理员进入指定功能操作区之后可以管理卫生院。其页面见下图。管理员增删改查卫生院信息。
在这里插入图片描述

图5.3 卫生院管理页面
5.2 卫生局功能实现
5.2.1 采购订单管理
卫生局进入指定功能操作区之后可以管理采购订单。其页面见下图。卫生局对采购订单进行审核,统计采购订单。
在这里插入图片描述

图5.4 采购订单管理页面
5.2.2 配送订单管理
卫生局进入指定功能操作区之后可以管理配送订单。其页面见下图。卫生局审核配送订单,提交药品名称查询配送订单。
在这里插入图片描述

图5.5 配送订单管理页面
5.2.3 统计结算订单
卫生局进入指定功能操作区之后可以统计结算订单。其页面见下图。卫生局查看各个卫生室对应的结算金额信息。
在这里插入图片描述

图5.6 统计结算订单页面
5.3 卫生院功能实现
5.3.1 配送订单
卫生院进入指定功能操作区之后可以查看配送订单。其页面见下图。卫生院查看配送订单详情,查询配送订单。
在这里插入图片描述

图5.7 配送订单页面
5.3.2 统计采购订单
卫生院进入指定功能操作区之后可以查看采购订单统计报表。其页面见下图。卫生院查看各个卫生室对应的采购数量。
在这里插入图片描述

图5.8 统计采购订单页面
5.4 卫生室功能实现
5.4.1 配送订单管理
卫生室进入指定功能操作区之后可以管理配送订单。其页面见下图。卫生室在当前页面可以结算订单或对订单进行退货。
在这里插入图片描述

图5.9 配送订单管理页面
5.4.2 结算订单管理
卫生室进入指定功能操作区之后可以管理结算订单。其页面见下图。卫生室支付订单,查询结算订单。
在这里插入图片描述

图5.10 结算订单管理页面
5.4.3 退货订单管理
卫生室进入指定功能操作区之后可以管理退货订单。其页面见下图。卫生室查询退货订单,删除退货订单,查看退货订单明细。
在这里插入图片描述

图5.11 退货订单管理页面
5.5 药品供应商功能实现
5.5.1 采购订单管理
药品供应商进入指定功能操作区之后可以管理采购订单。其页面见下图。药品供应商对审核通过的采购订单进行配送。
在这里插入图片描述

图5.12 采购订单管理页面
5.5.2 配送订单管理
药品供应商进入指定功能操作区之后可以管理配送订单。其页面见下图。药品供应商查看配送订单审核状态,可以修改,删除配送订单。
在这里插入图片描述

图5.13 配送订单管理页面

第6章 系统测试

进入这个环节就代表着系统已经结束了编码实现功能阶段,接下来要做的事情,就是对该系统进行检测,也就是系统测试,这个环节是很有必要进行的,原因是开发本系统的人员,其自身具备的开发技术以及开发思维是有限的,在面对具有复杂性操作逻辑的系统,都会出现大大小小的错误,并且这样的错误还都是不可避免的。通过及时的测试,可以尽早排除程序中的错误,这样也可以减少实际运行中产生的问题,从而真正避免在后期使用中为修复这些问题所付出的高昂代价。及时测试,及时发现问题并解决,也是提高开发过程的效率的一种表现形式。总而言之,在软件开发生命周期的每个阶段都需要加以重视,并做好每个阶段需要做的任务,从开始到结尾都需要保证开发软件的质量。
6.1 功能测试
通过设计一些数据检验药房药品采购集中管理系统的功能是否根据预定进行数据输出,以此检验系统功能是否合格。接下来就选取部分功能进行检测。
6.1.1 登录功能测试
药房药品采购集中管理系统提供的服务是给规定的用户使用的,其他无关用户是无法进入的,登录功能就是检验访问者是否是符合要求的用户,及时将不符合要求的用户拒之门外。以此保证系统安全。这里以管理员身份进行检测,测试的内容见下表。
表6.1 登录功能测试表
账号 密码 身份 结果
guanliyuan guanliyuan 管理员 提示成功,进入系统后台
user guanliyuan 管理员 提示失败,停留在登录页面
guanliyuan user 管理员 提示失败,停留在登录页面
药房药品采购集中管理系统在面对正确的账号,不匹配的密码时,会有相应的反馈,其反馈结果见下图。
在这里插入图片描述

图6.1 登录错误反馈提示
6.1.2 修改密码功能测试
这个功能的设置也是出于对系统的保护,让操作人员的密码可以一直变化,减少泄露的几率。测试的数据见下表。通过验证旧密码,确认操作者是本人,然后开始对新密码进行登记。一般修改完密码后,需要再次登录。
表6.2 修改密码功能测试表
旧密码 新密码 密码修改结果
guanliyuan gly 成功
user gly 失败
guanliyuan 失败
本系统在面对登记错误的旧密码信息时,有相应的反馈提示,见下图。
在这里插入图片描述

图6.2 旧密码错误提示
6.2 测试结果
经过测试,从药房药品采购集中管理系统功能的角度来看,本系统各个功能在符合用户要求的情况下,也能保持运行正常。从药房药品采购集中管理系统性能的角度来看,本系统可以保持24小时不间断运行,而且面对用户的误操作行为,有提前设置的错误反馈机制应对,另外,本系统界面布局考虑用户阅读习惯,可以让用户短时间内获取需要的内容。总之,本系统可以投入生产,帮助用户解决实际问题,发挥其应用价值。

结 论

采用Java+Mysql的方式设计制作的药房药品采购集中管理系统,在功能上可以满足管理人员对于信息的管理需求;在界面的设计上,尽最大努力用自身的美工知识做到界面美观简洁。在操作方面上,让系统可以方便操作,同时对用户常见的误操作行为进行分析总结,并尽力在系统中避免同样的由于用户的误操作所带来的错误现象。
作为毕业设计,分配给本系统的设计与制作时间还是不足的,所以,药房药品采购集中管理系统还有许多需要完善的地方。
第一个就是本系统的编程代码问题,各个程序文件的代码存在冗余的地方非常多,导致代码不够简洁,同时对代码的注释也比较麻烦。编码期间,对于很多页面可以共享的函数与方法都没有单独列出来,而是在需要用到函数和方法的页面上都重新编写了代码,通过后期的技术学习,以及对编码过程的分析总结,发现可以把共用的函数或方法编写在同一个页面上,在之后的页面中,需要使用此函数的页面,则可以直接调用函数,无需再编写代码了,这样可以简化代码,也能节省时间和存储空间。
第二个就是对数据库的设计不够好,在数据处理中,影响程序运行速度。因此需要对数据库的性能进行优化。通过这方面知识的学习,在某个开发技术类的博客中,发现可以用数据库连接池技术来解决数据库的性能问题,另外还需规范数据库里面的关系模式,降低数据库的冗余率,提高运行速度。
如果说平时的作业也是检查对知识的掌握情况,那么制作毕业设计,将是对自身所有知识的一个全面检测。因为系统能够制作完成则是经历了很多阶段,正如文中所展示的那样,先有可行性分析,对功能的分析,对功能的设计,对数据库的设计,对程序功能的编码实现,对完成编码程序的测试等,这些环节缺一不可,而且还都需要认真对待,大学学到的所有知识在制作系统时,才会发现不够用。所以这个项目制作,在检测自身能力的同时,也对问题分析,资料搜集,问题解决等能力进行了培养。
我通过制作本系统,熟悉了程序开发的流程,提高了对程序的编码能力,培养了独立分析与解决问题的能力;但也让我明白自身的不足之处,所以在接下来的时间,我还是要加强对技术知识的学习,去逐渐完善本系统。

致 谢

制作毕设项目这段时间,忙碌又充实。从最开始选题的不知所措,到现在毕设项目完成时的淡然,两种完全不同的心境,也意味着我这段时间在不断成长。项目制作是一个很耗费时间与精力的任务,如果说仅仅依靠自己的话,那肯定达不到毕设的标准。所以,这一路走来,导师给予我的帮助也是非常大的。不管我处于哪个阶段,比如选题阶段,比如分析系统功能阶段,设计系统结构阶段,系统编码阶段等,都有导师参与指导,他提出的建议和技术上的指导让我可以更快地完成这个毕设项目。此刻,我非常感谢导师,感谢他提供的帮助。
毕设项目制作期间,我身边的同学也及时指出了我系统的错误,并帮助我完善已开发的系统,还提供了很多文档撰写的技巧,所以,我也非常庆幸能和他们一起努力制作项目,也非常感谢他们一直以来的陪伴。
大学短短几年,能够得到成长,也离不开授课老师们,他们一直在校园为广大学子传授知识,用他们毕生所学,教出一批批优秀的学生,我这几年的成熟与成长也得益于他们的教导。所以我也非常感谢校园的各位老师。
即将离开校园,回想这几年的时光,还真挺不舍。安安静静在校园走了一圈,发现我的大学校园真的很美,我也感谢学校给我们提供这么美好的学习环境,以及给了我上大学的机会。感谢母校!

参考文献

[1]唐龙凯,张鑫,潘大钊.医院药品采购管理系统的设计与应用[J].信息安全与技术,2014,5(03):72-74.
[2]徐珽,吴逢波,樊新星,唐尧.药品采购与供应信息管理系统建立[J].预防医学情报杂志,2018(05):370-372.
[3]张振超,吴杰,陈序蓬.浅谈Java中Mysql数据库的连接与操作[J].信息记录材料,2020,21(02):144-145.
[4]郑智方,魏恺乐,李彬,谢易壮.MySQL得到广泛使用的原因以及它的嵌入应用[J].科技风,2020(05):114.
[5]赵秀芹,刘杨青,李瑞祥.MySQL数据库使用技巧三例[J].网络安全和信息化,2019(08):90-91.
[6]余涛.计算机软件开发中Java编程语言的应用研究[J].信息记录材料,2020,21(01):113-115.
[7]岳青玲.Java面向对象编程的三大特性[J].电子技术与软件工程,2019(24):239-240.
[8]耿学.关于Java Web中中文乱码问题的探讨[J].现代信息科技,2020,4(01):74-75+78.
[9]张彦芳.Java Web项目开发中的中文乱码问题与对策[J].电脑知识与技术,2020,16(09):96-97.
[10]韩思凡.Web开发中的JSP与H T ML的基础应用[J].科学技术创新,2020(14):71-72.
[11]赵晓丹.网页开发中的JSP技术分析[J].南方农机,2019,50(20):247-248.
[12]薛茹.基于SSM框架的Web系统研究与应用[J].计算机产品与流通,2018(07):30.
[13]邱丹萍.Web开发中SSM框架的分析[J].电脑知识与技术,2020,16(17):81-82.
[14]仲崇文.关于计算机软件开发中常见问题的研究[J].通讯世界,2020,27(07):89-90.
[15]Raffi Khatchadourian.Automated refactoring of legacy Java software to enumerated types[J].Automated Software Engineering,2017,24(4).
[16]Ben White.Marx and Chayanov at the margins:understanding agrarian change in Java[J].The Journal of Peasant Studies,2018,45(5-6).

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1310508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

shiro入门demo(一)身份验证

shiro&#xff08;身份&#xff09;认证&#xff0c;简单来说就是登录/退出。搭建springboot项目&#xff0c;引入shiro和单元测试依赖&#xff1a; <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-…

python程序编程代码大全,python编程代码详解

这篇文章主要介绍了python语言的代码书写规则有哪些&#xff0c;具有一定借鉴价值&#xff0c;需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获&#xff0c;下面让小编带着大家一起了解一下。 Python代码主要由&#xff1a;5个部分组成&#xff0c;下面就分别介绍&…

数据清洗、特征工程和数据可视化、数据挖掘与建模的主要内容

1.4 数据清洗、特征工程和数据可视化、数据挖掘与建模的内容 视频为《Python数据科学应用从入门到精通》张甜 杨维忠 清华大学出版社一书的随书赠送视频讲解1.4节内容。本书已正式出版上市&#xff0c;当当、京东、淘宝等平台热销中&#xff0c;搜索书名即可。内容涵盖数据科学…

什么是纯净IP?如何判断IP地址的纯净度?有哪些干净IP推荐?

您是否想知道什么使代理“干净”或如何确保您的代理不会将您列入网站的黑名单&#xff1f;对于通过代理访问网络的人来说&#xff0c;干净的代理是无缝在线体验的重要组成部分。在这篇文章中&#xff0c;我们将深入研究干净代理的世界&#xff0c;并探讨决定其质量的因素。 一、…

字节跳动面经题

字节跳动面经题 1、了解anchor-free? "Anchor-free"是一个指向一类目标检测方法的术语&#xff0c;与传统的"anchor-based"方法相对应。在传统的目标检测中&#xff0c;通常会使用一系列预定义的锚框&#xff08;anchors&#xff09;作为模型的基础。这些…

Java IO 流详解

Java IO 流详解 1 .Java IO概念 Java IO&#xff1a;即 Java 输入 / 输出系统。 Java 的 IO 模型设计非常优秀&#xff0c;它使用 Decorator (装饰者)模式&#xff0c;按功能划分 Stream &#xff0c;您可以动态装配 这些 Stream &#xff0c;以便获得您需要的功能。 Stream &…

阿里云国际版CDN网页打不开、页面报错该如何解决?

如果在使用CDN过程中&#xff0c;遇到了网页打不开、页面报错等问题时&#xff0c;您可以通过自助诊断工具来进行诊断。诊断工具会告知本次诊断结果&#xff0c;您可以根据结果来调整CDN配置或提交工单进行咨询。 使用场景 主要支持以下情况&#xff1a; 域名访问异常&#x…

Java,这是一个模仿HashMap的put,get功能的自定义MyHashMap

Java 手写HashMap源码 一&#xff0c;手写源码 这是一个模仿HashMap的put&#xff0c;get功能的自定义的MyHashMap package cn.wxs.demo;import java.io.Serializable; import java.util.*; import java.util.function.BiConsumer; import java.util.function.BiFunction; i…

Linux-----10、查找命令

# 查找命令 # 1、 命令查找 Linux下一切皆文件&#xff01; which 命令 &#xff1a;找出命令的绝对路径 whereis 命令 &#xff1a;找出命令的路径以及文档手册信息 [rootheima ~]# which mkdir /usr/bin/mkdir[rootheima ~]# whereis mkdir mkdir: /usr/bin/mkdir /usr/…

+0和不+0的性能差异

前几日&#xff0c;有群友转发了某位技术大佬的weibo。并在群里询问如下两个函数哪个执行的速度比较快&#xff08;weibo内容&#xff09;。 func g(n int, ch chan<- int) {r : 0for i : 0; i < n; i {r i}ch <- r 0 }func f(n int, ch chan<- int) {r : 0for …

读书笔记-《数据结构与算法》-摘要5[归并排序]

归并排序 核心&#xff1a;将两个有序对数组归并成一个更大的有序数组。通常做法为递归排序&#xff0c;并将两个不同的有序数组归并到第三个数组中。 先来看看动图&#xff0c;归并排序是一种典型的分治应用。 public class MergeSort {public static void main(String[] ar…

vscode 文件目录栏缩进

一个好的开发IDE&#xff0c;一定是让人赏心悦目的&#xff0c;这个赏心悦目也一定是包含层级目录的清晰明了&#xff01;不能像感冒的鼻涕一样一擤一摊子&#xff01;就像。。。。嗯&#xff0c;算了&#xff0c;断子还是不讲了&#xff0c;怕有些妹子投诉 或发消息批评我。。…

Java反射类、构造方法、类变量、类方法

被反射的Student类 package reflect;public class Student {public String name;private String age;public int num;public Student(){}public Student(String age) {this.age age;}private Student(String name, String age){this.age age;this.name name;}public String…

Windows下使用CMake编译lua

Lua 是一个功能强大、高效、轻量级、可嵌入的脚本语言。它支持程序编程、面向对象程序设计、函数式编程、数据驱动编程和数据描述。 Lua的官方网站上只提供了源码&#xff0c;需要使用Make进行编译&#xff0c;具体的编译方法为 curl -R -O http://www.lua.org/ftp/lua-5.4.6.…

从零构建属于自己的GPT系列6:模型部署2(文本生成函数解读、模型本地化部署、文本生成文本网页展示、代码逐行解读)

&#x1f6a9;&#x1f6a9;&#x1f6a9;Hugging Face 实战系列 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在PyCharm中进行 本篇文章配套的代码资源已经上传 从零构建属于自己的GPT系列1&#xff1a;数据预处理 从零构建属于自己的GPT系列2&#xff1a;模型训…

IP属地变化背后的原因

随着互联网的普及和技术的不断发展&#xff0c;IP属地变化的现象越来越受到人们的关注。近日&#xff0c;有网友发现自己的IP属地发生了变化&#xff0c;引发了广泛讨论。那么&#xff0c;IP属地为什么会发生变化呢&#xff1f; 首先&#xff0c;网络环境的变化是导致IP属地变化…

过拟合与欠拟合

一、模型选择 1、问题导入 2、训练误差与泛化误差 3、验证数据集和测试数据集 4、K-折交叉验证 一般在没有足够多数据时使用。 二、过拟合与欠拟合 1、过拟合 过拟合的定义&#xff1a; 当学习器把训练样本学的“太好”了的时候&#xff0c;很可能已经把训练样本自身的一些特…

JAVA:乘除窗体的实现

目录 题目要求&#xff1a; 窗口的实现&#xff1a; try 和 catch 的用法&#xff1a; 思路大意&#xff1a; 关键代码的实现&#xff1a; 题目要求&#xff1a; 使用 try 和catch 方法完成乘法除法的异常处理和窗体的实现&#xff0c;如下图所示&#xff1a; 窗口的实…

PDF控件Spire.PDF for .NET【转换】演示:将 PDF 转换为线性化

PDF 线性化&#xff0c;也称为“快速 Web 查看”&#xff0c;是一种优化 PDF 文件的方法。通常&#xff0c;只有当用户的网络浏览器从服务器下载了所有页面后&#xff0c;用户才能在线查看多页 PDF 文件。然而&#xff0c;如果 PDF 文件是线性化的&#xff0c;即使完整下载尚未…

Java-----链表

本篇碎碎念&#xff1a;唐朝诡事录中的西安与洛阳让我想到了&#xff0c;远赴人间惊鸿宴会&#xff0c;一睹人间盛世颜&#xff0c;描绘的就是这两个古都吧&#xff0c;有机会一定要去游览一番 今日份励志文案: 最好的状态就是向自己喜欢的东西一点点靠近 …