




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
医药GSP管理系统-论文医药GSP管理系统摘要【摘要】中国加入WTO后,药品经营企业要与国际接轨,靠的就是GSP认证。药品经营企业通过GSP认证,这是药品管理法制化、科学化和规范化的要求,是国家加大对药品经营结构调整力度的要求,是药品经营企业进入国际市场、参与市场竞争的先决条件。本章将通过医药GSP管理系统的实例,分别从医药管理系统和GSP管理系统两个方面介绍如何实现医药GSP管理系统。【关键词】医药GSP管理系统目录摘要. 2目录. 30 引言. 11 可行性分析. 12 总体设计. 12.1 项目规划. 12.2 系统功能结构. 12.3 设计目标. 23 系统设计. 23.1 开发及运行环境. 23.2 数据库设计. 24 主要功能模块设计. 24.1 程序主界面的设计. 24.2 药品信息管理. 814.3 入库登记. 1984.4 销售开单. 3394.5 操作员权限的设置. 424附录A 参考文献. 539附录B 数据表. 607附录C 文件架构. 6930 引言药品在其生产、经营和使用的全过程中,由于内外因素的影响,随时都有可能发生质量事故,必须在所有这些环节上采取严格的措施,才能从根本上保证药品质量。因此,国内外为保证药品质量,确保用药安全有效,均制定了一系列质量法规。其中GSP是一系列质量控制中不可缺少的重要一环。1 可行性分析面对医药经营企业在日常管理过程中出现的各种情况,医药GSP管理系统在开发时,应能够达到以下目标:q 全面、规范、完善的基础信息设置。q 合理的权限分配。q 全方位的快速查询,提高工作效率。q 具有强大的报表打印功能。q 系统具有数据备份及数据恢复功能,能够保证系统数据的安全性。q 对药品的质量、档案、养护以及药品的停售和库房的温湿度进行系统管理。q 从药品的采购、入库、销售、到库存形成一套严密、科学、完善的管理体系。2 总体设计2.1 项目规划本系统属于小型的数据库系统,可以对中小型企业进销存进行有效管理。通过本系统可以达到以下目标:q 灵活的运用表格批量录入数据,使信息传递更快捷。q 系统采用人机对话方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。q 与供应商和代理商账目清晰。q 实施强大的后台监控功能。q 功能强大的月营业分析。q 实现各种查询,如定位查询、模糊查询等。q 实现商品进货分析与统计、销售分析与统计、商品销售成本明细等功能。q 强大的库存预警功能,尽可量地减少商家不必要的损失。q 实现灵活的打印功能。q 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。q 系统最大限度地实现了易安装性、易维护性和易操作性。2.2 系统功能结构本系统共分9大部分、41个完整的功能模块。系统结构图如图1所示。1172医药GSP管理系统图1 医药GSP管理系统2.3 设计目标本系统是根据中小企业的实际需求而开发的,完全能够实现企业的会议视频管理,通过本系统可以达到以下目标:q 系统运行稳定,安全可靠。q 界面设计美观,人机交互界面友好。q 信息查询灵活、方便、快捷、准确,数据存储安全可靠。q 满足键盘和鼠标的双重操作,完全支持回车键。q 信息安全保密。3 系统设计3.1 开发及运行环境系统开发平台:Microsoft Visual FoxPro 6.0。运行平台:Windows XP/ Windows 2000/ Windows 2003分辨率:最佳效果1024768像素3.2 数据库设计1数据库概要说明接下来的任务就是设计数据库。数据库在一个管理系统中占居非常重要的地位,数据库结构设计的好坏将直接影响系统的效率和实现的效果。本系统采用的是Visual FoxPro自带的数据库,数据库文件名为yygsy。2主要数据表的结构数据库中的数据表请参见附录B。4 主要功能模块设计4.1 程序主界面的设计软件界面是人与计算机之间的媒介。用户通过软件界面来与计算机进行信息交换。因此,软件界面的质量,直接关系到应用系统的性能能否充分发挥,尤其是主界面。例如本系统的主界面就改变了用户比较熟知的Windows传统风格,取而代之的是图形化的界面风格。程序启动后,通过系统登录界面的用户身份验证后,即可进入到程序主界面,医药GSP管理系统的主界面如图2所示。 图2 程序主界面运行结果主界面担负着根据用户的权限执行系统所允许的用户操作的任务。其中系统的主导航菜单是通过一系列的笔者自定义的按钮实现的,功能子菜单是由ListView和ImageList控件实现的。为了使用户可以自行控制功能子菜单的显示或隐藏状态,程序中还加入了控制功能子菜单显示状态的按钮。系统主界面的具体讲解如下:1表单设计(1)创建一个标准项目,名称为“医药GSP管理系统”,在该项目中利用Class_Frm类创建程序主界面表单,名称为DeskTop。(2)在该表单中添加Button_Y控件、Label控件、Image控件、ImageList控件和ListView控件。(3)设置表单、控件的属性,其重要属性如表1所示。表1 重要属性及值对象属性值Class_Frm12BorderStyle0 无边框Class_Frm12ShowWindow2 作为顶层表单Class_Frm12TitleBar0 关闭Class_Frm12WindowState2 最大化ListView1Appearance0 FlatListView1BackColor16777215ListView1BorderStyle0 NoneListView1HideSelection.F. 假2代码设计当创建一个子类时,子类中的方法自动从父类中继承,但是子类的方法会重载父类中的同名方法。当需要调用父类中的方法时,可以在子类中使用:范围操作符调用父类中的方法。医药GSP管理系统Class_frm:load &在子类中引用父类的方法程序中应用了API函数时,应在表单的Load事件中进行函数声明,代码如下:Declare integer GetSystemMetrics in user32 integer nIndex &API函数声明在表单的Init事件中设置收缩后的功能子菜单的代码如下:*设置收缩后的侧菜单Thisform.Img_EB_1.height=Thisform.Height-300Thisform.Img_B_1.Top=THisform.Height-Thisform.Img_b_1.Height-8Thisform.Img_EB_1.visible=.f.Thisform.Img_B_1.visible=.f.Thisform.Img_C_1.visible=.f.Thisform.Img_E_1.visible=.f.在表单Init事件中利用ListView控件显示操作员的可用功能子菜单的代码如下:*初始化ListView控件 Thisform.Listview1.BackColor=RGB(239,247,255)This.Listview1.listitems.clearthis.listview1.view=2 &设置视图显示方式 this.listview1.Icons=this.imagelist1.objectthis.listview1.smallicons=this.imagelist1.object&添加列表项-根据操作员权限设置可用的功能项Select Tab_User Locate For 操作员=UserNameSelect * From Tab_Purview Where 操作员编号=Tab_User.操作员编号 ;Into Cursor Temp_Purview Select 0Select * From Tab_Function Where 上级编号=1 Into Cursor Temp_FunctionDo While !EOF() Select Temp_Function key=Alltrim(Temp_Function.名称) Select Temp_Purview If Temp_Purview.&key.=.T. =ThisForm.listview1.listitems.add(,key,1) Endif Select Temp_Function SKIPEndDo在表单Activate事件中添加如下代码设置程序主界面根据屏幕分辨率自动设置大小。thisform.width=GetSystemMetrics(0) &获取屏幕的宽度thisform.height=GetSystemMetrics(1)-24 &获取屏幕的高度Class_frm:Init &在子类中引用父类的方法通过ListView控件调用相应的表单的程序代码如下:fname=alltrim(thisform.listview1.selecteditem.text)do form form&fname &通过变量调入表单在“销售管理”按钮的Button_Click事件中加入如下代码显示销售管理功能子菜单。Thisform.Left_Title.Caption=销售管理Thisform.Listview1.listitems.clear &清空ListView控件&添加列表项Select Tab_UserLocat For 操作员=UserNameSelect * From Tab_Purview Where 操作员编号=Tab_User.操作员编号 Into Cursor Temp_PurviewSelect 0Select * From Tab_Function Where 上级编号=3 Into Cursor Temp_FunctionDo While !EOF() Select Temp_Function key=Alltrim(Temp_Function.名称) Select Temp_Purview If Temp_Purview.&key.=.T. =ThisForm.listview1.listitems.add(,key,1) Endif Select Temp_Function SKIPEndDo4.2 药品信息管理用户单击导航功能按钮中的“基础信息管理”按钮,在功能子菜单中选择“药品信息管理”菜单项,进入“药品信息管理”界面,该界面运行结果如图3所示。 医药GSP管理系统图3 药品信息管理运行结果“药品信息管理”界面主要用于查询、添加、修改和删除药品信息;根据药品剂型自动生成药品编号;根据药品的通用名自动生成药品简称;可以利用记录定位按钮实现精确记录定位;支持快速浏览药品信息等功能。1表单设计(1)在“医药GSP管理系统”项目中,利用Class_Frm类创建新表单,名称为“药品信息管理”。(2)在表单中添加Text控件、Label控件、Pageframe控件、Edit控件、Combo控件、Grid控件和Shape控件(用于修饰界面)和Button_Y控件、Button_F控件。(3)重要控件的重要属性如表2所示。表2 重要属性及值对象属性值Class_Frm12BorderStyle0 无边框Class_Frm12TitleBar0 关闭Combo1RowSourceTab_DoseType.剂型Combo1、Combo2、Combo4RowSourceType6 字段Combo1、Combo2、Combo3、Combo5、Combo6Style2 - 下拉列表框Combo2RowSourceTab_Unit.单位名称Combo3、Combo6RowSource有,无Combo5RowSource年,月,天Combo5RowSourceType1 值Text11InputMask9999PFPageCount2PFTabStyle1 非两端(4)为表单创建方法程序List_Sele。2代码设计由于在设计数据库时,遵循数据规范化原则,在药品信息表中生产厂家是以厂家编号字段存储,药品的库存上/下限信息保存在库存上下限表中,所以在显示药品信息时,需要应用SQL语句的内联接查询出药品的完整信息并显示在表格中,程序代码如下:SELECT Tab_drug.药品编号, Tab_drug.通用名, Tab_drug.曾用名,Tab_drug.英文名,;Tab_drug.简称, Tab_drug.剂型, Tab_drug.规格,Tab_drug.包装, Tab_drug.单位,;Tab_drug.成份, Tab_drug.性状,Tab_drug.药理毒理, Tab_drug.适应症, Tab_drug.用法用量,;Tab_drug.不良反应,Tab_drug.禁忌, Tab_drug.注意事项, Tab_drug.药物过量, Tab_drug.贮藏,;Tab_drug.有效期, Tab_drug.有效期单位,Tab_drug.注册商标, Tab_drug.批准文号,;Tab_wlunit.全称 AS 生产厂家, Tab_Wlunit.编号 AS 厂家编号,Tab_drug.产地,Tab_drug.备注,; Tab_kc_confine.库存上限 AS 上限,Tab_kc_confine.库存下限 AS 下限;FROM yygsp!tab_drug INNER JOIN yygsp!tab_wlunit ; ON Tab_drug.生产厂家 = Tab_wlunit.编号; INNER JOIN yygsp!tab_kc_confine ; ON Tab_drug.药品编号 = Tab_kc_confine.药品编号 Into Cursor Temp_DrugThisform.PF.P2.Grid1.ColumnCount=-1 &设置表格的列数数据表中的字段数Thisform.PF.P2.Grid1.RecordSource=Temp_Drug在“添加”按钮的Button_Click事件中添加如下代码实现自动生成以“PJ”为标识的药品编号。Set Procedure To ProcedureUsedPrg &打开过程文件Select Tab_Drug*调用自定义函数生成药品编号Thisform.PF.P1.text1.Value=AutoNO(Tab_Drug,药品编号,PJ,7,) 在Combo1的InteractiveChange事件中添加如下代码实现根据用户选择的剂型自动生成七位的药品编号。Set Procedure To ProcedureUsedPrg &打开过程文件Select 剂型标识 From Tab_DoseType Where 剂型=This.Value Into Cursor Temp_DThisform.PF.P1.text1.Value=AutoNO(Tab_Drug,药品编号,Temp_D.剂型标识,7,;Left(药品编号,2)=Alltrim(Temp_D.剂型标识) &调用自定义函数生成药品编号在“厂家编号”文本框的LostFocus事件中实现用户输入厂家编号后,自动填入厂家名称,如果不存在则给予提示。Select 全称 From Tab_WLUnit Where Alltrim(Tab_WLUnit.编号)=Alltrim(This.Value) ;Into Cursor Temp_WLUnitGo TopIf Eof() Messagebox(无效的单位编号!,48,系统提示:) This.Value= This.Parent.Combo4.SetfocusElse This.Parent.Combo4.DisplayValue=Temp_WLUnit.全称Endif在“厂家名称”下拉列表框的InterActiveChange事件中添加如下代码实现自动填入厂家编号的功能。Select Tab_WLUnitSelect 编号,全称 From Tab_WLUnit Where 全称=Alltrim(This.Value) Into Cursor Temp_WLUnitIf !Empty(Temp_WLUnit.编号) This.Parent.Text5.Value=Alltrim(Temp_WLUnit.编号)Endif在“保存”按钮的Button_Click事件中的代码主要实现保存用户新添加的药品信息或修改后的药品信息,关键代码如下:If Flag=1 &单击“添加”按钮后单击“保存”按钮 Locat For 通用名=alltrim(Thisform.PF.P1.Text2.Value) And; 规格=alltrim(Thisform.PF.P1.Text8.Value) And; 剂型=alltrim(Thisform.PF.P1.Combo1.Value) And; 产地=alltrim(Thisform.PF.P1.Text1.Value) If Found() Messagebox(该药品信息已经添加!,48,系统提示:) Else Insert into Tab_Drug Values(NO,TYName,CYName,YWName,JC,JX,GG,BZ,; DW,CF,XZ,YLDL,SYZ,YFYL,BLFY,JJ,ZYSX,YWGL,ZC,YXQ,YXQDW,ZCSB,; PZWH,cCD,SCCJ,Memo) &保存药品信息 Insert into Tab_KC_confine Values(NO,0,SX,XX) &保存药品库存上下限信息 Messagebox(药品信息添加成功!,48,系统提示:) Flag=0 EndifEndifIf Flag=2 &单击“修改”按钮后单击“保存”按钮 Update Tab_Drug Set 药品编号=NO,通用名=TYName,曾用名=CYName,英文名=YWName,; 简称=JC,规格=GG,包装=BZ,单位=DW,成份=CF,性状=XZ,药理毒理=YLDL,适应症=SYZ,; 用法用量=YFYL,不良反应=BLFY,禁忌=JJ,注意事项=ZYSX,药物过量=YWGL,贮藏=ZC,; 有效期=YXQ,有效期单位=YXQDW,注册商标=ZCSB,批准文号=PZWH,产地=cCD,; 生产厂家=SCCJ,备注=Memo Where 药品编号=NO &修改药品信息 Update Tab_KC_confine Set 库存上限=SX,库存下限=XX Where 药品编号=NO Messagebox(药品信息修改成功!,48,系统提示:) Flag=0Endif“删除”按钮主要实现判断所要删除的药品在库存中是否还有,如果没有则删除该药品信息和该药品的库存上下限信息,否则提示该药品信息不能删除。在“查询”按钮的Button_Click事件中添加如下代码实现根据用户在控件中选择的查询条件进行查询,当用户选择“Like”操作符时,执行模糊查询。QFields=Alltrim(Thisform.Combo1.Value)Operate=Alltrim(Thisform.Combo2.Value)QValue=Alltrim(Thisform.Text1.Value)S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 下传统节日作文清明节(8篇)
- 赤壁怀古:古诗文意象解读教案
- 科技之光与时代力量:初中八年级科普说明文阅读指导教案
- 时间和位移的课件
- 一年级日记看电影100字15篇
- 贵金属交易风险披露书及合同书
- 吉林省松原市前郭县2024-2025学年八年级下学期期末考试物理试题(含答案)
- 早期阅读犟龟课件
- 观少年派有感1500字(10篇)
- 纪检业务培训课件模板
- 口腔预防医学第九章其他口腔疾病的预防
- 河北省医疗保险诊疗项目目录
- 盂兰盆供简易仪轨
- 三相异步电动机正反转说课课件
- (3.1.1)-野外地质工作安全(一)
- JJF 1117-2010计量比对
- FZ/T 01093-2008机织物结构分析方法织物中拆下纱线线密度的测定
- 压力管道安装许可规则-TSG D3001-2021
- 厨房设备备品备件及专用工具库
- 公共政策导论完整版课件全套ppt教学教程(最新)
- 公司爬架升降令
评论
0/150
提交评论