版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、医院药库管理系统设计与应用摘 要本论文主要阐述了医院药库管理系统的作业流程以及系统设计。以his5.0子模块药库管理系统的一组功能模块画面作为参考来源。本文先结合中外医院信息系统发展的历史给出了开发该系统的背景与目的,然后介绍该系统所用到的开发工具与开发语言以及对部门系统功能的分析、设计与实现。医院药库管理系统是东软自主研发的医院管理系统(hospitalinformationsystem,his)的一部分。该系统是基于二层(client/server,c/s)的体系结构的应用软件。具有良好的交互性、健壮性、存取安全、速度快等特点。在软件开发过程中,采用了分层设计,组件式开发,插件式开发等创新
2、技术。对于表现层中易变模块提出接口,用插件方式和抽象工厂模式实现,从而稳定了核心模块。表现层界面布局实现动态配置,用户可以根据业务需要和个人喜好配置个性化界面,界面布局在客户端保存为xml文件中。本系统提供了药库工作人员在药库的常规操作,包括药品出库、药品入库、库存查询、盘点管理和各种报表查询等功能。它的使用必定会给医院药库的管理带来了极大的方便。最后,本文会给出对医院药库管理系统的总结评价以及需要改善的地方。关键词:医院信息管理系统,c/s,组件,插件the design and application ofthe hospital drug storehouse management sy
3、stem author: xxx tutor: xxx abstractthis paper mainly elaborates the drug storehouse management processes and system design. as the group picture of his5.0 storehouse management system sub-module a reference source modules.this paper first combination of chinese and foreign history of the developmen
4、t of hospital information system given the background and purpose of the system developed, and then used to introduce the system development tools and development language and system functions on the sector analysis, design and implementation.hospital drug storehouse management system is independent
5、ly researched and developed as part of the hospital information system(his) by neusoft. the system is based on two-tier architecture (client/server, c/s) of the application software. it has a good interactive, robust, access to safe, fast and so on. in software development process, we have adopted m
6、any innovative technologies such as the hierarchical design, the component-based development, the plug-in technology and so on. to the volatile modules of the user interface, we propose interface and use plug-way mode and abstract factory to achieve it. thus we stabilize the core module. user-interf
7、ace can be dynamic configured and users can set personalized interfaces based on business needs and personal preferences. interface layout is saved as xml documents in the client.this system provides the normal operations of drug storehouse for the drug storehouse staff, including out and in the dru
8、g storehouse, stock search, inventory management and report search. it will bring great convenience to the management of the hospital drug storehouse.finally, the hospital will give a summary evaluation of storeroom management system and the need for improvement.key words: hospital information syste
9、m, c/s, components, plug-ins目 录1 绪论11.1 项目开发的背景及意义11.2 课题研究方法21.3 论文构成及研究内容32 系统开发所用软件简介42.1 系统开发环境42.2 microsoft visual studio 2005 开发环境42.3 microsoft.net框架介绍42.4 c#语言52.5 oracle10g数据库52.6 datawindow.net报表设计器63 系统分析73.1 系统结构及功能73.1.1 基本信息维护73.1.2 药品管理83.1.3 库存管理83.1.4 入出库管理93.1.5 查询统计103.2 系统的主要流程1
10、03.2.1 药品入库流程103.2.2 医院科室药品领用流程113.2.3 盘点流程124 系统设计134.1 数据库的设计134.2 系统架构155 系统实现215.1 入库计划215.2 采购计划225.3 药品入库235.4 盘点管理265.5 盘点结存28结 论30致 谢31参考文献32附 录331 绪论1.1 项目开发的背景及意义医院信息管理系统(his)按照morris .collen所给的定义是:利用电子计算机和通讯设备,为医院所属各部门提供病人诊疗信(patientcareinformation)和行政管理信息(administrationinformation)的收集(co
11、llect)、存储(store)、处理(process)、提取 (retrieve)和数据交换(communicate)的能力,并满足所有授权用户(authorized)的功能需求。随着计算机性能不断提高,价格不断下降,计算机已在医院医疗、教学、科研、管理的各个方面得到越来越广泛的应用。计算机化的医院信息系统已成为现代化医院运营必不可少的基础设施与技术支撑环境。就好象一个现代化医院的成功运行离不开功能完整、美观舒适的建筑物,技术娴熟的医护人员,性能齐全、高精尖的医疗设备一样,它也离不开计算机化的医院信息系统。发达国家医院信息系统的开发实现已有三十多年的历史,至今有了长足的进步。有许多举世公认的
12、成功的系统在医院有效地运转着,像盐湖城lds医院的help系统,麻省总医院的costar系统,退伍军人管理局的dhcp系统。纵观美国的his发展历史,大约可疑分为三个阶段:第一个十年,集中在开发医院行政管理的功能上,像财务收费管理、住院病人和门诊病人管理等。但到 1972年collen仍报告美国迄今为止连一个成功的已完成的全面医院(管理)计算机系统都没有。第二个十年,在继续完成和实现医院管理信息的计算机化的同时,开发者的努力已进入医疗信息的处理领域,像病人医疗处理系统,实验室系统等。到1985年,美国全国医院数据处理工作调查表明,100张床位以上的医院80%实现了计算机财务收费管理、70%的医
13、院可支持病人挂号登记和行政事务管理,25%的医院有了较完整的his。最后一个十年至今,研究者又把重点放在了病人床边系统(bedside information system)、医学影像处理 (picture archiving and communication system,pacs)、病人计算机病案(computer based patient record,cpr) 、统一的医学语言系统 (unified medical language system,umls)等方面。医院信息系统 正在经历着小型化(downsizing)、智能化(intellegence)和集成化(integrati
14、on)的改造过程1。据相关资料显示,目前我国各个级别的医院的挂号室的信息化很落后,并且不受重视进行建设,多数只是单个微机操作甚至是人工手工操作。而很多已经建立起来的整套的医院信息系统中,使用的管理系统也只是拼凑单项目应用阶段时使用的系统,多采用功能有限的access 建立数据库,并且系统的功能单一 、死板 、模式化、针对性不强、并且不能与其他子系统进行信息资源的交流、共享、不具有和his平台兼容的特性,实质上它们不能作为医院信息系统的一部分。本系统是在医院信息系统设计规划的整体框架下设计完成的,和his其他部分是统一的整体,共同使用oracle数据库,之间的数据可以完全共享,并且存在数据安全和
15、可存储的数据量大的优点。它又有很强的独立性,可以单独应用于实际当中。本系统描述了药品从采购到出库的所有业务操作环节,其中包括:药品的采购、入库、盘点、调价、出库和查询统计。药品是防病治病的特殊商品,是医院重要的经济收入来源,是医疗活动中必不可少的基础物资,而药库是医院药品供应基地,是加强医院药品管理的重要环节之一。由于药品种类繁多,流通环节复杂,强化对药库管理尤为重要,它既要保障对临床各科室的供应,又要控制药品品种、数量、质量防止过期失效,减少浪费,达到增收节支的目的。对药库实行计算机管理,可使药库工作人员可及时了解库房药品进、出、存的动态变化,即做到为临床及时提供所需药品不使药品供应中断,又
16、有效减少盲目进货造成药品积压现象,药库的信息化管理不仅可加快药品周转,而且可大大提高工作人员的工作效率和督理质量。也更加有利于及时、安全、优质地保证临床用药。1.2 课题研究方法软件工程(software engineering,se)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,医院,银行,航空,政府部门等。这些应用
17、促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量2。软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。软件工程学科也有许多分支,如:软件过程学,软件方法学,软件的项目管理等。软件的过程主要是研究软件生命周期的基本任务,软件生命周期的模型主要包括瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型等。软件生命周期的各种模型在不同的软件开发项目中各有优劣3。软件的方法学主要研究的是软件开发的
18、具体的实现方法,它又包括两个部分,传统的方法学和面向对象的方法学。传统的方法学主要是结构化的程序设计方法4,它是整个方法学的基础部分,而到了20世纪90年代以后面向对象的方法学已经成为人们在开发软件的过程中首选的泛型。可以说,面向对象技术是当前最好的软件开发技术5。软件项目管理主要研究的是通过计划,组织和控制等一系列的活动,合理的配置各种资源以便在预定的成本和期限内开发出符合用户要求的软件。它是整个软件开发过程的主线,也是软件工程学科的精髓之所在。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领
19、域层)、表示层。三层结构原理:3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有b/s应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过com/dcom通讯与中间层建立连接,再经由中间层与数据库进行交互。另外,该系统所使用的编程语言是c#,采用三层架构模式,将整个系统划分为表
20、示层(user interface),业务逻辑层(business logic layer),数据访问层(data access layer)。三层架构是指的“逻辑三层的软件体系架构”而非指“部署中物理的三层架构”。1.3 论文构成及研究内容论文首先给出这套系统的开发环境,然后对系统结构及功能进行简单的说明,接下来从数据库和系统架构对系统设计作简单说明,最后给出这套系统主要功能画面的说明,最后论文将会给出对药库管理系统的评价以及需要改善的地方。2 系统开发所用软件简介2.1 系统开发环境操作系统环境:windows xp集成开发环境:microsoft visual studio 2005数据
21、库:oracle10g2.2 microsoft visual studio 2005 开发环境visual studio 2005 是一套完整的开发工具集,用于生成 asp.net web 应用程序、xml web services、桌面应用程序和移动应用程序。visual basic、visual c+、visual c# 和 visual j# 全都使用相同的集成开发环境 (ide),利用此 ide 可以共享工具且有助于创建混合语言解决方案。使用 visual studio 2005 ,开发人员能够:创建多层的 windows、web、smartphone 和 pocket pc 应用程
22、序;使用集成的 visual 数据库工具来设计数据库、表、存储过程等;使用集成的数据库报表设计器和查看器;设计、调试和部署多层应用程序;集成xslt 调试6。2.3 microsoft.net框架介绍2000年6月,微软公司推出了“mircosoft.net下一代互联网软件和服务战略”,引起it行业的广泛关注。2000年9月,微软公司在旧金山发布了enterprise2000。同月,微软原总裁兼首席执行官鲍尔默来到中国就“下一代互联网”的主题进行演讲,在中国掀起了一股“.net旋风”。2000年11月,微软在comdex计算机上发布了visual studio.net软件,并展示了其.net发
23、展战略的框架体系和开发工具的相关特性,全面加速了微软以.net技术进军市场的步伐。.net framework 的目的是便于开发商业更容易地建立网络应用程序和web服务,它的关键特色是提供了一个多语言组件开发和执行的环境。从层次结构来看,.net framework 又包括三个主要组成部分:通用语言运行环境(common language runtime )、服务框架(services framework)、上层的两类应用模板-面向web的网络应用程序模板(web forms或web services) 和windows应用程序模板(win forms)。其中通用语言运行环境在组件运行时,负责
24、管理内存分配、启动和终止线程和进程、强化安全系数,同时还调整任何组件涉及到的其他组件的附件配置。在通用语言运行环境上的服务框架,它为开发人员提供了一套能够被任何现代语言调用的、统一的面用对象、异步、层次结构的可扩展类库。“microsoft.net 代表了一个集合、一个环境、一个可以作为平台支持下一代internet的可编程结构。“.net包括四个重要特点,一是软件就是服务,二是基于xml的共同语言,三是融合多种设备和平台,四是新一代的人机界面。通过.net框架可以快速构建web应用和桌面应用程序7。2.4 c#语言microsoft.net(简称.net)是微软公司推出的面向网络的开发平台的
25、简称,是新一代的软件开发方式。.net技术的核心是.net framework,它提供了一个全新的环境,在此环境下,可以使用多种语言开发出在windows平台上运行的各种复杂的分布式应用程序。其中,新推出的c#语言是在c和c+基础上重新构造的一种新型编程语言,也是.net的首选编程语言8。c#是从c和c+演变而来的一种简单的、面向对象的和类型安全的新型程序设计语言,具有语法严谨、结构清晰、可读性强和代码执行效率高等优点;最重要的是,它功能强大且易活易学,利用c#,在windows平台下几乎可以做任何事情。c#凭借其强大的功能、易用性以及在开发数据库和windows应用程序上的极大优势,一直坚持
26、复杂问题简单化的思想 ,而且隐藏其细节。可以说,它几乎综合了目前所有高级语言的优点。它的主要特点是语法简洁,精心设计的面向对象设计,与web的紧密结合,完全的安全性和错误处理,易于使用的版本处理技术,很好的灵活性和兼容性等。2.5 oracle10g数据库oracle 数据库是以高级结构化查询语言(sql)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器(client/server)体系结构的数据库之一。oracle 10g作为oracle家族比较新的产品,不仅具有oracle以前版本优秀的特性,而且在以下两个方面又有更加突出的表现:
27、降低管理开销;提高性能。这些增强有对高可用性的增强、新的 flashback 能力、支持回滚更新操作;对安全性的增强,便于管理大量的用户; bi 方面的增强 , 包括改进的 sql 能力、分析功能、 olap 、数据挖掘的能力等;对非关系型数据存储的能力得到了改进; xml的能力;对开发能力支持的加强。对生物信息学( bioinformatics )的支持9。2.6 datawindow.net报表设计器datawindow中文译名为数据窗口,是开发工具powerbuilder(pb)的一个王牌组件,使用pb作为开发工具的,基本上都是冲着datawindow 来的,它不仅可以用来显示数据,还可
28、以实现数据录入、报表打印等功能,是sybase 的专利技术,功能非常强大。sybase从pb10.0开始,为了使pb开发的应用可以支持.net,就开发出来了dataw组件,可以在.net的开发环境中使用,包括datawindow控件 和datastore对象,功能与pb中的数据窗口控件一样。其中pb10.5的数据窗口对应dw.net 2.0,pb11对应的是dw.net 2.5,如果是使用pb11.5,则只能使用pb11.5里面提供的dw.net程序集,目前sybase还没有单独提供dw.net的新版本,以支持pb11.5和pb12。而且pb12.net,已经提供采用wpf技术实现的dw.ne
29、t了。在.net中大家经常使用的datatable,其里面很多思想是来源于datawindow,如缓冲区,行列状态的概念,以及根据datatable的更新状态,生成不同的sql来更新数据库,还有getchanges方法来获取datatable的更新情况等等10。datawindow .net 是一个用于增强 .net 应用程序开发环境性能的组件。它是 4gl rad 产品,也就是说它可以有助于您快速完成工作。基于几项拥有专利的强大技术,datawindow .net 可以帮助您快速构建和部署数据驱动的应用程序,轻松地与您复杂的业务规程集成,发挥其在数据处理上的卓越性能。具备几百种内置的函数 (
30、functions)、属性和公开的程序,开发者可以在虚拟代码免费工具中体验高水平的生产力。针对 asp.net 的新的 webforms 以及 microsoft 手写识别支持使得在应用程序中添加复杂的表格和签名识别容易实现。在 .net 开发环境中的标准数据访问组件需要大量烦琐且耗时的编码工作 。用datawindow .net 打破 datagrid - 垄断!其优点包括:(1)势降低成本,大量简化了企业级数据驱动应用程序的开发和部署工作。(2)提高了生产力,只需极少的编码工作,开发者在几小时或者几天内就可轻松构建数据密集型应用程序。(3)风险最小化,业已证明的技术、经过成百上千的开发员的
31、试用和测试,让新的开发者从成熟和强大的 4-gl 图形编程组件中受益。(4)快速的开发,内置函数和属性的 4gl 组件减少了编码工作。 3 系统分析在本节中首先会给出医院药库系统结构及功能图。然后,结合每个功能模块,详细介绍每个功能模块的作用;以及系统的主要流程。3.1 系统结构及功能药库管理系统主要面向医院的药品管理业务。对进行药品进销存管理。具体包括药品基础信息维护;药品管理;药品进销存管理;药品库存管理等。药库管理系统结构如图3.1所示。图3.1 药库管理系统结构图下面简要介绍一下各部分的主要功能:3.1.1 基本信息维护1) 常数维护:录入基本常数,如:药品等级、性质、用法、包装单位、
32、最小单位等。2) 入出库科室维护:维护医院内部入出库科室。3) 部门库存常数维护:设置库存常数。功能描述:l 库存管理:选中可以对其库存进行管理,如设置西药房管理库存、中药房不管理库存,在西药房对中药房做一般出库,这样西药房库存减少,中药房库存不变。l 参考天数:如参考天数设置为天,就是用当前时间的前的七天库存总量除以求出一天的平均库存。l 最低库存天数:在库存量小于“一天的平均库存*最低库存天数”就需要进行入库。l 最高库存天数:入库的数量应该为“一天的平均库存*最高库存天数当前库存”。4) 药理作用维护:维护药理作用,在药品基本信息维护里用到。5) 药品管理模板维护:维护计划、盘点、申请的
33、模版。6) 供货公司维护:维护药品供应商的信息,在药品入库时可以用到。7) 生产厂家维护:维护药品生产厂家。3.1.2 药品管理1) 药品基本信息维护:录入并维护药品的基本信息。功能描述:l 拆分属性:门诊不可拆分,该药品不可拆分来卖,而是向上取整。门诊可拆分,该药品可以拆开来卖。l 开关属性包括,停用:这里的停用是全院停用;自制:指该药品是该医院制造;试敏:是否需要试敏;终端确认:指定是否需要终端确认;一般检查类的需要选上该复选框。l 新药:如果在系统设置选中“新增药品需经过审核后才生效”,新增的药品必须经过“药品审核才可以使用”。l 连续录入:操作时连续添加其他药品,不关闭弹出的添加窗口。
34、2) 药品调价:更改药品价格。可以选择立即生效或者设定一个生效日期。3) 月结管理:按月结算,将结果向财务报账。3.1.3 库存管理1) 库存管理:管理库存的相关信息,如药品基本属性、是否停用、最高库存、最低库存、是否需要日盘点等。2) 盘点管理:盘点库存的实际数量。盘点操作:l 封账:选择某个药品进行盘点。l 批量封账:对某一类药品进行批量选择。l 全盘:把计算机里记录的数量添加到盘点单上,以便只修改不一致的数量。l 盈亏标记:“1”盘盈、“2”盘亏、“0”实际数量与记录数量一致。l 增量保存:填入的数量与之前的数量之和。l 保存:保存填入的数据,以便结存时调用。3) 盘点结存:将实际数量记
35、录到计算机中,即使数据库里面数据与实际库存数据一致。功能描述:l 结存:将盘点的实际数量保存到计算机中。l 解封:将药品进行解封,不改变计算机中的数量,删除盘点信息。4) 库存初使化:在系统刚刚上线的时候,药库里本身就有一些药品,这些药品不需要进行入库或出库操作,所以这里提供了这样的一个接口录入这些药品,使其库存数量与实际数量相同。3.1.4 入出库管理1) 入库计划:维护入库计划单。2) 采购计划:根据入库计划单制定采购计划单。3) 采购计划审核:对采购计划单进行审核。4) 药品入库:采购的药品进行入库操作。功能描述:l 一般入库:选择经过审批的采购单对其进行入库。选择药品直接进行入库。此时
36、如果发票还未到,则一般入库后还需进行发票入库和核准入库两个操作。由库管员进行操作。l 发票入库:在一般入库时没有录入发票,需要补录发票。由采购员进行操作。l 核准入库:在进行了发票入库后进行,做完这一步后药品才算真正入库。由财务操作。l 入库退库:入库错了可以退回供货商。5) 药品出库:向别的药库或药房出库。功能描述:l 一般出库:向目标单位直接出库,直接更新对方库存。由库管员进行操作。l 出库审批:审核外部申请出库的药品。6) 单据补打:打印入出库的各种单据。3.1.5 查询统计提供各种查询方式,如:综合查询、库存查询、月结查询、药品字典信息变更查询,调价查询、盘点查询。同时提供各种汇总,生
37、成各种报表,并支持打印。3.2 系统的主要流程医院药库流程根据业务的不同,主要分为三个流程:1药品入库流程;2医院科室药品领用流程;3盘点流程。3.2.1 药品入库流程医院药品入库流程大致可分为以下六个步骤:1) 库管员做入库计划,生成入库计划单。2) 采购员根据入库计划单制定采购计划,生成采购单。3) 供货商送货来医院后,库管员进行验收,如果验收不通过则退货。验收通过的药品进行入库登记处理。4) 药品入库后,药品即可出库到药房或者科室。5) 对于没有发票的入库数据,需要进行发票补录。6) 正式入库的数据(发票信息齐全的入库数据)经过发票核准确认无误后,进入本月财务月结的数据。如果发票数据有错
38、误,则进行入库数据修改。图3.2 药品入库流程图3.2.2 医院科室药品领用流程1) 药房做一个入库申请计划,生成入库申请单2) 药库根据入库申请单向药房出库,生成出库单3) 药房核准然后药库发过来的药品并入库,生成入库单4) 药房把药退给药库,做一个退库申请,生成退库申请单5) 药库根据退库申请单和出库单进行退药出库,生成退库单图3.2 科室药品领用流程图3.2.3 盘点流程1) 开始盘点时,记录电脑中物品的库存数量,打印盘点表2) 录入各物品的盘点数量,保存盘点数据,可查询盘点盈亏结果。3) 主管审核后,进行盘点结存。结存后的盘点盈亏数据作为财务月结数据。图3.4 药品盘点流程图4 系统设
39、计4.1 数据库的设计数据库设计的好坏直接关系到软件的成功。我们在编写软件之前,做了大量的分析和论证,力求数据库设计能做的最好。由于数据库中的表实在太多,下面简要介绍一下药库管理系统所涉及的部分主表及其结构,药库表名统一都是以pha_开头,公共表名统一都是以com_开头的表。表4.1 药品目录表字段名数据类型是否为空是否主键备注drug_codevarchar2(12)否是药品编码trade_namevarchar2(50)是否商品名称drug_typevarchar2(1)否否药品类别drug_qualityvarchar2(2)否否药品性质item_gradevarchar2(1)是否项目
40、等级specsvarchar2(32)是否规格pack_unitvarchar2(16)否否包装单位pack_qtynumber(4)是否包装数min_unitvarchar2(16)否否最小单位base_dosenumber(10,4)是否基本剂量dose_unitvarchar2(16)是否剂量单位usage_codevarchar2(10)是否用法编码frequency_codevarchar2(6)是否频次编码once_dosenumber(10,4)是否一次用量valid_statevarchar2(1)否否有效标记new_flagvarchar2(1)是否新药标记split_typ
41、evarchar2(1)是否拆分类型1) 表名:pha_com_baseinfo(药品目录表)。功能描述:全院药品字典信息维护。医生站药品医嘱开立、药品项目收费、药房药品发放、进销调拨都根据此基本项目信息进行处理。对新增药品处理必须维护字典项目。结构:由于此表字段太多,此处只描述一些重要的字段,如表4.1所示。 2) 表名:com_dictionary(公共_常数表)。功能描述:药品管理过程中的各种常数信息。包括用法、频次、药品剂型、存储条件等信息(药品字典信息维护时调用)。以及药品等级与医生职级对照等信息,如表4.2所示。表4.2 公共常数表字段名数据类型是否为空是否主键备注typevarc
42、har2(20)否是常数类型codevarchar2(20)否是编码namevarchar2(50)是否名称markvarchar2(2000)是否备注spell_codevarchar2(30)是否拼音码wb_codevarchar2(30)是否五笔码input_codevarchar2(30)是否输入码sort_idnumber是否顺序号valid_statevarchar2(1)否否有效标志oper_codevarchar2(6)是否操作员oper_datedate是否操作时间 3) 表名:com_priv_inout_dept(入出库常数表)。功能描述:维护药品进销管理中,各部门对应的
43、入库、出库部门,如表4.3所示。表4.3 入出库常数表字段名数据类型是否为空是否主键备注class2_codevarchar2(4)否是入出库标记dept_codevarchar2(4)否是科室编码object_dept_codevarchar2(8)否否供药或领药单位码object_dept_namevarchar2(64)是否供药或领药单位名称oper_codevarchar2(6)是否操作员代码oper_datedate是否操作时间markvarchar2(128)是否备注sort_idnumber是否排序4) 表名:pha_com_dept(库房参数表)。功能描述:维护各部门的库房参数
44、信息。进销管理时会调用库房参数设置信息。该部分参数设置会影响业务及数据处理。一般在系统实施前进行设置,并在维护期内根据需要进行修改,如表4.4所示。表4.4 库房参数表字段名数据类型是否为空是否主键备注dept_codevarchar2(4)否是科室编码store_max_daysnumber(3)是否库房最高库存量(天)store_min_daysnumber(3)是否库房最低库存量(天)reference_daysnumber(3)是否参考天数batch_flagchar(1)是否是否按批号管理药品store_flagchar(1)是否是否管理药品库存unit_flagchar(1)是否库
45、存管理时默认的单位oper_codevarchar2(6)是否操作员代码oper_datedate是否操作时间ark_flagvarchar2(1)是否是否按药柜管理药品5) 表名:pha_com_adjustpriceinfo(调价主表)。功能描述:药品零售价变动时维护变动后价格,并计算各库存部门因为调价而产生的调价盈亏。调价将同时影响全院所有部门,如表4.5所示。结构:由于此表字段太多,此处只描述一些重要的字段,如表4.5。6) 表名:pha_com_stockinfo(药品库管信息表)。功能描述:管理本部门库存药品;进行货位号、停用、日结标记、库存警戒线设定;药品有效期、库存警戒信息查询
46、;日常药品信息统计,如表4.6所示。结构:由于此表字段太多,此处只描述一些重要的字段。4.2 系统架构本系统采用三层架构设计模式,将整个系统划分为表示层(ui),业务逻辑层(bll),数据访问层(dal),各层的依赖关系:ui依赖于bll,而bll依赖bal;依赖关系如图4.2所示:表4.5 调价主表字段名数据类型是否为空是否主键备注adjust_numbernumber(12)否是调价单号serial_codenumber(4)否是调价单内序号drug_dept_codevarchar2(10)是否库房编码drug_codevarchar2(12)是否药品编码pre_retail_price
47、number(12,4)是否调价前零售价格pre_wholesale_pricenumber(12,4)是否调价前批发价格retail_pricenumber(12,4)是否调价后零售价格wholesale_pricenumber(12,4)是否调价后批发价格store_sumnumber(14,4)是否调价时药库库存量profit_flagchar(1)是否盈亏标记1-盈,0-亏inure_timedate是否调价执行时间dd_adjust_markchar(1)是否药库调价标记ds_adjust_markchar(1)是否药房调价标记abolish_opervarchar2(6)是否作废人
48、编码abolish_datedate是否作废时间表4.6 药品库管信息表字段名数据类型是否为空是否主键备注drug_dept_codevarchar2(14)否是库房编码drug_codevarchar2(12)否是药品编码min_unitvarchar2(16)是否最小单位retail_pricenumber(12,6)是否零售价store_sumnumber(14,4)是否总数量preout_sumnumber(14,4)是否预扣库存valid_datedate是否有效期low_sumnumber(14,4)是否最低库存top_sumnumber(14,4)是否最高库存lack_flagv
49、archar2(1)是否缺药标志图4.2 三层架构图表示层: 位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面,好的ui设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由,充分体现软件的定位和特点。本系统主要是以winform方式作为表示层,如果业务逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务并且表示层进行改动不会影响到业务逻辑层和数据访问层。在本系统中界面提供常数维护、库存管理、盘点管理、药品入出库等功能。业务逻辑层:业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交
50、换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。该层针对具体的问题的操作提出接口的定义,如果说数据层是积木,那业务逻辑层就是对这些积木的搭建。数据库访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是xml文档。简单的说法就是实现对数据表的select,insert,
51、update,delete的操作。如果要加入orm的元素,那么就会包括对象和数据表之间的映射(mapping),以及对象实体的持久化。具体为业务逻辑层或表示层提供数据服务。 本系统采用三层架构设计模式,所有的数据在界面被封装成对象,在将对象传到业务逻辑层,然后业务逻辑层对对象中的数据进行处理,将必要的数据重新封装成对象传入数据层,数据层根据对象的类型,去构造sql语句并对数据更新。如果是查询操作,在数据层将根据对象,重新构造对象的实例,把查出来的数据封装成对象,在把对象加到集合中,把集合返回到业务逻辑层,在业务逻辑层重新对数据进行处理,将有用的数据重新封装成对象,返回到表示层中,最后在界面中显
52、示出来。如果是更新数据库信息,将用事务跟踪,使在更新的几张表要么全部成功,在不成功时则回滚。三层架构的存在着优点也有它的缺点,优点如下:1开发人员可以只关注整个结构中的其中某一层;2可以很容易的用新的实现来替换原有层次的实现;3可以降低层与层之间的依赖;4有利于标准化;5利于各层逻辑的复用。缺点如下:1降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。2有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。基础类设计:neusoft.nfc.object.neuobject类设计,此类是所有类的基类,任何一个类都从此类派生。代码如下:public class neuobject : idisposable/ / 构造函数/ public
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 11067.7-2024银化学分析方法第7部分:金、钯量的测定电感耦合等离子体发射光谱法
- 物业财务工作总结与计划怎么写
- 2025学生会文艺部部长工作计划书例文
- 高中英语教师校本研修计划
- 2025年四年级音乐教学计划
- 校园环保协会工作计划
- 工厂每天工作计划
- 培优辅差工作计划总结 培优辅差工作总结
- 2025中学工作计划范本怎么写
- 《复杂控制策略》课件
- 浙江省宁波市慈溪市2023-2024学年高二上学期期末考试 数学 含解析
- 《中华人民共和国文物保护法》知识专题培训
- 2024年高考全国甲卷英语试卷(含答案)
- 血液透析服务协议
- 教师师德师风的培训
- GB/T 44491.1-2024地理信息数字数据和元数据保存第1部分:基础
- 财务报表练习题及答案
- 临床医学基础试题+答案
- 慢性阻塞性肺疾病(COPD)护理查房
- 水文地质环境地质调查规范(1-25 000)DB41-T 1507-2017
- 好作文的开头和结尾公开课获奖课件省赛课一等奖课件
评论
0/150
提交评论