版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录引 言- 1 -1 系统分析- 3 -1.1需求分析- 3 -1.2 功能分析- 3 -1.3 可行性分析- 3 -1.3.1 操作可行性- 3 -1.3.2 经济可行性- 3 -1.3.3 技术可行- 3 -1.4 开发工具简介- 4 -1.4.1 C#概述- 4 -1.4.2 SQL Server概述- 5 -1.4 构架简介- 6 -2 系统总体设计- 7 -2.1 系统功能结构设计- 7 -2.2 数据库设计- 7 -2.2.1 数据表设计- 7 -2.2.2 存储过程设计- 10 -3 系统详细设计与实现- 15 -3.1 客户回执信息查询模块- 15 -3.2 货运单货物信息
2、编辑模块- 16 -3.3 货运单的管理- 16 -3.4 货运单填写- 17 -结论- 19 -参考文献- 20 -引 言近几年来,随着社会科技,文化和科技的发展,特别是计算机网络技术和通信技术的发展,人们对信息的意识,对开发和使用信息资源的重视越来越加强烈。而随着Internet和相关技术日异月新的发展,web应用已经成为目前企业应用最为广泛的一种形式。与此同时,作为计算机发展最迅速的又一领域-数据库技术,也已自身形成了一套独有的理论,广泛地应用于人们的生产和生活之中。数据库技术与网站的结合是当今Web技术的一个热点。有了数据库的支持,可以扩展网页的功能,可以方便的设计出交互页面,可以构造
3、功能强大的后台管理系统,可以为网站的更新、维护提供极大的方便。因此,作为网络开发者或管理者,数据库知识是必不可少的。快递服务企业,通常处于和快递业务网络最终服务商之间,是扩地去、扩行业的运作系统,提供面向终端客户的快递服务业务。标准化程度的高低不仅关系到各种快递功能,要素之间能否有效衔接和协调发展,也在很大程度上影响着全社会快递效率的提高。但是,其业务信息及其繁杂,如果没有一套逻辑严密的管理系统,不仅浪费人力,同时对客户服务质量的提高、以及业务的拓展、审核诸方面都将不利。在考察了快递的日常业务以及参考了其他快递业务系统后,快递管理系统中存在的主要问题体现在以下几个方面:快递公司不能全面、清晰的
4、确认货运单的类型、货运单的日期、货运单的修改及删除等。不能准确、清晰的确认货运单是否已经作废。货运回执单是否已经填写。而这些问题均与货运管理相连,所以综合系统要求,在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,为企业提供精确、精细、迅速的各种信息。通过接货管理系统,可以有效地执行货运单的增加/填写、修改、删除、查询等功能,达到资源的合理利用。本模块是在.net平台上运用ASP.NET技术来实现的。其主要功能由层调用SQL Server 2005的存储过程进行数据处理。主要功能是对货运单进行增加、查询、编辑、修改与删除的查询。其中货运单的填写就是对货运单的增加;货运单的
5、查询就是对货运的类型及收发客户和货运状态进行查询。本文分为三章来介绍快递管理系统的设计与实现。第一张系统分析,在系统分析中主要是系统的需求分析、系统的功能分析、可行性分析、开发工具简介、架构简介等;第二章系统总体设计,提出系统功能模块的细分和数据库的详细设计等;第三章系统详细设计与实现,主要包括系统功能子模块的设计与实现、设计理念、实现功能和最终得到的结果等。1 系统分析1.1需求分析随着快递公司业务的发展,快递业务具有客户量大、分散、件数多、重量小、时效性强、市场竞争激烈等特点,业务量不断增多,跨区域工作的需求,客户需要一种能够运行于B/S模式的快递管理系统,如何设计快递管理系统已经成为快递
6、公司非常关注的问题,因此开发一套好的快递管理软件,不但能大大降低工作人员的劳动强度,还能提高快递公司的管理水平。1.2 功能分析 接货管理的主要功能是填写一份货运单合同,该合同的内容包括货运单编号、发货客户信息、收货客户信息、运费、保险费等,提交合同后,同时修改该合同状态为待运,票据状态为已填。填完货运单后,需要为本次货运添加货物。在货物列表中,添加货物,主要填写货物的名称、重量、体积、货物价值等信息。可以查看不同状态的货运单,比如待发运单、未到运单、未结运单。填写完运单但还没有发货的运单为待发运单;运单已发但还未到,为未到运单;没有结算的运单统称为未结运单。注:货运单只有在待运状态时,才可以
7、修改和删除,其他状态不能对其数据操作。1.3 可行性分析 1.3.1 操作可行性 本系统性能稳定,简单易用易懂、功能完善、有利于公司管理人员的使用,大大提高管理的效率。 1.3.2 经济可行性 本次系统的课设所用到的计算机和计算机上所安装时的软件来完成来完成这次的开发,无需经济上的投入,因此在经济上是可行的。 1.3.3 技术可行 Microsoft Visual Studio.NET 2005采用了可视化面向工具开发,其窗口、界面简洁易懂 ,易于操作。Microsoft SQL Server2005具有上手容易、可兼容性好、扩展性强并且易于操作等诸多优点。所以系统在操作上是可行的。1.4 开
8、发工具简介Visual Studio.NET 是.NET平台下最为强大的开发工具,无论是软件服务商,还是企业应用程序的部署与发布,Visual Studio.NET提供了包括设计、编码、编译调试、数据库连接操作等基本功能和基于开放架构的服务器组件开发平台、企业开发工具和应用程序重新发布以及性能评测报告等高级功能。1.4.1 C#概述1、 c#是一种最新的、面向对象的编程语言。C#使得程序员可以快速地编写各种基于Microsoft.NET 平台的应用程序,Microsoft.NET提供了一系列的工具和服务来最大程度地开发利用计算机与通讯领域。并以安全、稳定、简单、优雅等特点在计算机领域站稳头角。
9、并且,c#还在继承C和C+强大功能的同时去掉了一些复杂特性(例如没有宏和模版,不允许多重继承)。秉承着简单的可视化操作和高运行的效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。2、C#的特点1. )C#本身不包含任何类库2. )C#支持两种类型:value类型和reference类型。Value类型包括简单类型(如char, int和float)、enum类型和struct类型。Reference类型包括class类型、interface类型、delegate类型和array类型。3、数组 Class TextStatic void
10、 Main()int a1; /int 类型的一维数组int ,a2; /int类型的二维数组int,a3; /int类型的三位数组int j2; /不规则数组:数组(int 数组)int j3; /数组(数组(int 数组)显示了多个局部变量的声明,它们都是使用int数组类型作为元素类型。数组是reference类型的,因此一个数组变量的声明仅仅留出了一个指向数据的地址空间。数组例程实际上是通过数组初始化和数组创建表达式创建。 1、)类型系统统一Type system unification C#提供了一个统一类型。所有的类型-包括value类型等都是由object类型派生而来。 2、)变量
11、赋值要求 在对一个变量的值进行运算之前,必须对该变量进行赋值。 3、)参数 正式的参数声明过程也可以定义变量。有四种类型的参数:value参数、reference参数、output参数和params参数。 (1).value参数为值传递 (2).Output 参数类似于reference参数,只是调用提供的调用者参数的初始值不再重要。Output参数的声明包括一个out修饰符。 (3).Params参数的声明包括params修饰符。给定一个方法,只能有一个params参数,并且需要在最后指定该参数。Parmas参数的类型是一位数组类型。一个调用函数可以传递单个这种数组类型的变量,也可以传递多个
12、这种变量。4.)操作符 (1).除了赋值操作符外,所有二元操作符是左关联的,意味着操作符从右运算到左。例如x=y=z运算成x=(y=z)。 5.)索引应用索引可以是的一个对象可以类似数组的方式索引。属性提供了类似于域的访问,而索引提供了类似于数组的访问。6.)编译的具体步骤可能会因为不同的编译器或工具而有所不同。 4、C#的优点1.)完全支持类和面向对象编程,包括接口和继承,虚函数和运算符重载的处理2.)定义完整,一致的基本类型集3.)对自动生成xml文档说明的内置支持4.)可以用用户定义的特性来标记类或者方法,这可以用于文档说明,对编译有一定的影响5.)C#可以用于编写的动态web页面和xm
13、l web服务1.4.2 SQL Server概述 1、SQL Server概述是一种数据库管理系统(DBMS),其数据模型是以关系型为主,辅助以一些面向对象模型。 2、 SQL Server(以及类似Oracle之类的大型的DBSS)其应用主要有两种: 1.)OLTP(联机事物处理):主要是对数据进行添加、修改、删除、查询操作。传统的进销存系统、信息管理系统等均属于OLTP。 2. )OLAP(联机分析处理):主要是基于海量数据的查询、分析。数据仓库技术属于OLAP。1.4 构架简介 在所谓三层架构分为的三层:变现层、数据存取层、业务逻辑层。且这三层是通过实体层连接起来的。 表现层:web界
14、面,为用户提供信息,触发用户的指令和用户进行交互。业务逻辑层:调用数据存取层的方法,出路表现层触发的任务。数据存取层:和数据库打交道,把数据提取或保存到数据库。实体层:具体的集合,三层之间是通过实体层联系起来的。 2 系统总体设计2.1 系统功能结构设计1、接货管理模块功能描述:接货管理的主要功能是填写一份货运单合同,该合同的内容包括货运单编号、发货客户信息、收货客户信息、运费、保险费等,提交合同后,同时修改该合同状态为待运,票据状态为已填。填完货运单后,需要为本次货运添加货物。在货物列表中,添加货物,主要填写货物的名称、重量、体积、货物价值等信息。可以查看不同状态的货运单,比如待发运单、未到
15、运单、未结运单。填写完运单但还没有发货的运单为待发运单;运单已发但还未到,为未到运单;没有结算的运单统称为未结运单。注:货运单只有在待运状态时,才可以修改和删除,其他状态不能对其数据操作。功能模块图如图2.1所示: 图2.1接货管理模块功能模块图2.2 数据库设计2.2.1 数据表设计所做的模块主要涉及到货运单主表(Accept_CarryBillParent)、货运单事件表(Accept_CarryBillEvent)、货运单详表(Accept_CarryBillDetail)三个表,本模块应该能够将表中的信息显示出来,用户对相应信息进行查询,添加,删除,修改都涉及到这三个表,对应删除,修改
16、,添加能改变表里面的信息,并将其存到数据库中。1、货运主单表:用于存放货运单的信息,包含货运单类型,货运单编号,发货客户信息,收货客户信息,交货地址等。如表2.1所示。表2.1货运单主表(Accept-CarryBillParent)名称字段数据类型是否主外键是否允许空PKIDPKIDint主键 否货运单编号GoodsBillCodevarchar(50)否发货客户编号SendGoodsCustomerNovarchar(50)是发货客户SendGoodsCustomervarchar(50)是发货客户电话SendGoodsCustomerTelvarchar(50)是发货客户地址SendGo
17、odsCustomerAddrvarchar(50)是收货客户编号ReceiveGoodsCustomerCodevarchar(50)是收货客户ReceiveGoodsCustomervarchar(50)是收货客户电话ReceiveGoodsCustomerTelvarchar(50)是收货客户地址ReceiveGoodsCustomerAdrvarchar(50)是发货日期SendGoodsDatedatetime是发货地址SendGoodsAddrvarchar(50)是收货地址ReceiveGoodsAddrvarchar(50)是预期交货日期PredeleveryDatedatet
18、ime是实际交货日期FactDealDatedatetime是代收货款HelpAcceptPaymentmoney是代收手续费率AcceptprocedrueRatevarchar(50)是付款方式PayModevarchar(50)是取货方式FetchGoodsModevarchar(50)是填票人WriteBillPersonvarchar(50)是填写日期WriteDatedatetime是有效性Validityvarchar(50)是是否审核IfAuditvarchar(50)是是否结帐IfSettleAccountsvarchar(50)是中转地TransferStationvarc
19、har(50)是中转费TransferFeemoney是减款ReduceFundmoney是付回扣PayKickbackmoney是代收货款变更后金额MoneyOfChangePaymoney是送货费CarryGoodsFeemoney是运费Carriagemoney是保险费Insurancemoney是职员PKIDEmployeePKIDint是备注Remarkvarchar(50)是接货点AcceptStationvarchar(100)是发货客户手机SendGoodsCustomerMobilevarchar(50)是收货客户手机ReceiveGoodsCustomerMobilevar
20、char(50)是2、货运单事件表:用于记录的相关信息。如表2.2所示。表2.2货运单事件表(Accept_CarryBillEvent)名称字段 数据类型是否主外键是否允许为空PKIDPKIDint主键否货运单PKIDGoodsBillPKIDint外键(Accept_CarryBillParentPKID)是事件名称EventName varchar(50)是备注Remark varchar(50)是发生时间OccurTime dateTime是3、货运单详表:用于记录货物的详细信息。如表2.4所示。表2.3货运单详表(Accept_CarryBillDetail)名称字段数据类型是否主外
21、键是否允许为空PKIDPKIDint主键否货运单PKIDGoodsBillCodeint外键(Accept_CarryBillParentPKID)否货物编号GoodsCodevarchar(50)是货物名称GoodsNamevarchar(50)是规格Sizevarchar(50)是包装Packvarchr(50)是件数PieceAmountint是重量Weightreal是体积Volumnreal是货物价值GoodsValuemoney是保险费Insurancemoney是运费Carriagemoney是计价方式PriceModevarchar(50)保险费率InsuranceRatere
22、al剩余件数RemeinPieceCountint2.2.2 存储过程设计该接货管理系统主要包括19个存储过程和一个函数,具体要求和设计如以下所示。(1)uspGetCarryBills:该存储过程是获取多条货运单信息,具体要求和设计如表2.1所示, 表2.1存储过程uspGetCarryBills存储过程名称uspGetCarryBills功能描述获取多条货运单信息输入参数goodsBillCode varchar(50),sendGoodsCustomer varchar(50),receiveGoodsCustomer varchar(50),sendGoodsAddr varchar(
23、50),receiveGoodsAddr varchar(50),beginSendGoodsDate datetime,endSendGoodsDate datetime,state varchar(50),pageIndex int,pageSize int,输出参数recordCount返回值无结果集PKID -货运单信息主键GoodsBillCode , -货运单编号SendGoodsAddr, -起点ReceiveGoodsAddr, -终点SendGoodsDate, -托运时间ReceiveGoodsCustomer, -收货客户ReceiveGoodsCustomerTel,
24、-收货客户电话State, -状态涉及到的表1、 货运单主表:Accept_CarryBillParent2、 货运单事件表:Accept_CarryBillEvent 操作说明 过滤条件,同时满足如下6个条件:1) GoodsBillCode Like %+goodsBillCode+%2) SendGoodsCustomerLike %+sendGoodsCustomer+%3) ReceiveGoodsCustomerLike %+receiveGoodsCustomer+%4) 如果beginSendGoodsDate IS NOT NULL ,SendGoodsDate=beginS
25、endGoodsDate5) 如果endSendGoodsdate IS NOT NULL,SendGoodssDate=ednSendGoodsDate6) 如果sendGoodsDate ,SendGoodsAddr=sendGoodsAddr7) 如果receiveGoodsAddr ,ReceiveGoodsAddr=receiveGoodsAddr8) 如果state ,EventName=state采用SQLSERVER2005的分页新特性,实现读取第pageIndex页的pageSize条数据(2) uspGetCarryBill:该存储过程是获取单条货运单信息,具体要求和设计如
26、表2.2所示。表2.2存储过程uspGetCarryBill存储过程名称uspGetCarryBill功能描述获取单条货运单信息输入参数PKID输出参数无返回值无结果集GoodsBillCode , -货运单编号SendGoodsDate, -托运日期SendGoodsAddr, -起点站ReceiveGoodsAddr, -到达站ReceiveGoodsCustomerCode, -收货客户编号ReceiveGoodsCustomerAddr, -收货客户地址ReceiveGoodsCustomerTel, -收货客户电话ReceiveGoodsCustomerMobile , -收货客户手
27、机SendGoodsCustomerNo , -发货客户编号SendGoodsCustomerAddr, -发货客户地址SendGoodsCustomerTel , -发货客户电话SendGoodsCustomerMobile ,-发货客户手机Carriage, -运费Insurance, -保险费PayMode,-付款方式FetchGoodsMode,-取货方式HelpAcceptPayment,-代收货款AcceptprocedrueRate,-代收佣金率TransferStation,-中转目的地EmployeePKID,-业务员PayKickback,-付回扣WriteBillPers
28、on,-填票人WriteDate,-填写日期Remark,-备注AcceptStation,-接货点涉及到的表1、货运单主表:Accept_CarryBillParent 操作说明 1. 从货运单主表中查询结果集包含的所有字段 过滤条件:PKID=PKID(3)uspCreateCarryBill:该存储过程是增加货运单,具体要求和设计如表2.3所示。表2.3存储过程uspCreateCarryBill存储过程名称uspCreateCarryBill功能描述增加货运单输入参数goodsBillCode varchar(50),-货运单编号sendGoodsDate datetime,-托运日期
29、sendGoodsAddr varchar(50),-起点站receiveGoodsAddr varchar(50),-到达站receiveGoodsCustomerCode varchar(50),-收货客户编号receiveGoodsCustomer varchar(50),-收货客户名称receiveGoodsCustomerAddr varchar(50),-收货客户地址receiveGoodsCustomerTel varchar(50),-收货客户电话receiveGoodsCustomerMobile varchar(50),-收获客户手机sendGoodsCustomerNo
30、varchar(50),-发货客户编号sendGoodsCustomer varchar(50),-发货客户名称sendGoodsCustomerAddr varchar(50),-发货客户地址sendGoodsCustomerTel varchar(50),-发货客户电话sendGoodsCustomerMobile varchar(50),-发货客户手机carriage money,-运费insurance money,-保险费payMode varchar(50)-付款方式,fetchGoodsMode varchar(50),-取货方式helpAcceptPayment money,-
31、代收贷款acceptprocedureRate varchar(50),-代收佣金率transferStation varchar(50),-中转目的地employeePKID int,-业务员payKickback money,-付回扣writeBillPerson varchar(50),-填票人writeDate DateTime ,-填写日期remark varchar(50),-备注acceptStation varchar(50),-接货点输出参数billPKID返回值0:成功 0: 失败结果集涉及到的表1、货运单主表:Accept_CarryBillParent2、票据明细表:B
32、illMgt_BillDetail3、货运单事件表:Accept_CarryBillEvent 操作说明 1、向货运单主表增加一条记录:字段值分别对应输入的参数值2、向票据明细表中增加一条记录:BillType=货运单 、BillCode=goodsBillCode、 BillState=已填 、WriteDate=writeDate AcceptStation=acceptStation ;3、获取刚刚插入的货运单ID,定义变量goodsBillCode,赋值为货运单表中PKID的最大值4、向货运单事件表中增加一条记录:GoodsBillPKID=goodsBillCode、EventNam
33、e=待运 、 Remark= 、OccurTime=GetDate() ;(4) uspDeleteCarryBill:该存储过程是删除货运单,具体要求和设计如表2.4所示。表2.4存储过程uspDeleteCarryBill存储过程名称uspDeleteCarryBill功能描述删除货运单输入参数PKID 输出参数无返回值0:成功 0: 失败结果集无涉及到的表1、货运单主表:Accept_CarryBillParent2、货运单明细表:AcceptCarryBillDetail3、票据明细表:BillMgt_BillDetail操作说明 2、修改票据明细表的对应记录:更新字段:BillSta
34、te=作废 ,过滤条件:将货运单主表A的GoodsBillCode字段和票据明细表B的BillCode字段进行关联,在B中查询符合B.BillType=货运单 并且A.PKID=PKID条件的PKID字段的值V,得出修改票据明细表的过滤条件为:PKID=V2、删除货运单主表的对应记录,过滤条件:PKID=PKID3、删除货运单明细表的对应记录,过滤条件:GoodsBillCode=PKID3 系统详细设计与实现3.1 客户回执信息查询模块 客户回执信息查询模块实现对客户信息的查询功能。首先对是否存在货运单编号进行判断,然后判断客户名称(运输合同中的客户名称)然后根据所输入的编号和时间,再根据时
35、间范围进行搜索,也可以通过时间段来进行搜索。界面如图3.1所示。图3.1客户回执信息增加界面实现过程:在本界面中放置了GridView控件、用户控件、和Imagebutton等控件来实现搜索功能。GridView控件用于显示数据库的数据。先实例化CustomerReturnBusiness类,在调用GetCustomerReturns()方法,在调用执行存储过程的方法执行uspGetCustomerReturns存储过程,存储过程中可以实现模糊查询还有进行分页。最后通过使用DataBind绑定到页面的GridView控件上以显示数据,如果进行页面跳转的话还要调用用户控件里面的方法。3.2 货运单货物信息编辑模块货运单信息编辑模块是对货运单表AcceptCarryBillDetail中的信息进行修改、删除的操作,包括货运单编号,货物的名称、编号、包装、件数、重量、体积以及货物价值、保险费率,计价方式,运输费等。界面如图所示3.2所示,图 3.2货运单信息编辑界面实现过程:在本界面中放置了几个TextBox控件、用户控件和ImageButton控件来实现货物信息的修改、添加、删除和返回的功能。先实例化CustomerReturnBusiness
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年建筑工程施工合同标的概述
- 二零二四年艺术品买卖合同(古董收藏)
- 二零二四年农药企业并购合同
- 地面硬化合同协议书(2篇)
- 医院皮试协议书(2篇)
- 口腔技术入股股份协议书(2篇)
- 集装箱安全购销合同
- 特价鞋购销合同
- 超市消费合同权益分析
- 果品买卖协议样式样本
- 【苏泊尔企业存货管理问题及对策13000字(案例论文)】
- 计算机新技术学术讲座
- 新形势下,如何做好一人一事思想政治工作
- 《基于核心素养高中物理实验教学实施素质教育的研究》结题总结报告
- 《选煤厂安全规程》全文
- 统编版高中语文选择性必修下册《蜀相》课件整理
- 《婴幼儿行为观察、记录与评价》习题库 (项目三) 0 ~ 3 岁婴幼儿语言发展观察、记录与评价
- 英语漫谈胶东海洋文化知到章节答案智慧树2023年威海海洋职业学院
- 工程伦理学知到章节答案智慧树2023年广东工业大学
- 2023年芒果TV春季校园招聘笔试参考题库附带答案详解
- 共享中国知到章节答案智慧树2023年上海工程技术大学
评论
0/150
提交评论