




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
快递管理系统 票据管理论文目录引言.1 1系统分析.3需求分析.3 1.1功能分析.4 1.2可行性分析.4 1.2.1操作可行性.4 1.2.2经济可行性.4 1.2.3技术可行.4 1.3开发工具简介.4 1.3.1 C#概述.4 1.3.2 SQL Server概述.7 1.4架构简介.7 2系统总体设计.8 2.1系统功能结构设计.8 2.2数据库设计.9 2.2.1数据表设计.9 2.2.2存储过程设计.10 3系统详细设计与实现.16 3.1票据分发模块.16 3.2票据分发编辑模块.17 3.3单据分发查询.18 3.4票据销核.19结论.21参考文献.22引言近十年来,随着社会科技,文化和经济的发展,特别是计算机网络技术和通信技术的大发展,随着人类社会从工业社会向信息社会过渡的趋势越来越明显,人们对信息的意识,对开发和使用信息资源的重视越来越加强烈。而随着Internet和相关技术日新月异的发展,Web应用已经成为目前企业应用最广泛的一种形式。Web技术由最初的静态HTML发展到动态网页技术DHTML,而CGI(Command Gateway Interface),脚本语言与ASP(Active Server Pages)及ASP.NET则是后期研发的成果。与此同时,作为计算机发展最迅速的又一领域-数据库技术,也已自身形成了一整套独有的理论,广泛地应用于人们的生产和生活之中。数据库技术与网站的结合是当今Web技术的一个热点。有了数据库的支持,可以扩展网页的功能,可以方便地设计出交互式页面,可以构造功能强大的后台管理系统,可以为网站的更新、维护提供极大的方便。因此,作为网络开发者或管理者,数据库知识是必不可少的。快递服务企业,通常处于客户和快递业务网络最终服务商之间,是跨地区、跨行业的运作系统,提供面向终端客户的快递服务业务。标准化程度的高低不仅关系到各种快递功能,要素之间能否有效衔接和协调发展,也在很大程度上影响着全社会快递效率的提高。但是,其业务信息繁杂,如果没有一套逻辑严密的管理系统,不仅浪费人力,同时对客户服务质量的提高、以及业务的拓展、审核诸方面都将不利。在考察了快递的日常业务以及参考了其他快递管理系统后,快递管理系统中存在的主要问题体现在以下几个方面:快递公司不能全面、清晰的确认票据的类型、票据的日期、票据的销核等。不能准确、清晰的确认的票据是否已经作废。票据回执单是否已经填写。而这些问题均与票据管理相连,所以综合系统需求,在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,为企业提供准确、精细、迅速的各种信息。通过票据管理系统,可以有效地执行票据的分发、查询、销核等功能,达到资源合理利用。本模块是在.net平台上运用ASP.NET技术来实现的。其主要功能有层调用SQL Server 2005的存储过程进行数据处理。主要功能是对票据进行分发、查询、编辑和销核查询。其中票据分发是对票据进行增加;票据查询是对票据进行查询;票据编辑是对票据进行修改、删除;票据销核是对票据进行查询是否已经作废。本文分为三章来介绍快递管理系统的设计与实现。第一章系统分析,在系统分析中主要是系统的需求分析、系统的功能分析、可行性分析、开发工具简介、架构简介等;第二章系统总体设计,提出系统功能模块的细分和数据库的详细设计等;第三章系统详细设计与实现,主要包括系统功能子模块的设计与实现、设计理念、实现功能和最终得到的结果等。1系统分析需求分析随着快递公司业务的发展,快递业务具有客户量大、分散、件数多、重量小、时效性强、市场竞争激烈等特点,业务量不断增多,跨区域工作的需求,客户需要一种能够运行于B/S模式的快递管理系统,如何设计快递管理系统已经成为快递公司非常关注的问题,因此开发一套好的快递管理软件,不但能大大降低工作人员的劳动强度,还能快递公司管理水平。1.1功能分析票据管理的主要功能是对票据本的分发,查询,修改和删除。以及票据的已填、作废查询。当货运单或回执单填写完后,则该票据的状态便是已填;当已填的票据被删除时,则该票据的的状态便是作废。1.2可行性分析1.2.1操作可行性本系统性能稳定,简单易用易懂、功能完善,有利于公司管理人员的使用,大大提高管理的效率。1.2.2经济可行性本次系统的课设所用到的只是所用到的计算机和计算机上所安装时的软件来完成这次的开发,无需经济上的投入,因此在经济上是可行的。1.2.3技术可行Microsoft Visual Studio.NET 2005采用了可视化面向对象工具开发,其窗口、界面简洁易懂,易于操作。Microsoft SQL Server2005具有上手容易、可兼容性良好、扩展性强并且易于操作等诸多优点。所以系统在操作上是可行的。1.3开发工具简介Visual Studio.NET是.NET平台下最为强大的开发工具,无论是软件服务商,还是企业应用程序的部署与发布,Visual Studio.NET都可以提供近乎完美的解决方案。Visual Studio.NET提供了包括设计、编码、编译调试、数据库联接操作等基本功能和基于开放架构的服务器组件开发平台、企业开发工具和应用程序重新发布工具以及性能评测报告等高级功能。1.3.1 C#概述1.C#是一种最新的、面向对象的编程语言。C#使得程序员可以快速地编写各种基于Microsoft.NET平台的应用程序,Microsoft.NET提供了一列的工具和服务来最大程度地开发利用计算机与通讯领域。并以安全、稳定、简单、优雅等特点在计算机领域站稳头角。并且,C#还在继承C和C+强大功能的同时去掉了一些复杂特性(例如没有宏和模版,不允许多重继承)。秉持着简单的可视化操作和高运行的效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。【1】2.C#的特点:1.)C#本身不包含任何类库2.)C#支持两种类型:value类型和reference类型。Value类型包括简单类型(如:char,int和float)、enum类型和struct类型。Reference类型包括class类型、interface类型、delegate类型和array类型。3.)数组class Teststatic void Main()int a1;/int类型的一维数组int,a2;/int类型的二维数组int,a3;/int类型的三维数组int j2;/不规则数组:数组(int数组)int j3;/数组(数组(int数组)显示了多个局部变量的声明,它们都使用int数组类型作为元素类型。数组是reference类型的,因此一个数组变量的声明仅仅留出了一个指向数据的地址空间。数组例程实际上通过数组初始化和数组创建表达式创建。4.)类型系统统一Type system unification C#提供了一个统一类型系统。所有的类型-包括value类型-由object型派生而来。5.)变量赋值要求在对一个变量的值进行运算之前,必须对该变量进行赋值。6.)参数正式的参数声明过程也可以定义变量。有四种类型的参数:value参数、reference参数、output参数和params参数。(1).value参数为值传递(2).reference参数为引用传递eg:static void Swap(ref int a,ref int b)swap(ref a,ref b);ref关键字在正式参数声明和使用中是必需的。(3).Output参数类似于reference参数,只是调用提供的调用者参数的初始值不再重要。output参数的声明包括一个out修饰符。(4).Params参数的声明包括params修饰符。给定一个方法,只能有一个params参数,并且需要在最后指定该参数。params参数的类型是一维数组类型。一个调用函数可以传递单个这种数组类型的变量,也可以传递多个这种变量。7.)操作符(1)除了赋值操作符之外,所有二元操作符是左关联的,意味着操作符是从左运算到右的。例如x+y+z计算为(x+y)+z。(2)赋值操作符和条件操作符(?:)都是右关联的,意味着操作符从右运算到左。例如x=y=z运算成x=(y=z)。8.)索引应用索引可以使得一个对象可以类似数组的方式索引。属性提供了类似于域的访问,而索引提供了类似于数组的访问。9.)代表代表适用于那些C+和其他语言通过函数指针实现的情况。和函数指针不同代表是面向对象、类型安全和可靠的。Delegate的一个有趣而又实用的属性是它不知道或者不关心所指向的对象类型。任何对象都可以;方法的信息也适用于delegate。这使得delegates非常适合于匿名调用。这是一个很强大的功能。10.)编译编辑的具体步骤可能会因不同的编译器或工具而有所不同。应用Visual Studio 7.0中提供的命令行编译器,正确的调用:csc/target:library HelloLibrary.cs生成了一个类库HelloLibrary.dll,并且csc/reference:HelloLibrary.dll HelloApp.cs生成了应用HelloApp.exe。【2】3、C#的优点1.)完全支持类和面向对象编程,包括接口和继承,虚函数和运算符重载的处理2.)定义完整,一致的基本类型集3.)对自动生成xml文档说明的内置支持a 4.)自动清理动态分配的内存5.)可以用用户定义的特性来标记类或者方法,这可以用于文档说明,对编译有一定的影响6.)对.net基类库的完全访问权,并易于访问windows API 7.)可是使用指针和直接内存访问,但c#语言可以在没有它们的条件下访问内存8.)以visual baisc的风格支持属性和事件9.)改编译器选项,可以把程序编译为可执行文件或。net组件库,该组件库可以用于activeX控件(Com组件)相同的方式由其它代码调用10.)C#可以用于编写的动态web页面和xml web服务。【3】1.3.2 SQL Server概述1、SQL Server是一种数据库管理系统(DBMS),其数据模型是以关系型为主,辅助以一些面向对象模型。2、SQL Server(以及类似Oracle之类的大型的DBMS)其应用主要有两种:1.)OLTP(联机事务处理):主要是对数据进行添加、修改、删除、查询操作。传统的进销存系统、信息管理系统等均属于OLTP 2.)OLAP(联机分析处理):主要是基于海量数据的查询、分析。数据仓库技术就属于OLAP。【4】1.4架构简介在所谓三层架构分为的三层:表现层、数据存取层、业务逻辑层。且这三层是通过实体层连接起来的。表现层:web界面,为用户提供信息,触发用户的指令和用户进行交互。业务逻辑层:调用数据存取层的方法,出路表现层触发的任务。数据存取层:和数据库打交道,把数据提取或保存到数据库。实体层:具体的了的集合,三层之间是通过实体层联系起来的。【5】2系统总体设计2.1系统功能结构设计1、票据管理模块描述:票据管理模块主要是实现随票据的分发、查询、修改、删除以及票据的已填、作废、结账查询等功能。功能模块图如图2.1所示:图2.1票据管理功能模块图2、票据分发管理:1.)票据分发增加管理是在货物需要进行快递时填写的一份单子。司机回执是在到达的货物通过验收以后,填写一份司机回执单,回执单内容包括,运输合同编号、司机姓名、验收纪录等。已填的回执单可以查看、修改和删除。回执单填写完后,通知发货客户和收货客户,货物已到达,修改回执单的状态为回执。如果货物需要中转,中转该货物。如果货物没有通过验收,则填写差错记录。2.)客户回执是收货客户收到货物,并验收后,填写一份客户回执单,回执单内容包括,货运单编号、客户姓名、验收纪录等。已填的回执单可以查看、修改和删除。同时通知发货客户,该货物已被提,修改货运单的状态为回执。3、到货验收(包括差错信息、新到货物、到货历史):1.)差错记录是客户对已到达的货物进行验收时,对有差错问题的货物填写差错记录。该差错记录包括,货运单编号、回执单编号、客户姓名、差错类型、货物信息等。已填的差错记录可以查看、修改和删除。2.)新到货物是对新到的货物进行即时保存,并可查看到货内容。发出到货通知后,修改货运单的状态为到货,这是此货物就不属于新到货物了。该纪录就被转到到货历史中存放。3.)到货历史是对发过的到货通知进行记录保存,可查看详细信息2.2数据库设计2.2.1数据表设计所做的模块主要涉及到票据分发表,票据明细表两个表,本模块应该能够将表中信息导出并显示出来,用户应对相应信息进行查询,添加,删除,修改都涉及到这两个表,对应删除,修改添加能改变表里面的信息,并将其存到数据库中。1、票据分发表:用于存放票据分发的信息,包含票据类型,票据开始编号,票据结束编号,领票人,接货点,领票时间,分发人等。如表2.2所示。表2.2票据分发表(BillMgt_BillDispense)名称字段数据类型是否主外键是否允许空PKIDPKIDInt主键否票据类型BillTypevarchar(50)是票据开始编号BillStartCodevarchar(50)是票据结束编号BillEndCodevarchar(50)是领票人ReceiveBillPersonvarchar(50)是接货点AcceptStationvarchar(50)是领票时间ReceiveBillTimeDatetime是分发人ReleasePersonvarchar(50)是2、票据明细表:用于记录票据的相关信息。如表2.3所示。表2.3票据明细表(BillMgt_BillDetail)名称字段数据类型是否主外键是否允许空PKIDPKIDInt主键否票据类型BillTypeVarchar(50)是票据编号BillCodevarchar(50)是票据状态BillStatevarchar(50)是填写日期WriteDateDatetime是接货点AcceptStationvarchar(50)是2.2.2存储过程设计该票据管理系统主要包括8个存储过程和1个函数,具体要求和设计如以下的图所示。(1)uspGetBillDispenses:该存储过程是获取多条票据分发信息,具体要求和设计如表2.4所示,表2.4存储过程uspGetBillDispenses存储过程名称uspGetBillDispenses功能描述获取多条票据的分发信息输入参数receiveBillPerson VARCHAR(50),-领票人名称billType VARCHAR(50),-票据类型pageIndex INT,-待读取的页索引pageSize INT,-每页显示的记录数输出参数recordCount INT OUT-记录总数返回值无结果集PDID-票据ID BillType,-票据类型BillStartCode,-票据开始号BillEndCode,-票据结束号ReceiveBillPerson,-领票人AcceptStation,-接货点ReceiveBillTime,-领票时间ReleasePerson-分发人涉及到的表1.票据分发表:BillMgt_BillDispense操作说明过滤条件:1)ReceiveBillPenson LIKE%+receivebillpenson+%2)如果billType,则BillType=billType采用SQL SERVER 2005的分页新特征,实现读取第pageIndex页的pageSize条数据(2)uspGetBillDispense:该存储过程是获取单条票据分发信息,具体要求和设计如表2.5所示。表2.5存储过程uspGetBillDispense存储过程名称uspGetBillDispense功能描述获取单条票据分发信息输入参数PKID INT-票据ID输出参数无返回值无结果集BillType,-票据类型BillStartCode,-票据开始号BillEndCode,-票据结束号ReceiveBillPerson,-领票人AcceptStation,-接货点ReceiveBillTime,-领票时间ReleasePerson-分发人涉及到的表1.票据分发表:BillMgt_BillDispense操作说明1.从票据分发表中查询结果集包含的所有字段过滤条件:PKID=PKID(3)uspCreateBillDispense:该存储过程是实现增加单据分发信息的功能,具体的要求和设计如表2.6所示,表2.6存储过程uspCreateBillDispens存储过程名称UspCreateBillDispense功能描述增加票据分发信息输入参数billType VARCHAR(50),-票据类型billstartcode VARCHAR(50),-票据开始号billendcode VARCHAR(50),-票据结束号receivebillperson VARCHAR(50),-领票人acceptstation VARCHAR(50),-接货点receivebilltime DATETIME,-领票时间releaseperson VARCHAR(50)-分发人输出参数PKID INT OUTPUT-票据ID返回值0成功0失败续表2.6存储过程uspCreateBillDispense存储过程名称uspCreateBillDispense结果集无涉及到的表1.票据分发表:BillMgt_BillDispense存储过程名称uspCreateBillDispense操作说明向票据分发表中插入一条新纪录1.字段值=相应的输入参数值(票据开始号和票据结束号除外)2.票据开始号=dbo.funGenerateBillCode(billType,billStartCode,receiveBillTime)3.票据结束=dbo.funGenerateBillCode(billType,billStartCode,receiveBillTime)(4)uspUpdateBillDispense:该存储过程是进行修改票据分发信息的功能,具体设计和功能如表2.7所示,表2.7存储过程uspUpdateBillDispense存储过程名称uspUpdateBillDispense功能描述修改票据分发信息输入参数PKID INT,-票据IDreceivebillperson VARCHAR(50),-领票人acceptstation VARCHAR(50),-接货点releaseperson VARCHAR(50)-分发人输出参数无返回值0成功0失败结果集无涉及到的表1.票据分发表中指定的字段值操作说明修改票据分发中指定纪录的字段值1.字段:字段值=相应的输入参数值2.条件:PDID=PKID(5)uspDeleteBillDispense:该存储过程是对表进行删除票据分发信息,具体设计要求和功能如表2.8所示,表2.8存储过程uspDeleteBillDispense存储过程名称uspDeleteBillDispense功能描述删除票据分发信息输入参数PKID INT-票据ID输出参数无返回值0成功0失败结果集无涉及到的表1.票据分发表:BillMgt_BillDisoense操作说明删除票据分发表中的指定纪录1.过滤条件:PKID=PKID(6)uspExistBillDispense:该存储过程是用来判断指定票据类型的票据开始号或票据结束号在票据分发表中是否存在。具体设计要求和功能如表2.9所示,表2.9存储过程uspExistBillDispense存储过程名称uspExistBillDispense功能描述判断指定票据类型的票据开始号或票据结束号在票据分发表中是否存在输入参数billCode VARCHAR(50),-票据开始号或票据结束号billType VARCHAR(50),-票据类型receiveBillTime DATETIME-领票时间输出参数无返回值0不存在1存在结果集无涉及到的表1.票据分发表:BillMgt_Bi;Dispense操作说明1.定义真实票据编号变量vBillCode,并赋值为dbo.funGenerateBillCode(billType,billCode,receiveBillTime)2.定义游标结果集变量,分别对应于油表结果集的字段:billStartCode,billEndCode 3.定义游标变量cursorBillDispense结果集:BillStartCode,BillEndCode过滤条件:BillType=billType续表2.9存储过程uspExistBillDispense存储过程名称uspDeleteBillDispense操作说明4.在游标循环中判断是否存在vBillCode=billStartCode并且vBillCode=billEndCode的记录5.如果存在,返回1,否则返回0(7)uspGetBillDitails:该存储过程是获取多条票据明细信息,具体设计要求和功能如表2.10所示,表2.10存储过程uspGetBillDetails存储过程名称uspGetBillDitails功能描述获取多条票据明细信息输入参数billCode VARCHAR(50),-票据编号billType VARCHAR(50),-票据类型billStatus VARCHAR(50),-票据状态beginWriteDate DATETIME,-开始填写日期engWriteDate DATETIME,-结束填写日期pageIndex INT-每页显示的记录数输出参数recordCount INT OUT-总记录数返回值无结果集BillType,-票据类型BillCode,-票据编号BillState,-票据状态WriteDate,-填写日期AcceptStation-接货点涉及到的表1.票据明细表:BillMgt_BillDetail操作说明过滤条件:1)BillCode LIKE%+billCode+%如果billTyoe不等于,则BillType=billStatus 2)如果billStatus不等于,则BillState=billStatus 3)如果beginWriteDate不为NULL,则WriteDate=beginWriteDate 4)如果endWriteDate不为NULL,则WriteDate=endWriteDate续表2.10存储过程uspGetBillDetails存储过程名称uspGetBillDitails操作说明5)采用SQL SERVER2005的分页新特性,实现读取第pageIndex页的pageSize条数据(8)uspGetBillEmployees:该存储过程是获取全部员工信息,用于员工选择下拉框,具体功能和设计如表2.11所示,表2.11存储过程uspGetBillEmployees存储过程名称uspGetBillEmployees功能描述获取全部员工信息,用于员工选择下拉框输入参数无返回值无输出参数无结果集PKID-员工ID Employee-员工名称涉及到的表1.员工信息表:Basic_EmployeeInfor操作说明1.获取员工信息表的所有数据(9)funGenerateBillCode:用来生成票据编号的自定义函数,其功能如表2.12表2.12函数funGenerateBillCode函数名称funGenerateBillCode功能描述生成票据编号的自定义函数,不是存储过程注:此处新建的为标量值函数,不是存储过程输入参数billType NVARCHAR(50),-票据类型billCode NVARCHAR(50),-票据编号receiveBillTime DATETIME-领票时间返回类型CHAR(11)涉及到的表无操作说明1.根据billType设置票据类型子字符串:C-货运单,R-回执单2.根据receiveBillTime设置票据年月子字符串:YYYYMM 3.根据BillCode设置票据编号子字符串:0000 4.待返回的票据编号字符串=票据类型子字符串+票据年月子字符串+票据编号子字符串3系统详细设计与实现3.1票据分发模块票据分发模块是向票据分发表BillMgt_BillDispense中增加一条票据信息,包括要填写单据类型、单据开始号、单据结束号、领票人、接货点和分发人。界面如图3.1所示,图3.1票据分发实现过程:在本界面中放置了TextBox控件和两个ImageButton控件,但是实现了添加功能,先实例化BillBusiness调用里面的方法,然后调用DataAccess层的CreateBillDispense方法建立与存储过程之间的联系,然后再执行存储过程。3.2票据分发编辑模块票据分发编辑模块是对票据分发表BillMgt_BillDispense中的信息进行修改、删除的操作,包括单据类型、单据开始号、单据结束号、领票人、接货思安、领票时间以及分法人。界面如图3.2所示,图3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年烟草四川公司招聘考试真题及答案
- 中级计量经济学知到智慧树答案
- 计算机三级(信息安全技术)考试题(含答案)
- 中外名建筑赏析知到智慧树答案
- 中西方文化比较知到智慧树答案
- 中西医结合基础思路研究与方法知到智慧树答案
- 中学生物实验教学知到智慧树答案
- 2025版水电安装工程合同履行与维护合同
- 2025年仓储配送一体化大数据分析服务合同
- 2025版土地储备项目合作开发中介服务合同
- 勉县一中小升初数学试卷
- 2025一建《建设工程经济》计算、时间、数字考点笔记
- 校园基孔肯雅热防控措施课件
- 第1课 中国古代政治制度的形成与发展 课件 统编版高中历史选择性必修1
- 药师考试历年真题综合测试试卷(含答案)
- 2025年村级防疫员考试模拟试题及答案
- 快餐公司门店设备夜间关闭管理制度
- 以童心为笔:基于儿童心理发展需求的小学校园公共活动空间设计
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- 《护理伦理学》教学大纲(本科)
- 板带轧机刚度对热轧板形的影响
评论
0/150
提交评论