软件工程课程设计医院信息管理系统(共28页).doc

上传人:飞****2 文档编号:15084111 上传时间:2022-05-10 格式:DOC 页数:28 大小:287KB
返回 下载 相关 举报
软件工程课程设计医院信息管理系统(共28页).doc_第1页
第1页 / 共28页
软件工程课程设计医院信息管理系统(共28页).doc_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《软件工程课程设计医院信息管理系统(共28页).doc》由会员分享,可在线阅读,更多相关《软件工程课程设计医院信息管理系统(共28页).doc(28页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上 xx大学 实训报告课程(项目)名称: 软件工程课程设计 学 院: 专 业: 班 级: 学 号: 姓 名: 成 绩: 2011年01月06日 目录医院信息管理系统引言医院(hospital)是以向人提供医疗护理服务为主要目的的医疗机构。其服务对象不仅包括患者和伤员,也包括处于特定生理状态的健康人(如孕妇、产妇、新生儿)以及完全健康的人(如来医院进行体格检查或口腔清洁的人)。其任务不仅包括防病、治病,也包括维持和促进健康。随着中国经济发展水平的提高,人们越来越重视自身的健康。现如今我们已步入数字化、网络化的时代。为了更好地适应这种网络数字化信息的环境,一种成功的跟踪最新

2、技术,充分利用软硬件资源,扎根于准、新、全数字资源的医院信息管理系统已孕育而生。 另外,由于医院陈旧的管理手段给患者和医院管理人员带来的很多操作上的不方便,同时为了提高工作效率、服务质量和管理水平,并使医院管理人员从繁琐的工作中解脱出来,从而使我们下定决心开发该系统。摘要此报告对医院管理系统有一个系统介绍。从文中可以了解此项目的论证与计划,包括:对系统的调查;对系统的总体功能需求和性能需求的介绍;以及此系统的开发的框架。报告包含可行性研究报告,针对技术可行性、经济可行性、管理可行性、开发环境可行性进行了简明扼要的说明。在系统需求分析中对软件需求与数据需求进行了详细的分析。报告还在在总体设计上,

3、给出了更加详细的介绍。另外、随报告还附有使用手册等相关信息。关键字:软件工程 医院信息管理系统 VC+6.0 SQL2005 ADO1项目论证和计划使用Visual C + 6.0 和SQL Server 2005设计出医院信息管理系统。使用SQL Server 2005 建立数据库和表以及相应的视图,使用Visual C + 6.0建立基于对话框模型的工程框架。1.1系统调查在医院日常事务中,管理工作是医院非常重要的一项工作,包括:医院系统设置管理、信息管理、收费管理、统计查询管理。传统的医院信息管理系统是单机单用户方式,开发简单,能充分利用数据库的特性,实现增、删、改、查等工作。其缺点是开

4、发的系统依赖性强,功能简单,没有创新项目,不容易升级与扩展,无法实现数据的共享,代码重用性差。1.2系统的总体功能需求和性能需求总体需求:建立一个合理的医院信息管理系统,从而能够对医院信息做完善的管理,使医院管理更加科学规范,并能根据系统提供的准确信息进行适当的调整,促使医院更好发展服务于广大群众。采用现有的硬件、软件及科学的管理系统开发方案,建立医院信息管理系统,实现医院信息管理的自动化。系统应符合医院信息管理制度,并达到操作直观、方便、实用、安全等要求,并做到以下几点:1)简单性。系统设计尽量简单,从而实现使用方便、提高效率、节省开支、提高系统的运行质量。2)灵活性。系统对外界条件的变化有

5、较强的适应能力。3)完整性。系统是各个子系统的集合,作为一个有机的整体存在。因此,要求各个子系统的功能尽量规范,数据采集统一,语言描述一致。4)可靠性。实现安全的、可靠的数据保护措施。医院信息管理系统可以用于支持医院完成医院信息管理工作,实现的目标有:1)支持医院高效率完成医院运营中的日常工作,包括各种信息的增、删、改、查,包括人事信息的管理等。2)支持医院信息管理及相关方面的科学决策,如医院领导根据根据药品销售情况决定购进药品数量等。1.3系统开发的框架系统开发的框架见图1。图1 系统开发框架在系统开发过程中,首先要做好系统分析阶段。对医院信息管理系统进行需求分析、可行性分析,并对现有业务流

6、程进行描述。然后,我们对整个医院信息管理系统进行系统建模、功能分析。在系统设计阶段,包括:对医院信息管理系统数据库的设计、程序代码的设计以及系统流程的设计。通过输入输出设计,将系统设计阶段与系统实施阶段联系起来。在系统实施阶段,医院信息管理系统的测试与维护至关重要。2.可行性研究报告通过对系统内容的调查与分析,考虑系统的规模和目标,对于系统设计的几个关键技术的可行性分析后的流程图如图2所示。图2 系统处理流程图如图所示:管理员对医院信息管理系统可以进行系统设置、信息管理、医生管理、统计查询。管理员可以新建一般用户,即医务人员。一般用户(医务人员)可以进行收费管理功能的使用,如使用门诊医疗、收费

7、管理等功能。但一般用户没有权利添加新用户,也没有限权删除原有用户。医院信息管理系统的四项关键技术(系统设置、信息管理、收费管理功能、统计查询功能)均与SQL数据库相关联,对SQL数据库中的数据,可进行增、删、改、查操作。通过SQL数据库的多表视图功能,还可进行多表连接,完成人工智能操作。2.1技术可行性随着国内软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件能力,能够满足不同行业的特别需求。而这个系统尽管其在组织关系上存在着很大的复杂性、繁复性,但是就整个系统的技术构成上看来,它还是属于一个数据库应用类的系统。其基本操作还是对存在数据库进行添加、删除、查找、编辑等。所以就

8、单纯的数据库应用来看,暂不存在太大的技术问题。2.2经济可行性对于整个系统而言,在系统未运行之前,初期投资比较大,花费相对而言比较多。但医院信息管理系统,减少了重要数据的流通环节,提高了医院的运营效率,保证了医院各项数据的准确性,同时避免了因人工管理造成的数据丢失。医院信息管理系统,适应当前社会信息化管理的发展形势。2.3管理可行性随着时代的发展,人员素质已经逐步提高,不论是对电脑系统的基本操作,还是对于系统的维护都有了一定的基础,管理的可行性也得到了保障。2.4开发环境可行性采用Microsoft Visual C+ 6.0作为开发工具,Visual C+ 6.0,集成了MFC6.0,于19

9、98发行。发行至今一直被广泛地用于大大小小的项目开发。Microsoft Visual C+,(简称Visual C+、MSVC、VC+或VC)微软公司的C+开发工具,具有集成开发环境,可提供编辑C语言,C+以及C+/CLI等编程语言。VC+整合了便利的除错工具,特别是整合了微软视窗程式设计(Windows API)、三维动画DirectX API,Microsoft .NET框架。Visual C+以拥有“语法高亮”,IntelliSense(自动编译功能)以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程

10、序。其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。这些特征明显缩短程式编辑、编译及连结的时间花费,在大型软件计划上尤其显著。3需求分析3.1软件需求说明书3.1.1业务需求(business requirement)医院信息管理系统是为解决医院对员工,医疗药品,收费等问题开发的管理系统。此系统需要按照一定的条件,查询、统计符合条件的伤病人员以及药品信息。系统中必须包括:系统设置功能,信息管理功能,收费管理功能以及统计查询功能。此外,本系统不但要有利于医院的统一性管理,而且还要提高伤病人员的就医效率以及医生的工作效率和工作积极性。医院信息管理系统必须能够满足中小型医院的运营和管理需

11、求。3.1.2用户需求(user requirement) 医院信息管理系统的用户分为管理员用户和一般用户(医务人员),用户的用例图,如下图所示:管理员用例图: 事件流:1. 管理员启动医院信息管理系统用例。2. 系统显示登陆界面。3. 管理员输入用户名及密码进入系统。4. 医院信息管理系统显示主界面。5. 管理员可以根据需要新建一般用户(医务人员),也可以删除离职的一般用户(医务人员)。6. 管理员根据医院发展需要,对医院科室进行设置,可以增加新科室、修改、删除查询现有科室。7. 管理员根据医院药品需求,可以添加、修改、删除、查询药品信息,即完成了医院对药品的智能管理功能。8. 管理员可以对

12、医院医生进行智能管理,可以对医院医生进行增、删、改、查管理,通过医院信息管理系统,完善医院人事管理。9. 管理员通过统计查询功能,对医院门诊收费信息进行统计管理,可以统计并查询医院销售信息,及医院效益10. 工作结束后,管理员终止医院信息管理系统用例。一般用户(医务人员)用力图: 事件流:1、 医务人员(一般用户)上班时启动医院信息管理系统用例。2、 系统显示登陆界面。3、 医生人员输入用户名及密码进入医院信息管理系统。4、 医院信息管理系统显示主界面。5、 医务人员上班时,可以查询医院现存药品信息。6、 医务人员可以启动统计查询管理,查询医院销售信息。7、 医务人员启动医生效益统计,查询自己

13、的工作业绩。8、 医务人员启动患者管理功能,查询患者信息。9、 医务人员启动门诊收费管理功能,可以为病人进行开处方,看病。10、 医务人员启动收费管理功能,可以为患者进行医疗划价收费。11、 工作结束后,医务人员终止医院信息管理系统用例。3.1.3功能需求(functional requirement)在医院信息管理系统中,系统必须具备如下功能:系统设置功能、信息管理功能、收费管理功能、统计查询管理功能。(1) 在系统设置功能中:必须包括:科室名称设置、药品类别设置、药品单位设置和用户信息。该模块必须实现的功能有:添加、修改、删除和查看科室信息;添加、修改、删除和查看药品类别信息;添加、修改、

14、删除和查看药品单位信息;以及管理员可以添加、修改、删除、查看用户信息。(2) 在信息管理功能中:此模块必须实现的主要功能包括:药品管理、医生管理、患者管理。其中药品管理包括:添加、修改、删除和查看药品信息;医生管理包括:添加、修改、删除和查看医生信息;患者管理包括添加、修改、删除和查看患者信息。(3) 在收费管理功能中:此模块必须实现收费项目管理和门诊收费管理两大功能。其中收费项目管理包括:添加、修改、删除和查看收费项目信息。(4) 在统计查询管理功能中:此模块必须实现对门诊收费信息进行统计和查询,必须包括:销售信息统计查询以及医生效益统计查询。医院信息管理系统系统流程图如下:如图所示:添加的

15、数据程序通过录入进入医院管理信息存储,被存储的信息被记录到医院信息管理系统库中。如果要对医院信息管理系统库中的信息进行修改,首先要将修改好的程序存入医院管理信息存储中,然后将修改的记录存入医院信息管理系统库中。查询数据程序,可以直接访问医院信息管理系统库,对医院信息管理系统库中的数据进行访问。医院信息管理系统中的删除数据程序,是通过直接删除医院信息管理系统库中的数据完成的。3.2数据要求说明书3.2.1数据流分析数据流程图是新系统逻辑模型的主要组成部分,它可以反映出新系统的主要功能、系统与外部环境间的输入输出、系统内部的处理、数据传送、数据存储等情况。它的绘制依据是现行系统流程图,数据流程图是

16、管理信息系统的总体设计图。其中数据处理指对数据的逻辑处理功能,也就是对数据的变换功能。数据流是指处理功能的输入和输出,用一个水平箭头或垂直箭头表示。数据存储是数据保存的地方。数据源/数据去向表示数据的来源或数据的流向。(1) 顶层数据流图顶层数据流图见图3-2-1-1。(2)管理员总体设计流图管理总体数据流图见图3-2-1-2。(3)普通用户总体设计流图普通用户总体设计流图见图3-2-1-3。3.2.2数据字典数据字典是开发者与用户相互沟通的有效途径之一。它能形象的向用户描述开发者的意图,使用户明白数据库可能具有的项目,可有效地缓解开发者和用户之间的交流沟通,也有利于用户向开发者提出自己的需求

17、,避免因理解分歧造成的代价巨大的接口问题。数据字典是各类数据描述的集合,它是进行详细的数据收集和数据分析后所获得的主要成果。针对本系统,通过对医院管理信息内容和过程的分析,设计的的数据项和数据结构摘要如下:4总体设计4.1概要设计说明书4.1.1功能模块图功能模块图见图4-1-14.1.2数据库分析4.1.2.1系统ER图本系统存在四个实体,分别是“用户管理”,“医生”,“患者”,以及“药品”。其中这四个实体也是一对多的关系,如:管理用户对应着“用户名称”,“用户密码”两个属性。医生实体对应着“姓名”,“年龄”,“科室”,“职称”和“业绩”这五个属性。患者实体对应着“姓名”,“年龄”,“就诊科

18、室”及“身份证号”属性。“药品”实体对应着“进货价格”,“销售价格”,“库存数量”属性。其中“管理用户”和“医生”,“患者”,“药品”之间存在着“管理”的联系,“医生”和 “患者”之间存在着“医患”的关系。“医生”和“药品”之间存在着“销售”关系。“患者”和“药品”之间存在“购买”关系。详情见下面图(1)所示的ER图:图(1)系统ER图注:患者与医生由patient表和doctor表构成多对多关系。医生与药品由medic表和doctor表构成多对多关系。患者与用户管理由patient表和user表构成多对多关系。药品与用户管理由mecdic表和user表构成多对多关系。患者与药品由表payit

19、erms 和patient,iterms构成多对多关系。医生与药品由表doctor和items,basetype构成多对多关系。4.1.2.2创建数据库(1)启动SQL Server 服务器,。(2)使用查询分析器,编写SQL 语句,创建数据库Hospital(3)在数据库Hospital中,使用查询分析器,编写SQL 语句,生成数据库中需要的8个表(基本信息表,用户信息表,药品信息表,医生信息表,患者信息表,收费项目表,门诊收费项目明细表和门诊收费登记表)。4.2详细设计说明书4.2.1设计思路1系统模块划分本实例所描述的医院门诊管理系统主要包括以下功能。(1) 系统设置功能:包括科室名称设

20、置、药品类别设置、药品单位设置和用户信息。该模块可以实现添加、修改、删除和查看科室信息;添加、修改、删除和查看药品类别信息;添加、修改、删除和查看药品单位信息;添加、修改、删除门诊收费系统和查看用户信息。(2) 信息管理功能:此模块的主要功能包括药品管理、医生管理、患者管理。其中药品管理包括添加、修改、删除和查看药品信息;医生管理包括添加、修改、删除和查看医生信息;患者管理包括添加、修改、删除和查看患者信息。(3) 收费管理功能:此模块的主要功能包括收费项目管理、门诊收费管理。其中收费项目管理包括添加、修改、删除和查看收费项目信息。(4) 统计查询管理:本模块用于对门诊收费信息进行统计和查询,

21、主要功能包括销售信息统计查询以及医生效益统计查询。2设计思路描述医院信息管理系统是使用Visiual C+和SQL Server来协同开发的,具体的开发思路如下。(1) 使用SQL Server建立数据库和表以及相应的视图;(2) 使用Visual C+建立基于对话框模型的工程框架;(3) 依次创建各表的类,用来操作表的数据;(4) 创建用户登录模块,实现基本的登录和退出功能;(5) 创建医院管理模块,实现对医院系统的编辑和管理功能;(6) 创建信息管理模块,实现对药品、医生、患者信息的编辑和管理功能;(7) 创建收费管理模块,实现收费项目、门诊登记以及收费等信息的编辑以及管理功能;(8) 创

22、建统计查询管理模块,实现对销售信息和医生效益的统计功能。4.2.2编程原理1ADO连接在使用ADO数据库之前,必须先建立数据库连接,通过ADOConnection界面,就可以完成。为了要创建一个连接,可以先声明一个指向ADOConnection界面的指针,然后,使用CoCreateInstance方法,在内存中建立连接。CLSCTX_INPROC_SERVER变量指出ADO连接对象在程序中以DLL方式运行,而不是在单个程序中甚至在不同的计算机中以“.Exe”方式运行。表43-1所示列出了3个可能已有的连接位置,虽然CLSCTX_INPROC_SERVER是经常用到的。表43-1ADO连接位置一

23、旦分配了ADO连接,就可以使用它来连接数据库,此时需要指定一个BSTR变量,该变量包含有数据库名字、用户ID、口令和所有以后用到的光标类型。2ADO记录集一旦建立了ADO连接,那么就可以创建一个ADO记录集,它包含由一个SQL SELECT语句的结果。为了要创建ADO记录集,必须先使用CoCreateInstance方法对它进行分配,正如对ADO连接所做的一样。通常把它存储在数据库服务器级。一旦分配了ADO记录集,就可以使用Open函数来打开记录集。l ADORecordset锁在打开记录集时,可能有4个不同值供LockType参数使用。l 执行ADORecordset选项该选项影像ADO如何

24、解释源语句。l 使用ADORecordset方法有许多从记录集中调用的方法,Visual C+提供的adoint.h文件中列出了这些方法。3ADO字段在找回记录集后,需要找到值并将值放在记录集内,按照以下3个步骤进行:(1)从ADO记录集中找到ADOFields容器。(2)获得ADOFields容器所包含的每个字段并将它存入ADOFields变量中。(3)准备好来查看和处理字段中的信息,可以找到每个ADO字段中的值并将它存入VARIANT或CComvariant中。使用这些技术,可以找到并更新字段中的信息。l 字段数据类型ADOField.get_Type方法返回一个字段的数据类型,Data

25、TypeEnum变量是一个包含数据类型的enum。l 字段属性字段属性可能是ADO中最不直观的部分,虽然以一个长整型被返回,但是长整型变量逻辑上是一个FieldAttributeEnum枚举中属性的ANDed组合。l SQL命令和记录集一起,ADO允许对连接直接运行SQL,如果仅需要一个简单的SQL语句来运行,并且不需要担心形成一个记录集,那么这是很便利的,ADOConnection:Excute的格式用于运行SQL。4在VC+应用程序中使用ADO有两种方法可以在VC+程序代码中使用ADO。可以使用ADO头文件和OLE DB SDK的输入库。在源代码中包含ADO头文件(adoid.h和adoo

26、nt.h)并把ADO输入库adoid.lib加入连接器的输入中,这样就可以创建一个ADO对象的实例,并访问其成员函数。使用这种方法,连接到一个数据源并创建一个Command对象。在VC+应用程序中使用ADO的另一种方法是使用#import。通过#import使用ADO库,可以使用较少的代码获得同样的ADO功能。代码的后面不必对pConnection和pCpmmand调用Release函数以便释放这些对象。因为pConnection和pCommand都是智能指针,所以当超过自己的范围后,会自动调用Release函数以释放这些对象。另外使用#import指令意味着不必在源代码中包含ADO头文件,也

27、不必连接ADO输入库adoid.lib。从上面的对比中可以看出,使用#import指令与使用OLE DB SDK相比,可以编写较少的代码。4.2.3实例详解1创建数据库和表在设计数据库表结构之前,首先要创建一个数据库。可以在企业管理器中创建数据库,也可以在查询分析器中执行以下Tansact-SQL语句:CREATE DATABASE HospitalGO该数据库包含8个表:基本信息表、用户信息、药品信息表、医生信息表、患者信息表、收费项目表、门诊收费项目明细和门诊收费登记表。l 基本信息:表用来保存科室名称、药品类别和药品单位名称等信息。l 用户信息:用来保存用户信息。l 药品信息表:用来保存

28、药品信息。l 医生信息表:用来保存医生信息。l 患者信息表:用来保存就诊患者信息。l 收费项目表:用来保存收费项目的基本信息。l 门诊收费项目明细:用来保存门诊登记单中收费项目的基本信息。l 门诊收费登记表:用来保存门诊收费登记信息。2创建工程框架l 创建工程在Visual C+中,建立医院信息管理系统的基本框架,步骤如下。(1) 单击菜单“FileNew”命令,打开“New”对话框,单击“Projects”选项卡,选择“MFC AppWizard(Exe)”,输入工程名,设置路径,最后单击“ok”按钮。(2) “MFC AppWizard-Step 1”对话框已经打开,单击“Dialog b

29、ased”,接着单击“Next”按钮。(3) 在弹出的“MFC AppWizard-Step 2 of 4”对话框中,输入对话框的标题。(4) 在接下来的对话框中都不做修改,默认原有的选择。设置好属性,单击“确定”按钮后,就完成了新建工程。l 设计主对话框对主对话框进行菜单设置,主要步骤如下。(1) 单击“ResourceView”选项卡,右键单击“HR Resources”选项,选择“Insert”菜单项,打开“HR Resources”窗口。(2) 选择“Menu”文件夹,然后单击“New”按钮,在HR Resources目录下新增一个Menu目录项,菜单ID为IDR_MENUI。双击此菜

30、单,对此菜单项的属性进行设计。(3) 打开对话框IDD_HR_DIALOG属性窗口,在Menu组合框中选择IDR_MENUI。单击工具栏中的“运行”按钮,可以看到系统的主界面。(4) 打开ClassWizard窗口,为菜单项IDR_EXIT添加代码,对应的函数为OnEXit()。程序调用OnOK()函数关闭对话框,退出系统。l 添加ADO连接类本实例采用ADO来连接SQL Server数据源,所以必须添加一个用来连接的ADO类。在系统菜单中选择“InsertNew Class”项,打开“New Class”窗口,选择“Generic Class”,然后输入类名,就完成了类的添加。3创建数据库表

31、的类本实例中为数据库的每个表都创建一个类,类的成员变量对应表的列,类的成员函数是对成员变量和表的操作。在系统菜单中选择“InsertNew Class”,打开“New Class”窗口,选择“Generic Class”,然后输入类名,类的命名规则是大写字母“C”加上表名。在通常情况下,类的成员变量与对应的表中的列名相同。绝大多数成员函数的编码格式都是非常相似的。l 基本信息类:管理基本信息表的数据库操作。l 用户信息类:管理用户信息表的数据库操作。l 药品信息类:管理药品信息表的数据库操作。l 患者信息类:管理患者信息表的数据库操作。l 收费项目类:管理收费项目表的数据库操作。l 门诊收费项

32、目明细类:管理门诊收费项目明细表的数据库操作。l 门诊收费登记类:管理门诊收费登记表的数据库操作。4创建登录模块用户要使用本系统,必须通过系统的身份认证。l 添加全局类当前用户数据应该是全局有效的,在工程的任何位置都可以访问它。添加一个全局类,用于保存全局变量。因为StdAf7.h默认包含在很多程序中,所以在StdAf7.h中添加包含该全局类的头文件就可以在这些程序中直接访问curUser对象了,在访问之前,还需要添加如下命令引入外部变量。l 添加登录对话框用户登录需要添加一个对话框。输入用户名的编辑框为“IDC_USERNAME_EDIT”,输入密码的编辑框为“IDC_PWD_EDIT”。*

33、 在属性窗口中,选中编辑框“IDC_PWD_EDIT”的“Password”属性,这样用户在输入数据时编辑框中只显示“*”。打开ClassWizard窗口,为该对话框创建一个类,单击“Member Variables”选项卡,为编辑框IDC_USERNAME_EDIT和IDC_PED_EDIT分别指定成员变量m_UserName和m_Pwd,它们的数据类型都是CString。当用户单击“确定”按钮时,将发送BN_CLICKED消息,在ClassWizard窗口中为其添加函数OnOK(),具体如下所示。为了在该类中使用用户表的类的对象,需要在程序开始部分添加包含用户表的类的代码。在主对话框中添加

34、代码,使对话框在启动时首先打开登录对话框。在ClassWizard窗口中添加OnInitDialog()函数,该函数将打开登录对话框,如果用户不是通过单击“确定”按钮关闭登陆对话框,则调用OnOK()函数关闭主对话框。* 在登录对话框中,用户只有在通过身份认证后才能调用OnOK()函数关闭对话框。因此可以判断,如果dlg.DoModa()的返回值为IDOK,则表示用户已经通过了身份认证。5创建医院设置模块l 添加科室信息设置对话框科室信息管理对话框可以用来添加、修改、删除和查看科室信息。为了便于交换数据,在其类头文件中定义两个公共变量:CString cDId,用于保存当前编辑的科室编号;CS

35、tring cDNameOLd,用于保存当前编辑的科室名称。对话框启动时,程序将自动根据Adodc控件设置的记录源读取科室信息,并将科室名称显示在DataList控件中。当用户单击DataList控件时,将执行OnClickDataList()函数。程序将从DataList控件中读取科室编号信息,并将科室名称显示在编辑框中。当用户单击“添加”按钮时,将执行OnAddButton()函数。当用户单击“修改”按钮时,将执行OnEditButton()函数。在保存数据之前,程序要判断科室名称是否为空以及是否选择了要修改的科室记录。当用户单击“删除”按钮时,将执行OnDelelButton()函数。在

36、删除数据之前,程序调用MessageBox()函数打开一个包含“是”和“否”按钮的对话框,提示用户确认是否删除数据。l 添加药品类别设置对话框* 此对话框的代码实现与科室管理对话框相似。l 添加药品单位设置对话框* 此对话框的代码实现与科室管理对话框相似。6创建用户管理模块l 添加用户信息新建功能要实现用户信息新建功能,需添加新建用户信息对话框。在对话框中没有输入密码的编辑框,因为在添加用户时,用户密码将由系统自动设置为“”。当用户单击“确定”按钮时,将执行OnOK()和函数,该函数将判断用户名是否已经存在,因为系统不允许存在同名的用户,如果不存在同名的用户,程序将调用sql_insert()

37、函数保存用户数据。l 添加用户信息管理功能要实现用户信息管理功能,需添加一个用户管理对话框。当用户单击“添加”按钮时,将执行OnAddButton()函数,该代码将打开一个添加用户信息的对话框,将公共变量iUserType设置为2,表示添加的用户记录默认类型为普通用户。当用户单击“密码复位”按钮时,将执行OnModiButtion()函数。因为DataList控件的BoundColumn属性被设置为User_type字段,所以m_datalist.GetBoundText()将返回当前选择用户类型值。除Adiministrator用户外,其他系统管理员只能对自己和普通用户进行密码复位。当下面3

38、个条件都满足时,当前用户不具备对选择用户进行密码复位的权限:当前用户不是Adiministrator;当前用户与选择用户不是同一个用户;选择用户是系统管理员。当用户单击“删除”按钮时,将执行OnDelButtion()函数,该函数在删除用户时,同时需要进行权限认证。除Adiministrator外,其他系统管理员只能删除普通用户,而且Adiministrator在任何情况下都不允许被删除。l 添加用户密码修改功能要实现用户密码修改功能,需添加用户密码修改对话框。当用户单击“确定”按钮时,将执行OnOK()函数,该函数首先对输入数据进行有效性检查,检查如下内容:旧密码不能为空;新密码不能为空;新

39、密码和确认密码必须相同;用户名和密码必须能通过身份认证。通过这些检查后,程序将会调用sql_updatePwd()函数更新当前用户的密码。l 添加用户管理代码当用户单击主界面的菜单中的“用户管理”菜单项时,将执行OnUserman()函数。当用户单击主界面中的“修改密码”菜单项时,将执行OnPwdman()函数。7创建信息管理模块l 添加药品信息编辑对话框添加药品信息对话框可以用来添加和修改药品信息。打开Class Wizrad窗口,为该对话框创建类并为控件设置成员变量。在对话框的头文件中,添加5个公共变量:CString cMId,用于保存当前编辑的药品记录编号;CString cMedNa

40、me,用于保存当前编辑的药品名称;CString cTId,用于保存当前编辑的药品类别编号;CString cUid,用于保存当前编辑的药品单位编号;CString cFlg,用于保存当前编辑的药品分类信息,中药或西药。当对话框启动时,将调用OnInitDialog()函数。如果成员变量cMId等于空,则表示添加记录,此时程序将对药品分类组合框控件进行初始化。如果成员变量cMId不等于空,则表示修改记录,此时成员变量将在打开对话框之前被赋值。当用户单击“确定”按钮时,将执行OnOK()函数。在保存数据之前,需要判断药品名称是否存在。程序将根据成员变量才,cMId的值,决定保存数据的方式,包括插

41、入数据和修改数据。l 添加药品信息管理对话框查询条件分为全部和按类别查询两种情况。当选择全部时,后边的组合框将不可见;当选择按类别查询时,后面的组合框中列出所有的药品类别名称。l 对应框中包含两个ADO Data控件,分别为查询条件组合框和DataGrid控件提供数据源。可以在实例工程中查看各控件的属性及对应的成员变量。函数RefreshData()的功能是根据用户选择的查询条件设置ADO Data控件的数据源,从而决定在DataGrid控件中显示的药品记录。l CASE WHEN_ELSE_END是SQL Server的分支语句,可以在SELECT语句中使用它。通常当表中使用整型字段表示状态

42、时,可以使用CASE语句将其转换为对应的文本显示。当载入对话框时,将执行OnInitDialog()函数。程序将设置查询条件为“全部”,并隐藏药品类别组合框,最后调用RefreshData()函数刷新显示。当用户选择查询类别组合框时,将执行OnSelchangeSelCombo()函数。如果选择显示全部记录,则隐藏DataCombo控件。当用户单击DataCombo控件时,将执行OnAddButton()函数,程序将打开编辑药品信息的对话框。当用户单击“添加”按钮时将执行OnAddButton()函数。程序将打开编辑药品信息对话框。当用户单击“修改”按钮时,将执行OnEditButton()函

43、数,程序将从DataGrid控件中读取数据,赋值到药品编辑对话框的对应成员变量中。当用户单击“删除”按钮时,将执行OnDeltButton()函数。l 添加选择药品记录对话框当用户单击“确定”按钮时,将执行OnOK()函数。l 添加医生信息编辑对话框在类的头文件中,添加3个公共变量:CString cDId,保存当前编辑的医生编号;CString cSex,保存当前编辑的性别信息;CString cDeptId,保存当前编辑的科室信息。* 此对话框的代码与药品信息编辑对话框的相似。l 添加医生信息管理对话框查询条件分为全部和按科室查询两种情况。当选择全部时,后面的组合框不可见,当选择按科室查询

44、时,后边的组合框中列出所有的可是名称。对话框中包含两个ADO Data控件,分别为查询组合框和DataGrid控件提供数据源。可以在实例工程中查看各控件的属性及对应的成员变量。l 添加患者信息编辑对话框添加一个对话框,步骤代码与编辑药品信息对话框相似。l 添加患者信息管理对话框添加一个对话框。步骤代码与添加医生信息管理对话框类似。8创建收费管理模块l 添加收费项目编辑对话框添加一个对话框。在对话框的头文件中,添加3个公共变量:CString cItId,保存当前编辑记录的编号;CString cItemName,保存当前编辑记录的名称;CString cUId,保存当前编辑记录的计量单位编号。

45、当对话框启动时,将调用OnInitDialog()函数。如果成员变量cItId等于空,则表示添加记录。如果成员变量cMId不等于空,则表示修改记录,此时成员变量将在打开对话框之前被赋值。当用户单击“确定”按钮时将执行OnOK()函数。在保存数据之前需要判断收费项目名称是否存在。程序员将根据成员变量cItId的值,决定保存数据的方式,包括插入数据和修改数据。l 添加收费项目管理对话框添加一个对话框。函数RefreshData()的功能是设置ADO Data控件的记录源,根据选择的查询条件,生成SELECT语句,查询相应的收费项目记录,并显示在DataGrid表格中。当用户单击“添加”按钮时,将执

46、行OnAddButton()函数,程序将从DataGrid控件中读取数据,赋值到收费项目编辑对话框的对应成员变量中。当用户单击“删除”按钮时,将执行OnDelButton()函数。l 添加门诊登记单收费项目编辑对话框编辑门诊登记收费项目的对话框可以在编辑门诊收费信息时用来添加和修改收费项目信息。添加一个对话框。在其头文件中,添加2个公共变量:CString cPayId,记录编号;CString cItemID,记录编号。当用户单击“选择”按钮时将执行OnSelectionButton()函数。程序将根据“收费类别”单选按钮的值决定打开的选择对话框。选择药品对话框对应的类为CMedSelectionDlg,选择收费项目对话框对应的类为CItemSelectionDlg。如果用户在选择对话框中单

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com