基于JSP的药房药品管理系统.doc_第1页
基于JSP的药房药品管理系统.doc_第2页
基于JSP的药房药品管理系统.doc_第3页
基于JSP的药房药品管理系统.doc_第4页
基于JSP的药房药品管理系统.doc_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

药房药品管理系统的设计与实现药房药品管理系统的设计与实现 摘要摘要 目前随着计算机技术的发展和普及 各行各业的管理机构开始使用计算 机处理大量信息 在我国药品品种繁多 规模甚大 以往的手工记载 查询操 作容易出错且工作效率低 已经不能适应时代发展的要求 从管理的角度来看 对管理者会造成诸多的不便 还有可能疏忽一些细节 所以 市场迫切需要一 款简单实用的药品管理系统 为了解决目前药房药品管理中普遍存在的效率偏 低 管理欠科学等的问题 通过需求分析 可行性分析 利用计算机技术 网 络技术 通信技术设计了一套基于 WEB 的药房药品管理系统 该系统包括用 户管理 采购管理 库存管理 系统维护等功能 该套系统的投入使用可以提 高药房药品管理工作的效率 实现了药品的信息化 科学化的管理 并且操作 简单 易于人机交互 应用前景广泛 关键词关键词 药品管理 信息化 WEB Design and Implementation of Pharmacy Medicines Management System Abstract Now with the development of computer technology and popularization people from all walks of life management agencies began to use a computer to process a large number of information In our country s drug variety the scale is very great in the past the manual records inquires the easy operation error and work efficiency is low can not be adapt to the requirement of The Times development already from management point of view the managers can cause many inconvenience and may neglect some details In order to solve the present pharmacy medicines management in the prevalence of low efficiency management owe science problem through the demand analysis feasibility analysis the use of computer technology network technology communication technology based on WEB design a set of pharmacy medicines management system this system includes user management procurement management inventory management system maintenance function This set of system put into use can improve pharmacy medicines management work efficiency and achieve a medicines information scientific management and the operation is simple easy to human computer interaction the application prospect of widely Keywords Medicines Management Informatization WEB 目 录 1 1前言前言 1 1 2 2系统需求分析系统需求分析 2 2 2 12 1药房药品管理的现状分析药房药品管理的现状分析 2 2 2 22 2药房药品管理系统建立的目的和意义药房药品管理系统建立的目的和意义 2 2 2 32 3系统需系统需求求研究研究 2 2 2 42 4经济可行性研究经济可行性研究 3 3 2 52 5技术可行性技术可行性研研究究 4 4 2 5 1 数据库 MySQL Server 5 5 4 2 5 2 设计前台语言 html 和 struts2 标签 5 2 5 3 开发平台 JSP 6 2 5 4 系统架构 B S 模式和三层系统架构 7 2 52 5操作可行性研究操作可行性研究 9 9 3 3系统概要系统概要设设计计 1010 3 13 1设计思想设计思想 1010 3 23 2设计原则设计原则 1010 3 33 3系统功系统功能能 1111 3 3 1 系统用户前端模块的主要功能 12 3 3 2 系统后台模块的主要功能 13 3 43 4数据库设计数据库设计 1313 3 4 1 数据库的概要设计 13 3 4 2 药房药品管理系统总体 E R 图 14 3 4 3 数据库的详细设计 14 3 4 4 数据库配置 19 4 4系统详细设计系统详细设计 2424 4 14 1设计思想及流程图设计思想及流程图 2424 4 1 1 添加新用户流程图 24 4 1 2 系统登陆流程图 25 4 1 3 添加新药流程图 25 4 1 4 药品入库流程图 26 4 1 5 处方录入流程图 27 4 1 6 药师配药流程图 27 4 1 7 审核员发药流程图 27 5 5系统的实现系统的实现 2828 5 15 1药房药品管理系统前端实现药房药品管理系统前端实现 2828 5 1 1 采购员模块 28 5 1 2 药库管理员模块 29 5 1 3 医生模块 30 5 1 4 药师模块 31 5 1 5 审核员模块 32 5 1 6 找回密码模块 34 5 25 2系统管理员后台实现系统管理员后台实现 3636 5 2 1 用户管理模块 36 5 2 2 药品管理模块 37 5 2 3 公告管理模块 38 5 2 4 查看日志模块 39 5 2 5 系统管理模块 40 6 6系统测试系统测试 4545 6 16 1系统前端模块测试系统前端模块测试 4545 6 26 2系统后台模块测试系统后台模块测试 4646 7 7总结与展望总结与展望 4747 参考文献参考文献 4848 致致 谢谢 4949 1 1 1前言前言 药品是医院流动资产的重要组成部分 约占医院流动资金的 40 60 是 一种特殊的商品 流动性强 储备成本较高 药品在医院的发展中占有重要的 位置 因此 提高对药品的认识 加强对药品的管理非常关键 随着科学技术的突飞猛进 计算机管理已经涉及到各行各业 作为联系着 千家万户的医疗行业要提高管理水平和工作效率 就必须实行计算机管理 实 际上 有许多大的医院 或药店 从门诊收费 医生开药到药品收费已经在使用 计算机局域网管理 实现了网络传递信息 资源的共享 本系统是医院信息系统的重要组成部分 通过本系统可以很容易地查询到 各种药品的库存数量 方便管理者做药品采购计划 并且医生在开处方时如果 所开的药品的库存数量不足也会给予提示 本系统以网页的方式来表现程序功 能 以实现对后台数据库的操作 其中最重要的是依托 JSP 页面 MySQL 数据 库和 Tomcat 服务器 采用 MVC Model View Controller 设计模式 使用 JSP struts2 的技术 即客户端不产生数据库查询命令 客户端上的浏览器通过 URL 和中间层的 Web 服务器建立连接 后台服务器再执行代码和数据库进行 连接 这样 不仅将客户端与数据库服务器端分开 同时提高了数据库的访问 效率 通过药房药品管理系统 可以对药品实现数字化管理 Digital Management DM 也就是指利用计算机 通信 网络 实现计划 组织 协调 服务等职能 管理层可以依据事实说话 依据资料决策 这样不仅提高了工作 效率 帮助中 高层领导提供决策所需要的数据 信息 资料 还帮助决策者 明确决策目标和对问题的认识 提高决策者的决策质量 决策水平和决策效益 以达到最大的社会效益 这是建设药房药品管理系统的意义所在 2 2 2系统需求分析系统需求分析 2 1 药房药品管理的药房药品管理的现状分析现状分析 随着我国市场经济的蓬勃发展和人们对医药产品需求的迅速增加以及我国 卫生事业的发展 医药行业正处于一个高速发展的时期 各类新药层出不穷 行业的快速发展必然导致竞争的加剧 要想在激烈的市场竞争中谋求发展 客 观上要求企业必须加强内部管理 提高运营效率 但比较之下我国的医药管理 系统却还不够完善 而随着信息技术和计算机技术的迅速发展 改变了整个信 息管理的面貌 从根本上加强并促进了群体工作成员之间的信息交流 资源共 享 科学计算 技术合作及有效管理等 进而推动了生产 管理的发展 尤其 是医院信息系统的应用 大大改变了医院管理模式和工作流程 对提高医院的 管理水平 质量效益 经济效益和社会效益起到了巨大的促进作用 目前国内 外已经有许多医院建立了较为完善的药品管理系统 另外 由于医药产品种类繁多 销售模式特殊 业务最大 单凭手工记帐 已很难适应工作的需要 医药作为一个关系到人们健康的特殊行业 国家对此 又有一些不同于其他行业的管理政策 这些都加大了管理的难度 2 2 药房药品管理系统建立的目的和意义药房药品管理系统建立的目的和意义 如何尽快建立和完善现代企业的信息化管理机制问题 已成为医药企业发 展的关键所在 开发一个合适的药房管理系统 将计算机信息网络技术应用到 药品管理中 也是医院实现系统化 规范化 科学化管理的必然趋势 而方便 安全 快捷的医药管理软件系统正是在这样的背景下发展起来的 这种管理软件对硬件的要求很低 一般有一个比较简单的服务器与 PC 机组 成的网络即可 再加上使用比较廉价 性能不错的软件 这样就可以以较低的 成本来实现一个足够使用的功能 而这种模式也正满足了那种中小型医院的要 求 所以为这种有需要的中小型医院开发一种基于网络的药品管理系统是非常 3 有实用价值的 因此本系统以网络为平台 根据实际需求设计实现了基于 WEB 的药品管理系统 实现了药品管理数据共享以及对药品信息的科学化管理 提 高药房工作人员的工作效率的同时也节省了医患双方的时间 2 3 系统系统需求研究需求研究 药品管理是医院日常管理事务中的重要内容 药品管理过程的准确性和高 效性至关重要 利用计算机高效 准确的特点能够很好的满足医院药品管理过 程的需求 在保证管理过程准确性的基础上 最大程度地提高管理效率 实现 对药品的科学化管理 节省医患双方的时间 该系统的主要任务是为药房院药品管理人员提供药品信息的记录 查询和 管理功能 方便药房管理人员进行管理药品 系统的主要功能包括 1 系统的管理 系统管理员可以管理用户 对数据库进行维护 可以管理 公告 查看日志 录入新药以及修改药品字典 2 药品的采购 采购员模块具有自动库存预警功能 当库存药品中存在库 存总量低于库存下限的药品时可以自动提醒采购员进行查看并采购 生成的采 购单会交给药库管理员进行审核 只有通过审核的药品才能入库 3 库存药品的管理 药库管理员可以对库存药品进行查看和管理 包括清 理过期或者损坏的药品以及查看药品的出入库情况 4 发药操作 医生开的所有处方单都会记录到数据库 药师根据医生开的 处方单进行配药操作 审核员也根据医生所开的处方单进行发药出库 这样既 可以避免纸张记帐的繁琐及误差 还可以保证药品入库和出库的准确性 5 药品回库 审核员可以对昨天已经配了药 但由于病人没有来取药或者 其它原因而还没有发药的药品进行药品回库操作 6 其它功能 系统的所有用户都可以查看药品字典 查看公告 查看个人 信息以及修改登陆密码 2 4 经济经济可行性研究可行性研究 由于这个是个人的毕业设计 是对药房药品管理的初步实现 所以所使用 到的硬件和软件的要求并不高 主要用到的开发工具是 MyEclipse Tomcat 服 4 务器 和 MySQL Server 5 5 数据库 所以在开发工具方面的投资并不需要太多 而且 实用性较强 系统投入运行后可以为工作人员提供便捷的药品管理平台 其所 带来的效益远远大于系统软件的开发成本 在经济上完全可行 本设计中使用 的药品字典的资料全部来自网络资源 而要真正地建立起药房药品管理系统 在药品的流通环节上还是跟实际情况有所出入 2 5 技术技术可行性研究可行性研究 2 5 1 数据库数据库 MySQL Server 5 5 MySQL 是一个关系型数据库管理系统 由瑞典 MySQL AB 公司开发 目前属 于 Oracle 公司 MySQL 是一种关联数据库管理系统 关联数据库将数据保存在 不同的表中 而不是将所有数据放在一个大仓库内 这样就增加了速度并提高 了灵活性 MySQL 的 SQL 语言是用于访问数据库的最常用标准化语言 MySQL 软 件采用了双授权政策 本词条 授权政策 它分为社区版和商业版 由于其 体积小 速度快 总体拥有成本低 尤其是开放源码这一特点 一般中小型网 站的开发都选择 MySQL 作为网站数据库 由于其社区版的性能卓越 搭配 PHP 和 Apache 可组成良好的开发环境 目前 Internet 上流行的网站构架方式是 LAMP Linu x Apache MySQL php perl Python 和 LNMP Linux Nginx MySQL perl Python 即使用 Linux 作为操作系统 Apache 和 Nginx 作为 Web 服务器 MySQL 作为数据库 PHP Perl Python 作为服务器端脚本解释器 由于这四个软件都是免费或开放 源码软件 FLOSS 因此使用这种方式不用花一分钱 除开人工成本 就可以 建立起一个稳定 免费的网站系统 以下是 MySQL server 的功能特点 1 使用 C 和 C 编写 并使用了多种编译器进行测试 保证源代码的可移 植性 2 支持 AIX FreeBSD HP UX Linux Mac OS NovellNetware OpenBSD OS 2 Wrap Solaris Windows 等多种操作系 5 统 3 为多种编程语言提供了 API 这些编程语言包括 C C Python Java Perl PHP Eiffel Ruby 和 Tcl 等 4 支持多线程 充分利用 CPU 资源 5 优化的 SQL 查询算法 有效地提高查询速度 6 既能够作为一个单独的应用程序应用在客户端服务器网络环境中 也能 够作为一个库而嵌入到其他的软件中 7 提供多语言支持 常见的编码如中文的 GB 2312 BIG5 日文的 Shift JIS 等都可以用作数据表名和数据列名 8 提供 TCP IP ODBC 和 JDBC 等多种数据库连接途径 9 提供用于管理 检查 优化数据库操作的管理工具 10 支持大型的数据库 可以处理拥有上千万条记录的大型数据库 11 支持多种存储引擎 MySQL server 5 5 的可伸缩性 可用性和可管理性等方面相比其它数据库 管理系统有了很大的改善和提高 能够满足各种类型的企业客户和独立的软件 供应商构建商业应用程序的需要 这为今后软件版本升级 维护等方面提供了 可靠的保证 2 5 2 设计前台语言设计前台语言 html 和和 struts2 标签标签 虽然本系统的页面全是 JSP 文件 但是由于采用的是 MVC 设计模式 所以 在客户端的页面上几乎找不到用 JSP 语法写的代码 而是采用 html 和 struts2 标签相结合的方式请求和显示数据库的数据 当然 其中还包括一些 javascript 语言 超文本标记语言 即 HTML Hypertext Markup Language 是用于描述网 页文档的一种标记语言 超级文本标记语言文档制作不是很复杂 但功能强大 支持不同数据格式的文件镶入 这也是万维网 WWW 盛行的原因之一 其主要 特点如下 1 简易性 超级文本标记语言版本升级采用超集方式 从而更加灵活方 便 6 2 可扩展性 超级文本标记语言的广泛应用带来了加强功能 增加标识符 等要求 超级文本标记语言采取子类元素的方式 为系统扩展带来保证 3 平台无关性 虽然个人计算机大行其道 但使用 MAC 等其他机器的大有 人在 超级文本标记语言可以使用在广泛的平台上 这也是万维网 WWW 盛行 的另一个原因 struts2 标签简介 要使用 Struts2 的标签 只需要在 JSP 页面添加如下一 行定义即可 本系统主要使用了 struts2 标签的逻辑控制标签 用于进行逻辑控制输出包 括 1 条件标签 用于执行基本的条件流转 拥有一个 test 属性 其表达式的值用来决定标签里内容是否显示 欢迎 hzd 同上 2 迭代标签 用于遍历集合 java util Collection 或者枚举值 java util Iterator 类型的对象 value 属性表示集合或枚举对象 status 属 性表示当前循环的对象 在循环体内部可以引用该对象的属性 姓名 年龄 2 5 3 开发平台开发平台 JSP JSP Java Server Pages 是由 Sun Microsystems 公司倡导 许多公司参 与一起建立的一种动态网页技术标准 JSP 技术有点类似 ASP 技术 它是在传 统的网页 HTML 文件 htm html 中插入 Java 程序段 Scriptlet 和 JSP 标记 tag 从而形成 JSP 文件 jsp 用 JSP 开发的 Web 应用是跨平台的 既能 在 Linux 下运行 也能在其他操作系统上运行 7 JSP 具有以下优点 1 一次编写 到处运行 除了系统之外 代码不用做任何更改 2 系统的多平台支持 基本上可以在所有平台上的任意环境中开发 在 任意环境中进行系统部署 在任意环境中扩展 相比 ASP NET 的局限性 JSP 的 优势是显而易见的 3 强大的可伸缩性 从只有一个小的 Jar 文件就可以运行 Servlet JSP 到由多台服务器进行集群和负载均衡 到多台 Application 进行 事务处理 消息处理 一台服务器到无数台服务器 Java 显示了一个巨大的生 命力 4 多样化和功能强大的开发工具支持 这一点与 ASP 很像 Java 已经有 了许多非常优秀的开发工具 而且许多可以免费得到 并且其中许多已经可以 顺利的运行于多种平台之下 5 支持服务器端组件 web 应用需要强大的服务器端组件来支持 开发人 员需要利用其他工具设计实现复杂功能的组件供 web 页面调用 以增强系统性 能 JSP 可以使用成熟的 JAVA BEANS 组件来实现复杂商务功能 2 5 4 系统架构系统架构 B S 模式和三层系统架构模式和三层系统架构 以 Web 技术为基础的 B S 模式正日益显示其先进性 现在很多基于大型数 据库的信息系统正在采用这种技术模式 传统的 C S 体系结构虽然采用的是开 放模式 但在特定的应用中无论是 Client 端还是 Server 端都还需要特定的软 件支持 而且代价高 效率低 所以与 C S 不同的 B S 模式的系统具有效率高 和维护费用低的特点 8 数据源 页面显示层 WebLayer 页面接口层 WebUI 业务逻辑层 BusinessLogicLayer 数据接口层 DataAccessLayer 数据访问层 DataAccessLayer 图 2 1 Web 系统的三层体系结构 B S 模式由浏览器 WEB 服务器 数据库三个层次组成 在这种模式下 客 户端使用一个通用浏览器 代替了各种形形色色的应用软件 用户的所有操作 都是通过浏览器进行的 这也是药房药品管理系统要达到随时随地让用户浏览 所必须的 三层模式的主要优点为 1 良好的灵活性和可扩展性 对于环境和应用条件经常变动的情况 只 要对应用层实施相应的改变 就能够达到目的 2 可共享性 单个应用服务器可以为处于不同平台的客户应用程序提供 服务 在很大程度上节省了开发时间和资金投入 3 较好的安全性 在这种结构中 客户应用程序不能直接访问数据 应 用服务器不仅可控制哪些数据被改变和被访问 还可控制数据的改变 和访问方式 4 增强了企业对象的重复可用性 企业对象 是指封装了企业逻辑程序 代码 能够执行特定功能的对象 随着组件技术的发展 这种可重用 的组件模式越来越为软件开发所接受 5 三层模式成为真正意义上的 瘦客户端 从而具备了很高的稳定性 9 延展性和执行效率 2 6 操作可行性研究操作可行性研究 本药房药品管理系统是基于 web 开发的系统 对于管理者 只需要一台装 有浏览器的电脑就可以通过网络访问该系统 整个系统采用友好的交互界面 简单明了 无论是用户还是系统管理员都可以轻松使用该系统 10 3 3 系统概要设计系统概要设计 如何利用现代信息技术使企业拥有快速 高效的市场反映能力和高度的效 率 已是医药经营企业 特别是医药连锁经营企业特别关心的问题 尽快建立 一个功能齐备的药品进 出库管理系统 完善现代企业的信息化管理机制 已 成为医药企业生存发展的当务之急 通过开发这个药品管理系统 使药品进销 存管理工作系统化 规范化 自动化 从而达到提高管理效率的目的 本系统 开发设计的目的是实现药品管理的数字化 科学化 3 1 设计思想设计思想 药房药品管理系统分成用户端和管理端两大部分 每个端有几个相对独立 的模块 但这些模块都进行集中式管理 药房药品管理系统的前端是普通用户 即采购员 医生 药师等 主要负 责药品从入库到销售的流程 前端的界面采用的是左右结构 左边是系统导航 栏 右边是操作和显示区 后端是系统管理者端 主要负责系统和用户的管理 以及新药的录入等 页面也是采用左右结构 左边是系统导航栏 右边是操作 和显示区 分层的模块化程序设计思想 整个系统采用模块化结构设计 作为应用程 序有较强的可操作性和扩展性 3 2 设计原则设计原则 为了使药房药品管理系统的功能齐全完备 操作简便 最大限度的提高软 件的质量 从而满足用户的实际需要 在设计开发过程中遵循了如下原则 1 合法性原则 依据药品属性 分类等的标准进行系统设计与规划 2 实用性原则 根据不同使用者的实际需求进行设 如针对实际情况设计 出适用于不同用户的功能 3 准确性原则 对用户的输入建立检错机制 及时提醒用户正确地输入 11 使所有用户和管理员都能够及时准确的输入合法资料 如 一些必填的文本框或 一些只能输入数字的文本框等 3 易操作原则 设计的系统功能齐全 界面友好 操作方便 必要的地方 进行提示 4 安全性原则 可以为该系统的用户设置用户权限并且可以为系统进行备 份 还原以及初始化 3 3 系统功能系统功能 药房药品管理系统分为前端用户模块和后台系统管理员模块两大部分 其 中药房药品管理系统的前端系统由采购员模块 药库管理员模块 医生模块 药师模块和审核员模块组成 系统管理员后台由用户管理模块 药品管理模块 公告管理模块 查看日志模块 帮助中心模块以及系统管理模块 12 图 3 1 药房药品管理系统系统管理员模块功能示意图 3 3 1 系统用户前端模块的主要功能系统用户前端模块的主要功能 采购员模块功能 主要是负责药品的采购以及供应商的管理 该模块还设 置了自动库存预警 即当药库中存在有库存总量已经低于库存下限的药品时会 自动弹出一个提示框提醒采购员及时进行采购 药库管理员模块功能 主要是负责库存药品的管理 查看库存的情况 清理 过期或者损坏的药品 和采购单的审核 采购单通过审核后药品才能入库 医生模块功能 主要是负责处方的录入 处方信息包含了病人的基本信息 所开的药品信息等 当医生录入处方所需要的药品数量超过库存数量时还会有 提醒医生重新录入处方的功能 药师模块功能 主要是负责处方的审核和处方药品的调配 药师所查看到 的处方只能是当天录入的处方 过期无效 如果当天存在没有通过审核的处方 医生模块也可以查看到 审核员模块功能 主要是负责审核处方单 核对药师所配的药品是否和医生 所录入的处方单相符合 和发药操作 另外 所有前端用户都可以查看系统管理员录入的药品字典 修改个人的 基本信息 修改登陆密码以及通过邮箱重置登陆密码 3 3 2 系统后台模块的主要功能系统后台模块的主要功能 用户管理 主要是对用户的管理 增 删 改 查等 查看所有用户 查 看在线用户等操作 药品管理 主要是录入新药和对药品字典的维护等 公告管理 包括发布新公告 查看当前公告和查看历史公告等 查看日志 主要是查看当天的日志或者查看过去历史的日志 系统管理 包括系统的备份 系统的还原 系统的初始化 帮助中心 在这里系统管理员可以查看个人信息 修改个人信息以及修改 登陆密码 13 3 4 数据库设计数据库设计 3 4 1 数据库的概要设计数据库的概要设计 根据需求分析 药房药品管理系统的建立涉及以下实体 1 管理员信息 ID 管理员地址 email 管理员姓名 登陆密码 联系 电话 邮编 性别 帐号 2 公告信息 ID 发布公告的管理员姓名 发布时间 公告标题 3 已清理药品信息 ID 数量 药品商用名 进货价 药品编码 清理 日期 有效期 生产日期 生产厂家 清理原因 销售价 清理时间 药品供应商 ID 4 药品字典信息 ID 药品商用名 药品编码 剂型 通用名 适应症 药物相互作用 是否医保药 大分类 位置 最小单位 是否 OTC 性 状 小分类 规格 禁忌 单位 5 处方单信息 ID 诊断 医嘱 医师姓名 没有通过审核的原因 病 人年龄 病人姓名 病人联系电话 病人性别 发药日期 发药时间 状态 开处方的日期时间 6 处方单对应的药品信息 ID 药品总量 用法用量 药品编码 药品 商用名 单位剂量 对应的处方单 ID 7 供应商信息 ID 供应商地址 email 名称 联系电话 邮编 8 采购单信息 ID 采购数量 药品商用名 进货价 有效期 药品编 码 没有通过审核的原因 通过审核的日期 通过审核的时间 生产 日期 生产厂家名称 销售价 状态 供应商 ID 9 库存药品信息 ID 数量 药品商用名 进货价 有效期 药品编码 生产日期 生产厂家名称 库存总量 库存上限 库存下限 销售价 小类别 供应商 ID 10 出库 销售 药品信息 ID 药品商用名 药品编码 数量 销售日期 11 药品拆整分零信息 ID 药品编码 剩余数量 参考数量 12 用户信息 ID 地址 email 姓名 登陆密码 联系电话 职位 权 限 邮编 随机验证码 找回密码时用到 性别 状态 帐号 14 13 货架空缺位置信息 ID 空缺位置 3 4 2 药房药品管理系统总体药房药品管理系统总体 E R 图图 系系统统管管理理员员 用用户户 管管理理 药药品品字字典典 1 n 管管理理 1 1 n 查查看看 n 供供应应商商 已已清清理理药药品品 库库存存药药品品 供供应应 处处方方单单 处处方方单单药药品品 属属于于 已已销销售售药药品品 来来自自 1 n 公公告告 m 医医生生 开开具具 药药师师 查查看看 审审核核员员药药库库管管理理员员采采购购员员 调调配配 核核对对发发药药管管理理 生生成成 采采购购单单 审审核核 1 1 1 1 1 1 n m n nn n 1 n 1 n nn 1 1 1 1 管管理理 1 来来自自 1 图 4 7 药房药品管理系统总体 E R 图 3 4 3 数据库的详细设计数据库的详细设计 本系统的数据库命名为 medicines management 主要用来存储用户 药 品字典 库存药品 采购单 处方等数据信息 数据库主要表如下所示 15 表 4 1 Admin ADMIN admin 字段名字段名数据类型数据类型字段描述字段描述 IDINT 11 主键 自增 ADDRESSVARCHAR 255 管理员地址 EMAILVARCHAR 255 email NAMEVARCHAR 255 管理员姓名 PASSWORDVARCHAR 255 登陆密码 PHONEVARCHAR 255 联系电话 POSTCODEVARCHAR 255 邮编 SEXVARCHAR 255 性别 USERNAMEVARCHAR 255 帐号 表 4 2 Announcement ANNOUNCEMENT announcement 字段名字段名数据类型数据类型字段描述字段描述 IDINT 11 主键 自增 ADMINNAMEVARCHAR 255 发布公告的管理员姓名 TIMEVARCHAR 255 发布时间 TITLEVARCHAR 255 公告标题 表 4 3 Clearedmed CLEAREDMED clearedmed 字段名字段名数据类型数据类型字段描述字段描述 IDINT 11 主键 自增 AMOUNTINT 11 数量 BRANDNAMEVARCHAR 255 药品商用名 BUYPRICEINT 11 进货价 CODEVARCHAR 255 药品编码 DATEVARCHAR 255 清理日期 EXPDATEVARCHAR 255 有效期 PRODATEVARCHAR 255 生产日期 PROFACTORYVARCHAR 255 生产厂家 REASONVARCHAR 255 清理原因 SELLPRICEINT 11 销售价 TIMEVARCHAR 255 清理时间 PROVIDER IDINT 11 药品的供应商 ID 16 表 4 4 Medicine MEDICINE medicine 字段名字段名数据类型数据类型字段描述字段描述 IDINT 11 主键 自增 BRANDNAMEVARCHAR 255 药品商用名 CODEVARCHAR 255 药品编码 DOSAGEFORMVARCHAR 255 剂型 GENERICNAMEVARCHAR 255 通用名 INDICATIONSVARCHAR 255 适应症 INTERACTIONSVARCHAR 255 药物相互作用 ISMEDICAREVARCHAR 255 是否医保药 LARGECATEGORYVARCHAR 255 大分类 LOCATIONVARCHAR 255 位置 MINUNITVARCHAR 255 最小单位 OTCVARCHAR 255 是否 OTC PROPERTIESVARCHAR 255 性状 SMALLCATEGORYVARCHAR 255 小分类 SPECIFICATIONVARCHAR 255 规格 TABOOSVARCHAR 255 禁忌 UNITVARCHAR 255 单位 表 4 5 Prescription PRESCRIPTION prescription 字段名字段名数据类型数据类型字段描述字段描述 IDINT 11 主键 自增 DIAGNOSISVARCHAR 255 诊断 DOCTORADVICEVARCHAR 255 医嘱 DOCTORNAMEVARCHAR 255 医师姓名 NOTPASSEDREASONVARCHAR 255 没有通过审核的原因 PATIENTAGEINT 11 病人年龄 PATIENTNAMEVARCHAR 255 病人姓名 PATIENTPHONEVARCHAR 255 病人联系电话 PATIENTSEXVARCHAR 255 病人性别 SENDDATEVARCHAR 255 发药日期 SENDTIMEVARCHAR 255 发药时间 STATEINT 11 状态 TIMEVARCHAR 255 开处方的日期时间 表 4 6 Prescriptionmeds 17 PRESCRIPTIONMEDS prescriptionmeds 字段名字段名数据类型数据类型字段描述字段描述 IDINT 11 主键 自增 AMOUNTINT 11 药品总量 DOSAGEVARCHAR 255 用法用量 MEDCODEVARCHAR 255 药品编码 MEDNAMEVARCHAR 255 药品商用名 NUMINT 11 单位剂量 PRESCRIPTION IDINT 11 对应的处方单 ID 表 4 7 Provider PROVIDER provider 字段名字段名数据类型数据类型字段描述字段描述 IDINT 11 主键 自增 ADDRESSVARCHAR 255 供应商地址 EMAILVARCHAR 255 email NAMEVARCHAR 255 名称 PHONEVARCHAR 255 联系电话 POSTCODEVARCHAR 255 邮编 表 4 8 Purchaseorder PURCHASEORDER purchaseorder 字段名字段名数据类型数据类型字段描述字段描述 IDINT 11 主键 自增 AMOUNTINT 11 采购数量 BRANDNAMEVARCHAR 255 药品商用名 BUYPRICEINT 11 进货价 EXPDATEVARCHAR 255 有效期 MEDCODEVARCHAR 255 药品编码 NOTPASSEDREASONVARCHAR 255 没有通过审核的原因 PASSEDDATEVARCHAR 255 通过审核的日期 PASSEDTIMEVARCHAR 255 通过审核的时间 PRODATEVARCHAR 255 生产日期 PROFACTORYNAMEVARCHAR 255 生产厂家名称 SELLPRICEINT 11 销售价 STATEINT 11 状态 PROVIDER IDINT 11 供应商 ID 表 4 9 Storage 18 STORAGE storage 字段名字段名数据类型数据类型字段描述字段描述 IDINT 11 主键 自增 AMOUNTINT 11 数量 BRANDNAMEVARCHAR 255 药品商用名 BUYPRICEINT 11 进货价 EXPDATEVARCHAR 255 有效期 MEDCODEVARCHAR 255 药品编码 PRODATEVARCHAR 255 生产日期 PROFACTORYNAMEVARCHAR 255 生产厂家名称 RESERVECOUNTINT 11 库存总量 RESERVEMAXINT 11 库存上限 RESERVEMININT 11 库存下限 SELLPRICEINT 11 销售价 SMALLCATEGORYVARCHAR 255 小类别 PROVIDER IDINT 11 供应商 ID 表 4 10 Storageout STORAGEOUT storageout 字段名字段名数据类型数据类型字段描述字段描述 IDINT 11 主键 自增 BRANDNAMEVARCHAR 255 药品商用名 MEDCODEVARCHAR 255 药品编码 NUMINT 11 数量 OUTDATEVARCHAR 255 销售日期 表 4 11 Temptable TEMPTABLE temptable 字段名字段名数据类型数据类型字段描述字段描述 IDINT 11 主键 自增 MEDCODEVARCHAR 255 药品编码 NUMINT 11 剩余数量 REFINT 11 参考数量 表 4 12 User USER user 字段名字段名数据类型数据类型字段描述字段描述 IDINT 11 主键 自增 19 ADDRESSVARCHAR 255 地址 EMAILVARCHAR 255 email NAMEVARCHAR 255 姓名 PASSWORDVARCHAR 255 登陆密码 PHONEVARCHAR 255 联系电话 POSITIONVARCHAR 255 职位 POSTCODEVARCHAR 255 邮编 RANDOMSTRVARCHAR 255 随机验证码 找回密码时用到 SEXVARCHAR 255 性别 STATEINT 11 状态 USERNAMEVARCHAR 255 帐号 表 4 13 Vacancy VACANCY vacancy 字段名字段名数据类型数据类型字段描述字段描述 IDINT 11 主键 自增 LOCATIONVARCHAR 255 空缺位置 3 4 4 数据库配置数据库配置 本系统使用的是 MySQL 数据库 而连接和访问数据库则是使用 Hibernate 框架来实现 Hibernate 是一个开放源代码的对象关系映射框架 它对 JDBC 进 行了非常轻量级的对象封装 使得 Java 程序员可以随心所欲的使用面向对象编 程思维来操纵数据库 具体步骤如下 第一步 第一步 导入所需要的各种包 第二步 第二步 在项目中加入 Hibernate 的配置文件 hibernate cfg xml 该文件包 含了连接数据库的各项参数以及需要映射到数据库的实体类 这里的实体类映 射到数据库后就成为了数据库中的表 该文件的具体信息如下 com mysql jdbc Driver jdbc mysql localhost medicines management root 10086 org hibernate dialect MySQLDialect 1 thread org hibernate cache NoCacheProvider false true update 21 第三步 第三步 使用 java 语言建立实体类 并使用 Hibernate Annotation 的注解写 到实体类中 例如用户实体类 package com gdpu medicines management model import javax persistence Entity import javax persistence GeneratedValue import javax persistence Id import javax persistence Table 声明实体 Entity 为实体指定表名 Table name user public class User private String address private String email private int id private String name private String password private String phone private String position private String postcode private String sex private String username private int state private String randomStr 映射主键属性 Id 主键自增 GeneratedValue public int getId return id public void setId int id this id id 非主键属性会自动默认映射 不用写注释 这里就不一一列出了 public String getAddress return address public String getEmail return email 22 第四步 第四步 使得 DAO Data Access Objects 数据访问对象来访问数据库 本系 统的为每一个实体类都建立了一个相对应的数据库访问对象来访问数据库 例如访问数据库中的用户表的数据库访问对象 package com gdpu medicines management dao import java sql SQLException import java util List import org hibernate Query import org hibernate Session import com gdpu medicines management model User import com gdpu medicines management util MySessionFactory public class UserDao private User user 查找所有用户 public List list throws SQLException Session session MySessionFactory getSession session beginTransaction Query q session createQuery from User List users List q list session getTransaction commit session close return users 增加新用户 public void add User u Session session MySessionFactory getSession session beginTransaction session save u session getTransaction commit session close 删除用户 通过调用deleteById 方法删除 public void delete User u deleteById u getId public void deleteById int id Session session MySessionFactory getSession User u new User u setId id session beginTransaction session delete u 23 session getTransaction commit 更新用户 public void update User u Session session MySessionFactory getSession session beginTransaction session update u session getTransaction commit 查找指定ID用户 public User loadById int id Session session MySessionFactory getSession session beginTransaction User u User session load User class id session getTransaction commit System out println u getUsername return u 这样就写好了对该表的基本的增删改查的方法 以后只要调用数据库访问 对象的方法就可以实现对数据库的操作了 可以看得使用 Hibernate 框架的好处 是显著的 一大堆 JDBC 的代码都可以丢弃掉了 24 4 4系统详细设计系统详细设计 系统详细设计阶段主要是根据系统概要设计的功能要求 解决该系统前端 和后台的逻辑功能以及设计流程 包括根据数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论