 
         
         
         
         
        
            已阅读5页,还剩11页未读,            继续免费阅读
        
        
                版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
            基础数据维护子系统的设计与实现2006级信息管理与信息系统1班 1号 张三、2号 李四1 需求分析1.1 系统需求分析基础数据维护子系统是整个门诊系统运行的基础,是其它各个子系统的数据来源,它提供整个门诊系统正常运行所需的基础数据集(公共代码),它服务于门诊所有的子系统,是整个门诊系统的核心和基础。基础数据维护子系统完成基础信息(公共代码)的管理和维护,包括基础信息的录入、修改、删除、查询、打印等操作。1.2 可行性分析项目合作公司已经有10年的医院管理软件开发经验,对医院门诊业务已经非常熟悉;项目合作公司提供了大力的物力和人力方面的支持;本人已经设计并实现了若干个管理信息系统,技术水平也已经达到了开发该系统的要求。1.2.1 系统的实现平台为了让系统能够顺畅、高效的运行,计算机的硬件建议最低配置如下:CPU 1.7GHZ内存 512M硬盘 40G操作系统 WIN XP/2000操作系统或更高1.2.2 开发工具的选择PowerBuilder 9.0作为前台的开发工具,用Microsoft SQL Server 2000作为后台支持数据库,通过PowerBuilder 9.0提供的数据库连接专用接口连接SQL Server 2000中的数据库,并对其编程来实现各种系统所有功能。1.2.3 开发工具概述 PowerBuilder 9.0概述PowerBuilder 9.0发布于2003年6月,它是业界第一个集设计、建模、开发、部署、管理等各项功能为一体的新一代快速应用开发工具,为开发者提供了更加简单易用、高效优质的应用开发环境。PowerBuilder 9.0是一个开放的、适用于各类异质部署环境的快速应用开发工具,它将管理理念和可重用的应用系统开发相互有机结合,是开发商业软件的有力武器,标志一个新的开发模式的开始。利用PowerBuilder 9.0可以更容易的深入从事网络和N层数据库应用程序的开发工作,同时还利于开发人员创建面向富客户(rich-client)的应用系统,以满足当前市场对这种系统的商业需求。此外PowerBuilder 9.0还支持J2EE和Microsoft.Net技术体系,并且能与PowerDesigner紧密地相结合。 SQL Server 2000 数据库简介早期的一些数据库软件,无论是数据库的建立、数据库的维护,还是数据的操作都相当复杂且不易实现,但是在具备了图形用户界面特性的SQL Server数据库软件推出之后,以上列举的操作不再是困难的事情,我们可以快速地在数据库服务器上建立起一个符合系统所需的数据库。SQL Server 2000是SQL Server系列中非常有代表性的一个版本,它是一个大型关系数据库管理系统,是微软公司在SQL Server 7.0版的基础上经过改进和提高而推出的数据库产品。它的性能、可靠性、质量以及易用性都比以前的版本大有提高。它提供了许多提高系统运行性能的新功能,并使数据库的管理工作变得更加轻松容易。把SQL Server 2000作为OLTP 、数据仓库以及电子商务应用程序的后台数据库是一个不错的选择。在SQL Server 2000关系数据库中,信息被存放在二维表格结构的表(TABLE)中。数据库中的表之间可以是相互关联的,表之间的这种关联性是通过主健和外键体现出来的参照关系来实现的。数据库中不仅包括表,还包括其他数据库对象,如:视图、存储过程、索引等。2 系统设计2.1 系统功能设计对医院门诊业务进行深入分析,可以发现系统用到的基础数据可以分为以下几大类:(1)部门科室主要包括:医院部门、科室信息,以及为了描述部门、科室所需的辅助(如:部门类型、科室类别等);(2)人员主要包括:医院人员信息,以及为了描述人员所需的辅助(如:性别、民族、职业等);(3)药品主要包括:医院药品信息,以及为了描述药品所需的辅助(如:药品类型、剂型等);(4)诊疗主要包括:各种诊疗项目信息,以及为了描述诊疗项目所需的辅助(医嘱类型、医学符号、疾病类型等);(5)医疗保险主要包括:各种医疗保险信息,以及为了描述医疗保险所需的辅助(如:医保类型、医保接口方式等);(6)财务主要包括:各种医院收费项目信息,以及为了描述收费项目所需的辅助(如:支付方式、票据类型、优惠方式等);(7)系统用户主要包括:系统用户信息,以及为了描述系统用户所需的辅助(如:用户角色等);根据以上分析的结果,给出系统功能模块结构图如下:基础数据维护子系统We部门科室类维护人员类维护药品类维护诊疗类维护医疗保险类维护财务类维护系统用户类维护图2-1 系统模块结构We根据系统需求分析和系统功能模块结构图来看,该系统应具备如下基本功能:部门科室类信息添加、删除、修改、查询功能人员类信息添加、删除、修改、查询功能药品类信息添加、删除、修改、查询功能诊疗类信息添加、删除、修改、查询功能医疗保险类信息添加、删除、修改、查询功能财务类信息添加、删除、修改、查询功能系统用户类信息添加、删除、修改、查询功能2.2 数据库设计经过对需求的详细分析,设计了106个数据表,这些数据表基本上都符合3NF的要求,由于数据表数量较多,在这里我们仅给出一部分和人员信息有关的数据表结构的描述。数据库名:JC表2-1性别表结构字段名数据类型长度可否为空说明xb_bmchrchar1No性别编码xb_mcchrvarchar20No性别名称xb_pymchrvarchar5Yes拼音码xb_sybzchrchar1Yes使用标志主键为:xb_bmchr表2-2民族表结构字段名数据类型长度可否为空说明mz_bmchrchar2No民族编码mz_mcchrvarchar20No民族名称mz_pymchrvarchar5Yes拼音码mz_sybzchrchar1Yes使用标志主键为:mz_bmchr表2-3职业表结构字段名数据类型长度可否为空说明zy_bmchrvarchar2No职业编码zy_mcchrvarchar20No职业名称zy_pymchrvarchar5Yes拼音码zy_sybzchrchar1Yes使用标志主键为:zy_bmchr表2-4职称表结构字段名数据类型长度可否为空说明zc_bmchrvarchar3No职称编码zc_mcchrvarchar20No职称名称zc_gszybmchrvarchar4Yes归属职业编码zc_pymchrvarchar5Yes拼音码主键为:zc_bmchr表2-5政治面貌表结构字段名数据类型长度可否为空说明zzmm_bmchrvarchar2No政治面貌编码zzmm_mcchrvarchar100No政治面貌名称zzmm_pymchrvarchar30Yes拼音码zzmm_sybzchrchar1Yes使用标志主键为:zzmm_bmchr表2-6聘用方式表结构字段名数据类型长度可否为空说明pyfs_bmchrvarchar2No聘用方式编码pyfs_mcchrvarchar100No政治面貌名称pyfs_pymchrvarchar30Yes拼音码pyfs_sybzchrchar1Yes使用标志主键为:pyfs_bmchr表2-7职工基本信息表结构字段名数据类型长度可否为空说明zgjbxx_bmchrvarchar4No职工编码zgjbxx_xmchrvarchar50No职工姓名zgjbxx_zjmchrvarchar30Yes助记码zgjbxx_xbchrvarchar1Yes职工性别zgjbxx_mzchrvarchar2Yes民族zgjbxx_csrqdtmdatetime8Yes出生日期zgjbxx_zzmmchrvarchar2Yes政治面貌zgjbxx_zylbchrvarchar2Yes职业类别(医师、护士)zgjbxx_zcchrvarchar3Yes职称zgjbxx_pyfschrvarchar2Yes聘用方式(正式、临时等)zgjbxx_jtzzchrvarchar200Yes家庭住址zgjbxx_lxdhchrvarchar30Yes联系电话zgjbxx_jgchrvarchar200Yes籍贯zgjbxx_jjtxttext16Yes个人简介zgjbxx_qtsmtxttext16Yes其他说明zgjbxx_zgbzchrCHAR1Yes在岗标志主键为:zgjbxx _bmchr3 系统实现由于系统功能比较复杂,涉及到的窗口有100多个,我们仅仅列举其中的几个,用于说明系统的实现。3.1 系统登窗口 通过该窗口实现对用户的身份进行验证,保证非法用户无法进入系统。图3-1 系统登录界面3.2 系统主窗口通过系统主窗口上的菜单可以打开各个基础数据维护窗口,进行数据维护。图3-2 系统主界面3.3 系统主菜单图3-3 系统主菜单3.4 职工基本信息维护窗口图3-4 职工基本信息维护窗口“保存”按钮中的代码如下:String ls_bm /编码String ls_xm /姓名String ls_zjm /助记码String ls_xb /性别datetime ldt_cssj /出生时间String ls_mz /民族String ls_zzmm /政治面貌String ls_zy /职业String ls_zc /职称String ls_pyfs /聘用方式String ls_lxdh /联系电话String ls_jtzz /家庭住址String ls_grjj /个人简介String ls_qtsm /其他说明string ls_zgbz /在岗标志datetime ldt_xtsj /系统时间Integer li_countstring ls_errtextint li_rtstring ls_sql_jc /在基础库中执行 string ls_sql_mz /在门诊库中执行dw_1.AcceptText()if dw_1.rowcount() 1 then returnif dw_1.modifiedcount( ) 1 then messagebox(提示,数据没有发生变化!)returnend if/数据合法性校验ls_bm = dw_1.getitemstring(dw_1.getrow(),zgjbxx_bmchr) /编码ls_bm = string(integer(trim(ls_bm),0000)dw_1.setitem( dw_1.getrow(),zgjbxx_bmchr,ls_bm)if ib_bm_isvalid = false thenmessagebox(提示,请重新输入编码!)dw_1.setfocus()dw_1.setcolumn(zgjbxx_bmchr)dw_1.selecttext( 1,len(ls_bm)returnend if/判断该编码是否已经使用SELECT count(*) INTO :li_countFROM jcjc_tb_zgjbxx WHERE zgjbxx_bmchr = :ls_bm USING sqlca ;IF sqlca.SQLCode = 1 and str_czlx.czlx= new THENMessageBox(提示,该编码已经被使用,请重新输入编码!)dw_1.setcolumn( zgjbxx_bmchr)dw_1.selecttext( 1,len(ls_bm)RETURNEND IF/判断姓名是否为空ls_xm = dw_1.getitemstring(dw_1.getrow(),zgjbxx_xmchr) /姓名if trim(ls_xm) = or isnull(ls_xm) thenmessagebox(提示,姓名不能空!)dw_1.setcolumn(zgjbxx_xmchr)dw_1.selecttext( 1,len(ls_xm)returnend if/判断在岗标志是否为空ls_zgbz = dw_1.getitemstring(dw_1.getrow(),zgjbxx_zgbzchr) /在岗标志if isnull(ls_zgbz) then messagebox(提示:,在岗标志不能为空!)dw_1.setcolumn(zgjbxx_zgbzchr)returnend ifls_mz = dw_1.getitemstring(dw_1.getrow(),zgjbxx_mzchr) /民族if isnull(ls_mz) then ls_mz = /判断民族是否存在if ls_mz = or isnull(ls_mz) thenelse select mz_bmchr into :ls_mz from jcjc_ta_mz where mz_mcchr =: ls_mz using sqlca;IF sqlca.SQLCode 0 THENls_errtext = sqlca.SQLErrTextMessageBox(错误信息,错误信息: + ls_errtext)RETURNEND IFIF ls_mz = or isnull(ls_mz) THENMessageBox(提示,民族输入有误,请重新输入!)dw_1.setfocus()dw_1.setcolumn( zgjbxx_mzchr)dw_1.selecttext( 1,len(ls_mz)RETURN END IFend ifls_zjm = dw_1.getitemstring(dw_1.getrow(),zgjbxx_zjmchr) /助记码if isnull(ls_zjm) then ls_zjm = ls_xb = dw_1.getitemstring(dw_1.getrow(),zgjbxx_xbchr) /性别if isnull(ls_xb) then ls_xb = ldt_cssj = dw_1.getitemdatetime(dw_1.getrow(),zgjbxx_csrqdtm) /出生日期if isnull(ldt_cssj) then ldt_cssj = datetime(date(1900-01-01)ls_zzmm = dw_1.getitemstring(dw_1.getrow(),zgjbxx_zzmmchr) /政治面貌if isnull(ls_zzmm) then ls_zzmm = ls_zy = dw_1.getitemstring(dw_1.getrow(),zgjbxx_zylbchr) /职业if isnull(ls_zy) then ls_zy = ls_zc = dw_1.getitemstring(dw_1.getrow(),zgjbxx_zcchr) /职称if isnull(ls_zc) then ls_zc = ls_pyfs = dw_1.getitemstring(dw_1.getrow(),zgjbxx_pyfschr) /聘用方式if isnull(ls_pyfs) then ls_pyfs = ls_lxdh = dw_1.getitemstring(dw_1.getrow(),zgjbxx_lxdhchr) /联系电话if isnull(ls_lxdh) then ls_lxdh = ls_jtzz = dw_1.getitemstring(dw_1.getrow(),zgjbxx_jtzzchr) /家庭住址if isnull(ls_jtzz) then ls_jtzz = ls_grjj = dw_1.getitemstring(dw_1.getrow(),zgjbxx_jjtxt) /个人简介if isnull(ls_grjj) then ls_grjj = ls_qtsm = dw_1.getitemstring(dw_1.getrow(),zgjbxx_qtsmtxt) /其他说明if isnull(ls_qtsm) then ls_qtsm = /ldt_zzsj = dw_1.getitemdatetime(dw_1.getrow(),zgjbxx_zzsjdtm) /终止时间if str_czlx.czlx = edit then/修改记录ls_sql_jc = update jcjc_tb_zgjbxx set zgjbxx_xmchr= +ls_xm+,zgjbxx_zjmchr = +ls_zjm+,zgjbxx_xbchr =+ls_xb+,& +zgjbxx_mzchr =+ls_mz+,zgjbxx_csrqdtm=+string(ldt_cssj)+,zgjbxx_zzmmchr=+ls_zzmm+,zgjbxx_zylbchr=+ls_zy+,& +zgjbxx_zcchr=+ls_zc+,zgjbxx_pyfschr=+ls_pyfs+,zgjbxx_jtzzchr=+ls_jtzz+,zgjbxx_lxdhchr=+ls_lxdh+,& +zgjbxx_jjtxt=+ls_grjj+,zgjbxx_qtsmtxt=+ls_qtsm+,zgjbxx_zgbzchr =+ls_zgbz+& + where zgjbxx_bmchr =+ls_bm+ls_sql_mz = update mzjc_tb_zgjbxx set zgjbxx_xmchr= +ls_xm+,zgjbxx_zjmchr = +ls_zjm+,zgjbxx_xbchr =+ls_xb+,& +zgjbxx_mzchr =+ls_mz+,zgjbxx_csrqdtm=+string(ldt_cssj)+,zgjbxx_zzmmchr=+ls_zzmm+,zgjbxx_zylbchr=+ls_zy+,& +zgjbxx_zcchr=+ls_zc+,zgjbxx_pyfschr=+ls_pyfs+,zgjbxx_jtzzchr=+ls_jtzz+,zgjbxx_lxdhchr=+ls_lxdh+,& +zgjbxx_jjtxt=+ls_grjj+,zgjbxx_qtsmtxt=+ls_qtsm+,zgjbxx_zgbzchr =+ls_zgbz+& + where zgjbxx_bmchr =+ls_bm+elseif str_czlx.czlx = new then/插入新记录 ls_sql_jc = INSERT INTO jcjc_tb_zgjbxx( zgjbxx_bmchr,zgjbxx_xmchr,zgjbxx_zjmchr,zgjbxx_xbchr, zgjbxx_mzchr,zgjbxx_csrqdtm,zgjbxx_zzmmchr,zgjbxx_zylbchr,& +zgjbxx_zcchr,zgjbxx_pyfschr, zgjbxx_jtzzchr,zgjbxx_lxdhchr, zgjbxx_jjtxt,zgjbxx_qtsmtxt,zgjbxx_zgbzchr)& + VALUES ( +ls_bm+, +ls_xm+, +ls_zjm+, +ls_xb+, +ls_mz+, +string(ldt_cssj)+, +ls_zzmm+, +ls_zy+,& +ls_zc+, +ls_pyfs+, +ls_jtzz+, +ls_lxdh+, +ls_grjj+,+ls_qtsm+, +ls_zgbz+) ls_sql_mz = INSERT INTO mzjc_tb_zgjbxx( zgjbxx_bmchr,zgjbxx_xmchr,zgjbxx_zjmchr,zgjbxx_xbchr, zgjbxx_mzchr,zgjbxx_csrqdtm,zgjbxx_zzmmchr,zgjbxx_zylbchr,& +zgjbxx_zcchr,zgjbxx_pyfschr, zgjbxx_jtzzchr,zgjbxx_lxdhchr, zgjbxx_jjtxt,zgjbxx_qtsmtxt,zgjbxx_zgbzchr)& + VALUES ( +ls_bm+, +ls_xm+, +ls_zjm+, +ls_xb+, +ls_mz+, +string(ldt_cssj)+, +ls_zzmm+, +ls_zy+,& +ls_zc+, +ls_pyfs+, +ls_jtzz+, +ls_lxdh+, +ls_grjj+,+ls_qtsm+, +ls_zgbz+) end if/数据保存和分发li_rt = gf_execute_sql_not_commit(ls_sql_jc,ls_sql_mz)if li_rt = 0 thenMessageBox(提示:,参数传递有误!,StopSign!)Returnend ifdatetime dt_dqsjstring ls_czlxdt_dqsj = getdatetime()if str_czlx.czlx = new thenls_czlx = 新增elseif str_czlx.czlx = edit thenls_czlx = 修改end if/记录到历史表中INSERT INTO jcjc_tb_zgjbxx_ls ( zgjbxx_bmchr,zgjbxx_xmchr,zgjbxx_zjmchr,zgjbxx_xbchr, zgjbxx_mzchr,zgjbxx_csrqdtm,zgjbxx_zzmmchr,zgjbxx_zylbchr, zgjbxx_zcchr,zgjbxx_pyfschr, zgjbxx_jtzzchr,zgjbxx_lxdhchr, zgjbxx_jjtxt,zgjbxx_qtsmtxt, zgjbxx_zgbzchr, zgjbxx_czlxchr,zgjbxx_czybmchr,zgjbxx_czyxmchr, zgjbxx_macchr,zgjbxx_czsjdtm ) VALUES ( :ls_bm, :ls_xm, :ls_zjm, :ls_xb, :ls_mz, :ldt_cssj, :ls_zzmm, :ls_zy, :ls_zc, :ls_pyfs, :ls_jtzz, :ls_lxdh, :ls_grjj,:ls_qtsm, :ls_zgbz, :ls_czlx,:gyhxx_yhxx.s_zgbm,:gyhxx_yhxx.s_zgxm, :gyhxx_yhxx.s_hostmac,:dt_dqsj ) using sqlca;If sqlca.SQLCode 0 or li_rt 1 Thengf_rollback()        
    温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 栲胶浸提工岗前安全实践考核试卷含答案
- 喷涂喷焊操作工安全综合强化考核试卷含答案
- 激光头制造工安全风险评优考核试卷含答案
- 盐酸生产工操作技能知识考核试卷含答案
- 感光材料生产工安全生产基础知识水平考核试卷含答案
- 聚偏氯乙烯装置操作工班组评比竞赛考核试卷含答案
- 普通磨工安全生产意识水平考核试卷含答案
- 空调器装配工安全知识竞赛水平考核试卷含答案
- 煤制气工安全文明水平考核试卷含答案
- 景泰蓝釉料工岗前创新方法考核试卷含答案
- 煤矸石制砖项目可行性研究报告
- 人教版信息技术七上《计算机的硬件组成》听评课记录
- 2025年医院检验科人员招聘考试题目及答案
- 《民族区域自治法》课件
- 第11课《再塑生命的人》课件 2025-2026学年统编版语文七年级上册
- 店面库房管理办法
- 教师待岗管理办法
- 胸腹水常规解读
- 企业并购重组培训课件
- 数控锯床安全操作规程
- 企业标准化推进数字化转型的路径探索
 
            
评论
0/150
提交评论