超市进销存管理系统

上传人:仙*** 文档编号:30704788 上传时间:2021-10-11 格式:DOC 页数:29 大小:726.50KB
收藏 版权申诉 举报 下载
超市进销存管理系统_第1页
第1页 / 共29页
超市进销存管理系统_第2页
第2页 / 共29页
超市进销存管理系统_第3页
第3页 / 共29页
资源描述:

《超市进销存管理系统》由会员分享,可在线阅读,更多相关《超市进销存管理系统(29页珍藏版)》请在装配图网上搜索。

1、超市进销存管理系统 QQ 1205698442超市进销存管理系统引 言 仓库管理是上世纪中期发展起来的一门新兴学科。它最早产生于二战时期的美国,五十年代中期,仓库概念传人日本,并得到快速发展。时至今日,仓库管理已成为西方企业管理中不可或缺的一部分,在许多国家得到了广泛的研究与应用。总的说来,仓库管理就是通过采购、仓储、综合、出库、配送等活动,解决物资供需之间存在的时间、空间、数量、品种价格等方面的矛盾,以此衔接社会生产的各环节,从而确保生产的顺利进行。实现仓库管理现代化的根本途径是信息化、系统化。 有效的库存管理,可降低运营成本,进而提高商品周转率,这样才能减少因风险造成的损失,从而使利润达到

2、最高点。一个企业的库存,也就代表了这个企业的很大一部分资产总额。如何将这些静态的资产以最快的速度流转,这就是库存的目的,也就是本课题开发的目的。随着信息时代的到来,企业必须加强自身的信息基础设施建设,通过企业基础数据的信息化,企业基本业务流程和事物处理的信息化,企业内部控制及实施控制过程的信息化,人的行为规范管理等企业基础管理信息化工程,确保企业在规模不断扩大和业务迅速发展的过程中保持坚实的管理基础和繁殖内核,促进企业的可持续发展。库存管理做为企业管理的一个重要组成部分,越来越受到了各大中型企业的重视,拥有一个好的,切合企业自身发展需要的库存管理系统,无论在财务方面、管理方面还是在成本控制方面

3、都会起到十分显著的作用。第一章 系统概述1.1 国内外相关的研究说明库存管理在欧美等国已经实行多年,现在,库存管理作为ERP管理的重要组成部分,越来越引起了企业的重视。国内外都在对库存管理系统投入大量的人力和物力进行研究,以求在对库存的管理更为科学,简洁,实用。 目前的库存管理系统的开发工具有很多,如开发本系统所用到的PowerBuilder,此外还有VB、VC、ASP.net等,使用PowerBuilder开发库存管理系统的优点是它的界面容易实现,语法结构较为简单,良好的数据窗口界面。而缺点是不能很好的实现B/S模式,相比之下ASP.net的优点就是容易实现B/S模式,就是由其本身的特点决定

4、了的。 目前国内外比较流行的2种开发模式分别为B/S和C/S模式,C/S和B/S是当今世界开发模式技术架构的两大主流技术。C/S是美国 Borland公司最早研发,B/S是美国微软公司研发。目前,这两项技术以被世界各国所掌握,国内公司以C/S和B/S技术开发出产品也很多。 C/S架构软件的优势是: 1.应用服务器运行数据负荷较轻; 2. 数据的储存管理功能较为透明。C/S架构软件的劣势是:高昂的维护成本且投资大, 其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后,B/S架构更

5、是猛烈冲击C/S,并对其形成威胁和挑战。B/S架构软件的优势:1. 维护和升级方式简单; 2. 成本降低,选择更多。1.2 系统实现的策略和实现的目标 本系统采用C/S模式实现,所用的是由系统功能模块而组成的框架结构,使用的开发工具是PowerBuilder9.0,这是目前较为流行的一种面向对象的可视化程序开发工具。系统所要实现的功能有对库存商品的查询功能、库存的入库、出库管理及报损管理功能,对供货商资料的查询,以及供货商与商品之间的关系的相关性操作,还有对库存商品的即使更新功能等。1.3 系统的开发环境与运行环境系统开发的硬件环境为:Inter(R) Celeron(R) CPU 1.7GH

6、Y 256M DDR Geforce4 MX440系统开发的软件环境为:Windows 2003PowerBuilder9.01.4系统开发应用到的关键技术及开发软件说明 本系统使用了PowerBuilder9.0的许多面向对象的组件如DataWindow组件,以及如何建立查询分析表,SQL命令的应用和跨表查询、分组统计以及分组筛选等关键技术。 设计系统的核心思想是让系统的管理具有良好的可操作性,系统的功能具有扩充性以及尽量使系统的功能完善。系统由4大模块组成,在进入系统之前都要经过权限的检测,在执行各大模块的相关的功能时也需要对操作的权限进行判定和限制,几个模块之间的关系是密切联系的,商品信

7、息模块是本系统基础也是最重要的模块,因为它是其他模块执行操作的依据,进货、盘点已经库存的数据更新都围绕商品信息模块而展开。第2章 系统分析2.1功能需求分析 对于仓库管理员来说,系统必须具备的功能是能让他们对商品的入库进行相应的电脑操作以及在对库存进行盘点后进行相应的操作和对库存商品进行响应的更新。 对于超市管理者来说,系统除了具备超市的商品信息模块供管理者了解,以便管理者能通过信息系统的查询可以方便的找出目前最畅销和滞销的商品,然后再利用各种行销方法,将滞销的商品销售出去,这样就可以避免超市因为滞销而造成的损坏、过期和资金积压等问题外,还必须具备供货商信息模块,以便管理者及时和供货商取得联系

8、,此外作为超市管理者应该具备该系统操作的所有权限。 在系统的不同管理者或操作者对库存管理系统进行相关的电脑操作时,应该及时记录下他们处理库存数据的时间和处理的数据的内容,避免因重复操作而造成的数据错误时,能迅速地查找出错误的原因,并对错误操作进行相应的数据更新处理。 系统在财务管理方面,能让超市管理者及时了解目前商店内财务运做情况;防止库存成本过高,资金运转不灵;在管理方面具有加强商品的商品促销和流通;维持商店库存稳定;减少商品失窃或损坏率;在成本控制方面具有利用库存管理系统将商店信息化;将人力成本降低,减少人事成本;控制库存成本,使进货达到最高效益。1)基本信息的维护商品类型的建立与维护,包

9、括商品类型的新建、修改和删除等。商品基本信息管理:包括商品基本信息的新建、修改和删除等。供货商信息管理:包括供货商信息的新建、修改和删除等。管理员信息管理:系统管理员的添加、删除和修改密码等。2)进货管理商品进货信息管理:商品进货信息包括商品进货数量、单价、供货商等。商品进货管理功能完成进货信息登记、修改和删除等。分类查看:可以根据商品类型来查看某种商品的进货情况。更新库存:进货信息的变动直接关系到库存的变化。进货分析:列出当前进货量最多的前几项商品和进货量最少的前几项商品。库存分析:列出当前库存量最多的前几项商品和库存量最少的前几项商品。3)销售管理商品销售信息管理:商品销售信息包括商品销售

10、数量、单价、统计日期等。商品销售管理功能完成销售信息登记、修改和删除等。分类查看:可以根据商品类型来查看某种商品的销售情况。更新库存:销售信息的变动直接关系到库存的变化。销售分析:列出当前销售量最多的前几项商品和销售量最少的前几项商品。4)报损管理商品报损信息管理:商品报损信息包括商品报损数量、报损原因等。商品报损管理功能完成报损信息登记、修改和删除等。分类查看:可以根据商品类型来查看某种商品的报损情况。更新库存:报损信息的变动同样直接关系到库存的变化。报损分析:列出当前报损量最多的前几项商品和报损量最少的前几项商品。2.2性能需求分析 1)多层结构设计严格意义上的三层结构设计,其程序逻辑结构

11、分为用户界面层、业务逻辑处理层和数据存储层。本系统采用的上有三层结构进一步扩展而成的多层结构。2)面向对象设计在系统中将商品类型、商品等都封装成相应的类,同时每个类都有自己对应的集合类和操作类,从而再次提高了对数据库操作的安全性和程序的可扩展性。3)指导经营的功能进销存管理系统并不仅仅能代替传统的书面操作,更重要的是它提供了信息分析的功能,只要单击一个按钮就可以查到目前销售最好的商品或是库存最多的商品,从而起到指导经营的作用。根据上面的系统分析可得到功能模块图2-1所示超市进销存管理系统商品类型管理模块商品管理模块供应商管理模块商品进货管理模块商品报损管理模块商品销售管理模块销售分析模块用户管

12、理模块图2-1第3章 系统设计系统设计就是已确定软件系统的总体结构,给出系统中各个组成模块的功能和模块间的联系。考虑如何实现这个软件系统,直到对系统中的每个模块给出足够的过程性描述。通过适当的设计方法,实现用户对本软件各项功能的要求。31数据库设计311 数据库需求分析针对超市进销存管理系统,暑假在新一佳超市郴州店实习,分别对采购部门、销售部门、和库存保管部门进行详细的调查研究和分析,总结出如下的需求信息:商品按类型管理,所以需要有一商品类型信息。商品必须属于一个商品类型。如果一个商品类型存在商品,或存在下级商品类型,则该类型不可删除。需要记录供应商信息。商品销售信息单中要包含登记商品销售数量

13、、单价等信息。 每日要对销售进行汇总。商品报损要有报损原因。进货、销售、报损操作要有相应操作员信息。只有管理员登录之后才可以使用系统。默认的管理员不可以删除。进货、销售、库存、报损信息都要可以添加、修改、删除、分类查找。当进货、销售和报损操作后,能相应更新库存。需要对进货、销售、库存、报损进行分析,总结热门商品。经过上述系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构: 商品类型信息,包括数据项有:商品类型编号、商品类型名称、备注; 商品信息,包括数据项有:商品编码、商品名称、条形码、类型等; 供应商信息,包括供应商代码、供应商名称、负责人、电话、地址等; 进货信息,

14、包括进货商品、数量、单价、日期、送货人、收货人等; 销售信息,销售商品、数量、金额、收银员、日期等; 销售日汇总信息,销售商品、日期和数量; 报损信息,包括报损商品、数量、原因等。312 数据库概念结构设计经过前面详细的系统分析后,在得出的数据项和数据结构中可以规划出下面的实体:供应商实信息体、商品类型信息实体、商品实体、商品单位信息实体、进货信息实体、销售信息实体、报损信息实体、销售详细信息实体、销售日汇总信息实体、存货信息实体。超市进销存管理系统顶层E-R图3-1所示:图3-1入库日汇总供应商名称详细地址供应商编码供应商商品供应存货表销售日汇总销售销售详单报损数量进价送货人收货人日期MN1

15、N1N1N11N商品报损单313 数据库逻辑结构设计从上面的概念结构设计中,经过实体集间联系的转换规则可以得到下面的数据库逻辑结构。其中供应商实体与商品实体之间存在多对多的关系,在设计数据库逻辑结构时应该增加一个实体(进货表)并把供应关系中的各个属性列入这个实体中。其他的一对多的关系,只要在多的这一实体加上另一实体的主关键字就行了,这样可以与各个实体进行逻辑连接已达到数据冗余度小、数据共享度高等特点。下划线代表该实体的关键字。 商品(商品编号,商品名称,条形码,类型名称,供应商名称,型号,规格); 商品类型(商品类型编码,商品类型名称,备注); 存货表(商品编码,数量); 销售详单(销售流水号

16、,商品编码,数量,金额,收银员,时间); 销售日汇总(日期,商品编码,数量); 进货表(送货号码,商品编码,供应商编码,送货人,收货人,数量,单价,送货日期); 报损表(报损流水号,商品编码,报损原因,数量,操作员,日期,备注) 供应商(供应商编码,供应商名称,联系人,电话,银行帐户,地址,公司介绍)313 数据库物理结构设计 本系统使用SQL2000数据库系统,超市进销存管理系统的数据库文件分两部分数据文件和日志文件,为了其安全性,日志文件跟数据库文件不在同一个目录。数据文件分为主文件和次文件分别为super_shop_Data.MDF(初始大小为50MB)和shop1.NDF(初始大小为)

17、,日志文件也分为super_shop_log.LDF和log.ldf 数据库中各个表如下所示:) 表为商品表(Commodities)表商品表(Commodities)列名数据类型字段大小必填字段默认值说明Commodity_idchar16是无商品编码Commodity_namevarchar30是无商品名称Bar_codeChar16是无条形码type_namechar10是无商品类型名称prd_factoryVarchar40是无产品介绍ModelVarchar20否无型号SpecificationVarchar20否无规格Unit_pricefloat8是无价格) 表为商品类型表(Co

18、mmodityType)表商品类型表(CommodityType)列名数据类型字段大小必填字段默认值说明commoditytype_idChar16是无商品类型编码CommodityTypeNameChar16是无商品类型名称RemarkVarchar50是无备注) 表为供应商表(Provider)表供应商表(Provide)列名数据类型字段大小必填字段默认值说明P_IDChar16是无供应商编码P_NameChar40是无供应商名称P_PersonChar8是无联系人P_PhoneChar15是无联系电话P_Accound_numberChar20是无银行账号P_AddressVarchar

19、50是无联系地址P_IntroduceVarchar100是无产品介绍) 表3为进货表(Supply)表进货表(Supply)列名数据类型字段大小必填字段默认值说明Supply_idInt4是无送货号码Commodity_idchar16是无商品编码P_IDchar16是无供应商编码Deliver_Schar8是无送货人Consignee_Schar8是无收货人buy_countint4是无数量buy_pricefloat8是无价格(购价)buy_datedatetime8是无日期) 表为存货表(Goods_stock)表存货表(Goods_stock)列名数据类型字段大小必填字段默认值说明C

20、ommodity_idchar是无商品编码Memory_countfloat是库存量) 表为销售详单表(Sale_detail)表销售详单表(Sale_detail)列名数据类型字段大小必填字段默认值说明Sale_line_numberChar20是无销售流水号Commodity_idChar16是无商品编码Sale_countint是数量Amountmoney是无金额BankerChar6是无收银员timesdatetime是Today日期) 表为销售日汇总表(Sale_count_date)表销售日汇总(Sale_count_date)列名数据类型字段大小必填字段默认值说明Commodit

21、y_idChar16是无商品编码Sale_datedatetime是无销售日期Sale_countInt4是无数量数据库脚本见附件32 系统结构设计 根据面向对象和多层结构的设计思想,可得出如图所示的系统结构设计图。用户登录超市进销存管理系统用户操作界面进货管理商品管理商品类型管理销售管理报损管理供应商管理销售分析商品数据窗口供应商数据窗口商品销售数据窗口商品报损数据窗口销售日汇总数据窗口数据窗口组件数据库第4章 系统详细设计4.1系统登录41 系统登录的流程图 系统登录模块的流程图如图4所示用户名和密码用户名密码是否合法超市管理系统YesNo图41 系统登陆的界面设计 系统登录界面由窗口(背

22、景色为浅蓝色)、个文本框控件、两个命令按钮和两个标签控件组成。其界面设计如图所示图4系统登录模块的具体实现系统登录模块主要用到的技术是PowerBuilder9.0提供的游标机制,它能很好的控制和操作数据库中的数据,使数据一条条记录从数据库中读出来并与输入的用户名和密码进行比较,若用户名和密码都正确则进入超市管理系统,否则回到用户登录界面重新输入。虽然使用游标机制很方便快捷,但速度比较慢,在数据量不是很多的操作员表中是很好的选择。部分代码如下:String userString pwdDECLARE CursorLogin CURSOR FORSELECT A_Account_S,A_Pws_

23、SFROM Admins;OPEN CursorLogin;FETCH CursorLogin INTO :user,:pwd;DO WHILE SQLCA.SQLCode=0if Trim(sle_user.text)=Trim(user) and trim(sle_password.text)=trim(pwd) thenopen(w_main)close(login)exitelse FETCH CursorLogin into :user,:pwd; if sqlca.sqlcode=100 then messagebox(提示,操作员不存在) sle_user.text= sle_p

24、assword.text= sle_user.setfocus() end if end ifLOOPCLOSE CursorLogin;详细代码请查看附件(p3-p4)42 基本信息维护 4.2.1 商品信息管理商品基本信息管理由三部分组成,即添加商品信息、编辑商品信息和删除商品信息。4.2.1.1商品信息的界面设计图4、图、图分别是添加商品信息界面、更新商品信息界面和删除商品信息的界面设。图图图4.2.1.2商品信息模块的具体实现添加商品信息中,首先把商品类型和供应商名称从数据库中检索出来放在下来列表框中以便操作员选择,在输入完成商品信息后,单击“保存”按钮进行保存,在保存过程中会弹出一个

25、提示框显示刚刚输入的信息以便操作员进行检查。确定保存后,如果添加成功系统会提示,假如添加失败系统会给出失败的数据库出错原因。其流程图如下所示。输入信息不正确输入商品信息检查输入信息是否真确数据库正确的信息 在编辑商品信息中,使用一个数据窗口对象把整个商品表从数据库中检索出来。然后使用在编辑商品信息窗口对象中添加一个数据控件与之相关联,再用数据窗口事件对数据窗口进行向上检索、向下检索记录、保存修改数据、更新数据操作。查询输入商品编码商品详细信息是否删除数据库否删除商品信息时,要输入商品的编码,然后把它查询出来并把各个字段信息放入文本框中以便用户核对是否要删除的商品信息,若是就单击“删除”按钮删除

26、商品信息,则会删除刚刚输入的商品。是详细代码请查看附件(p4-p8)4.2.2商品类型信息维护 商品类型信息维护子模块实现对商品类型信息的添加、修改和删除操作。管理员不能随便更改商品类型信息。添加商品类型信息使用嵌入式SQL语言把输入信息添加到数据库中,在更新商品类型信息时用数据窗口对象对数据库进行操作。 4.2.2.1 商品类型信息的界面设计图4,图和图分别是添加商品类型、修改商品类型和删除商品类型的界面设计图图图图4.2.2.2商品类型信息的具体实现 添加商品类型信息由用户输入商品类型信息,并且检查输入的信息,确定无误后添加到数据库。添加商品类型信息的流程图如下:否输入商品信息输入信息是否

27、符合要求数据库是编辑商品信息是使用一个数据窗口把数据显示出来,把数据窗口设置为可更改,然后把修改后的数据保存。在保存的时候系统会提示是否要保存。其数据流程如下:否修改后的数据是否要保存数据库是 删除商品信息也是使用一个数据窗口把数据显示出来,使用数据控件的GetRow()方法获取焦点位置对应的缓冲区的行号,然后把这行删除。其流程图如下:否得到数据控件中的行号是否要删除数据库是商品类型的纤细代码请查看附件(p8-p10)4.2.3供应商信息管理供应商信息管理实现对供应商信息的添加、修改和删除。4.2.3.1供应商信息管理的界面设计图、图和图分别是添加供应商信息、修改供应商信息和删除供应商信息。图

28、图图4.2.3.2供应商信息模块的具体实现 添加供应商信息是由用户输入供应商信息,然后系统提示用户输入的信息是否正确,假如输入的信息正确并确定要添加信息,信息就添加到数据库。其流程图如下所示:否输入供应商信息输入信息是否符合要求数据库是 修改供应商信息是使用数据窗口把数据检索出来,然后对数据窗口中的数据进行更改,更改完成后提交事物更新数据库。修改供应商信息的流程图如下:否修改的数据窗口是否提交到数据库数据库是显示数据 删除供应商信息有两种方式,一种是直接输入供应商编码,使用嵌入式SQL语言删除特定的供应商信息。另一种是使用数据窗口中的DeleteRow()函数删除数据并更新数据库。 详细代码请

29、查看附件(p10-13)商品进货信息模块进货模块主要实现商品进货信息添加、修改、删除和进货分析功能,并直接更新库存量。在添加进货单子模块中同样先把商品编码和供应商编码放到下来列表框中以供操作员选择,这样减少了操作员的工作量。进货信息模块的界面设计图10、图11、图12、图413分别是添加进货信息,更新进货信息、删除进货信息查询进货信息。图图图进货信息模块的具体实现添加进货单时,先把商品编码和供应商编码从数据库中查询出来放在列表框中供操作员选择,然后由操作员输入其它数据,在输入日期的时候采用一个日期控件来实现,这样减少了操作员的负担。添加进货单的流程图如下示:有效数据无效数据用户输入数据检查有效

30、性数据库更新进货单是使用一个自由格式的数据窗口把数据检索出来,然后使用按钮对数据窗口中的数据进行遍历,找到要修改的数据进行修改,修改后保存数据并提交到数据库。否修改的数据窗口是否提交到数据库数据库是显示数据删除进货单同样使用数据窗口来对数据进行删除。查询进货单可以按进货日期、商品名称、商品类型进行模糊查询。它是在指定的文本框中输入查询条件,然后使用数据窗口中的SetSqlSelect()函数查询数据在数据窗口中显示。关键代码如下:(查询按钮的“click”事件代码)String var2,sqlvar2=Trim(tab_1.tabpage_2.sle_2.text)sql=select Su

31、pply.Commodity_id,Commodity_name,P_Name,Deliver_S,Consignee_S,buy_count,buy_price,buy_date sql=sql+from Commodities,Supply,Provider sql=sql+where Commodities.Commodity_id=Supply.Commodity_id and Supply.P_ID=Provider.P_ID sql=sql+and Commodity_name like %+var2+%tab_1.tabpage_2.dw_supplies.setsqlselec

32、t( sql)tab_1.tabpage_2.dw_supplies.retrieve( );在进货单分析中,是把所有进货单通过一个数据窗口检索出来,然后对数据进行排序,先对日期进行降序,日期相同的进货单又按进货数量进行降序和升序,再按商品名称进行分组,这样就可以一目了然的看到某中商品的进货信息。部分代码如下:tab_1.tabpage_2.dw_supplies.SetTransObject(sqlca)tab_1.tabpage_2.dw_supplies.retrieve( )tab_1.tabpage_2.sle_1.text=String(today()tab_1.tabpage_1

33、.dw_max.SetTransObject(sqlca)tab_1.tabpage_1.dw_max.retrieve( )tab_1.tabpage_1.dw_max.SetSort(supply_buy_date D, supply_buy_count D)tab_1.tabpage_1.dw_max.Sort( )tab_1.tabpage_3.dw_min.SetTransObject(sqlca)tab_1.tabpage_3.dw_min.retrieve( )tab_1.tabpage_3.dw_min.SetSort(supply_buy_date D, supply_buy

34、_count A)tab_1.tabpage_3.dw_min.Sort( )进货商品信息模块的详细代码请参见附件(P13P15)。商品销售信息模块超市的销售业务是通过POS机来实现的,本系统使用一个独立的客户端软件来模拟POS机器工作。它安装在各个POS机端,每销售一笔业务的商品直接更新库存。销售模块还有销售查询和销售分析功能,可以查询特定商品的销售情况,也可以对销售信息进行数量和金额的升序和降序排列。4.4.1 商品销售模块的界面设计商品销售模块作为一个安装在POS机上的独立的软件,肩负起销售每笔销售业务的任务,主要有收银员登录界面和销售单打印界面组成。图是收银员登录的界面,收银员输入正确

35、名字和密码就可以进入系统。图图4-15是收银员进入销售系统后进行销售的界面图,记录着收银员的名字,数量文本框的默认值为,记录着当天的日期。图图4-15是查询商品销售信息的界面设计图。图4-16是商品分析的界面设计图。4.4.1商品销售模块的具体实现收银员登录时要验证其身份是否在数据库中存在,若名字和密码都正确就进入销售子系统,若不正确,则提示“非法的名字和密码”。收银员登录的流程图如下所示用户名和密码用户名密码是否合法收银台NoYes收银员进行收银销售时,用手工输入商品编码来模拟条形码扫描器。当光标离开商品编码所在的文本框时,右边自动显示商品的名称以便收银员核查,并且金额也显示在当前静态文本框

36、中。数量的默认值为,日期是显示当前的日期。销售商品采用一个流水号作为销售详细表的主关键字,这样可以统计商品的销售情况。部分代码:int rdrd=rand(1)*1000String ss=String(rd)sale_line_id=ss+String(today()+string(now()查询销售信息可以使用不同的方式查看,最重要的就是对销售信息进行不同的排序,这样超市管理者就可以根据自己的需求来查看商品销售情况。if cbx_count.checked=true then /按商品数量进行升序和降序排列if rb_up.checked=true thendw_saling_select

37、.Setsort( sale_count A)elsedw_saling_select.Setsort( sale_count D)end ifdw_saling_select.Sort( )end if商品销售分析是把销售详单中的数据通过数据窗口查询出来,然后对数据窗口的数量字段进行升序和降序排列。超市管理者就很容易知道哪些商品最畅销,哪些商品不畅销,这样就可以制定正确的决策。商品销售子系统的代码请参见附件(P17-P18)。商品报损信息模块商品报损信息管理主要是对那些在运输过程中损坏,在搬运过程中损坏,客户无意中弄坏或过期的商品进行处理,以减少库存的虚增。4.5.1商品报损模块的界面设计它

38、由添加报损单、更新报损单及报损分析组成。添加报损单界面设计如图所示。图更新报损单的界面设计如图所示。 图 查询商品报损单的界面设计如图416所示 图4174.5.1商品报损模块的具体实现在添加报损单中,操作员可以输入商品编码,也可以从右边的下拉列表框中选择商品编码,这样操作员操作起来很方便。报损原因不能为空。其流程图如下所示:有效数据无效数据用户输入数据检查有效性数据库在更新报损单中,使用一个数据窗口对象把报损单中的内容检索到数据表控件中,用数据窗口对象中的函数及方法对数据进行操作,如修改、删除。当数据量比较多时,可以在商品编码文本框中输入商品编码进行筛选。流程图如下所示:否修改的数据窗口是否

39、提交到数据库数据库是显示数据部分代码如下:if (MessageBox(提示信息,是否保存所做的修改?,question!,YesNoCancel!,1)=1 thenif dw_edit_disponse.update( )=1 thencommit;/提交修改MessageBox(提示,保存成功)return 0elserollback;/返回MessageBox(提示,保存失败,请检查数据的真确性!)return 1end ifelserollback;return 1end if查询报损单可以根据商品名称和报损原因进行模糊查询,它是使用数据窗口把数据从数据库中查询到缓冲区中,然后使用数

40、据窗口中的SetSqlSelect()函数重新设置查询语言更新数据窗口中的数据。关键代码如下所示:String sql,name /name为输入文本框的商品名称name=trim(sle_1.text)sql=select modity_name,dispose.d_regdate,dispose.d_count,dispose.d_reason,dispose.d_operator,dispose.d_remark sql=sql+from Commodities,dispose sql=sql+where modity_id = modity_id and Commodity_name

41、like %+name+%dw_1.setsqlselect(sql)dw_1.retrieve( ) 商品报损模块的详细代码请参见附件(p19-p21)。主要参考文献1 龚小勇,关系数据库与SQL Server2000M 机械工业出版社 2004年2 苗雪兰,数据库系统原理及应用M 机械工业出版社 2004年3 徐松林,PowerBuilder 数据库应用开发教程M 清华大学出版社 2005年4 史济民,软件工程原理、方法、与应用M 高等教育出版社 2004年5 黄梯云,管理信息系统导论J 机械工业出版社 2000年6 朱 磊,PowerBuilder 9实用编程技术 清华大学出版社 2006年7 方美琪,软件开发工具M 经济科学出版社 2002年8 甘仞初,信息系统开发M 经济科学出版社 2000年29

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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