《医药管理系统库存管理子系统的设计与实现本科学位论文.doc》由会员分享,可在线阅读,更多相关《医药管理系统库存管理子系统的设计与实现本科学位论文.doc(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、河北大学2009届本科生毕业论文(设计)医药管理系统-库存管理子系统的设计与实现摘 要伴随着信息技术的发展,很多产业的销售管理已经由电脑来控制完成。在医药管理方面,库存管理工作如果由人工完成,是既费时又费力的。这次我所做的这个系统就是为了使医药销售部门的医药库存管理实现电子化。设计并实现这样一个软件,需要使用到Visual C+,Microsoft Access,ADO,等设计平台。 整个系统的设计由模块构成,主要有主窗体及系统登录设计模块,基础信息管理设计模块,销售管理模块,入库管理模块,调货管理模块,账务管理模块,系统设置管理模块构成。各个模块共同完成整个软件的所有工作。关键词:Visua
2、l C+ Microsoft Access ADO 模块ABSTRACTAccompany with an information technical development, a lot of sales of industries managing is already controled completion by computer.Manages aspect in the medicine, if the inventory managment work completes tofrom the artificial, is since time-consuming and hard
3、 to tackle.This time the system done by me be for making the medicine inventory managment of medicine sale department the realization is electronical.Design and carry out such a software, need to use Visual C+, Microsoft Access, ADO, wait design terrace.The design of the whole system constitutes to
4、from the mold piece and mainly has main window body and system to register design mold piece, foundation information management design mold piece, sell management mold piece, store in warehouse management mold piece, adjust a goods management mold piece, Zhang work manage a mold piece, the system es
5、tablishes management mold piece composing.Each mold piece is common to complete all works of the whole software.Key words: Visual C+ Microsoft Access ADO mold前 言随着我国市场经济的蓬勃发展和人们对医药产品需求的迅速增加,医药行业正处于一个高速发展的时期。行业的快速发展必然导致竞争的加剧,要想在激烈的市场竞争中谋求发展, 客观上要求企业必须加强内部管理,提高运营效率。另外,由于医药产品种类繁多、销售模式特殊、业务量大,单凭手工记账已远远适
6、应不了企业快速发展的需求。如何尽快建立和完善现代企业的信息化管理机制,己成为医药企业快速发展的关键所在。因此,尽快建立和完善现代企业的信息化管理机制问题,是医药企业发展的关键所在。高效、稳定的信息化管理系统是医药企业的核心竞争力之一。要建立符合医药企业经营、管理、创新等要求的信息化管理系统,开发期间必须遵循以下规律:一是系统规划。医药行业管理的信息化是一个系统工程,需要有科学的系统规划与设计。二是不贪大求全,循序渐进。贪大求全是很多企业对信息系统的要求,这容易造成系统功能相对全面但缺乏稳定性和应用资源的保障,进而影响、拖累系统主要功能的运转。三是避免重系统的表象轻其内核。管理软件产品必须以管理
7、流程和业务流程为基础,其内核应蕴含先进的管理思想,缺乏管理思想支撑的系统,很难成为优秀的医药管理系统。四是避免重产品初期运转,轻维护与服务。在信息系统初期应用时,多数企业都能给予相当的重视,当完成系统验收后,企业往往不重视对该系统资源的保障、维护与服务的投入,以及对系统适应的调整,使得信息系统生命周期大大缩短。随着信息时代的发展,管理者意识到只有采用信息化管理,才能取得市场领域的主导地位。一 系统开发环境和主要技术简介1.1.1 Visual C+的介绍Visual C+ 是Microsoft公司的重要产品之一Developer Studio工具集的重要组成部分。它用来在Windows环境下开
8、发应用程序,是一种功能强大,行之有效的可视化编程工具。VC以可视化技术为基础,以C+语言为蓝本,以众多的集成工具为骨架,在计算机领域的诸多方面都发挥着重要的作用。 Visual C+ 提供了简洁实用的开发环境,集成的工具集能够让用户高效率的开发应用程序。 Visual C+ 提供了MFC类库,一般性工作可以全部交给VC来完成,用户只要在其基础上做出自己想要实现的功能即可。完成目标(尤其对于图形界面的程序)所花费的时间要少得多。1.1.2 MFC和Visual C+Visual C+的核心是Microsoft基础类库,即通常所说的MFC (Microsoft Foundation Class L
9、ibrary)。MFC相当彻底的封装了Win32软件开发工具包(Software Development Kit,即通常所说的SDK)中的结构、功能,它为编程者提供了一个应用程序框架,这个应用程序框架为编程者完成了很多Windows编程中的例行性工作,如管理窗口、菜单和对话框,执行基本的输入和输出、使用集合类来保存数据对象等等,并且,MFC使得在程序中使用很多过去很专业、很复杂的编程课题,如ActiveX、OLE、本地数据库和开放式数据库互联(Open Database Connectivity,简写为ODBC)、Windows套接字和Internet应用程序设计等,以及其它的应用程序界面特性
10、,如属性页(也叫标签对话框)、打印和打印预览、浮动的和可定制的工具条变得更加的容易。1.2 Microsoft Access概述1.2.1 Microsoft Access的发展自从1992年首次发布以来,Microsoft Access已经逐步成为桌面数据库领域的领导者,并且拥有广泛的用户。在90年代早期,作为用于Microsoft Windows操作系统的第一个桌面关系型数据库(RDBMS)而初次登场的是Access 1.0给有经验的数据库用户留下的深刻印象是,使用一个功能强大的桌面数据库竟然如此简单。Access 2.0继续改变终端数据库用户理解和使用数据库的方法。当Access第一次加
11、入Microsoft Office套件时,Office用户开始产生对关系数据库的强烈需要。1995年末,世界上第一个32位RDBMS Access 95发布,使这种普及趋势继续发展。1997年1月发布的Access 97是数据库与Web的最佳组合。今天,Access 的普及已经上了一个新的台阶,其用户不仅包括有经验的数据库用户,还包括初次使用数据库的用户。使用Access 2000,新用户会欣喜的发现它与Office应用程序高度集成,熟悉的界面使迅速启动和运行更加容易。通过以更紧密的集成将Access 2000延伸到企业级数据库,Access 高级用户和开发人员将会找到崭新的方法,来充分利用A
12、ccess 在最终用户中的普及。不论用户是创建数据库来管理联络信息和客户,还是创建存货跟踪系统,Access都能找到为各种级别的桌面用户查找,管理和共享数据提供的一种简单方法。1.2.2 Microsoft Access的主要功能Microsoft Access数据库是对传统数据库的发展,是一个数据库管理系统(RDBMS)。在Access中,用户可以构造应用程序来归档和存储数据,并且可以用多种方法进行筛选,分类和查询数据,同时也可以将不同数据类型之间的联系存储起来,供产生综合性数据使用。此时,每条信息仅在一处存放,减少数据重复,节约存储空间,这样更新数据时速度既快又准确,修改表结构也非常容易。
13、用户既可以为每一种类型的信息创建一个表,将自己的数据分别保存在自己创建的表中,同时又可以使用联机窗体更加有效的查看,添加和更新表中的数据;使用查询来查找并检索符合指定条件的数据;使用报表分析数据,并以特定的版面布局来打印数据;使用宏完成自己定义的一系列操作,同时又不需要编写程序。Access的主要功能:(1)定义数据创建表,利用表存储相应的信息。(2)定义表之间的关系,从而很容易地将各个表中相关的数据有机的结合在一起。(3)方式多样的数据处理能力。可以创建查询来检索数据;可以创建联机窗体来直接查看。输入和更改表中的数据;可以创建报表来分析数据或将数据以特点的方式打印出来。(4)创建Web页时,
14、建立对Internet和Intranet的支持。(5)开发应用程序。可以利用宏或Visual C+将各种数据库对象连接在一起,形成一个数据库应用系统,而且用户也不需要编写复杂的程序。与其他数据库不同的是,Access在实现上述功能时提供了各种向导,用户在操作时只需按照向导提供的步骤执行就可以了,用起来非常方便。1.2.3 Microsoft Access的组成Access2000由以下几个部分组成(1) 数据库引擎:它是实际存储,排序和获取数据的软件,一般来说,是不可见的。(2) 数据库对象:Access2000的数据库窗口非常便于用户访问各种对象。所谓对象就是提供一种特定的使用界面,用于查看
15、,输入和抽取数据库的有关信息。(3) 设计工具:Access包含一套设计工具,可用于创建对象。(4) 编程工具:Access与Microsoft Office中其他的应用程序共享编程语言VBA。Access2000加入了VBE,可以直接将自己的代码管理和开发技巧转移到Word,Excel或PowerPoint中,从而丰富Access应用程序的数据访问功能。 Access2000具有储存文件单一,支持长文件名,兼容多种数据库格式,具有Web网页发布功能,可应用于客户/服务器方式,操作使用方便等特点。 Access2000所使用的对象包括表,查询,报表,窗体,宏,模块和数据访问页。在一个数据库中,
16、除数据访问页之外,其他的对象都存放在一个扩展名为.mdb的数据库文件中,而不像其他数据库那样分别存放在不同的文件中,这样就方便了数据库文件的管理10。1.3 ADO1.3.1 ADO概述ADO是Microsoft为最新和最强大的数据访问范例OLE DB 而设计的,是一个便于使用的应用程序层接口。ADO使您能够编写应用程序以通过OLE.DB 提供者访问和操作数据库服务器中的数据。ADO最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。ADO在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。之所以称为ADO,是用了一个比较熟悉
17、的暗喻,OLE 自动化接口。OLE DB是一组组件对象模型 (COM) 接口,是新的数据库低层接口,它封装了ODBC的功能,并以统一的方式访问存储在不同信息源中的数据。OLE DB是Microsoft UDA(Universal Data Access)策略的技术基础。OLE DB为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。也就是说,OLE DB并不局限于ISAM、Jet 甚至关系数据源,它能够处理任何类型的数据,而不考虑它们的格式和存储方法。在实际应用中,这种多样性意味着可以访问驻留在 Excel 电子数据表、文本文件
18、、电子邮件/目录服务甚至邮件服务器,诸如Microsoft Exchange中的数据。但是,OLE DB应用程序编程接口的目的是为各种应用程序提供最佳的功能,它并不符合简单化的要求。您需要的API应该是一座连接应用程序和OLE DB的桥梁,这就是ActiveX Data Objects (ADO)。1.3.2 MFC的ADO类(1)引入ADO库文件使用ADO前必须在工程的stdafx.h文件里用直接引入符号#import引入ADO库文件,以使编译器能正确编译。代码如下所示:代码1:用#import引入ADO库文件#import c:program filescommon filessystem
19、adomsado15.dll no_namespaces rename(EOF adoEOF)这行语句声明在工程中使用ADO,但不使用ADO的名字空间,并且为了避免常数冲突,将常数EOF改名为adoEOF。现在不需添加另外的头文件,就可以使用ADO接口了。(2)初始化OLE/COM库环境必须注意的是,ADO库是一组COM动态库,这意味应用程序在调用ADO前,必须初始化OLE/COM库环境。在MFC应用程序里,一个比较好的方法是在应用程序主类的InitInstance成员函数里初始化OLE/COM库环境。代码2:初始化OLE/COM库环境BOOL CADOApp:InitInstance()if
20、(!AfxOleInit()AfxMessageBox(“OLE初始化出错!”);return FALSE; 函数AfxOleInit在每次应用程序启动时初始化OLE/COM库环境。同DAO和CDatabase一样,ADO由几个接口组成:_ConnectionPtr,_CommandPtr和_RecordsetPtr.不同于DAO和Cdatabase的是,ADO基于COM的接口。(3)ADO接口简介ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。_ConnectionPtr接口返回一个记录集或一个空指针。通常使用它来创建一
21、个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。使用_ConnectionPtr接口返回一个记录集不是一个好的使用方法。通常同CDatabase一样,使用它创建一个数据连接,然后使用其它对象执行数据输入输出操作。_CommandPtr接口返回一个记录集。它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。在使用_CommandPtr接口时,你可以利用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。如果你只执行一次或几次数据访问操作,后者是比较好的选择。但如果你要频繁访问数据库,并要返回很多记录集,那么,你应该使用全局_Conn
22、ectionPtr接口创建一个数据连接,然后使用_CommandPtr接口执行存储过程和SQL语句。_RecordsetPtr是一个记录集对象。与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定,游标控制等。同_CommandPtr接口一样,它不一定要使用一个已经创建的数据连接,可以用一个连接串代替连接指针赋给_RecordsetPtr的connection成员变量,让它自己创建数据连接。如果你要使用多个记录集,最好的方法是同Command对象一样使用已经创建了数据连接的全局_ConnectionPtr接口,然后使用_RecordsetPtr执行存储过程和SQL语句。(4)使用_C
23、onnectionPtr接口_ConnectionPtr是一个连接接口,它类似于CDatabase和CDaoDatabase。它们的工作原理相似。首先创建一个_ConnectionPtr接口实例,接着指向并打开一个ODBC数据源或OLE DB数据提供者(Provider)。以下代码创建一个基于DSN的数据连接。代码3:使用_ConnectionPtr(基于DSN)_ConnectionPtr MyDb;MyDb.CreateInstance(_uuidof(Connection);MyDb-Open(DSN=samp;UID=admin;PWD=admin,-1);(5)使用_Recordse
24、tPtr接口_RecordsetPtr接口的使用方法和CDaoDatabase类似,通过以下代码的比较,你会发现使用_RecordsetPtr接口非常简单(以下代码使用上面已经创建的数据连接):代码4:使用_RecordsetPtr执行SQL语句_RecordsetPtr MySet;MySet.CreateInstance(_uuidof(Recordset);MySet-Open(SELECT * FROM some_table,MyDb.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);二 系统总体设计2.1 需求分析
25、2.1.1 系统介绍“医药库存系统”是专门针对医药公司、药店的综合业务而开发的医药管理系统。该软件集进、销、存、决策于一体,同时还集成了财务管理、报表打印、查询统计等多种实用的功能,真正实现了进、销、存一体化。本软件的前台采用目前流行的面向对象的编程语言V1sual C+6.0开发,后台采用Access数据库。软件的界面美观大方,软件运行稳定。该软件有以下特点:(1)功能强大。该软件以医药经营企业为应用对象,结合医药企业当前和未来发展的管理需求提供实用先进的应用模式,实现对多部门、多规格、大范围的复杂经营活动的业务监控、财务监控、质量监控,提高业务财务各环节工作效率和协作监督能力,真正面向市场
26、提高企业效益。(2)实用高效。通过建立规范的业务管理模式,使业务人员从繁忙的手工开票、统计报表工作中解脱出来,提高工作效率,减少人为差错。(3)系统结构灵活,适用多种经营模式。整个系统由问题域子系统、数据访问子系统、用户界面子系统组成。各子系统可以从其他相关的子系统中直接获取所需的数据,同时也可以将子系统内产生的数据自动传递给其他相关子系统,减少了重复录入,提高了工作效率和准确率。因此,无论是大型集团企业,还是小型公司,无论是连锁零售企业,还是批发企业,本系统均可适用。(4)用户界面操作简洁。系统的每个功能都经过精心设计,充分考虑到使用人员的计算机知识较少的特点,全部使用业务人员最熟悉的业务流
27、程、提示用语和操作方式,即使不懂计算机的人也能熟练使用本软件,完成业务处理。(5)系统性能稳定。严格按照规范的软件工程管理,充分利用面向对象技术,以Access数据库为平台,利用Windows系统的内存管理和多任务特性,从技术上保证了系统的稳定性、可靠性和先进性。本系统在实施后,集中处理药品的进销存业务及其应收应付账目,为企业的发展奠定了一个新的台阶。2.1.2 数据字典重要数据及其简要描述如表2-1、表2-2、表2-3所示。表2-1 数据项名 称说 明药品编号惟一标识一种药品,形式如 YP00001员工编号惟一标识一位员工,形式如 YG00001客户编号惟一标识一个客户,形式如 KH0000
28、1供应商编号惟一标识一个供应商,形式如 GYS00001销售票号惟一标识每次销售登记,形式如 2009-05-01xsd0023入库票号惟一标识每次入库登记,形式如 2009-05-01rkd0001销售退货票号惟一标识每次销售退货登记,形式如 2009-05-01THD0001入库退货票号惟一标识每次入库退货登记,形式如 2009-05-01rkt0001库存盘点票号惟一标识每次库存盘点登记,形式如:2009-05-01pdd0001调货票号惟一标识每次调货登记,形式如:2009-05-28DHD0001毛利销售某种商品时,获得的利润操作员管理员,使用系统,拥有系统账号的人经手人员工,对某次
29、业务或交易实际上直接操作的人备份编号惟一标识某次备份记录,形式如:BACKUP2009-05-20-10-23-00001仓库名称惟一标识某个仓库盈亏数量库存盘点出现的与实际不符的数量 管理员权限对权限分成4个等级,方便不同的用户有不同的访问权限结算方式进行交易时所采用的结算方式是否结清判断某笔交易是否已结清帐警戒上限药品数量的最高限警戒下限药品数量的最低限表2-2 存储数据名 称说 明药品信息表记录药品的基本信息员工信息表记录员工的基本信息客户信息表记录客户的基本信息供应商信息表记录供应商的基本信息仓库信息表记录仓库的基本信息管理员表记录管理员的用户名,密码,权限名 称说 明库存表记录库存信
30、息备份表记录备份信息销售登记表记录销售时药品及数量信息销售票号表记录销售时的客户,经手人,操作员,日期等信息入库登记表记录入库时药品及数量信息入库票号表记录入库时的供应商,经手人,操作员,日期等信息销售退货登记表记录销售退货时药品及数量信息销售退货票号表记录销售退货时的客户,经手人,操作员,日期等信息入库退货登记表记录入库退货时药品及数量信息入库退货票号表记录入库退货时的供应商,经手人,操作员,日期等信息库存盘点登记表记录库存盘点时的药品,仓库及盈亏信息库存盘点退货表记录入库退货时的经手人,操作员,日期等信息调货登记表记录调货时的药品,数量及仓库信息调货票号表记录调货时的经手人,操作员,日期等
31、信息销售结帐表记录销售结帐时的金额,经手人,操作员,日期等信息入库结帐表记录入库结帐时的金额,经手人,操作员,日期等信息销售退货结帐表记录销售退货结帐时的金额,经手人,操作员,日期等信息入库退货结帐表记录入库退货结帐时的金额,经手人,操作员,日期等信息表2-3 处理过程名 称说 明销售登记对客户进行销售交易,即出库入库登记对供应商进行入库交易,即采购销售退货登记对客户进行销售退货交易入库退货登记对供应商进行入库退货交易库存盘点登记确保数据库的数据符合实际库存调货登记在仓库之间重新分配库存数量销售结账登记销售结账操作入库结账登记入库结账操作,也可以称为采购结账销售退货结账销售退货结账操作2.2
32、概要设计2.2.1 设计目标面对医药行业的高速发展和医药企业信息化发展的过程中出现的各种情况,该系统在实施后,应能够达到以下目标:(1)建立规范的业务管理模式,使业务人员从繁忙的手工开票、统计报表工作中解脱出来,提高工作效率,减少人为差错。(2)实现多点操作的信息共享,相互之间的信息传递要准确、快捷和顺畅。 (3)提供快速、准确的处理企业药品进、销、存、调、退、盘点等多种业务模式。(4)系统界面友好美观,操作简单易行,查询灵活方便,数据存储安全可靠。 (5)利用客户档案、应收应付、预警系统等模块结合在一起,可以对往来客户进行业务监控,防止坏账的发生。(6)支持多种结算方式。(7)使业务、财务、
33、库房三账合一,使三种账务系统化、集成化和统一化,消除三种账务不统一造成的混乱。(8)系统维护方便可靠,有较高的安全性,满足实用性、先进性的要求。2.2.2 编码设计编码设计是数据库系统开发的前提条件,是系统不可缺少的重要内容。编码是指与原来名称对应的符号或记号。它是进行信息交换、处理、传输和实现信息资源共享的关键。编码也用于指定数据的处理方法、区别数据类型,并指定计算机处理的内容等。本系统内部信息编码分4种情况:采用7字符定长编码,8字符定长编码,17字符定长编码,28字符定长编码。(1)7字符定长编码,其中前两位表示信息分类,由各类信息的汉语拼音字母缩写组成,后5位为具体信息编码,从0000
34、1开始,按顺序递增的方式编码。如药品信息编码为YP00001。 (2)8字符定长编码,其中前3位表示信息分类,由各类信息的汉语拼音字母缩写组成,后5位为具体信息编码,从00001开始,按顺序递增的方式编码。如供应商信息编码为 GYS00001。(3)17字符定长编码,其中前10位是系统日期,中间3位表示分类,由各类信息的汉语拼音字母缩写组成,后4位为具体信息编码,从0001开始,顺序递增的方式编码。如入库登记票号的编码为2009-06-23rkd0001。(4)28字符定长编码,其中前6位表示数据备份的英文单词,中间的16位是系统日期时间,后6位为具体的信息编码,从00001开始,按顺序递增的
35、方式编码。如数据备份编号为BACKUP2009-06-01-13-46-00001。根据以上编码原则,本系统的各类信息编码设计如下:(1)基础信息(采用7位编码)药品信息类别编码采用药品二字的汉语拼音缩写YP,例如YP00001。 客户信息类别编码采用客户二字的汉语拼音缩写KH,例如KH00001。员工信息类别编码采用员工二字的汉语拼音缩写YG,例如YG00001。(2)基础信息(采用8位编码)供应商信息类别编码采用供应商三字的汉语拼音缩写GYS,例如GYS00001。 (3)数据录入信息查询(采用17位编码)入库登记票号的编码采用入库单三字的汉语拼音缩写rkd,例如 2009-05-23rk
36、dO001。入库退货票号的编码采用入库退三字的汉语拼音缩写rkt,例如 2009-05-23rkt0001。销售登记票号的编码采用销售单三字的汉语拼音缩写xsd,例如 2009-05-23xsd0001。销售退货票号的编码采用退货单三字的汉语拼音缩写thd,例如 2009-05-23thd0001。入库结账票号的编码采用入库结三字的汉语拼音缩写rkj,例如 2009-05-23rkj0001。销售结账票号的编码采用销售结三字的汉语拼音缩写xsj,例如 2009-05-23xsj0001。(4)数据备份(采用28位编码)数据备份编码采用数据备份的英文单词BACKUP,BACKUP2009-05-
37、23-13-40-00001。2.2.3 输入设计本系统输入接口应满足如下要求:键盘:标准键盘,具有Windows 98功能键。鼠标:两键或三键鼠标小口或USB鼠标。汉字输入法:五笔输入法、拼音输入法等。录入软件界面:本系统所有输入均支持鼠标和键盘两种输入方式。录入方式有文本式和表单式两种风格。文本方式录入该企业的基础信息,如药品信息、客户信息等;表单式主要录入销售和入库相关的业务工作。两种风格都设置了灵活多样的录入方式,在表单式录入时,可同时录入多条记录。输入方式的简单、快捷、易学易用是医药管理系统的基本要求,特别是药品销售的输入直接影响着操作员的开票速度。2.2.4 输出设计本系统输出方式
38、采用屏幕显示和打印机输出两种方式。2.2.5 系统安全和可靠性设计为保证软件与数据库系统的安全运行,防止不合法的运行或计算机系统的不稳定对系统造成损害,应对系统的软件和硬件进行合理的安全设置和可靠性设计。安全措施包括用户标识和口令,不同操作员的权限设置,数据库文件的加密等。系统安全设计主要应考虑如下几点: (1)应保证计算机系统的稳定性,对相应计算机应配UPS进行断电保护。 (2)当本地局域网与本地企业网或Internet连接的时候,网络安全应当是网络建设的首要解决的问题,主要设计容错方案、安装防毒软件、安装防火墙等。(3)在不影响系统功能的情况下要尽可能考虑系统的安全性。(4)进入系统时必须
39、通过操作员密码控制,方可进入系统,用户输入错误密码多次,将退出系统。(5)对公司内部人员对数据的访问进行控制,对用户、信息及操作分类授权。(6)为了防止系统错误、硬件冲突引起的系统瘫痪而造成数据丢失,可以随时对数据进行备份。一旦数据丢失,可以将备份的数据进行恢复。(7)要建立合理的安全制度,防止无关人员随意登录服务器、客户端。防止软件的非法使用。2.2.6 主要模块介绍(1)主程序界面主程序也是程序控制前核心,操作权限、程序功能调用等都要通过主程序调用实现。本程序通过菜单、工具栏两种方式调用系统。(2)销售登记销售登记是医药管理系统中的重要部分,可以高效地完成医药商品的销售工作。本模块支持多种
40、结算方式;删除当前行显示的销售信息;打印、预览当前显示的销售单。(3)销售查询销售查询是销售管理模块的重要组成部分。销售查询模块设有两个选项卡,其中【销售信息管理】选项卡记载销售商品的基本信息;【销售信息查询】选项卡可按不同字段,不同条件对销售的商品进行查询,支持模糊查询及在查询结果中查询。(4)入库登记入库登记是库存管理系统的重要组成部分,该模块主要完成商品的入库操作。在入库登记时自动统计入库金额,并可打印,预览当前显示的入库单;支持多种结算方式。(5)药品信息管理药品信息管理是录入药品信息的基础模块,是进行入库,销售,及其他操作的基础。本模块设有两个选项卡,【药品信息管理】完成添加,修改,
41、删除等操作;【药品信息查询】可对药品的基本信息进行查询,支持模糊查询及在查询结果中查询。(6)客户往来帐客户往来帐是库存管理系统的重要组成部分,该模块的主要功能是按用户自定义时间段查询客户往来帐信息,并可完成客户往来帐打印工作2。2.2.7 系统结构根据该企业的业务情况及要求,结合计算机管理的特点与当前医药企业信息化的方向,设置医药库存管理系统结构图如图所示。药 品 管 理 系 统帐务管理库存管理系统管理销售管理入库管理调货管理结帐管理基础信息销售退货结帐供应商往来帐修改用户销售查询入库查询仓库管理供应商信息日结库存盘点修改密码销售入库据库入库登记调货登记销售结帐药品信息月结库存查询修改权限销
42、售退货入库退货调货查询入库结帐员工信息客户往来帐数据备份销售退货查询入库退货查询入库退货结帐客户信息图2-1 医药库存管理系统结构图2.3 数据库设计本系统数据库名为yaopin。数据库yaopin中共包含46个表,其中作为临时表的有20个,作为数据存储表的有26个。临时表:lsdhinfo0、lsdhinfo1、lsgys0、lsgys1、lskcquery0、lskcquery1、1sM10、lsM11、 lsrkquery0、lsrkquery1、1srkthinfo0、1srkthinfol、lsxsquery0、lsxsquery1、 lsxsthinfo0、lsxsthinfo1、
43、 lsyg0、lsyg1、lsypinfo0、lsypinfol.数据存储表:tabbf、tabck、tabdhdj、tabdhph、tabgys、tabjsfs、tabkc、tabkcpddj、tabkcpdph、 tabhk、tabpurview、tabpurviewctrl、tabrkdj、tabrkjz、tabrkph、tabrkthdj、tabrkthjz、tabrkthph、tabxsdj、tabxsjz、tabxsph、tabxsthdj、tabxsthjz、tabxsthph、tabyginfo、tabypinfo. 由于篇幅原因,下面主要介绍8个关键表的结构。(临时表是为了实
44、现在查询结果中进行查询,在这里不做具体介绍)。tabgys表用于保存供应商的基础信息。表2-4 tabgys表字段名类型宽度是否可为空注释gys_idChar20Not Null供应商编码(主)gys_nameChar30Null供应商名称JcChar10Null简称AddressChar50Null地址AreaChar50Null地区mailChar20Null邮编phoneChar20Null电话faxChar20Null传真linkmanChar20Null联系人lm_phoneChar20Null联系人电话bankChar20Null开户银行accountsChar20Null银行帐号
45、taxpayerChar20Null纳税人登记emailChar20Null邮箱tabkc表用于保存库存信息。表2-5 tabkc表字段名类型宽度是否可为空注释yp_idChar10Not Null药品编号(主)ck_nameChar30Not Null仓库名称(外)kc_numberIntNull库存数量alert_leverupIntNull警戒上限alert_leverdownIntNull警戒下限tabhk表用于保存客户信息。表2-6 tabhk表字段名类型宽度是否可为空注释kh_idChar10Not Null客户编码(主)kh_nameChar30Not Null客户名称jcChar10Null简称addressChar50Null地址areaChar50Null地区mailChar20Null邮编phoneChar20Null电话faxChar20Null传真linkmanChar20Null联系人lm_phoneChar20Null联系人电话bankChar20Null开户银行accountsChar20Null银行帐号taxpayerChar20Null纳税人名称emailChar20Null邮箱tabpurview表用于保存权限信息。表2-7 tabpurview表字段名类