asp.net框架的财务报销系统的设计与实现

本文综述了构建一个普遍适用于某一单位的财务报销系统的全过程,建立一套在现有Windows操作系统下的财务报销系统。本套系统主要是基于ASP.NET 框架的构架方式,以C#作为开发语言以及采用Visual Studio 2013作为开发平台。财务报销系统具有简单、实用、操作方便等特点。可供一般报账人员登陆申请款项、上报已用账单、查询是否审批,财务部门管理人员则拥有登陆查询、核实审批的功能。本文从需求分析、系统分析、数据库设计以及功能模块设计等方面阐述了财务报销系统的设计与实现,结合财务报销流程的管理思想和报销的实际情况来说明财务报销系统设计的可行性与必要性。关键字ASP.NET;C#;财务报销系统Financial reimbursement system designed and realized by ASP.NET techniqueStudent majoring in information and computation science Lu Huiping Tutor Hou LiyingAbstract: This article reviews the entire process of constructing a generally applicable to a particular unit of financial reimbursement system, and it also reviews the establishment of financial reimbursement system under the Windows Operating System. This system mainly based on ASP.NET framework and use C# as the development language. The system also use Visual Studio 2013 as a development platform. Financial reimbursement system is simple, practical and easy to operate. This system can applied by staff for entering, reporting  *好棒文|www.hbsrm.com +Q: &351916072& 
the bill and check whether the bill has been approved. The managers of financial department have the power to enter, check and approve of the bill. This article expounds the design and implementation of financial reimbursement system by requirement analysis, system analysis and designing database. It also combines the management thought of financial reimbursement process and the actual situation of reimbursement to illustrate the feasibility and necessity of designing financial reimbursement system.由于我国计算机信息技术的快速发展,财务报销系统在企业的财务管理中占据重要地位,建立一个安全、高效并且利于整合信息资源的财务报销系对企业来说具有重要的意义。从调研情况来看,很多单位还是传统的手工报销模式,每次员工进行财务报销时,都需要填写纸质的报销单据,接着拿纸质单据找到相应的领导进行审批,最后由财务人员进行审核。就以上流程,我们可以发现传统手工模式下的财务报销存在诸多问题,例如单据填写繁杂、业务审批效率低下以及财务审核的过程冗长,难以进行有效的资金控制[3]。越来越多的企业开始追求更加高效、快捷、安全的财务管理方式。对于财务报销工作中存在的问题如手工操作报销流程、不能远程处理数据,单位采用网上财务报销系统已成为单位财务管理的当务之急。1 系统所涉及的开发技术1.1 C#语言简介C#语言是一种现代的编程语言,它的特点是面向对象、简单易用以及类型安全,具有高级的语法结构、高效率的编译工具以及优秀的编程开发环境等特色功能。C#语言充分利用了.NET框架体系带来的各种优点,最重要的是C#简化和现代化了C++的复杂性,与此同时C#还增加了其他功能,例如垃圾收集(garbage collection)、类型安全、版本控制等 [10]。在开发面向组件的软件时这些功能具有很大的优势。1.2 ASP.NET技术简介ASP.NET技术的特色在于,它是一种面向对象的编程语言,而非常规意义上的脚本,所以,其有效继承了面向对象编程语言的诸多特性,比ASP技术更有优势,具体体现如下①支持可视化开发工具ASP.NET对Visual Studio集成开发环境中的设计器以及相关大型工具进行了必要的补充;②编译性得以明显优化ASP.NET属于一种编译完成的库代码,以服务器为运行环境[5]。1.3 ADO.NET技术简介ADO.NET为开发人员在.NET Framework中进行资料存取提供了最直接有效的方法。在本系统中用的是SQL Server方式来存取数据。.NET Framework类库和Dataset 是ADO.NET用于存取和管理数据的两个主要元件。1.4 .NET Framework类库简介.NET Framework 类库是由类、接口以及值类型组成的,用户可以通过该库中的内容访问系统功能。生成.NET Framework组件和控件的基础就是.NET Framework类库。其中提供资料来源连接的是Connection 物件;而开发人员存取数据、传回数据、修改数据、执行预存程序则是通过Command 物件进行的。DataReader 则可提供来自数据来源的高效能数据流;DataAdapter 会提供 DataSet 物件与数据来源之间的桥接器;DataAdapter 会使用 Command 物件与数据来源处执行 SQL 命令,以便将数据传入 DataSet,并将 DataSet 内的数据变更调节回数据来源[9]。1.5 DataSet简介DataSet类是ADO.NET中最核心的成员之一,与此同时它也是基于.NET平台开发最常接触、最常使用的类。在ADO.NET实现与数据库交互数据时DataSet类起到了重要的作用。在开发系统的过程中,DataSet是数据的存放地,是各种数据源中的数据在计算机内存中映射的缓存,可以把DataSet当做是内存中的数据库。 DataSet是系统中独立的数据集合,它不依赖于数据库。可以把它看成是一个数据的容器,当数据库断开连接或者关闭,DataSet依旧可以查看数据。它在系统存取、查看数据的过程中起到了中间部件的作用。2 系统功能需求设计2.1 可行性分析 为了使开发系统的代价尽可能降低,确定问题在尽可能短的时间里是否能解决,我通过查阅资料,试用已经完善的财务报销系统,具体对下几个方面进行分析。(1) 技术的可行性开发系统的软件是Visual Studio 2013下的ASP.NET。ASP.NET将业务逻辑和界面逻辑分开,拥有新的集成开发环境,并且不涉及浏览器,相对来说比较简单,也易于学习掌握。Visual Studio 2013的特色功能体现在数据库操作与管理、可视化开发环境以及面向对象程序设计等方面,它是一个多处理环境,具有比较好的可靠性、可扩展性、易于配置和部署等特点。所以,财务报销系统的开发在技术方面是可行的。(2) 经济的可行性基于Web的财务报销系统是一个小型的OA系统,在开发时需要开发人员花费一定的精力以及时间,但是财务报销系统比传统的手工报销系统节省了大量的人力和财力,节省了单位的开支,可以简化报销的流程,使其管理工作更加办公化、网络化、实时化。所以,财务报销系统在经济上是可行的。(3) 运行的可行性系统是基于ASP.NET环境平台开发的,便于操作,系统还采用了可视化面向对象的工具进行开发,页面简洁明了,大部分使用人群是不需要进行培训就可以直接使用该系统。所以,财务报销系统在操作上是可行的。总而言之,本系统的开发目标十分明确,技术上、经济上、运行上都是可行的,对于实现财务报销的高效性,财务报销系统是必须的。因此,开发该系统是完全可行的。2.2 系统需求说明书2.2.1 组织结构本套财务报销系统提供了各类人员查看相关的员工资料、修改本人资料、进行财务报销、经理进行财务审核、财务人员进行确认等相关的功能,具体组织功能结构如图1所示。图 1财务报销系统的组织结构图2.2.2 系统功能需求分析阅读相关资料,以及针对我所实习的公司进行实地调研,本套财务报销系统包含了申请报销单、控制报销额度、经理审批、财务确认等相关功能,确保报销流程的全面通畅,以避免出现孤立数据。以下从报销管理和流程管理两个方面介绍本套系统的需求。为了保证填写报销流程的正确性,要求系统能够自动对用户所填写的某些信息进行检验判断,比如必填项是否都已填写,固定格式的数据是否填写正确,涉及到金额填写时所填写的金额是否在控制范围内等,在本套系统中,为了保证数据的统一性,已经提交的报销单只有提交人可以修改,已经审核过的报销单不能进行修改,只有联系上级领导,由上级领导代为驳回。对于一般的申请报销单功能,表单提交时系统可做出如下操作(1) 选择报销单类型;(2) 创建报销单序号,序号有固定的规则(驳回后再提交报销单序号不变化);(3) 填写员工编号,编号有固定规则;(4) 根据员工编号自动生成员工姓名和所在部门信息;(5) 填写报销金额,在本系统中没有细化不同报销方式的金额限制,只统一限制了不能超过固定金额报销,并且只能报销人民币;(6) 检查各种报销明细数据的填写的完整性,填写格式是否符合规则;(7) 填写报销单的时候指定下一个处理人,必须是部门经理,在本系统中要做出限制。流程管理财务报销系统是基于工作流的基础上,利用流程定义和配置来推进流程的运转。报销申请单在审核确认过程中要根据系统定义的审核权限、确认权限以及流程来明确记录审核信息,可以清楚明了的反应出报销流程的情况。本套财务报销流程主要包括以下几个方面(1) 系统接受普通员工、经理、财务人员以及管理员登录,系统管理员可以注册新的登录用户。(2) 系统可以接受普通员工、经理和财务人员进行报销。(3) 普通员工创建新的报销单,按要求填写完整报销单,并且指定下一个处理人,此处的下一个处理人特指经理。(4) 部门主管或者经理可查收指定给自己处理的报销单,并且对其情况进行审核,如果审核通过,则指定给财务人员进行处理;如果部门主管审核不通过,则驳回申请,并注明驳回理由。(5) 财务人员可查收指定给自己处理的报销单,并且对其报销情况如报销事由、金额等进行确认,如果没有问题,则确认通过,如果确认不通过,可进行驳回,并注明驳回理由。(6) 已经确认过的单据,财务部门会在特定的时间内进行报销。上述流程管理功能是普通员工、部门经理以及财务人员的功能权限,系统还需要提供管理员的功能权限,使管理员能对财务报销流程的定义和系统配置有维护权限。2.2.3 系统性能需求分析一个优秀的系统必须有良好的性能状态。以下内容是本套财务报销系统的性能需求。(1) 界面的友好性要求系统提供了统一的操作界面和操作方式,对操作界面的布局做出了合理的要求,还要求系统界面功能完善,简洁明了,使用户容易上手。(2) 信息的完备性为了确保信息的完整性,系统采用了值的约束、缺省等方法,一旦录入的数据不符合系统要求时,系统会给出警告提示并且会直接删除填写错误的数据。(3) 系统在Windows操作系统平台上运行,方便以后的模块扩充和系统升级。(4) 安全性要求高,能够有效控制和管理不同的用户权限。(5) 本套财务报销系统涉及的所有货币金额的数据类型,都以实数保存。2.3 系统业务流程分析本文的业务流程从两个方面进行分析,一是财务报销流程的分析,二是不同角色的业务流程分析。从财务报销流程方面分析时,系统主要包括创建新的报销单据、审核报销单据、确认报销单据、修改报销单据等功能,系统需要检验主键的唯一性、经理审核报销单的金额限制、财务确认报销单的合理性以及必填项填写状态等,如果检验发生错误必须有提示信息而不能出现黄页错误提示。具体的财务报销流程如图2所示。从不同的登录角色方面分析时,系统业务流程主要侧重于各类人员的功能以及权限设置,本套系统共针对四个主体用户企业普通员工、部门经理、财务人员以及管理员。各类人员具有查看相应的员工信息、经理审核报销单以及财务确认报销单等功能,具体的业务流程图如图3所示。图 2角色角度的业务流程图图 3财务报销系统报销流程图2.4 数据与数据流程分析数据流图(DFD)是一种描述系统的数据流向、过程的工具。它用最直观、清晰的方式描绘了系统的逻辑模型,系统中不会出现实体信息,它描绘了系统中处理、流动的数据信息,具有直观、形象的特点。2.4.1 顶层数据流图根据本套财务报销系统的业务流程图,顶层数据流图划分为四个数据源点普通员工、部门经理、财务人员和管理员。围绕普通员工数据处理有登录、新建报销单、查询;围绕经理的数据处理有登录、审核报销单、查询;围绕财务人员的数据处理有登录、确认报销单、查询;围绕管理员的数据处理有登录、注册、员工信息管理、经理信息管理、财务人员信息管理、报销单信息管理。在数据流图中报销单表存储报销单的相关信息,员工表中存储普通员工的信息,经理信息表中存储经理的信息,财务人员信息表中存储财务人员信息,部门信息表中存储部门的相关信息,登录用户表中存储登录用户的相关信息。具体数据流图如图4所示。图 4系统的数据流图2.4.2 数据字典(1) 数据项用户名用户名/用户真实名称,字符串,1-12个字符;报销单编码 由字母‘B’ +日期+3位编号组成,字符串,1-50个字符;普通员工编码 由字母‘S’ +日期+3位编号组成,字符串,1-50个字符;经理编码由字母‘M’+日期+3位编号组成,字符串,1-50个字符;财务人员编码由字母‘A’+日期+3位编号组成,字符串,1-50个字符。(2) 数据流定义登录信息普通员工、经理、财务人员、管理员->验证、提示、转入相应的界面,包含以下的数据结构用户名或管理员名、密码;提示信息提示->普通员工、经理、财务人员、管理员,包含的数据结构提示相关语句;身份确认信息用户信息,包含的数据结构普通员工名、经理名、财务人员名或管理员名。(3) 数据存储定义普通员工信息表存储了普通员工的个人信息,包括的数据项有员工编号、员工姓名、员工所在部门、员工性别、员工Email、员工地址、联系方式、员工照片以及备注;经理信息表存储了经理的个人信息,包括的数据项有经理编号、经理姓名、经理所在部门、经理性别、经理Email、经理地址、联系方式、经理照片以及备注;财务人员信息表存储了财务人员的个人信息,包括的数据项有财务人员编号、财务人员姓名、财务人员性别、财务人员Email、财务人员地址、联系方式、财务人员照片以及备注;报销单信息表存储了报销单的详细信息,包括的数据项有报销单编号、报销单类型、报销金额、报销人员编号、报销人员姓名、报销人员所在部门、提交人、指定的下一个处理人、审核人、审核状态、审核之后指定的下一个处理人、确认人、确认状态、备注以及驳回理由;部门信息表存储了部门的详细信息,包括的数据项有部门编号、部门名称以及部门负责人。(4) 处理定义报销单信息处理普通员工、经理或财务人员对报销单信息进行操作,如添加、查看和删除等,具体算法如下① 从报销单信息表中取一条记录,并进行以下操作;② 如果报销单信息的状态为真,将报销单指定给相应的下一个处理人,否则驳回报销单,并且修改报销单的状态,直至报销单确认结束。3 系统概要设计3.1系统目标设计本套系统从填写单据、网上申请报销、经理审核、财务确认等环节,实现财务报销流程的电子化,在线完成财务报销的审核确认。财务报销系统能够实现随时随地的报销,可以指定待处理的单据给经理或部门负责人,经理可以随时随地的进行单据审核,财务人员可以随时随地的进行确认单据。财务报销系统的首要目标是帮助单位节省成本,提高工作效率,方便员工及时报销单据,不会造成财务工作的积压,全面提高财务管理工作。针对以上想法,本套财务报销系统要完成以下的系统设计(1) 普通员工、部门经理和财务部门人员具有各自登录系统的权限。(2) 普通员工可以创建报销单、个人信息查看以及根据员工编号查看自己创建并提交的报销单信息。(3) 部门经理可以查看并修改个人信息以及查看并审核指定给自己处理的报销单信息等功能。(4) 财务部门人员可以查看并修改个人信息、提取已经通过部门经理审核的报销单,并且确认此报销单是否能够成功进行报销。(5) 管理员包括查看并修改登录人员的所有信息和密码以及维护用户信息和新建新用户。3.2 系统设计思想系统采用“单入口”的特点,该特点能够为用户集成相关的信息提供扩展的基础,还可以满足用户界面简单、使用安全以及实用性强的要求,本套系统在财务报销的流程中还应用了Internet技术,这就要求系统得具备系统安全、后台稳定、扩展性好、伸缩性强、易于维护等特点[14]。因此,本系统做出以下设计(1) 采用Web浏览器方式,运用了三层结构设计。(2) 系统开发与操作系统平台无关。(3) 分布式数据管理,使用SQL Server数据库,支持ORACLE、SYBASE等流行数据库。(4) 先进的财务管理思想。(5) 大量数据的存储和处理。3.3 系统设计原则在设计财务报销系统的过程中,需要各方面的配合才能够成功的运行与实施。本套财务报销系统遵循统一规划、注重运行效率、简洁方便、安全可靠等原则进行项目的实施,具体遵循以下几个原则(1) 开放性原则系统能够实现模块的扩充和系统的升级,具体包括可移植性、可互操作性以及可伸缩性。(2) 安全性原则本套财务报销系统是基于B/S构架,是通过Internet进行传递数据的,为了确保数据不会丢失,必须设置安全机制,并且是始终遵循统一规则来保障数据的可靠性。(3) 实用性原则财务报销系统开发的目的就是为了减少平时手工报账的繁琐步骤,因此系统的界面需要简洁友好,流程清晰、操作简单易行,一般来说数据的录入、查看、修改等操作集成在一起。(4) 管理性原则为了体现各个不同层次的人员之间的工作区别,需要对各类人员进行权限设置,还得对财务报销的金额进行控制。(5) 较强的检错和容错能力由于开发的是B/S架构的系统,用户在实际操作时,经常发现一些误操作,这就要求在设计时要多考虑一些可能出现错误的因素及时提示和建议,以增加系统检错和容错能力。3.4 系统构架设计系统一般包括两种构架结构C/S(Client/Server)或者B/S(Browser/Server)拓扑结构。C/S即将计算机应用系统划分为客户端和服务器端两个部分,并需要对客户端、服务器端以及两者通信部分分别进行设计开发和实施。B/S结构指的是浏览器和服务器结构,它和C/S结构最主要的区别是采用浏览器代替了客户端程序,是对C/S结构的一种变化或者改进的结构。本套财务报销系统是基于B/S结构,即浏览器、Web服务器、数据库服务三层结构,其系统结构图如图5所示图 5系统架构设计结构图ASP.NET自底向上分为三层架构,分别为数据访问层(DAL)、业务逻辑层(BLL)以及表示层(PL)。数据访问层(DAL)数据访问层提供操作数据库的功能。本套财务报销系统是以一个强类型的DataSet作为数据访问层,对数据进行增,删,查,改,查询和判断存在等数据访问方法,一般使用SQL语句来执行数据访问。数据访问层是被业务逻辑层所调用,将通过SQL语句获得的数据返回给业务逻辑层,它并不处理数据。业务逻辑层(BLL)业务逻辑层是在数据访问层和表示层之间进行数据交换的桥梁,业务逻辑层被表示层调用,同时又可以调用数据访问层;它接受表示层传来的参数,再把这些参数传递给数据访问层,数据访问层根据这些参数抓取符合条件的数据,然后将抓去得的数据交由业务逻辑层返回给表示层;与此同时,业务逻辑层还要完成复杂的逻辑判断、数据校验等功能[6]。表示层(PL)表示层是调用业务逻辑层去访问数据访问层从而获得数据;同时,表示层也会传递数据给业务逻辑层[6]。它能用于ASP.NET页面的实现,一般在表示层中我们也可以编写代码去实现少量的逻辑判断。4 系统详细设计4.1 数据库设计4.1.1 数据库的选择系统开发中十分重要的环节就是数据库设计,系统功能的实现以及复杂程度被数据库设计的好坏所直接影响。一个规范完整的数据库将为系统提供强大的后台数据支持。本套财务报销系统选择的是SQL Server,SQL Server是一个功能完善、性能稳定的数据库管理系统,它易于维护和管理,更加方便开发。4.1.2 实体关系设计实体-联系模型,也就是通常所说的E-R模型,是一种数据建模的工具,它清晰明了的向用户展示了各个实体之间的关系。E-R图由属性、实体集和联系集构成,其表示方法如下(1) 用矩形框表示实体集,实体名写在矩形框中;(2) 用椭圆框表示实体属性,在框内写上属性名,用无向边与对应的实体集连接;(3) 用菱形框表示实体间的联系,联系类型名写在菱形方框中,用无向线将参加联系的矩形框分别与菱形框相连[11]。根据系统需求分析,系统的E-R图如图6所示。图 6系统E-R模型图4.1.3 数据库表的设计为了能够与ASP.NET框架更好的结合,本系统采用了SQL Server数据库来存储应用程序的数据,由于系统并不复杂,数据库及数据库表的设计相对来说比较简单,下图7是各数据表之间的主要结构关系。在图7中省略了用户登录信息表以及用户权限设计表,那两张表独立性较大,所以就未在下图中列举出来。图 8系统数据库表的结构关系4.2 详细设计与实现4.2.1 数据访问层设计与实现ADO.NET是数据库应用程序和数据源沟通的桥梁,主要提供一个面向对象的数据存储结构,用来开发数据库应用程序[1]。ADO.NET将存储数据和数据处理分开,防止系统在处理数据的同时,一直和数据库联机,占用系统资源的现象发生。使得数据库能够执行其他操作,实现离线访问数据。因此,将ADO.NET架构分成.NET数据提供程序和DataSet数据集两个主要部分,其中DataSet数据集是数据处理的核心。 本套系统中所使用的数据提供者对象是SQL Server数据源提供程序,System.Data命名空间拥有.NET中所有的数据源提供程序。在系统的配置文件中添加必要的配置项,才可以正确访问数据库。本套财务报销系统是将元素添加到元素下此处的name属性与连接时设置的数据库名称要一致,如果在不一致的情况,系统是获取不到相应的数据。其中的Data Source指定的是数据库的类型;AttachDbFilename指的是一个放置mdf文件的路径;Integrated Security表示的是登陆类型,在本套系统中Integrated Security为True指的是连接数据库时不需要输入密码,即以windows身份登录;若Integrated Security为False指的是SQL Server方式登录要求账号密码齐全。本系统中对数据库的所有操作都基于数据库中操作类文件SqlDataAccess.cs,当开发人员对数据库进行操作时,不需要再重复编写打开、关闭数据库的语句,直接调用SqlDataAccess类。SqlDataAccess类中读取数据库中的数据的方法如下 static SqlConnection conn; ///打开数据库的链接 public static void Open() {string sConnString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString(); conn = new SqlConnection(sConnString); conn.Open();} ///执行SQL语句 ///SQL语句 ///返回查询结果 public static DataSet QuerySql(string sSql) {DataSet ds = new DataSet();//数据集 try{Open();//打开数据库连接 SqlDataAdapter mAdapter = new SqlDataAdapter(sSql, conn);//数据适配器 mAdapter.Fill(ds);//通过fill方法将数据填充到数据集中} catch (System.Data.SqlClient.SqlException e){ throw new Exception(e.Message); //抛出异常} finally{conn.Close();} return ds;}4.2.2 业务逻辑层设计与实现系统构架中体现核心价值的部分就是业务逻辑层。它的侧重点集中在制定业务规则、实现业务流程等与业务需求设计有关的系统设计。业务逻辑层位于数据访问层和表示层之间,在数据交换的过程中起到了承上启下的作用。下图8是列举了本套财务系统中添加报销单的流程来显示各个业务逻辑层之间的关系图 9系统业务逻辑层之间的调用关系4.3 系统界面的设计与实现4.3.1 登录界面的详细设计用户首先需要输入用户名和密码登录财务报销系统,并根据用户名和密码进行权限判断。其登录界面如图9所示图 10系统登录界面实现代码如下 protected void btnLogin_Click1(object sender, ImageClickEventArgs e) { string username = txtUsername.Text; string pwd = txtPassword.Text; string sRet = UserBLL.Login(username, pwd); if (txtUsername.Text == "" && txtPassword.Text != "") {Response.Write("");}else if (txtPassword.Text == ""&&txtUsername.Text!="") {Response.Write("");}else if (txtUsername.Text == "" && txtPassword.Text == "") {Response.Write("");}else { if (sRet == "0"){ Response.Cookies["username"].Value = txtUsername.Text; Response.Cookies["username"].Expires = DateTime.MaxValue; Response.Redirect("main.aspx");}else if (sRet == "-1") {Response.Write("");}else if (sRet == "-2"){ Response.Write("");}}4.3.2 创建报销单界面设计用户登录系统后,选择报销单处理模块,选择创建报销单功能。报销单主要包括报销单据号、报销类型、报销人员以及指定下一个处理人等组成。创建报销单界面如图10所示。图 11创建报销单界面具体的部分实现代码如下 protected void Submit_Click(object sender, EventArgs e){ Add s = new Add(); string sBillCode = txtBC.Text; if (AddBillBLL.IsExists(sBillCode)){Response.Write("alert(温馨提示该报销单号已经存在,请重新输入!)");} else { s.BillType =BillType .Text ; s.BillCode = txtBC.Text; s.StaffCode = txtSC.Text; s.StaffName = txtSN.Text; s.BillAmount = txtBA.Text; s.SubmitBy = txtSB.Text; s.Reason = txtR.Text; s.Department = txtDM.Text; s.AssignedTo = txtDeal.Text; if (AddBillBLL.InsertBill(s) > 0){ Response.Write("alert(提交成功)"); else{ Response.Write("alert(提交失败!请重新提交)");}}}4.3.3 报销单信息查询界面设计报销单信息查询界面主要功能包括根据报销单编号、员工编号查询报销单的信息,并可以查看某一报销单的详细信息。用户可以在该界面中创建新的报销单。具体界面设计如图11所示。图 12报销单信息查看界面具体的部分实现代码如下 //绑定报销单信息 private void BindBill(){ Add s = new Add(); s.BillCode = txtBC1.Text; s.StaffCode = txtSC1.Text; GridBill.DataSource = AddBillBLL.SelectBill(s); GridBill.DataBind();} protected void GridBill_RowCommand(object sender, GridViewCommandEventArgs e){ int iRowIndex = int.Parse(e.CommandArgument.ToString()); string sBillCode = GridBill.DataKeys[iRowIndex].Value.ToString(); GridViewRow drv = ((GridViewRow)(((LinkButton)(e.CommandSource)).Parent.Parent));//得出的值是表示那行被选中的索引值 string id = Convert.ToString(GridBill.DataKeys[drv.RowIndex].Value);//获取的值为GridBill中绑定数据库中的主键值 Session["billcode"] = id; if (e.CommandName == "Detail")//查看详情{ Response.Redirect("Detail.aspx");}}5 总结随着网络技术和计算机技术的飞速发展,财务报销系统的功能将会不断的加强和扩充,应用范围也会更加的宽广,所以财务报销系统的前景也是非常值得期待的。本文主要介绍设计财务报销系统所需要的技术,并且对系统设计的功能需求、性能需求、数据库设计等方面进行详细的分析设计,勾勒出比较使用于用户的系统设计前景。在设计系统时,翻阅相关资料,论述了当前财务报销系统设计的大致趋势,引入比较优秀的想法。系统设计的核心内容是数据的存储与调用的问题。在本文中以创建报销单为列,用图形象的描述了ASP.NET框架中各个层之间的调用关系,并且给出了各个界面运行的部分代码,系统界面设计也是遵循友好统一、简洁方便、易于操作的原则。但是本套财务报销系统还是存在很多不足。系统的功能不够强大,只涉及到财务报销的大致流程,很多细节方面的东西可以扩展升级,系统权限设计的时候未能在一些比较细节的功能上做明确的划分。致谢参考文献[1]芮素文. 基于ASP.NET的ADO.NET技术研究[J]. 电子技术与软件工程, 2015, 05: 82.[2]周广清, 刘建平. ASP.NET页面跳转和参数传递[J]. 医疗卫生装备, 2015, 03: 73-75+102.[3]尤惠芬. 财务报销系统的设计与实现[J]. 山西经济管理干部学院报, 2014, 01: 35-38.[4]邓红辉. 基于ASP.NET技术的高职院校教务管理系统设计与实现[J]. 网络安全技术与应用, 2014, 05: 94-96.[5]欧剑. 事业单位建立财务网络报销系统的必要性及设计要点[J]. 财经界(学术版), 2014, 19: 154-155.[6]张洋, 葛良全. 基于三层架构的高校管理系统的设计与实现[J]. 电脑知识与技术, 2014, 06: 1244-1245+1247.[7]孙鹏, 刑千里, 李永丽, 董立岩, 张亮, 尹相杰. 基于强类型DataSet的批量数据导入的优化算法[J]. 吉林大学学报(信息科学版), 2013, 02: 210-214.[8]张琦. 东丽经济开发区管委会财务网上报销系统设计与实现[D]. 山东大学, 2013.[9]朱莉. 基于ASP.NET的计量器具检测管理系统设计与实现[D]. 湖南大学, 2013.[10]赵纯. 企业财务报销系统的设计[J]. 考试周刊, 2012, 12: 194-195.[11]孙伟. 网上报销系统的设计与实现[D]. 电子科技大学, 2012.[12]李贵鹏. 企业网上财务报销信息系统体系架构设计与研究[J]. 经济师, 2010, 09164-165.[13]张跃廷, 苏宇, 贯伟红. ASP.NET程序开发范例宝典(C#)[M]. 北京人民邮电出版社,2009.[14]方旭峰. 基于.NET的网上财务报销审批系统设计与开发[D]. 复旦大学, 2009.[15]Abdulkadir Karac?, Nursal Ar?c?. Determining students’ level of page viewing in intelligent tutorial systems with artificial neural network [J]. Neural Computing and Applications, 2014, 24(3-4): 675-684.[16]Toni Stojanovski, Ivan Velinov, Marko Vu?kovic. Scalability of Data Binding in ASP.NET Web Applications [J]. CoRR, 2012, abs/1202.3.[17]Esposito, Dino. ASP.NET And Testability [J]. EN, 2012, 1336.
目录
摘要 1
关键字 1
Abstract 1
Key words 1
引言 1
1 系统所涉及的开发技术 2
1.1 C#语言简介 2
1.2 ASP.NET技术简介 2
1.3 ADO.NET技术简介 2
1.4 .NET Framework类库简介 2
1.5 DataSet简介 2
2 系统功能需求设计 2
2.1 可行性分析 2
2.2 系统需求说明书 3
2.2.1 组织结构 3
2.2.2 系统功能需求分析 3
2.2.3 系统性能需求分析 4
2.3 系统业务流程分析 5
2.4 数据与数据流程分析 7
2.4.1 顶层数据流图 7
2.4.2 数据字典 7
3 系统概要设计 8
3.1系统目标设计 8
3.2 系统设计思想 9
3.3 系统设计原则 9
3.4 系统构架设计 9
4 系统详细设计 10
4.1 数据库设计 10
4.1.1 数据库的选择 10
4.1.2 实体关系设计 10
4.1.3 数据库表的设计 11
4.2 详细设计与实现 12
4.2.1 数据访问层设计与实现 12
4.2.2 业务逻辑层设计与实现 13
4.3 系统界面的设计与实现 14
4.3.1 登录界面的详细设计 14
4.3.2 创建报销单界面设计 15
4.3.3 报销单信息查询界面设计 16
5 总结 17
致谢 17
参考文献: 17
基于ASP.NET框架的财务报销系统的设计与实现
引言
引言

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/1808.html

好棒文