版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、真诚为您提供优质参考资料,若有不当之处,请指正。第一章 绪 论1.1 开发背景及意义在现今的社会中,医药行业是一个发展迅速的行业,不同规模的药店管理机构都要有适合自己业务的软件销售管理系统,这样才能有效的提高工作效率,增加药店的利润,不断地扩大企业的经营规模。而一些小型药店现在并没有适合自己的销售管理系统。药店盲目的采用一些简单的管理软件进行管理,对药店的发展将会产生阻碍作用,所以要想继续发展就必须开发一个适合该药店的销售管理系统。为了提高工作效率、解决现存系统中的问题,我们急需开发一个新的、适合实际情况需要的药店销售管理系统,有了这样一个管理系统,不但能解决现存的销售管理问题,还能有效的减少
2、药店的费用支出。在应用了该销售管理系统后,可以提高工作的准确性,减少不必要的损失;系统的库存信息最低预警可以为药店管理员提供及时进货的药品清单,这样可以更加方便、及时的了解到需要采购的药品,及时进货,避免了药品的缺货现象。此外药品的期限可以及时的进行提醒,可以维护消费者的利益同时维护药店的信誉。从另一个角度考虑,这样还可以增加营业额,提高收入,为进一步发展扩大业务做好充分准备。在应用了该系统后,可以提高全体工作人员的自身素质,在系统的各个模块中,需要不同的工作人员来进行管理,在对现代化的软件系统销售管理和运用的同时会发现许多自身不太了解,为了学习软件的使用而更好的投入工作。1.2 国内外研究现
3、状据研究调查表明,现在国外发达国家现在多采用“医药分离”的模式,即在医院开药,在药店买药。这种模式使得发达国家的药店规模和市场较大,因而他们的药店销售管理系统已经逐渐趋于成熟。中国现在的医药体系还不成熟,正在加紧医药体制的改革。现在中国的药店销售管理系统多采用进销存的模式,最近又出现了很多新的经营方式,如:基于零库存思想的沃尔玛特管理方式。但这些新的经营思想在中国大部分药店的经营中还是难以应用的,因此本药店销售管理系统也是采用了进销存的模式。进销存就是以货物流为基础,以票据流为主线和动力,以金额流作为补充的三种数据流层的关于进货,销售和库存的表述。为了开发更合理更适用的销售管理系统,收集了一些
4、研究资料以及对对药店的调查发现了国内现行的一些药店销售存在的一些问题,下面是列举的几个存在的问题:1药店制度难以执行。不少药店的制度是照搬其他药店的制度,没有制定适合本药店的制度。2. 不同性质的药品未按储存要求存放。3. 销售凭处方销售药品不规范。4. 零售药店仓储面积不足,储存条件简陋,缺乏必要的验收养护设备和防护措施,导致该冷藏的未冷藏,该除湿的未除湿,该分区的未分区存放,无法按条件储存药品,药品质量难以保证。5. 人员管理不到位与培训档案资料不全。6. 很多的药店仍采用人工的方式进行记录库存销售等信息,使得药店很多的信息更新慢,很多药品到期信息无法及时反馈。为了解决这些存在的问题,必须
5、采取一些相应的措施,如:采用计算机快速的记录方式,使得药店的管理更规范,工作效率得到提高;对销售人员进行培训,对数据进行快速的更新,进而及时反馈药品的信息和库存信息。1.3 论文结构本文主要介绍小型药店销售管理系统的开发过程,本系统开发主要采用C/S(Client/Server)模式软件构造技术,前台页面系统采用ASP.NET开发,主要采用了C#语言,后台管理系统采用SQL Server 2000作为数据库系统,进而开发出本系统。下面介绍的是本文的结构。第一章:绪论,主要阐述了本系统开发的背景及意义,国内外对本系统的研究现状。第二章:基本技术介绍,主要阐述了本系统开发方法和工具以及对这些工具的
6、介绍,在本系统中利用了这些工具的哪些优点。第三章:需求分析与总体设计,主要阐述了该系统的需求分析、总体设计以及数据库的总体设计。第四章:系统详细设计,主要阐述了该系统功能实现的关键代码,系统运行成功后的主要界面。第五章:系统测试,第二章 基本技术介绍2.1 系统开发工具及方法该系统采用了Client/Server模式软件构造技术,前台页面系统采用Visual Studio 2005开发,后台管理系统采用SQL Server 2000作为数据库系统,可以运行在Windows 98/2000/XP系统中。目前,网络应用软件运行的模式主要有二类:C/S模式,B/S模式。C/S结构是软件系统体系结构,
7、通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。小型药店销售管理系统只需要管理员和员工两种主要人员使用,管理员负责管理所有员工的机器,本系统更是语言C/S模式开发。此外C/S具有以下的优点:应用服务器运行数据负荷较轻,数据的储存管理功能较为透明,数据控制灵活,并且适于在局域网中使用。小型药店销售管理系统中使用的人数相对较少,只是运行在小型的局域网中,而C/S体系结构适用于网速较快的网络环境如:局域网。此外系统的性能不会因为用户的增加而产生速度慢等问题。综上,小型药店销售管理系统采用C/S结构设计方法进行开发。2.3 Visual
8、 Studio2005简介Visual studio 2005提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。在开发本系统时每一个界面中都使用了控件,正是因为Visual studio 2005提供了大量的控件,使得开发中可以快捷的创建界面,不需要用代码的形式在创建控件,大大节省了系统开发的时间。此外,它提供了开发 Microsoft Windows(R) 应用程序的最迅速、最简捷的方法。不论是 Microsoft Windows 应用程序的资深专业开发人员还是初学者,Visual studio
9、2005 都为他们提供了整套工具,以方便开发应用程序。这些优点都促使本系统采用了Visual studio 2005这个开发平台。Visual Studio 2005这个开发平台易于ASP.NET程序的开发,ASP.NET是Microsoft .NET平台的一部分,ASP.NET是一个革命性的编程框架,它实现了企业级Web应用程序的快速开发。它提供了最简便、最具有扩展能力的方式来开发、部署和运行可以将任何浏览器或设备作为目标的Web应用程序。除了常见的Web应用程序,利用ASP.NET还可以创建其他的一些类型,这就使我们的应用程序的范围可以延伸到新的客户和业务合作伙伴。此外对程序员来说,部署服
10、务器应用程序一直是一件很痛苦的事。采用了ASP.NET,程序员根本不必担心这个问题,因为ASP.NET大大简化了部署过程。要部署Web应用程序,只要把它复制到Web服务器上就可以了。正是基于这种开发的便利性,本系统采用了基于Visual Studio 2005开发平台下的ASP.NET技术,在开发系统时无需进行部署Web应用程序,简化了开发的过程。在开发语言上使用了C#(C sharp)语言,C#是一种最新的面向对象的编程语言。它使得程序员可以快速地编写各种基于ASP.NET平台的应用程序,ASP.NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域,在本系统中一些药品的价格以及库
11、存购货,销售开单都需要进行计算,因此使用ASP.NET开发平台更简便的实现数据的计算。由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选无论是高级的商业对象还是系统级的应用程序。此外,C#的现代化设计能够消除很多常见的C+编程错误诸如资源回收减轻了程序员内存管理的负担,C#中变量由环境自动初始化,以及C#中的变量类型是安全的。因此,程序员编写与维护那些解决复杂商业问题的程序就更方便了,这样在开发系统时可以减少很多错误的发生,更利于系统的调试。C#还有着比C/C+更强的兼容性,在C#中,每个对象都自动生成为一个COM对象。这些优点使得C#更易于软件的开发,在大学的教学过程中也有着C#课程
12、的教学。综上,本系统的开发采用了基于ASP.NET平台C#语言的开发。2.4 SQL Server 2000数据库简介Microsoft SQL Server 2000是由 Microsoft公司开发的,2000版本在功能和易用性上有很大的增强,并推出了简体中文版,它包括企业版,标准版,开发版和个人版4个版本,使同一个数据库引擎可以在不同的操作系统平台上使用,从运行Windows 9x的便携式电脑,到运行Windows2000 Data Center Server的大型多处理器的服务器。增强的图形用户界面管理工具,使管理更加方便。本系统采用了2000个人版,并且在开发过程中采用数据库提供的方便
13、的建表,以及管理其中角色信息和表与表之间的关系。SQL Server 2000实现了C/S模式,模式数据库计算是一种分布式的数据存储、访问和处理技术,它已成为大多数企业计算的标准。Microsoft SQL Server是C/S应用的完美的例子,因此本系统适宜于采用SQL Server 2000数据库。此外,SQL Server 2000具备企业级数据库功能,可同时管理上千个并发数据库用户,其分布式查询使用户可以引用来自不同数据源的数据,同时具备分布式事务处理系统,保障分布式数据更新的完整性。企业在正常的业务运作过程中需要收集各种数据,包含企业的动态历史记录,数据仓库的目的是合并和组织这些数据
14、,以便可以对其进行分析并用来支持业务决策。而Server 2000提供的强大工具,可帮助您完成创建、使用和维护数据仓库的任务,本系统数据的更新以及销售中的数据必须得到合理管理与统计,此时采用这种技术更有利于。SQL Server2000易于安装、部署和使用, SQL Server 2000的安装向导可帮助用户方便地实现各种方式的安装。正是SQL Server2000具有便于开发企业软件以及适宜开发管理系统和操作简单的特点,采用了SQL Server2000数据库作为后台开发工具。第三章 需求分析与总体设计3.1需求分析随着药店行业的迅速发展,竞争逐渐激烈,对于小型药店来说药店的销售管理越来越重
15、要。作为一个管理系统应该有管理者和员工的合理权限设置,使得药店的经营更加合理化规范化。信息时代的到来使得信息的及时性尤其重要,药品的种类和不断地更新可以加大药店的竞争力,因此药店的销售管理系统就要能够对药品的基本信息进行更新、查询、及时分更新,这样销售人员可以对药品进行查询进而向消费者介绍最新的药品信息。稳定的供应商是药店货源的保证,同时可以根据供应商的信息记录可以使得对货源的质量也有着保证,因此供应商和厂家的信息必须记录。药店的正常运转货源要得到保证,这就必须有着良好的采购进货管理功能,同时为了药品质量的保证,以及在未知药品销量时可以保证药店不至于积存大量的药品,对一些积存的药品进行合理的退
16、货,这对小型的药店尤为重要。作为药店盈利机构,药店的销售是非常重要,同时要求透明化,药店的开单、订单、退货信息都必须合理的记录统计。药品的存货是药店进行正常运行的保证同时合理的库存量更好的应对某些药品需求量的变化,同时记录药品出库信息可以更好的反应药品的销售信息。在仓库中药品的储藏出现的损失,通过记录的信息可以精准核对药品量的信息。药品的储藏要求库存管理中必须记录药品的养护信息,同时在仓库储存中应设置药品的库存下限,以便及时反映药品的信息,为药品进货提供可靠依据。财务管理对每个盈利机构都是至关重要的,对小型药店来说财务管理合理性透明化尤其重要,因此收款、付款管理,以及客户账单查询、供应商账单查
17、询这些功能必须实现。账单作为一种凭据,在一些大型的药店中还可以作为积累积分来吸引顾客的功能,重要的是可以统计药店销售的一种统计,同时作为顾客消费退货的凭证,此时诸如销售开单、销售订单、进货入库等各类报表需要及时的打印。药店的经营必须符合国家GSP(Good Supply Practice)管理规定,这是药店经营企业统一的质量管理规则,根据相关的规定药店必须能够按照GSP规定,必要的时刻要按规定进行打印或者导出各类报表记录。在任何销售行业,退货进货是难免的,当出现退货的情况时,原先的报表要作废同时也要进行记录,这就要求系统有着冲红的功能。药品的储存都是有时间期限的为了维护消费者的利益和药店本身的
18、信誉,药店库存人员必须能够了解到期药品,以便能得到合理的调整药品并及时的反馈药品的信息,将这些药物退回或者清除。为了各行各业健康的发展,国家对每个行业都有着相关的规定,因此药店和供应商都有着许可证期限规定,当供应商的许可证不在有效地时间内,那么供应商提供的货物质量就得不到保证,此时要了解到相关的供应商许可证的信息并能够做出提示信息。了解到小型药店销售管理能够合理的运行必须具备的功能,开发本系统具有的功能就应该能对药店内不同人员的信息角色进行管理。管理人员(可以称作店长)应该能够对店内销售营业员和库存管理人员信息和权限进行管理,同时对管理药店财务,并负责对系统的维护。同时药店管理人员还要对药品的
19、GSP管理和系统的维护进行负责,同时供应商的信息和药店部门的信息管理业需要店长进行管理。在该系统中作为销售人员只要做到对药品的信息进行查询,这样可以对消费者进行介绍多重药品相关的信息,使用户可以有多种选择。作为一个小型的药店,药店中应该有着营业员的职位,营业员可以对药品进行销售管理,包括收银,开单(包括销售开单,客户退货开单等),冲红等相关的作业,这样使得药店的分工合理化。为了更好的管理本系统,仓库管理人员也是不可或缺的,仓库管理人员要对货物进货,退货管理,这就要求仓库管理人员要掌握药物的最低下限信息可以及时的进货,退货。同时不同药物的存放要求等不同也要求仓库管理人员掌握药物的养护信息,仓库管
20、理人员最基本的职责就是管理不同的药物进行出库和入库,在药品的储存期间可能出现损失,这时仓库管理员还要具有报损的职责。作为一个合理的药店管理系统,当药店人员不能正确的使用本系统时应该有相应的提示信息,这也是软件合理化的体现。3.2 总体设计通过需求分析,可以得知该系统应该包括基本信息模块、采购管理模块、销售管理模块、库存管理模块,以及财务管理模块、GSP管理模块、系统维护模块和报表中心模块,系统模块图如3-1所示。药店销售管理系统基本信息模块采购管理模块销售管理模块库存信息模块销售管理模块财务管理模块GSP管理模块报表中心模块系统维护模块图3-1.系统模块图这些模块之间的信息可以交互,基本信息模
21、块存储了药品的基本信息和供应商、厂家、客户以及药店部门的基本信息,因此在进货管理模块中采购收货和采购退货时需要查询基本信息中的供应商信息。销售管理模块中销售订单、开单、退货单都需要查询客户基本信息以及药品的基本信息,此时将查询基本信息模块中的信息。库存信息模块中的药品养护、库存下限信息都需要基本信息模块中的信息。财务管理模块需要查询进货管理模块的采购收货和采购退货信息以及销售模块中的销售信息。基本信息中的以及库存信息管理模块中的信息更新后都需要系统维护模块中的数据备份,进行保存防止数据出现错误。数据报表中心模块中的信息需要进货管理模块中的采购收货、退货信息,销售管理模块中的销售订单、开单、退货
22、信息,以及库存管理模块中的进货、退货信息。在GSP模块中同样需要进货管理、销售管理、和库存管理模块的信息来实现GSP管理规定的信息。这些信息交流使得各个模块之间密切的联系,系统能够正常的运行,完成各种功能,模块间的关系图如图3-2所示。图3-2.模块间的关系图3.2.1 基本信息模块功能设计在基本信息模块中主要完成的功能有用户信息的管理,药店部门信息的管理以及供应商厂家的信息管理,药品的各种信息的管理都可以在基本信息模块中实现。其中在用户信息管理中还包括角色管理,权限管理以及用户基本信息的管理和密码的修改,这些功能中是管理员权限的相关操作,基本信息管理模块如图3-3所示。基本信息管理模块用户信
23、息供应商信息理厂家信息药品信息部门信息储藏条件管理养护方式信息角色管理权限管理修改密码修改资料图3-3.基本信息管理模块3.2.2采购管理模块功能设计药店的进货信息必须得到合理的管理,包括进货管理和退货管理两部分功能,进货管理模块功能如图3-4所示。采购管理模块采购收货采购退货 销售管理模块销售开单销售退单销售订单图3-4.进货管理模块图 3-5.销售管理模块3.2.3 销售管理模块功能设计通过需求分析可以清楚地得知药店的销售管理模块应具备的功能,销售管理模块功能如图3-5所示。 3.2.4 库存管理模块功能设计进货管理模块是库存人员主要负责的,应该实现的功能有出入库记录管理,药品报损和药品养
24、护信息的查询,以及药品下限和库存警报信息的管理,.库存管理模块是其功能模块如图3-6所示。库存管理模块出入库记录单药品报损药品养护药品下限库存警报图3-6.库存管理模块3.2.5财务管理模块功能设计管理员可以通过财务管理模块进行查询一段时期的销售额,同时收银员可以进行直接开单,以及支出进货开单的功能。因此财务管理模块包括了收款、付款管理功能,客户账单查询和供应商账单查询功能,财务管理功能如图3-7所示。财务管理模块收款管理付款管理客户账单查询供应商账单查询图3-7.财务管理模块3.2.6 GSP模块功能设计GSP管理模块主要是实现根据GSP管理规范可以对药品的单独设置了GSP管理模块,GSP管
25、理模块如图3-8所示。GSP管理模块药品采购记录药品购进退货记录药品验收记录药品销售记录药品订单记录药品销售订单记录药品养护记录图3-8.GSP管理模块3.2.7 报表中心模块功能设计 为了方便对一些报表查询统计专门设置了报表中心模块,主要有销售开单报表,销售订单报表,销售退单报表,进货入库报表,进货退货报表,药品养护报表,库存报表,付款单报表,收款单报表,报表中心模块如图3-9所示。报表中心模块销售开单报表销售订单报表销售退单报表采购入库报表采购退货报表药品养护报表库存报表付款单报表收款单报表图3-9.报表中心模块3.2.8 系统维护模块功能设计系统数据库的备份以及服务器的设置都需要管理人员
26、进行管理设置,因此该模块主要完成度功能有数据库备份,选项,服务器设置功能,系统维护模块如图3-10所示。系统维护模块数据库备份选项管理服务器设置图3-10:系统维护模块3.3 数据库总体设计3.3.1 表的设计通过需求分析,可以得知药品、供应商、药店人员的信息必须进行保存更新,采购数据、销售管理数据、库存数据都需要更新,一些数据彼此之间也要进行交互。因此数据库的设计尤为重要。在基本信息模块中药品的相关信息数据需要保存,因此设计Usr_Medicine表来存储药品的基本信息,Usr_Water表存储药品剂型信息,Usr_Type表存储药品类型信息,Usr_Attribute表来记录药品的属性信息
27、,Usr_Matain表来记录药品的养护信息,以及Usr_MatainRecord 表来记录药品的养护记录,Usr_Storage表来记录药品的存储条件信息,以及Usr_Unit来设计药品的基本单位信息。用户模块记录用户的基本信息、角色信息及权限。在数据库设计Usr_User表来记录用户的基本信息,同时设计Usr_Role表和Usr_RoleTask表来记录用户的角色信息进而管理不同用户的权限。供应商、厂家的基本信息需要随时的更新,在数据库中设置Usr_Factory和Usr_Supply表用来存储供应商、厂家的基本信息。用户的部门信息需要进行记录修改等操作因此设计Usr_Department
28、表,为了统计客户的来源,此时需要设计表Usr_Coustom进行储存。在采购管理模块中有收货和退货功能,因此药品的数量信息必须得到保存此时应该有药品的基本信息表和Usr_Mainbase表、Usr_Price、Usr_BaseLower和Usr_In表。Usr_Mainbase用来记录库存中药品的数量信息,Usr_Price用来记录药品的价格信息,Usr_BaseLower表可以记录库存下限信息,Usr_In记录购入的药品的相关信息。销售管理模块中有销售订单、开单、退单三种基本的功能,Usr_Sale表、Usr_SaleDetail表、Usr_SaleD表、Usr_SaleDDetail表、U
29、sr_SaleT表、Usr_SaleTDetail表,分别表示了用户销售的具体信息和销售单的具体信息。库存管理模块可以完成出入库的记录、药品的养护、药品报损、药品下限和库存下限功能,经过Usr_Base表、Usr_BaseInOut表、Usr_Lower表分别记录仓库的基本信息,药品的出入库信息和仓库的最低下线的数据信息。财务管理模块中可以完成收款、付款,客户账单查询和供应商账单查询功能,完成这些功能需要查询药品的基本信息和供应商、客户的基本信息因此要使用Usr_In和Usr_Supply表、Usr_Sale表Usr_Costom表。GSP管理模块和报表中心模块需要查询一些药品的信息和供应商、
30、客户和一些库存的信息,此时要用到其他模块中的数据信息。3.3.2 E-R图ER图可以来描述静态数据结构:实体、联系、实体和联系的属性。下图3-11是图形符号表示。图3-11.图形符号E-R图E-R图可以来描述静态数据结构:实体、联系、实体和联系的属性。本系统包括了收银员、销售员、库存员、管理员、药品、库存等实体。各种实体之间存在可以通过包含、存储、销售等方式实现实体之间的联系。下图3-11为实体E-R图。图3-12.实体E-R图把概念结构设计转化为逻辑结构设计,药品信息实体属性包括编号、药品名称、药品简称、英文名称、药品通用名称、厂家、规格、处方类型、药品属性、储藏条件、养护方式、药品剂型、药
31、品类型、药品分类、基本单位、产地,如下图3-12是药品信息实体图所示。图3-13.药品信息实体属性药品属性实体包括属性编号、属性名称、属性描述,下图3-13是药品属性实体图。图3-14.药品属性实体图管理员实体属性包括用户名、密码、角色、姓名、性别、年龄、职位、地址、办公室电话、家庭电话、手机、电子邮件下图3-14是管理员实体图。图3-15.管理员实体图由于实体较多就不一一列出,只将其中较为代表的属性列出。第四章 系统详细设计4.1 模块功能代码实现4.1.1 基本功能模块代码实现基本功能模块主要完成的是对药品基本信息的存储、更新功能,以及对用户信息的管理。药品信息的存储功能实现主要是通过Sa
32、ve()函数实现的,用户选择更新和添加时会自动调用此函数,以下是Save()主要的代码部分。if(Action="Add")string strSql="insert into Usr_Medicine(MedicineId,ChineseName,EnglishName,ShortName,CommandName,Spec,Pre,Attribute,Water,Type,Sort,Unit,Area,Factory,IsDelete,Remark,Maintain,Storage) values('"+ this.txtMedicineNo.
33、Text.Trim().ToString() +"','"+ this.txtChName.Text.ToString() +"','"+ this.txtEnName.Text.Trim().ToString() +"','"+ this.txtShortName.Text.Trim().ToString() +"','"+ this.txtCommandName.Text.Trim().ToString()+"','&qu
34、ot;+ this.txtSpec.Text.Trim().ToString() +"','"+ this.cboPre.Text.Trim().ToString() +"','"+ this.cboAttribute.Text.Trim().ToString() +"','"+ this.cboWater.Text.Trim().ToString() +"','"+ this.cboType.Text.Trim().ToString() +"
35、;','"+ this.cboSort.Text.Trim().ToString() +"','"+ this.cboUnit.Text.Trim().ToString() +"','"+ this.cboPlace.Text.Trim().ToString() +"','"+ this.txtFactory.Text.Trim().ToString() +"','0','"+ this.txtRemark.T
36、ext.Trim().ToString() +"','"+ this.cboMaintain.Text.Trim().ToString() +"','"+ this.cboStorage.Text.Trim().ToString() +"')"DB.ExecNonSql(strSql);MessageBox.Show(“数据添加成功”,”系统提示” , System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBo
37、xIcon.Information;用户选择更新时同样可以用以上代码进行实现,查询功能可以实现模糊查询,可以记录各个控件输入的信息,然后通过查询数据库,最后通过调用ShowData()函数来实现查询显示结果功能。用户的管理主要实现用户基本信息和角色、权限管理功能,在信息的添加、更新时先判断用户是否存在然后在将用户信息存入数据库中,删除用户可以直接调用相关函数直接删除数据库中相应数据。4.1.2 采购管理模块代码实现该模块主要完成采购收获、采购退货的记录功能,该功能的实现主要是通过查询供应商和药品信息后然后通过用户的选择在将采购收货、退货信息保存到数据库中。查询供应商和药品信息功能是通过调用药品
38、基本信息查询信息、供应商信息中的查询功能实现的,用户选择保存和打印采购信息的实现是通过调用Save()函数、Print()函数实现的。Save()函数的实现首先是判断一些必须输入的信息是否为空,然后在将输入的信息(可能是多条信息)进行保存,以下是保存数据的主要代码。sendSQL="insert into Usr_In(InId,CoustomId,InDate,PayType,CheckMan,CheckResult,Amount,Money,Operator,State,Remark) values('"+ this.GetInId().Trim()+"
39、;','"+ this.cboSupply.Text.Trim() +"', '"+ DateTime.Parse(this.txtDate.Text) +"' ,'"+ this.cboPayType.Text.Trim() +"','"+ this.txtCheckMan.Text.Trim() +"','"+ this.cboCheck.Text.Trim() +"',"+ Convert.T
40、oDecimal(this.sbCount.Text.Trim() +","+ Convert.ToDecimal(this.sbSum.Text.Trim() +",'"+ this.sbUser.Text.Trim() +"','1','"+ this.txtRemark.Text.Trim() +"')"DB.ExecNonSql(sendSQL);MessageBox.Show("操作已经成功,收货单:【"+ this.GetInId().
41、Trim() +"】已经保存!","系统提示",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Information);4.1.3 销售管理模块代码实现销售管理模块主要实现销售开单、订单、退单的功能,这些功能的实现基本是类似的都是先进行客户信息、药品信息然后记录购买药品数量金额等信息,最后将这些数据存入数据库。销售订单的实现是先判断药品以及客户的必要信息是否成功填入,然后调用Save()函数来实现保存,同时可以调用Print()函数来实现打印功能
42、,打印功能的实现首先是设置打印的一些基本参数,然后调用系统函数进行打印,以下是打印函数实现的主要代码部分。misGoldPrinter.DocumentName="报表中心"Title title = new Title();title.Text = cs.csConst.strPrintSaleCaption;misGoldPrinter.Title = title;if (print)misGoldPrinter.Print();elsemisGoldPrinter.Preview();4.1.4 库存管理模块代码实现库存管理模块实现的功能是实现对药品出入库记录、药品的
43、库存下限提醒、药品的养护方式查询、药品报损以及根据销售信息更新库存信息等功能。实现药品的出入库记录主要是查询功能,通过查询Usr_BaseInOut表中的数据,将查到的结果显示并且可以保存。库存下限功能实现是通过查询药品的下限表将与用户规定的期限的药品显示出来,药品的养护方式、药品报损也是采取同样的方法实现的。更新库存信息功能是根据销售的单据进行更新操作的,首先通过查询销售信息然后通过调用数据更新函数frmBaseManageMent_Load(),以下是数据更新函数的主要代码。TrysendSQL="SELECT Usr_Gathing.GathingId, Usr_Sale.Sa
44、leId, Usr_Coustom.ChineseName,Usr_Gathing.Amount, Usr_Gathing.Money, Usr_Gathing.PayType,Usr_Gathing.Remark FROM Usr_Gathing INNER JOIN Usr_Sale ON Usr_Gathing.BillNo = Usr_Sale.SaleId INNER JOIN Usr_Coustom ON Usr_Gathing.CoustomId = Usr_Coustom.CoustomId where state='2'"this.setDataSa
45、leList(sendSQL);上述代码主要是更新销售开单信息,将库存中的药品信息进行更新。4.1.5 财务管理模块代码实现财务管理模块主要是实现付款单、收款单、客户、供应商账单查询、打印功能,付款单显示采购付款、退货付款、欠账付款相关信息,收款单显示开单收款、订单收款、进货退货收款相关信息。客户账单查询可以查询某段时间的所有的销售情况,供应商账单显示一段时间进货的情况。付款单中可以选择不同的供应商和客户的信息来查询需要付款的信息,可以将数据进行保存和打印。sendSQL="insert into Usr_Pay(PayId,CoustomId,GathingType,BillNo,
46、PayType,Amount,Money,Remark) values('"+ this.GetPayId().Trim() +"','"+ this.cboCoustom.Text.Trim() +"','"+ strGathingType.Trim() +"','"+ this.txtBillNo.Text.Trim() +"','"+ this.cboPayType.Text.Trim() +"',"
47、+ this.txtAmount.Text.Trim() +","+ this.txtMoney.Text.Trim() +",'"+ this.txtRemark.Text.Trim() +"')"cs.DBController DB=new cs.DBController();DB.ExecNonSql(sendSQL);if(this.rdoBill.Checked=true)sendSQL="update Usr_In set State='2' where InId='&qu
48、ot;+ this.txtBillNo.Text.Trim() +"'"else if(this.rdoBill1.Checked=true)sendSQL="update Usr_SaleT set State='2' where SaleTId='"+ this.txtBillNo.Text.Trim() +"'"DB.ExecNonSql(sendSQL);收款单采用同样的思路进行设计,完成其功能。供应商账单查询功能的实现根据采购开单和采购订单的不同查询数据库信息然后将查询信息显示,下面是
49、其中的一些关键代码。if (this.txtCoustom.Text.Trim()="")sendSQL="SELECT InId AS 进货单号, CoustomId AS 供应商编号, PayType AS 付款类型,Amount AS 数量, Money AS 金额, Remark AS 备注FROM Usr_In where Indate>='"+ DateTime.Parse(this.dtpFrom.Value.ToString() +"' and Indate<='"+ DateTim
50、e.Parse(this.dtpTo.Value.ToString() +"'"ds=DB.GetDS(sendSQL);this.DG.DataSource=ds.Tables0;if (ds.Tables0.Rows.Count>0)this.sbIn.Text=ds.Tables0.Compute("Sum(金额)","").ToString();sendSQL="SELECT IntId AS 退货单号, CoustomId AS 供应商编号, PayType AS 付款类型,Amount AS 数量,
51、 Money AS 金额, Remark AS 备注FROM Usr_InT where InTdate>='"+ DateTime.Parse(this.dtpFrom.Value.ToString() +"' and InTdate<='"+ DateTime.Parse(this.dtpTo.Value.ToString() +"'"ds=DB.GetDS(sendSQL);this.dataGrid1.DataSource=ds.Tables0;if (ds.Tables0.Rows.Coun
52、t>0)this.sbInT.Text=ds.Tables0.Compute("Sum(金额)","").ToString();客户账单查询也是采用同样的思路完成的,因而代码相似,不在列出。4.1.6 GSP模块及报表中心模块代码实现此模块实现GSP规定下的一些必要的信息的保存和查询功能,报表中心模块的相关报表主要是打印进货、销售、库存的相应报表信息,所有报表、记录表都是采用同样的思路实现,根据需求不同查询相关的信息后将其显示。因此他们下面是药品验收记录表的关键代码。string sendSQL;sendSQL="SELECT Usr_I
53、n.InId AS 采购单号, Usr_Medicine.ChineseName AS 药品名称,Usr_InDetail.LicenceNo AS 批号, Usr_InDetail.Price AS 价格,Usr_InDetail.Amount AS 数量, Usr_InDetail.Money AS 金额,Usr_In.CheckMan as 验货员 FROM Usr_In INNER JOIN Usr_InDetail ON Usr_In.InId = Usr_InDetail.InId INNER JOIN Usr_Medicine ON Usr_InDetail.MedicineId
54、 = Usr_Medicine.MedicineId where InDate>='"+ this.dtpFrom.Value +"'and InDate<='"+ this.dtpTo.Value +"'and State='1'"cs.DBController DB=new cs.DBController();DataSet ds=new DataSet();ds=DB.GetDS(sendSQL);this.DG.DataSource=ds.Tables0;decimal int
55、Count=0;decimal intMoney=0;if (ds.Tables0.Rows.Count>0)intCount=Convert.ToDecimal(ds.Tables0.Compute("Sum(数量)","");intMoney=Convert.ToDecimal(ds.Tables0.Compute("Sum(金额)","");this.sbUser.Text=cs.csConst.LoginUser;4.1.7 系统维护模块代码实现系统维护模块主要完成了数据的备份功能以及服务器的设置,下
56、面是数据备份中的关键代码。this.Cursor=Cursors.WaitCursor;DBBackup.DbBackup(txtDBServer.Text,txtUserName.Text,txtPwd.Text,txtPath.Text);this.Cursor=Cursors.Default;MessageBox.Show("数据库备份成功!");代码中的DbBackup()函数是DBBackup类中的方法,用来备份数据。4.2 数据库详细设计本系统中数据信息、数据库中表的数量较多,因此以下介绍的是本系统中部分表,Usr_Medicine表来存储药品的基本信息,此表基
57、本信息如表3-1所示。Usr_Medicine序号字段名类型长度索引备注1MedicineIdchar8P不能重复2ChineseNameVarchar503EnglishNameVarchar504ShortNameVarchar305CommandNameVarchar506SpecVarchar507PreVarchar508AttribureVarchar50关联药品属性9WaterVarchar50关联药品剂型10TypeVarchar50关联药品类型11SortVarchar50关联药品种类12UnitVarchar30关联药品单位13AreaVarchar5014FactoryVarchar5015IsDeletechar216RemarkVarchar20017MatainVarchar50关联养护方式18StorageVarchar50关联储存方式表3-1.药品基本信息在用户管理中用户的信息是非常重要的包括了角色、密码和其它基本信息,如3-2表是用户信息基本表。Usr_User序号字段名类型长度索引备注1UserNameVarchar20P不能重复2PasswordVarchar503Rolechar2关联角色4NameVarchar205Sexchar26Ageint47PostVarchar208DepartMentVarchar30关
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年限量水泥品牌销售协议
- 2024专项服务挂靠合作经营协议
- 2024年度土石方服务居间协议模板
- 2024年度公司员工保密义务协议
- 2024独家优惠价格保密协议稿
- 2024年简化信用额度借款协议样本
- 2024年度工程物资承包协议模板
- 网店美工设计中的创新技术应用策略:大数据与用户行为分析
- 2024车辆无息借用协议模板
- 贷款担保专用保证金协议范本2024
- 第一章第三节《氧化还原反应》第一课时高一上学期化学人教版(2019)必修第一册
- 高三政治月考试卷讲评
- 期中模拟测试卷1(试题)-2024-2025学年五年级上册数学(福建)
- 2024-2030年少儿艺术培训行业市场发展分析及发展前景与投资机会研究报告
- 蓝色简约风中国空军成立75周年纪念日
- 2024年全国企业员工全面质量管理知识竞赛题库(含答案)(共132题)
- 知识创业思维与方法智慧树知到答案2024年湖南师范大学
- 无人机全行业保险
- 2023年广东省建筑设计研究院校园招聘笔试参考题库附带答案详解
- 员工人事档案目录
- 迅达SWE30-100K自动扶梯电路分析_图文
评论
0/150
提交评论