还剩25页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
商业销售系统次分析设计是针对一个商业销售系统中的几个主要业务进行建模我们的设计对象是一个商场的商业销售系统商场下设有业务部、仓库、若干柜台组及收银台等,业务部负责__进货、保管及销售,仓库对购进的商品进行保管,而柜台则是进行商品零售的场所,收银台作为大厦财务出纳的收款点负责零售商品的收款
1.现有系统描述该商场现有部门如下家用电器经理部、家用电器大件柜、家用电器小件柜;五金交电经理部、小五金柜、电气材料柜;钟表眼镜经理部、钟表柜、眼镜柜;文化用品经理部、文化用品一柜、文化用品二柜;体育用品经理部、体育器材柜、体育服装柜;服装用品经理部、妇女服装柜、儿童服装柜、男子服装柜;大件商品仓库,服装用品仓库、精细商品仓库、普通商品仓库该商场的业务目前全部为手工处理,具体业务描述如下业务部从有关厂家和__商订购商品;订购商品到货时,由业务部的制单人填写商品入库通知单,通知仓库进行行验收入库;仓库保管员按入库单对到货进行验收入库;无论验收情况如何,都要填写验收单,通知业务部及财务进行做账;柜台需要库存商品上柜销售时,也由业务部的制单人填写商品调拨单分别通知仓库和柜台组;仓库按调拨单发货;柜台按调拨单提货到柜台;商品零售时,由售货员填写交款单给顾客,顾客拿交款单到收银台交钱,收款员按收款单的金额收款,然后在交款单上盖收款章,顾客凭盖章后的交款单到柜台取走商品;而对__业务来说,顾客直接到业务部进行洽谈,业务部的业务人员根据洽谈结果开售货单,顾客拿售货单到财务部出纳处交款,出纳收款后在售货单各联上加盖收款章;顾客交款后直接到仓库提货;仓库发货时按售货单发货,并将售货单的提货联留底
2.对新系统要求
2.1经理业务部业务管理业务处理要求要求新系统能支持各经理业务部通过开具入库单、调拨单、调价单商品__销售单以及库存调整单来对商品流通各个环节进行管理和控制数据处理要求入库单、调拨单、调价单、销售单以及库存调整单都是属于原始凭证,在新系统中应保存这些原始凭证的如下基本信息凭证号、凭证名称、填制单位、接受单位、日期、制表人;以及,如下明细信息入库编号、单位、数量、单价、摘要
2.2仓库业务管理业务处理要求商品的入库、出库、盘点及查询商品入库主要是采购商品入库,入库时须按入库通知单对实物进行验收,并填写验收单出库有两种情况一种是按商品调拨单将商品调入柜台进行销售,另一种是__销售,顾客拿提货联来提货盘点主要是按库存账对实物进行盘查,查出各种实物的盈亏情况商品入库、出库都要对库存账进行登记,盘点要做出盘点报表数据处理要求仓库的商品库存账记录了仓库各种商品的库存数量及资金占用量等库存状态,应能反映如下信息入库编号、商品名称、单位、数量、单价、入库日期、库位库存进出流水账记录仓库商品进出情况,这是一个随时间增加的流水账,应能反映如下信息凭证编号、进出借贷、数量、单位、单价、入库编号、商品名称、日期、摘要入库验收单记录入库验收情况,应能反映如下信息验收单编号、商品名称、入库编号、入库数量、验收数量、验收质量、单位、单价、入库单编号、验收日期、验收人、摘要盘点记录表记录盘点情况,应能反映如下信息盘点日期、入库编号、商品名称、账面数量、实际盈亏数量、单位、单价、摘要
2.3柜台业务管理新系统应对以下业务进行处理商品调柜处理、商品销售及柜台商品的统计查询商品调入柜台进行销售时,要按商品调拨单从仓库中__商品,同时要登记柜台商品帐销售商品时先开售货单给顾客,顾客凭售货单去收银台交款后再将已盏收款章的售货单交给售货员并取走商品,售货员须将已售出的货物进行登记此外,查询主要查询柜台商品情况及销售情况统计主要统计每天的销售情况,毛利润等信息数据处理要求
1.柜台商品的登记应该的两本账;一本是反映柜台商品状态的,另一本是反映柜台商品变动情况的流水账
2.用于记录柜台现有各商品存货的情况的柜台商品账,应能反映如下信息入库编号、商品名称、单位、数量、进价
3.用于记录柜台商品的入库情况的柜台商品入库流水账,应能反映如下信息凭证编号、入库编号、商品名称、数量、单价、单位、日期、摘要
4.用于记录柜台商品的销售库情况的柜台商品销售流水账,应能反映如下信息凭证编号、入库编号、商品名称、销售数量、销售单价、单位、单位毛利、日期、摘要
5.售货数据售货单编号、入库编号、商品名称、数量、售价、单位、有效否、柜台名称、日期
6.商品__数据商品名称、单位、__、实行日期
2.4收银台管理收银台的主要工作就是按售货单收取现金系统应提供以下业务处理功能收款员联机管理、收款登记,收款查询、销售日报表及现金日报表的生成打印数据处理要求
1.收款台账,记录了收款流水账,应能反映如下信息售货单编号、日期、柜台、入库编号、商品名称、数量、单位、单价、收款员、付款方式现金、支票
2.销售日报,记录了每天统计的销售情况,应能反映如下信息日期、柜台号、入库编号、商品编号、数量、单位、金额
3.新系统至少应记录收款员如下一些信息收款员姓名、口令、有效否、登记日期
2.5商品三级账管理商品三级账管理的主要有根据仓库验收单在商品账中登记入库记录,填调拨单时须检查库存是否有相应的商品,调拨单填完后要自动对商品账中的库存和柜台商品变动进行登记,根据销售日报表对柜台销售商品登账数据处理要求
1.商品存货账,记录商场备部门的存货情况入库编号、商品名称、存货单位名称、单位、数量、单价
2.商品变动流水账,记录商场各部门的存货的变动情况入库编号、商品名称、科目编号、借贷、单位、数量,单价、日期、凭证号、摘要
3.商品销售流水账,记录商品的销售情况入库编号、商品名称、销售部门、销售数量、单位、售价、进价、毛利、日期
2.6编码要求新系统对诸如部门、人员、商品、厂家、各种凭证等分别制定一套简单易行的编码方案,以方便管理和使用商场方面还要求该系统应是一个多层体系结构的分布式系统 系统设计说明 本文档设计中,是把以上部门按功能把他们进行抽象成为四个管理系统下图是UseCaseDiagramView中对系统的一个描述它虽然是个UseCaseDiagram,但里面的内容只是Package不包含具体UseCaseDiagram的actor和UseCase.图1系统的结构图单据管理系统设计说明UseCase应该是过程、操作而非一个实体的对象如图,UseCase的所有对象(商品入库单、库存入库单、商品调整单、商品__销售单、商品调拨单)都是实实在在存在的实体它们不是一个过程,亦不是一个操作因而UseCaseDiagram如下 图
二、单据管理系统用例图在单据管理系统中要求新系统能支持各经理业务部通过开具入库单、调拨单、调价单商品__销售单以及库存调整单来对商品流通各个环节进行管理和控制在画Sequen__Diagram中,为了很好的对类和操作作很好的映射,提高Sequen__Diagram的实际用途,采用了“二步法”来做如下图,先是对用户所关心的东西作一个描述性的说明在这里面,不对具体的实体对象任何的描象,也不对类进行映射图
三、“二步法”画Sequen__Diagram1图
四、“二步法”画Sequen__Diagram2图
五、“二步法”画Sequen__Diagram3和Sequen__Diagram一样,CollaborationDiagram也显示使用案例中特定的流程Sequen__Diagram与CollaborationDiagram中的信息相同,但CollaborationDiagram显示了不同的流程视图在CollaborationDiagram中,更容易看出对象之间的关系CollaborationDiagram表示协作,在CollaborationDiagram中包含了一组由对象扮演的角色,以及一个特定的上下文中的关系对最终得出的Sequen__Diagram作转化,成为如图六所示的CollaborationDiagram图
六、Sequen__Diagram转为CollaborationDiagramC1ass框图显示系统中的类与类包,提供系统组件及其相互关系的静态图形类是包装信息和行为的项目习惯上,我们把系统的信息放在数据库”一方,行为放在应用程序一方面向对象方法的特点之—就是将一小组息和影响信息的行为连接在—起我们将一小组信息和影响信息的行为连接在一起,包装成类一个系统通常要生成几个CIass框图有些显示类及其关系的子集,有些显示类的子集,包括属性和操作,还有—些显尔类包及包之间的关系接着上面的这个制单例子,对图八中所映射的类添加一些必要的属性和操作,并反相关的类分类后打包为三个包图
七、把类分类后打包图
八、包“界面”下属类图
九、包“后台数据库”下属类图
十、包“中间件”下属类当然,也有对整个单据管理系统所有类及类之间关系的描述图
十一、单据管理系统类及类之间的关系组件是代码的物理模块组件可以包括代码闸和运行文件例如,如果使用C++,则每个个.CPP和.__件是单独的组件编译代码后生成的EXE文件也是组件生成代码之前,将每个文件映射相应组件在C++中,每个类映射两个组件,一个表示类的.CPP义件,—个表示.H的文件组件生成之后,加进ComponentDragram中,并画出其间关系:图
十二、组件包之间的关系图
十三、组件之间的关系其它功能模块设计上面已对单据管理系统的设计进行了详细说明从技术角度来说,仓库管理系统、销售管理系统、账目管理系统的实现过程、步骤和方法都是一样的为了避免不必要的冗余,以下部份直接给出图例,不再加于累述图
十四、仓库管理系统用例图图
十五、销售管理系统用例图图
一六、帐目管理系统用例图图
一七、报表管理顺序图商业销售系统类图汇总图
一八、后台数据库类图汇总图
一九、界面类图汇总图二○、中间件类图汇总图
二一、商业销售系统类图汇总图
二二、商业销售系统类图汇总组件图汇总尚未解决的问题1.若此高场有进出口贸易,刚对进出口商品的管理没有细分2.界面的完全实现3.高级管理者与普通用户拥有优先的权利没有体现出来附录
一、数据库建表代码use__stergoifexistsselect*fromdbo.sysdatabaseswherename=venditiondropdatabasevenditionGOcreatedatabasevenditiongousevenditiongoifexistsselect*fromdbo.syso__ectswhereid=o__ect_idN[dbo].[Tr__elServi___Loan]andO__ECTPROPERTYidNZre__iverInfo=1droptable[dbo].[Tr__elServi___Loan]GOifexistsselect*fromdbo.syso__ectswhereid=o__ect_idN[dbo].[Tr__elServi___Loan]andO__ECTPROPERTYidNDorder=1droptable[dbo].[Tr__elServi___Loan]GOifexistsselect*fromdbo.syso__ectswhereid=o__ect_idN[dbo].[Tr__elServi___Loan]andO__ECTPROPERTYidNCcheckOrder=1droptable[dbo].[Tr__elServi___Loan]GOifexistsselect*fromdbo.syso__ectswhereid=o__ect_idN[dbo].[Tr__elServi___Loan]andO__ECTPROPERTYidNZgoodDailyOrder=1droptable[dbo].[Tr__elServi___Loan]GOifexistsselect*fromdbo.syso__ectswhereid=o__ect_idN[dbo].[Tr__elServi___Loan]andO__ECTPROPERTYidNSgainTotal=1droptable[dbo].[Tr__elServi___Loan]GOifexistsselect*fromdbo.syso__ectswhereid=o__ect_idN[dbo].[Tr__elServi___Loan]andO__ECTPROPERTYidNCstorageInfo=1droptable[dbo].[Tr__elServi___Loan]GOifexistsselect*fromdbo.syso__ectswhereid=o__ect_idN[dbo].[Tr__elServi___Loan]andO__ECTPROPERTYidNCinStorage=1droptable[dbo].[Tr__elServi___Loan]GOifexistsselect*fromdbo.syso__ectswhereid=o__ect_idN[dbo].[Tr__elServi___Loan]andO__ECTPROPERTYidNCprepareOrder=1droptable[dbo].[Tr__elServi___Loan]GOifexistsselect*fromdbo.syso__ectswhereid=o__ect_idN[dbo].[Tr__elServi___Loan]andO__ECTPROPERTYidNZmoneyDailyOrder=1droptable[dbo].[Tr__elServi___Loan]GOifexistsselect*fromdbo.syso__ectswhereid=o__ect_idN[dbo].[Tr__elServi___Loan]andO__ECTPROPERTYidNSpayforOrder=1droptable[dbo].[Tr__elServi___Loan]GOifexistsselect*fromdbo.syso__ectswhereid=o__ect_idN[dbo].[Tr__elServi___Loan]andO__ECTPROPERTYidNSpayforOrder=1droptable[dbo].[Tr__elServi___Loan]GOifexistsselect*fromdbo.syso__ectswhereid=o__ect_idN[dbo].[Tr__elServi___Loan]andO__ECTPROPERTYidNSgoodsTotal=1droptable[dbo].[Tr__elServi___Loan]GOifexistsselect*fromdbo.syso__ectswhereid=o__ect_idN[dbo].[Tr__elServi___Loan]andO__ECTPROPERTYidNDorderItem=1droptable[dbo].[Tr__elServi___Loan]GOifexistsselect*fromdbo.syso__ectswhereid=o__ect_idN[dbo].[Tr__elServi___Loan]andO__ECTPROPERTYidNCpickUpGoodsOrder=1droptable[dbo].[Tr__elServi___Loan]GOCREATETABLEZre__iverInfoRe__iverIDINTEGERNOTNULLRe__iverNameVARCHAR255NOTNULLRe__iverPassW__ALLINTNOTNULLGender__ALLINTNOTNULLApplyDatedatetimeNOTNULLLastLoginDatedatetimeNOTNULLCounterID__ALLINTNOTNULLOthers__ALLINTNOTNULLZre__iverInfo_IDINTEGERNOTNULLCONSTRAINTPK_Zre__iverInfo11PRI__RYKEYZre__iverInfo_ID;CREATETABLEDorderOrderNumberINTEGERNOTNULLOrderNameVARCHAR255NOTNULLOrderFillUnitVARCHAR255NOTNULLOrderRequreUnitVARCHAR255NOTNULLOrderDatedatetimeNOTNULLOrderFillDatedatetimeNOTNULLOrderListerVARCHAR255NOTNULLDorder_IDINTEGERNOTNULLCONSTRAINTPK_Dorder4PRI__RYKEYDorder_ID;CREATETABLECcheckOrderCheckNumberINTEGERNOTNULLCheckPersonVARCHAR255NOTNULLCheckResult__ALLINTNOTNULLCOL_0__ALLINTNOTNULLDorder_IDINTEGERNOTNULLGoodNameVARCHAR255NOTNULLInStorageOrderIDINTEGERNOTNULLCONSTRAINTPK_CcheckOrder21PRI__RYKEYDorder_ID;CREATETABLEZgoodDailyOrderZmoneyDailyOrder_IDINTEGERSgoodsTotal_IDINTEGERDorder_IDINTEGERNOTNULLCONSTRAINTPK_ZgoodDailyOrder24PRI__RYKEYDorder_ID;CREATETABLESgainTotalDatedatetimeNOTNULLGoodOrderIDINTEGERNOTNULLOrderIdINTEGERNOTNULLSgainTotal_IDINTEGERNOTNULLTotalCash__ALLINTNOTNULLCONSTRAINTPK_SgainTotal18PRI__RYKEYSgainTotal_ID;CREATETABLECstorageInfoGoodPla__VARCHAR255NOTNULLDorder_IDINTEGERNOTNULLCinStorage_Dorder_IDINTEGERNOTNULLCONSTRAINTPK_CstorageInfo19PRI__RYKEYDorder_ID;CREATETABLECinStorageInStorageTime__ALLINTNOTNULLCpickUpGoodsOrder_IDINTEGERDorder_IDINTEGERNOTNULLCONSTRAINTPK_CinStorage20PRI__RYKEYDorder_ID;CREATETABLECprepareOrderDorder_IDINTEGERNOTNULLCONSTRAINTPK_CprepareOrder22PRI__RYKEYDorder_ID;CREATETABLEZmoneyDailyOrderOrderIdINTEGERNOTNULLTotalCashDOUBLEPRECISIONNOTNULLDatedatetimeNOTNULLGoodOrderIdINTEGERNOTNULLZmoneyDailyOrder_IDINTEGERNOTNULLSgainTotal_IDINTEGERCONSTRAINTPK_ZmoneyDailyOrder14PRI__RYKEYZmoneyDailyOrder_ID;CREATETABLESpayforOrderDorder_IDINTEGERNOTNULLCONSTRAINTPK_SpayforOrder25PRI__RYKEYDorder_ID;CREATETABLEZgatheringOrderPayFormVARCHAR255NOTNULLCounterIDINTEGERNOTNULLZmoneyDailyOrder_IDINTEGERDorder_IDINTEGERNOTNULLCONSTRAINTPK_ZgatheringOrder23PRI__RYKEYDorder_ID;CREATETABLESgoodsTotalOrderIdINTEGERNOTNULLGoodNameVARCHAR255NOTNULLGoodTotalINTEGERNOTNULLSgainTotalIDINTEGERNOTNULLGoodPri__DOUBLEPRECISIONNOTNULLSgoodsTotal_IDINTEGERNOTNULLCONSTRAINTPK_SgoodsTotal17PRI__RYKEYSgoodsTotal_ID;CREATETABLEDorderItemItemIDINTEGERNOTNULLItemUnitVARCHAR255NOTNULLItemNumberINTEGERNOTNULLItemPriseDOUBLEPRECISIONNOTNULLItemTabloidVARCHAR255NOTNULLDorderItem_IDINTEGERNOTNULLDorder_IDINTEGERNOTNULLCONSTRAINTPK_DorderItem5PRI__RYKEYDorderItem_ID;CREATETABLECpickUpGoodsOrderPickUpID__ALLINTNOTNULLPickUpO__ectVARCHAR255NOTNULLPickUpTimedatetimeNOTNULLPickUpGoodNameVARCHAR255NOTNULLPickUpGoodPri__DOUBLEPRECISIONNOTNULLPickUpMoneyDOUBLEPRECISIONNOTNULLCpickUpGoodsOrder_IDINTEGERNOTNULLCONSTRAINTPK_CpickUpGoodsOrder10PRI__RYKEYCpickUpGoodsOrder_ID;CREATEINDEXTC_ZgoodDailyOrder13ONZgoodDailyOrderZmoneyDailyOrder_ID;CREATEINDEXTC_ZgoodDailyOrder15ONZgoodDailyOrderSgoodsTotal_ID;CREATEINDEXTC_CinStorage9ONCinStorageCpickUpGoodsOrder_ID;CREATEINDEXTC_ZmoneyDailyOrder17ONZmoneyDailyOrderSgainTotal_ID;CREATEINDEXTC_ZgatheringOrder11ONZgatheringOrderZmoneyDailyOrder_ID;CREATEINDEXTC_DorderItem5ONDorderItemDorder_ID;ALTERTABLECcheckOrderADDCONSTRAINTFK_CcheckOrder12FOREIGNKEYDorder_IDREFEREN__SDorderDorder_IDONDELETENOACTIONONUPDATENOACTION;ALTERTABLEZgoodDailyOrderADDCONSTRAINTFK_ZgoodDailyOrder6FOREIGNKEYZmoneyDailyOrder_IDREFEREN__SZmoneyDailyOrderZmoneyDailyOrder_IDONDELETENOACTIONONUPDATENOACTION;ALTERTABLEZgoodDailyOrderADDCONSTRAINTFK_ZgoodDailyOrder15FOREIGNKEYDorder_IDREFEREN__SCinStorageDorder_IDONDELETENOACTIONONUPDATENOACTION;ALTERTABLEZgoodDailyOrderADDCONSTRAINTFK_ZgoodDailyOrder7FOREIGNKEYSgoodsTotal_IDREFEREN__SSgoodsTotalSgoodsTotal_IDONDELETENOACTIONONUPDATENOACTION;ALTERTABLECstorageInfoADDCONSTRAINTFK_CstorageInfo10FOREIGNKEYCinStorage_Dorder_IDREFEREN__SCinStorageDorder_IDONDELETENOACTIONONUPDATENOACTION;ALTERTABLECstorageInfoADDCONSTRAINTFK_CstorageInfo9FOREIGNKEYDorder_IDREFEREN__SDorderDorder_IDONDELETENOACTIONONUPDATENOACTION;ALTERTABLECinStorageADDCONSTRAINTFK_CinStorage4FOREIGNKEYCpickUpGoodsOrder_IDREFEREN__SCpickUpGoodsOrderCpickUpGoodsOrder_IDONDELETENOACTIONONUPDATENOACTION;ALTERTABLECinStorageADDCONSTRAINTFK_CinStorage11FOREIGNKEYDorder_IDREFEREN__SDorderDorder_IDONDELETENOACTIONONUPDATENOACTION;ALTERTABLECprepareOrderADDCONSTRAINTFK_CprepareOrder13FOREIGNKEYDorder_IDREFEREN__SDorderDorder_IDONDELETENOACTIONONUPDATENOACTION;ALTERTABLEZmoneyDailyOrderADDCONSTRAINTFK_ZmoneyDailyOrder8FOREIGNKEYSgainTotal_IDREFEREN__SSgainTotalSgainTotal_IDONDELETENOACTIONONUPDATENOACTION;ALTERTABLESpayforOrderADDCONSTRAINTFK_SpayforOrder16FOREIGNKEYDorder_IDREFEREN__SZgatheringOrderDorder_IDONDELETENOACTIONONUPDATENOACTION;ALTERTABLEZgatheringOrderADDCONSTRAINTFK_ZgatheringOrder14FOREIGNKEYDorder_IDREFEREN__SDorderDorder_IDONDELETENOACTIONONUPDATENOACTION;ALTERTABLEZgatheringOrderADDCONSTRAINTFK_ZgatheringOrder5FOREIGNKEYZmoneyDailyOrder_IDREFEREN__SZmoneyDailyOrderZmoneyDailyOrder_IDONDELETENOACTIONONUPDATENOACTION;ALTERTABLEDorderItemADDCONSTRAINTFK_DorderItem2FOREIGNKEYDorder_IDREFEREN__SDorderDorder_IDONDELETENOACTIONONUPDATENOACTION;附录
二、几个简单的存储过程和触发器的实现/***************************************************************************/createtriggerCheckGoodsonCinstroage/*填调拨单时检查库存是否有相应的商品*/forinsertasbegindeclare@GoodsNamevarchar20@GoodsNumint@__rkintset@__rk=0set@GoodsName=select@GoodsNamefrominsertedset@GoodsNum=select@@GoodsNumfrominsertedset@__rk=select*fromCinstroagewhereCinstroage.GoodName=@GoodsNameif@__rk=0begininsertintoCinstroagevaluesselect*frominsertedendelseifbeginupdateCinstroagesetGoodsNum=GoodsNum+@GoodsNumwhereGoodsName=@GoodsNameendend/***************************************************************************/createtriggerPickOutonCprepareOrder/*调拨单填完后要自动对商品账中的库存和柜台商品变动进行登记*/forinsertasbegindeclare@GoodsNamevarchar20@GoodsNumintset@GoodsName=select@GoodsNamefrominsertedset@GoodsNum=select@@GoodsNumfrominsertedupdateCinstroagesetGoodsNum=GoodsNum-@GoodsNumwhereGoodsName=@GoodsNamedelete*fromCinstroagewhereGoodsNum=0updateScountStroagesetGoodsNum=GoodsNum-@GoodsNumwhereGoodsName=@GoodsNamedelete*fromScountStroagewhereGoodsNum=0endend/***************************************************************************/createprocCdaily@Cdatedatetime/*销售日报表现金日报表的生成*/ascreatetableCdailyResult/*创建临时表CdailyResult*/GoodNamevarchar20GoodPri__intGoodNumintGoodCountCashvarchar10godeclare@GoodNamevarchar20/*从收款单和提货单中把名字相同的商品销售信息汇总放在临时表中*/@GoodPri__int@GoodNumint@GoodCountCashvarchar10@TotalCashvarchar15@looptime1set@looptime1=selectcount*fromZgatheringOrder@looptime2set@looptime1=selectcount*fromCpicpUpGoodsOrderdeclareDailyTotal1cursorforselecta
1.GoodNamea
1.GoodPri__+a
1.GoodPri__a
1.GoodNum+a
2.GoodNuma
1.GoodCountCash+a
2.GoodCountCashfromZgatheringOrderasa1a2wherea
1.DailyDate=@Cdatea
1.GoodName=a
2.GoodNamedeclareDailyTotal2cursorforselecta
1.GoodNamea
1.GoodPri__+a
1.GoodPri__a
1.GoodNum+a
2.GoodNuma
1.GoodCountCash+a
2.GoodCountCashfromCpicpUpGoodsOrderasa1a2whereDailyDate=@CdateopenZgatheringOrderopenCpicpUpGoodsOrderwhile@looptime1!=0beginfetchnextfromZgatheringOrderinto@GoodName@GoodPri__@GoodNum@GoodCountCashinsertintoresultvalues@GoodName@GoodPri__@GoodNum@GoodCountCashset@looptime1=@looptime1-1endwhile@looptime2!=0beginfetchnextfromCpicpUpGoodsOrderinto@GoodName@GoodPri__@GoodNum@GoodCountCashinsertintoresultvalues@GoodName@GoodPri__@GoodNum@GoodCountCashset@looptime1=@looptime1-1endcloseZgatheringOrdercloseCpicpUpGoodsOrderdeallocateZgatheringOrderdeallocateCpicpUpGoodsOrder/*执行完后必须删除临时表CdailyResult*//***************************************************************************/createprocCcheck@Cdatedatetime/*些存储过程用来完成仓库管理系统中的商品盘点功能*/ascreatetableCcheckResult/*创建临时表CdailyResult*/CheckDatedatetimeInstorageOrderIDintGoodNamevarchar20GoodPri__intRe__ningNumint__rkvarchar10Unitvarchar4Abstractvarchar200godeclare@InstorageOrderIDint@GoodNamevarchar20@GoodPri__int@Re__ningNumint@__rkvarchar10@Unitvarchar4@Abstractvarchar200@looptimeset@looptime1=selectcount*fromCinstroagedeclareDateCcheckcursorforselectInstorageOrderIDGoodNameRe__ningNum__rkUnitAbstractGoodPri__fromCinstroageopenDateCcheckwhile@looptime!=0beginfetchnextfromDateCcheckinto@InstorageOrderID@GoodName@GoodNum@GoodPri__@__rkUnit@Abstractset@CheckDate=@Cdate@Re__ningNum=select@GoodNum*@GoodPri__-GoodNumfromCinstroageSganToTalwhereCinstroage.GoodName=SganToTal.GoodName@__ke=select@GoodNum-GoodNumfromCinstroageSganToTalwhereCinstroage.GoodName=SganToTal.GoodNameinsertintoresultvalues@CheckDate@InstorageOrderID@GoodName@Re__ningNum@__rkUnit@Abstractset@looptime1=@looptime1-1endcloseDateCcheckdeallocateDateCcheck/*执行完后必须删除临时表CcheckResult*/。