毕业设计基于Java的药品管理库房系统论文修改

目录

摘 要 3
Abstract 4
第一章 绪论 5
1.1 研究背景 5
1.2 国内外研究现状 5
1.3 课题研究意义 6
1.3.1 研究内容 7
第二章 课题相关技术介绍 8
2.1 Spring Boot框架简介 8
2.2 JSP技术简介 8
2.3 Tomcat应用服务器简介 8
2.4 MySQL 数据库简介 8
2.5 MyEclipse 开发平台简介 9
第三章 系统需求分析 10
3.1 业务流程需求分析 10
3.2 数据流程分析 11
3.4非功能性需求分析 13
3.4.1 系统可行性分析 13
3.4.2 系统易用性分析 13
3.4.3 系统可靠性分析 13
第四章 系统设计 14
4.1 系统开发环境及目标 14
4.2 系统模块总体设计 14
4.3系统详细设计 16
4.3.1 个人信息管理模块流程图 16
4.3.2 用户管理模块流程图 17
4.3.3药品信息录入模块流程图 18
4.3.4药品统计模块流程图 18
第五章 数据库设计 20
5.1 数据库分析 20
5.1.1 数据库设计的重要性 20
5.1.2 数据库设计原则 20
5.2 数据库逻辑设计 20
5.3 数据库物理设计 21
5.4 数据库的连接原理 23
第六章 系统功能实现 25
6.1 用户登录 25
6.2 系统首页设计 27
6.3 药品信息管理 28
6.4 药品入库管理 29
6.5系统测试 31
第七章 总结 32
致 谢 33
参考文献 34

摘 要

随着我国医药卫生体制的不断改革和互联网技术的快速发展,为了更好的提高药品库房的管理效率,利用网络计算机技术进行药品的信息化管理已成为社会发展的必然趋势。如今传统的药品管理主要采用人工方式,存在效率低、不规范、药品信息更新延迟等诸多问题。为提高工作效率,加强规范化管理,该文设计实现了一个基于Java EE 的医院药品管理系统。该系统以 Eclipse 为主要开发平台,MySQL为后台数据库,采用B/S模式和JSP技术实现系统图形化界面,具有采购、销售、库存、信息分类管理、供应商信息管理和用户管理等功能,具有一定的应用价值。

关键词 :药品管理系统;Java;MySql

Design and implementation of drug warehouse management system based on Java
Abstract
With the continuous reform of medical and health system and the rapid development of Internet technology, in order to improve the efficiency of drug warehouse management, it has become an inevitable trend of social development to use network computer technology to manage the information of drugs. Nowadays, traditional drug management mainly adopts manual method, which has many problems such as low efficiency, nonstandard, and delay of drug information update. In order to improve the efficiency and strengthen the standardized management, a hospital drug management system based on Java EE is designed and implemented. The system takes eclipse as the main development platform, MySql as the background database, and realizes the graphical interface of the system by using b/s mode and JSP technology. It has the functions of purchasing, selling, inventory, information classification management, supplier information management and user management, and has certain application value.
Keywords:Drug management system;Java; MySql

第一章 绪论

1.1 研究背景
医院信息系统(Hospital Information System),简称HIS,是当前医疗服务信息化的重要表现,也是医疗卫生事业的发展趋势。HIS利用先进的计算机技术、网络技术为医院的医疗事业、办公管理等提供高效的数据处理能力,提供数据的收集、存储、处理和交换,能够满足医院用户的功能需求。医院HIS提高其工作效率、医疗服务水平、提升医院的形象,它是信息技术与医疗业务的融合产物,加速医院医疗服务信息化的进程。最初的HIS是以财务系统为主的管理信息系统(Management. Information System),基于HIS平台的子系统也能够剔除重复性劳动,提升工作效率和质量。HIS系统建设较早,其关于药品库存、采购等管理采用C/S架构,功能不够完善,存在管理漏洞的现象,而且C/S架构具有其局限性,用户只能在局域网中使用,Internet用户无法使用,并且该系统尚未开发系统接口,与医院其他的系统无法进行信息共享。为了解决以上问题,提供一个基于Java的药品库房管理系统能够提高医院管理工作的质量和效率,降低医院工作效率,很有必要继续对库房管理系统进行优化换代。
1.2 国内外研究现状
(1)我国医院药品管理概况
在我国,医院是药品销售最主要的市场。医院销售的药品总额占全国药品销售总额的80%以上。在药品物流中,医院药品的管理成为非常重要的一个环节。我国现行的医院药品管理模式一般将药品管理分为三个阶段:药品采购、药品库存管理以及药品临床供应。其中,药品库存管理需要大面积的空间和众多的仓库管理人员,耗费了大量的人力物力,提高了仓储费用。在医院还没实行“医药分家”制度之前,药品生产和经营企业似乎是把它们的仓库搬到了医院,大量的药品存放在医院的仓库中,占用了医院大量的流动资金,增加了医院的营运成本,影响了医院的资金周转。综上所述,我们不难得出:药品采购管理和药品成本控制是影响医院营运成本高低的重要因素。
综上所述,医院药品管理中药品的库房管理是十分重要,医院的药品管理好坏直接关系到患者的切身利益和患者对医院的认可度,也影响着医院的发展。优化药品的库房管理模式,能够进一步促进医疗机构的发展。
(2)医院药品库房管理系统概况
从各类药品库房管理系统所采用的开发技术来看,主要包括以下几种:
基于ASP的药品库房管理系统
ASP技术是一项早期非常流行的软件开发技术,经常用于各类网站及信息系统的开发,应用范围非常广泛。在采用 asp 的技术对软件进行设计和开发时,通常会将 asp 的数据库方法与 access 进行相结合。采用 asp + access 的技术方案来实现药品仓储库房信息管理系统的研究和开发,主要因素在于以下几点:ASP语言具有结构简单、学习速度快、上手容易等优点,对于开发人员而言,能够在短时间内就掌握其使用方法,因而大大缩短了软件的开发周期。但是,系统在操作层次上诸如文档操作等则仍然是比较微弱的,还有一个问题是移植能力差,不可以支持多种跨平台。
基于.NET的药品库房管理系统
基于.NET的实验管理系统具有如下优势:首先,ASP. net 技术的功能强大,且同时还具有很多的优点,它将 asp 技术的设计入门简单、框架构造和搭建工作效率高以及 jsp 技术的稳定和安全性高等诸多优势融于一身,但是这些技术只能直接运行在 windows 平台;效率比较低于传统的本地化( c / c ++)编译器;其开放度远远低于和 java ,在超级大型规模的应用中也缺少有力的案例。
基于JAVA的药品库房管理系统
java 语言可以极好地展示面向对象的设计思路,让程序员们以一种简单的思路来完成繁琐的编程。除此之外, java 语言还同样具有其分布式、健壮性、安全性和软件的可移植性等诸多优点, java 语言还能够直接实现各种桌面应用程序、 web 应用程序、分布式操作系统、嵌入式应用程序等,其中功能强大,得到了广泛的应用。由于库房管理系统涉及到出库管理、入库管理等功能,涉及到库存计算等功能,所以对于程序的执行效率要求较高,正因为如此,基于JAVA的药品库房管理系统在一定程度上是实现药品库房管理的最佳技术方案。

1.3 课题研究意义
随着中国经济的快速发展,企业发展的重要一点就是给各行各业带来极大的方便。目前,很多药品库房的管理仍然处于手工管理阶段,随着互联网技术的发展,借助计算机手段能够进一步提升药房药品管理的效率,提高药房的市场竞争力,为了促进药房的管理,药品库房管理系统应运而生。
本文运用信息系统,设计一个适用于药品库存管理系统,可以帮助工作人员从繁杂的记录核对药品工作中解脱出来,提高药房的管理效率,及时关注药品的过期时间,及时清理和处理,保证药期药效,并能够将药品库存管理的流程简化。中小型药房药品数量不大,在本地建立数据库即可满足管理需要。
1.3.1 研究内容
药品库房管理系统针对医院药库特征、特点以及作用、基本业务进行了全面的了解、分析、归纳和总结,将药品库房管理工作流程和计算机技术相结合,设计一个信息系统。系统分析和设计中本课题主要研究内容如下:
(1)药品监控功能:设置库房各种药品的最低库存界线,输入药品的临界数量,当库房药品的数量达到临界数量时,系统发出提示,方便制定用户计划。
(2)药品管理管理功能:
对于新入库药品的信息进行录入,包括药品的性质、名称、规格、生产厂家、入库量、单价、有效期、编号等所有药品的信息。对于已有药品,只须增加其数量。
(3)库存管理功能:
若库房药品出现过期、损坏等情况,制定报损单,报上级领导审批后,系统自动修改相应药品的数量。可对药品的信息进行修改。
(4)出库管理功能:
库房药品出库面向门诊药房和病房,当门诊药房或病房人员领药后,经确认,系统自动修改库房药品的数量。
(5)查询功能:
按照时间范围、药品类别、性质等方式对药品入库、库存、出库、报损等情况进行查询。
(6)统计功能:
按照时间范围、药品类别、性质等方式对药品的入库、出库和报损等情况进行统计。
系统主要采用的是JAVA、HTML、JS等作为开发语言,采用Mysql5.7数据库,在win7环境下进行开发设计。最终达到用户操作简单方便、界面设计合理的效果。

第二章 课题相关技术介绍

2.1 Spring Boot框架简介
Spring Boot框架是Spring框架延伸的一种全新框架, 其基于“约定优先配置”的原则, 大大简化了配置,Spring Boot内置的Tomcat容器使单一的jar包部署和管理变得十分简单, 该框架还可对应用程序进行监控, 即支持关系型数据库也可支持非关系型数据库[10]。和以往的框架相比,Spring Boot使用简单,功能丰富,性能稳定,并且能够自动配置。
2.2 JSP技术简介
JSP 即 Java 服务器页面是企业级 Java 工具集中加入的一个新元素,是建立在Java Servlet之上,可以使开发人员高效率的创建 Web 内容,已经成为 Web 开发技术的主流技术之一。 JSP 本质上就是在 HTML 中嵌入 Java 代码,是一种可以被看成使用全部的 Java类的脚本语言,所以本质上 JSP 程序就是 Java 程序,因此 JSP 有着严格的语法和丰富的类库支持, 继承了 Java 的一切优点。
2.3 Tomcat应用服务器简介
免费开源的 Serlvet容器—— Tomcat 是目前业界采用量最大的应用服务器之一。Tomcat 是 Java Servlet 和 Java Server Pages 技术的标准实现,是基于 Apache 许可证下开发的自由软件, 是 Sun 公司官方推荐的 Servelt和 JSP 容器。Tomcat 是使用 Java开发的,所以它可以运行在任何一个装有 JVM 的不同操作系统之上。与传统的桌面应用程序不同, Tomcat 中的应用程序是一个 WAR(WebArchive)文件。WAR 是 Sun 提出的一种 Web 应用程序格式也是类似于许多文件的压缩包的 JAR文件。
2.4 MySQL 数据库简介
MySQL是世界上目前使用的最为广泛的数据库系统之一[8],它是一款面向公众的、免费的、开源的数据库[9],特点有成本低、高效性、便捷性,所以MySQL数据库是最经常使用的一个数据库。
2.5 MyEclipse 开发平台简介
MyEclipse 企业级工作平台是本系统开发设计中采用的开发软件平台,是一款功能强大且十分优秀的 Java 工作平台,对开源软件具有很高的支持。本系统的数据库开发以及应用服务器的整合搭建由于采用 MyEclipse 企业级工作平台,在代码编写与调试,以及后期测试预发布方面极大地提高了工作效率。

第三章系统需求分析

需求分析阶段主要是为了将系统设计的整个过程进行详细的需求描述与分析,需求分析主要对系统进行功能性需求分析、非功能性需求分析、业务流程分析等,需求分析主要是使得系统的后续设计过程少出问题。
3.1 业务流程需求分析
药品管理系统主要是对药品进行管理。因此,这里主要介绍一下药品管理的业务流程。药品平时要存放在库房,当药房需要药品之时需要从库房调用。库房主要是对药品进行采购管理、库房管理。药品的业务管理流程如图3.1所示:
在这里插入图片描述

图3.1
药品管理最主要的几个功能就是药品出入库、药品、库存更新、药品调拨等。每次对药品进行出入库操作或者盘点操作之时都需要对药品信息进行严格的核查,药品信息包括:药品种类、药品名称、药品价格、药品出入库时间以及药品的有效时间等。
由此可得出药品的库房管理模式,如图3.2所示:
在这里插入图片描述

图3.2

3.2 数据流程分析
采用数据流程图来描述数据流程即简单又明确,具有抽象性和概括性等优点。仅适用几种简单的符号就可以综合明确的反映系统的整个过程。包括数据在系统中的传输、处理和存储等各个步骤。如图 3.3 所示,给出了药品管理的流程图。
在这里插入图片描述

图3.3
参与药品管理的人员包括:采购人员、药品管理员、药品供应商、顾客。药品在各个环节的流动都很清晰下面从顶层数据流图与底层数据流图分析一下药品的管理。
顶层数据流图如图 3.4所示:
在这里插入图片描述

图3.4
相比较顶层数据流图而言,药品底层数据流图比较复杂,如图 3.5所示:
在这里插入图片描述

图3.5
3.4非功能性需求分析
3.4.1 系统可行性分析
任何一款软件研发出来,并不是凭空捏造,它应具有社会效益以及可行性。针对医药管理系统来说,它应具有以下可行性:
经济方面: 从经济的角度进行评估, 该系统的创建和日后的维护, 不会耗费大量的资金。不仅如此,该系统设计理念就是节省人力,完善管理水平,提高管理质量,屏蔽管理漏洞,因而此系统所带来的社会经济效益将远远大于开发中的投入。
技术方面:从技术的角度进行评估,该系统依托于 java 技术。该语言通熟易懂,技术上可实现跨平台。
实施方面:从实施的角度进行评估, 该系统对硬件配置要求不高, 部署又相对简单,操作起来难度不大, 普通操作人员很容易应用此系统, 不必接受过多的专业知识的培训。
3.4.2 系统易用性分析
医疗不良上报系统流程操作简单易用,可用性高,性能卓越。用户在进行功能操作时,只需要通过点击相关按钮即可,没有特别复杂的操作。系统操作量合适,操作非常方便和界面友好,故系统的易用性高。
3.4.3 系统可靠性分析
本系统的运行只要保证环境变量的部署正确,以及电脑在运行过程中无超负荷运行,不卡顿即可。一定条件下,本系统的恢复能力高,只需要按正常程序维护即可。

第四章 系统设计

4.1 系统开发环境及目标
(1) 系统开发环境
不同的开发环境, 将在一定程度上影响到系统的正常运行。 所以有必要给出该系统的开发环境,避免出现不必要的麻烦。运行环境选择如下:
开发环境: Window7 操作系统
开发工具: MyEclipse9.0 开发软件
Web服务器: apache-tomcat-6.0.36容器
(2) 系统目标
针对当前医院管理的要求, 以及从用户体验的角度出发, 该系统的制定应具备以下目标:
① 系统安全系数高,运行相对稳定。
② 界面简单但不失美观,操作方便快捷。
③ 完成药品基础信息和用户账号的管理。
④ 能及时的预知药品的销售状况及库存信息。
4.2 系统模块总体设计
根据医院不同用户的实际需求情况,将整个系统分为两部分。第一部分为系统的超级管理员,具有管理系统的最高权限,包括用户管理、采购管理、销售管理、仓库管理、药品基本信息管理、供应商管理和统计等功能模块。第二部分分为药房管理员和药库管理员,分别具有药品管理和查询的功能权限。每部分模块的主要功能如下:
(1)用户管理模块:提供超级管理员、库房管理员两种账户权限。在登录时提供正确的用户名和密码后,不同身份的用户进入不同的用户界面。超级管理员拥有系统所有权限。库房管理员仅能对药品管理和基础管理进行编辑。
(2)药品管理:药库管理员可以查询、修改、删除、添加药品入库单,便于药品入库信息的统计和维护。
(3)销售情况:对药品信息、销售、消费者信息及药物反馈信息的管理。
(4)药品库存管理:药房管理员仅具有药品库存信息查询权限,药库管理员可以对药品库存信息进行查询、添加、删减等功能。
(5)药库退货管理:管理员根据药品的不良反馈信息进行退货及退货记录查询。
(6)供应商管理:管理员根据采购及退货药品选择合适的供应商,进行相应的添加、查询、编辑、删除供应商信息的功能。
(7)统计:对近30日、今年每月、近5年的药品销售进行统计。
系统功能结构如图4.1所示。
在这里插入图片描述

图4.1系统功能结构图
4.3系统详细设计
4.3.1 个人信息管理模块流程图
个人信息管理模块流程图:用户系统之后,再进入个人信息管理界面,可以对自己的基本信息进行修改,修改成功则会保存到数据库对应的表中,修改失败则返回到个人信息修改界面。流程图如图4.2所示:
在这里插入图片描述

图4.2

4.3.2 用户管理模块流程图
用户管理模块流程图:管理员登录系统之后,进入用户管理界面,可以对用户的信息进行修改、删除用户以及增加新的用户,所有增删改查操作成功之后会保存到数据库对应的表中。用户管理模块流程图如图4.3所示;
在这里插入图片描述

图4.3
4.3.3药品信息录入模块流程图
药品信息录入模块流程图:输入药品类别相关正确信息后点击录入按钮,如果是没有输入完整的信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。药品信息录入如图4.4所示:
在这里插入图片描述

图4.4
4.3.4药品统计模块流程图
进入到药品管理菜单之后,点击统计科查看药品的销售情况统计图,药品销售情况统计流程图如图4.5所示:
在这里插入图片描述

图4.5

第五章 数据库设计

5.1 数据库分析
5.1.1 数据库设计的重要性
在计算机软件系统开发中,系统开发的核心部分是数据库设计,极其重要。数据库的重要性有减少不必要的维修和资源浪费、提高计算机软件运行速度、避免不必要的故障出现[13]。
5.1.2 数据库设计原则
数据库设计的原则有在设计之前做好充分的准备工作、与软件系统的开发计划要保持一致、考虑整个软件系统的功能使用效率[14]。仅有做到符合数据库的每一个原则,才能更好的让开发设计工作顺利的开展。
5.2 数据库逻辑设计
由E-R图可知药品管理管理系统主要涉及到的实体属性。
系统主要的实体属性如下:
药品信息表(药品编号、药品名称、规格、保质期、单价、当前库存、库存阈值、供应商、操作)。其中药品编号是主键,非空且唯一。其余信息可以为空,并在数据表建立的时候给他们相应的规定好数据类型。
药品入库表:(表单号、药品编号、批号、入库日期、有效日期、进价、售价、数量及验收人)。其中入库单号是主键,非空且唯一。
药品出库表:(表单号、药品编号、批号、数量、出库日期及验收人)。其中出库单号是主键,非空且唯一。
药品库存表:(表单号、药品编号、批号、名称、数量、入库时间、有效时间、进价、售价)。
角色管理:(角色id、角色名、角色名、备注、创建的用户、创建时间、修改时间)
系统实体E-R图如图5.1所示:
在这里插入图片描述

图5.1系统实体E-R

5.3 数据库物理设计
根据系统中不同权限的管理员功能模块分析,在Mysql数据库设计了以下几种主要的实体对象的表结构:
(1)角色管理表结构,如表5.1所示:
字段名称 字段类型 长度 表示
role_id bigint 20 角色id
role_name varchar 100 角色名
role_sign varchar 100 c
remark varchar 100 备注
user_id_creste bigint 20 创建的用户
gmt_create datetime – 创建时间
gmt_modifile datetime – 修改时间
表5.1
(2)销售明细对象所对应的表结构,如表5.2所示:
字段名称 字段类型 长度 表示
id int 11 单据编号
sell_name varchar 100 销售名称
sell_price double – 销售价格
sell_count int 11 销售数量
sell_time text – 描述
mde_id double – 药品名称
user_id int 11 顾客编号
表5.2
(3) 药品类别管理对象所对应的表结构,如表5.3所示:
字段名称 字段类型 长度 表示
id int 11 药品编号
name varchar 100 药品名称
quantity double 100 规格
invalid_date data – 保质期(月)
price double – 单价
quality_guarantee_period int 11 当前库存
lower_limit text – 库存阈值
supplier_id double – 供应商
specification int 11 操作
表5.3
(4)系统库存记录表的表结构,如表5.4所示:
字段名称 字段类型 长度 表示
id Varchar 128 主键
supplier_id varchar 20 供应商id
drug_id varchar 20 药品id
name varchar 30 药品名称
type varchar 2 1:入库2:出库销售3:出库退回
quality int 11 进货/退回/销售数量
ammount decimal 10 金额
comment varchar 100 描述
consumer_id int 11 顾客id
manager varchar 20 操作员
表5.4
5.4 数据库的连接原理
采用JDBC连接数据库的方式,只需在工程中导入对应数据库的jar包,就可以方便的对数据库进行连接,在程序中,用Class.forName()方法来加载驱动程序,在用DriverManager的getConnection()方法就可以创建一个数据库连接。程序采用的是DAO模式来操作数据库,DAO(Data Access Object,数据访问对象),是Java编程中的一种经典模式,已被广泛应用,也是J2EE架构中持久层框架的基础知识,基于分层次式的软件架构来实现对数据库的访问操作。DAO模式的主要思想就是从抽象数据源获取与操纵数据的方法。抽象数据的含义就是编写应用程序的程序员不必关心数据库的物理位置,已经是何种数据库,只需使用封装数据库中表示记录的数据对象即可。其思想如图5.5所示:
在这里插入图片描述

图5.5 DAO模式类图
图中BussinessObject是业务对象,是使用DAO模式的药品端;DataTransferObject数据传输对象,在应用程序不同层次之间传输对象,在一个分布式应用程序中,通常可以提高整理的性能;DataObjectAcces数据输入/输出对象封装了对数据源的一些基本操作;DataSource指的是数据源。可以从图中看出,DAO模式分离了业务逻辑和数据罗即将,是的编写的软件具有良好的层次式体系结构。本系统为了方便数据库的操作,主要使用DBContent的对象来接一个数据库(建立一个类DBContent),代码如下:
public DBContent(){
String CLASSFORNAME=" com.microsoft.sqlserver.jdbc.SQLServerDriver “;//连接数据库的驱动
String url=” jdbc:sqlserver://localhost:1433;databaseName=db_yyj ";
String user=“sa”;//连接数据库的用户名
String password=“sa”;//连接数据库的密码
try{
Class.forName(CLASSFORNAME);
con= DriverManager.getConnection(url,user,password);//加载数据库的驱动
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}
catch(Exception ex){
ex.printStackTrace();
}
}
在程序需要连接数据库的地方,只需要生成一个DBConnet的对象,就可以对数据库进行连接并操作。

第六章 系统功能实现

6.1 用户登录
1.描述:为了保证系统的安全性,要先使用本系统必须先登陆到系统中,并且不同角色的用户进入不同的界面,功能也随之不同。用户登录界面入图6.1所示:
在这里插入图片描述
图6.1
在登陆页面输入用户名和密码以,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码,验证码进行判断,并根据相应的用户角色进入对应的页面,loginservice关键代码:
public String login(String userName,String userPw,int userType)
{
try
{
Thread.sleep(700);
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

	String result="no";
	
	if(userType==0)
	{
		String sql="from TAdmin where userName=? and userPw=?";
		Object[] con={userName,userPw};
		List adminList=adminDAO.getHibernateTemplate().find(sql,con);
		if(adminList.size()==0)
		{
			 result="no";
		}
		else
		{
			 WebContext ctx = WebContextFactory.get(); 
			 HttpSession session=ctx.getSession(); 
			 TAdmin admin=(TAdmin)adminList.get(0);
			 session.setAttribute("userType", 0);
             session.setAttribute("admin", admin);
             result="yes";
		}
	}
	if(userType==2)
	{
			rs.close();
	} 
		catch (SQLException e)
		{
			System.out.println("登录失败!");
			e.printStackTrace();
		}
		finally
		{
			mydb.closed();
		}
	}
	return result;
}

6.2 系统首页设计
超级管理员成功登录系统后,分为药品管理和基础管理和系统管理三大功能模块。药品管理包括药品种类、统计、销售情况、供应商和出库/入库、顾客管理。基础管理包括用数据字典和文件管理。系统管理则包括用户管理、角色管理、系统菜单、部门管理。如图系统主界面 6.2 所示:
在这里插入图片描述

图 6.2
在每个jsp页面将会对相关用户进行拦截操作,这样可以提高安全性,防止用户不经过登陆页面而进入任何子菜单页面:
if(session.getAttribute(“user”)==null)
{
out.print(“”);
}

6.3 药品信息管理
描述:管理员点击左侧的菜单“药品管理”,下拉打开二级菜单后点击打开药品种类界面,随后可进行药品的添加和删除,调用后台的action类查询所有的药品管理所有信息。界面效果如图6.3所示:
在这里插入图片描述

图6.3
药品信息管理关键代码:
public String goodsAdd()
{
TGoods goods=new TGoods();
goods.setCatelog_id(catelog_id);
goods.setName(name);
goods.setChandi(chandi);
goods.setDanwei(danwei);
goods.setGuige(guige);
goods.setBeizhu(beizhu);
goods.setDel(“no”);

	goodsDAO.save(goods);
	this.setMessage("操作成功");
	this.setPath("goodsMana.action");
	return "succeed";
}



public String goodsMana()
{
	String sql = "from TGoods where del='no' order by catelog_id";
	List goodsList=goodsDAO.getHibernateTemplate().find(sql);
	Map request=(Map)ServletActionContext.getContext().get("request");
	request.put("goodsList", goodsList);
	return ActionSupport.SUCCESS;
}

public String goodsDel()
{
	String sql = "update TGoods set del='yes' where id=?";
	Object[] o={id};
	goodsDAO.getHibernateTemplate().bulkUpdate(sql, o);
	this.setMessage("删除成功");
	this.setPath("goodsMana.action");

6.4 药品入库管理
描述:管理员点击左侧的菜单“药品管理”,随后点开“入库”,调用后台的入库Action类查询出所有的入库信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出入库信息。可以点击入库明细连接。查看入库明细信息,也可以添加新的入库明细。程序效果图如图6.4所示:
在这里插入图片描述

图6.4
药品入库管理关键代码:
public String rukuAdd()
{
TRuku ruku=new TRuku();

	ruku.setDanjuhao(danjuhao);
	ruku.setShijian(shijian);
	ruku.setZongjiage(zongjiage);
	ruku.setJingshouren(jingshouren);
	ruku.setBeizhu(beizhu);
	ruku.setDel("no");
	
	rukuDAO.save(ruku);
	this.setMessage("操作成功");
	this.setPath("rukuMana.action");
	return "succeed";
}


public String rukuMana()
{
	String sql = "from TRuku where del='no'";
	List rukuList=rukuDAO.getHibernateTemplate().find(sql);
	Map request=(Map)ServletActionContext.getContext().get("request");
	request.put("rukuList", rukuList);
	return ActionSupport.SUCCESS;
}

public String rukuDel()
{
	String sql = "update TRuku set del='yes' where id=?";
	Object[] o={id};
	rukuDAO.getHibernateTemplate().bulkUpdate(sql, o);
	this.setMessage("删除成功");
	this.setPath("rukuMana.action");
	return "succeed";

6.5系统测试
测试环境:Windows7\Windows10等操作系统,javaEE的调试环境,Mysql数据库。配置好电脑的环境变量之后,使用JavaEE连接MySql数据库,并设置好端口连接到本机端口服务,这里用的是http://localhost:8086服务地址,用eclipse运行服务端的代码,在系统包里面src目录下,找到main/java/me/zbl/util/HospitalApplication.java,找到文件之后只需运行HospitalApplication.java文件,就可以打开http://localhost:8086界面,登录进入到药品管理系统界面。进入系统后逐一对系统的药品管理等功能进行测试,发现跳转出错、获取不到数据等问题再进行断点跟踪测试,修改代码,解决问题,完善系统。

第七章总结

针对本次医药管理系统的设计,不仅完成了开题报告所规定的相关功能,而且对于个人而言,也是一个学习和培养动手能力的过程。例如 Java SE技术、Java EE技术和数据库操作;以及学会了在网上查找相关的系统调试教程。从整体来看,该系统主要完成的是医药销售统计和库存信息,界面设计相对简单,便于操作。设计过程中,之所以采用 Struts框架,是因为它可以简化代码量,降低耦合度;之所以运用 Hibernate框架,是因为它可以直接对 java 中的实体类进行操作,避免了因 sql 语句的误操作而带来的代码错误。由于没有软件开发经验,当然在设计过程中会遇到各种各样意想不到的问题。例如:创建数据库时,书写 sql 语句的时候往往会犯错,常常把一些约束条件定义错误,插入数据时没有注意到数据库的编码格式和数据表的结构。在页面显示的过程中,页面出现字符集乱码现象,经过细心的查找得以解决。 Tomcat服务器配置时,出现数据库驱动连接问题,将数据库驱动包导入 tomcat 文件下的 lib 文件下得以解决。
在九月份时,通过不断的查阅知网文献,结合见习期间对医院系统的认识,和本组同学,导师讨论后,完成了毕设的开题报告。实习期间接触了诸多不同的医疗信息系统,并且学习系统业务流程,对本系统的开发提供了诸多帮助本次毕业设计对我的帮助很大,进一步加深了对在校所学课程的理解,从中还学习到了许多企业开发中的专业性知识。

致 谢

经过几个月的忙碌和工作,本次毕业设计也差不多完成了,由于没有开发经验,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一私下同学的帮助,想要完成这个设计是难以想象的。真诚地感谢我的指导老师,本系统是在老师的悉心指导下完成的,他给予了我很多关键性的帮助,在系统设计过程中,是老师给我指引了正确的方向。老师平日里工作繁多,但在我做毕业设计的每个阶段,从外出实习到回校,开题报告的草案的确定和修改,中期检查,后期详细设计整个过程中都给予了我悉心的指导。我碰巧偶然遇到了许多自己只是依靠网上看书或者通过查阅相关资料而逐渐发现自己无法及时解决的一些操作系统技术上的困难和常见问题,老师都及时对我给予了专业指导。然后我们再次还是非常感谢我在四年级以来的各位指导老师,为我们今后奠定了学习计算机专业相关所学专业知识的坚实基础;同时也再次感谢曾经给我帮助和关心支持过的各位老师同学们,正是因为这里有了你们的亲切帮助和耐心性的指导,此次毕业设计才会顺利完成。最后感谢我的母校四年来对我的栽培。

参考文献

[1]汪风芹,高培民,胡丽敏.自动化药房管理系统在医院药房的应用[J].药学研究,2019(2):112-113.
[2]高颖,柏建普.化检验中心库存管理系统的设计与实现[J]. 祖国, 2018(18):120-120.
[3]昌凯曦.中小型超市库存智能管理系统分析与设计[J]. 科学与信息化, 2017(20):170-171.
[4]李莉.杉数科技:以技术手段实现云端智能库存管理[J]. 创业邦, 2019(12):28-30.
[5]孟乐,武文斌,李聪, et al. 基于RFID技术的磨粉机磨辊产品库存管理系统的研究[J].粮食加工,2019(2).
[6]王子琳.基于JSP的药房管理系统的设计与实现[D]. 中国海洋大学,2018.
[7]基于C/S模式的药房管理系统的设计与实现[D]. 厦门大学,2017.
[8]周苏娟,谭定英.基于Web Service的连锁药店管理系统的研究与设计[J].电脑知识与技术,2015(21):1-2.
[9]谢毓莹.医院药品库存管理系统设计与实现[D]. 2016.
[10]梁婉宁,赵育鹏,廖志斌.计算门诊药房二级库药品库存上下限的方法分析[J].中国医学创新(10).
[11]曹文婷.药品库存管理软件系统的设计与实现[D]. 中国海洋大学, 2018.
[12]应晓华,赵亮.基于分布式应用技术的药房管理系统[J].中国医院管理,2018,23(4):49-49.
[13]李卫平,刘嘉,张蓉.网络一体化系统在我院药房管理中的应用[J].中国药房,2017(41):3903-3905.
[14]迟凯.基于CPFR的医院药品库存管理系统设计与实现[D]. 2019.
[15]张建英, 赵鹏.基于分布式数据库与C/S的连锁药店管理系统设计与实现[J].计算机技术与发展,2002,12.
[16]Drug designers learn their ABC[J] . Dan Ferber. Drug Discovery Today . 2018 (21).
[17]ABC-transporters: implications on drug resistance from microorganisms to human cancers[J] . Hermann Lage.International Journal of Antimicrobial Agents . 2019 (3).
[18]数字化医院建设的思路与实践[M]. 人民卫生出版社 , 李刚荣, 2016.
[19]Oracle数据库应用管理解决方案[M]. 电子工业出版社 , 刘志敏编著, 2020.
[20]PowerBuilder 8参考手册[M]. 北京希望电子出版社 , 张长富,李匀编著, 2020.

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值