预算执行与经费审批网络管理系统设计说明书_第1页
预算执行与经费审批网络管理系统设计说明书_第2页
预算执行与经费审批网络管理系统设计说明书_第3页
预算执行与经费审批网络管理系统设计说明书_第4页
预算执行与经费审批网络管理系统设计说明书_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 / 40预算执行与经费审批网络管理系统预算执行与经费审批网络管理系统详细设计说明书详细设计说明书 V1.0V1.0人员时间备注编写于洋、永英、黎猛审核长清2 / 401 1 引言引言 4 41.1 编写目的 41.2 背景 41.3 定义 51.4 参考资料 52 2 程序系统的结构程序系统的结构 5 53 3 审核审核/ /批管理模块批管理模块 13133.1 程序描述 133.2 功能 133.3 性能 143.3.1 时间特性要求 143.3.2 可靠性 143.3.3 灵活性 143.4 输人/出项 143.5 流程逻辑 163.6 接口 164 4 信息查询模块信息查询模块 18

2、184.1 程序描述 184.2 功能 184.3 性能 194.3.1 时间特性要求 194.3.2 易用性 194.3.3 实时性 194.4 输人/出项 194.5 接口 225 5 偿还管理模块偿还管理模块 25255.1 程序描述 255.2 功能 255.3 性能 265.3.1 时间特性要求 265.3.2 实时性 265.4 输人/出项 265.5 流程逻辑 295.6 接口 316 6 基本信息管理模块基本信息管理模块 33336.1 程序描述 336.2 功能 336.3 性能 346.3.1 时间特性要求 346.3.2 易用性 343 / 406.3.3 实时性 346

3、.4 输人/出项 356.5 流程逻辑 366.6 接口 364 / 401 1 引言引言1.11.1 编写目的编写目的在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以与数据结构、模块结构的设计等。在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的 程序语言书写的程序。主要的工作有:根据在预算执行与货币化操作管理系统需求分析说明书中所描述的数据、功能、运行、性能需求,并依照预算

4、执行与货币化操作管理系统概要设计说明书所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等).在下一阶段的时候,设计人员可以在概要设计的基础上进行详细设计。在以后的系统维护的阶段也可以参考概要设计,以便对系统更好的维护。1.21.2 背景背景开发软件名称:预算执行与货币化操作管理系统项目任务提出者:项目开发者:华中科技大学用户:实现软件单位:华中科技大学项目与其他软件,系统的关系:(1) 服务器CPU :1G 以上存:1G( 推荐:1G 以上)硬盘:1G 以上5 / 40光驱:DVD监视器-VGA 或

5、更高分辨率:分辨率至少为 1,024x768 像素操作系统:Windows 2003数据库:SQL Server 2005 企业版(2) 支持软件操作系统: Windows 2003 Server SP1,Windows 2003 Server SP2。数据库: Microsoft SQL Server 2005 Enterprise,Microsoft SQL Server 2005 Express,或是 Microsoft SQL Server 2005 Developer。系统使用 Microsoft Visual S 2005 开发,必须运行在所要求的硬件和软件平台上。1.31.3 定

6、义定义IPO 图:在计算机领域 IPO 是指结构化设计中变换型结构的输入(Input) 、加工(Processing) 、输出(Output) 。IPO 图是对每个模块进行详细设计的工具,它是输入加工输出 (INPUT PROCESS OUTPUT)图的简称,它是由美国 IBM 公司发起并完善起来的一种工具 。1.41.4 参考资料参考资料预算执行与货币化操作管理系统需求说明书 V1.0预算执行与货币化操作管理系统概要设计说明书 V1.0预算执行与货币化操作管理系统数据库设计说明书 V1.02 2 程序系统的结构程序系统的结构本项目将采用分层设计和装配件设计思想,结合局域网采用客户/ 服务器(

7、C/S)结构。整个系统建立在Windows操作系统平台之上,采用基于.NET2.0装配件的分布式应用结构实现整个系统,并将整个系统分为客户端应用服务器数据库服务器三层,其中后台数据库系统采用Microsoft SQL Server 2005。基于分布式架构的优势,在后续的功能扩展中可以根据需要方便地将后台数据6 / 40库系统移植到其它数据库上。客户使用客户端程序即可完成所有操作。采用了.NET Remoting 技术,客户端通过获取服务器端的 IP 地址和注册的唯一的端口号,访问通道以获得服务端对象,再通过(Server Proxy)代理解析为客户端对象。这就提供一种可能性,即以服务的方式来

8、发布服务器对象。远程对象代码可以运行在服务器上(如服务器激活的对象和客户端激活的对象),客户端就是通过这种方式,使用服务器端为其提供的服务。本系统的主要目的是对以单位为服务对象的财务管理环境中,对预算计划提交、预算上报审核、经费结算报销、借还款以与科目进行全方位的数字化管理。实现普通用户的预算上报请求、财务人员审核预算上报信息、财务人员进行预算上报科目管理、结算报销经费按预置的流程和审批权限进行流转等功能。系统的整体功能结构图如图 2-1 所示:7 / 40预算执行与货币化操作管理系统审批/核管理借款管理检查用户审核/批权限财务审核预算财务审核请求领导审批请求发出借款请求偿还管理发送直接报销或

9、偿还请求执行借款请求执行直接报销请求执行现金偿还请求添加报销金额相关信息判断信息的合法性上报管理上报预算相关信息向服务器发送报销提示信息查询查询所有开支方式查询所有采购方式查询所有年度信息查询所有部门信息查询部门下科室信息查询预算的相关信息查询借款的相关信息查询报销的相关信息查询审核/批相关信息交互管理上报操作完成提示财务审核操作完成提示审核通过操作完成提示数据库管理备份数据库还原数据库清除所有一级预算信息获取备份文件列表基本信息管理增删改科目相关信息增删改部门相关信息增删改部门科室相关信息增删改年度相关信息增删改开支方式相关信息用户权限管理角色信息管理用户信息验证图 2.1 系统功能结构图8

10、 / 40由图 2-1 可知,本系统中我们所涉与到的功能之模块主要有九个部分,即:审核/批管理、借款管理、信息查询、偿还管理、上报管理、交互管理、数据库管理、基本信息管理和用户权限管理 。而在实现这些功能模块时,我们所关心的主要业务实体有五个部分:预算信息、用户信息、请求信息、报销信息和借款信息。根据前面的概要设计和数据库设计说明书,我们对这五大业务实体进行概念抽象,得到在实现系统业务需求过程中,五大业务实体相关的类图和他们之间的交换关系类图。由于借款信息相对简单,这里未对其进行单独的详细说明,其余的类图如下所示:1、预算相关信息类图:主要负责处理用户提交预算上报的相关业务,包括预算明细,预算

11、支付方式、预算年限、预算类型和预算的审核等级。具体情况如下图 2.2 所示:图 2.2 预算相关信息类图2、用户相关信息类图:主要负责处理用户相关信息管理业务,包括用户基本信息、用户角色和角色权限相关信息管理。具体情况如下图 2.3 所示:9 / 40图 2.3 用户相关信息类图3、请求信息类图:主要负责处理用户提交报销直接发放、偿还报销请求的相关业务。主要包括请求的基本信息、请求处理的状态、请求所需的审核/批次数和请求所需的用户权限等相关信息。具体情况如下图 2.4 所示:10 / 40图 2.4 请求相关信息类图4、报销信息类图:主要负责报销相关信息相关业务。包括报销明细、报销类型、报销支

12、付方式、报销提请的用户和报销请求。具体情况如下图 2.5 所示:11 / 40图 2.5 报销相关信息类图5、审核/批日志类图:记录系统审核/批等相关信息的记录,包括预算、预算状态和用户等相关信息。具体情况如下图 2.6 所示:12 / 40图 2.6 审核/批日志类图6、报销日志类图:记录报销过程的相关日志信息,包括报销、借款、预算、请求和用户等相关信息。具体情况如下图 2.7 所示:13 / 40图 2.7 报销日志信息类图3 3 审核审核/ /批管理模块批管理模块3.13.1 程序描述程序描述审核/批管理模块主要是处理预算上报后,财务部门的审核。部门科室上报直接发放报销和偿还报销请求后,

13、经过财务部门审核后,由领导对相应的上报请求进行审批,最后由财务部门审核执行等一系列过程。3.23.2 功能功能审核/批管理模块主要包括检查用户审核/批权限、财务审核预算、财务审核请求、领导审批请求等。具体功能如下图 3.1 所示:14 / 40审核/批管理模块检查用户审核权限财务审核预算财务审核请求领导审批请求图 3.1 审核/批管理模块3.33.3 性能性能.1 时间特性要求时间特性要求系统的速度要在用户可接受的围,但考虑到需要实时检测服务器的可用性,对资源实时搜索的速度可以有较低的要求。.2 可靠性可靠性系统要有较高的可靠性,可恢复性。.3

14、灵活性灵活性系统要有良好的接口,以适应增加资源平台,增加资源类型,增加相关的资源获取功能的需求;并留有服务器接口,适应对以后实现服务器功能的需要;同时系统还需要具有跨平台功能。3.43.4 输入输入/ /出项出项根据上面的模块功能结构图,表示出该模块各个功能的输入/出项。具体情况如下图:1、检查用户审核/批权限:系统根据操作用户的 ID 号,和待审核/批请求15 / 40的 ID 号,检测该用户是否具有审核/批该请求的权限,并返回查询结果。具体IPO 图如下图 3.2 所示:模块功能名称模块功能名称:检查用户审核/批权限输入输入: : 用户输入自己的 id 号和请求id 号。处理处理: : 根

15、据用户的 ID 号和待审核请求的 ID 号,分别重用户表和请求表中查询两者的权限。输出输出: : 用户是否具有审核/批权限数据表数据表: : user_info、user_type_info 中根据user_id 查询用户 user_check_authority,在request_info 中根据 request_id 查询request_approve_needcount。图 3.2 检查用户的审核/批权限 IPO 图2、财务审核预算:由于在实际业务中,预算信息只需要通过财务部门的审核即可,不要上部门领导的审批。因此,当部门科室的用户上报预算提请时,只需要通过财务部门的操作人员的审核即可对

16、该预算信息进行裁决。具体情况如下图 3.3 所示:模块功能名称模块功能名称:财务审核预算输入输入: : 操作用户的ID 号,预算的 ID号和预算是否通过审核信息。处理处理: : 记录待审核预算在审核前的状态信息,对预算请求进行审核,并记录用户审核后的状态。将操作用户的 ID 号,预算请求的前后状态和预算本身等信息存储在 approve_log 表中。输出输出: : 提示信息数据表数据表: : 在 budget_info 中查询预算的处理前状态,改变 budget_state_info 中预算状态,并将处理结果存储在 approve_log 表中图 3.3 财务审核预算 IPO 图3、财务审核请

17、求:处理实际业务中部门科室用户上报的直接发放报销请求和偿还报销请求。具体情况如下图 3.4 所示:模块功能名称模块功能名称:财务审核请求输入输入: : 请求 ID 号,审核人的 ID 号,审核是否通过与设定需要几级审批。处理处理: : 根据请求的 ID 号,和是否通过审核信息,修改 request_info、request_state_info 表状态相关信息。在 request_approve_log 表格中记录审核人 ID 号,审核结果和需要几级审批等相关信息。输出输出: : 提示信息数据表数据表: : 相关数据表request_info、request_state_info、reques

18、t_approve_log 和 request_approve_needcount_info 表图 3.4 财务审核请求 IPO 图4、领导审批请求:当请求通过财务部门审核后,需要根据财务部门操作人员设定的请求所需的审批级别,由相应级别的领导依次审批,最终记录审批结果。具体情况如下图 3.5 所示:模块功能名称模块功能名称:领导审批请求输入输入: : 请求 ID 号,审核人的 ID 号,处理处理: : 根据请求的 ID 号,和是否通过审核信息,修改 request_info、request_state_info 表状态输出输出: : 提示信息16 / 40请否通过审批相关信息。在 reques

19、t_approve_log 表格中记录审核人 ID 号,审批结果。数据表数据表: : 相关数据表request_info、request_state_info、request_approve_log 和 request_approve_needcount_info 表。图 3.6 领导审批请求 IPO 图3.53.5 流程逻辑流程逻辑审核/批管理模块的流程图如下图 3.7 所示:图 3.7 审核/批管理模块流程图3.63.6 接口接口审核/批管理模块主要接口定义在 IBudgetApprove.cs 中,其中定义的方法简单介绍如下:/ / 判断某用户是否对某请求有审批权限17 / 40/ /

20、用户ID/ 请求ID/ 有则返回truepublic bool IHaveApprveAuth(string request_id, string user_id);/ / 财务审核预算/ / 被审核预算ID/ 审核人ID/ 是否通过审核/ 操作是否成功public bool FBudgetApprove(string budget_id, string user_id, bool isapproved);/ / 领导审批请求/ / 请求ID/ 审批人ID/ 是否通过审批/ 操作是否成功public bool RequestApprove(string request_id, string u

21、ser_id, bool isapproved);/ / 财务审核请求/ / 请求ID/ 审核人ID/ 是否通过审核/ 设定需要几级审批/ 操作是否成功public bool FRequestApprove(string request_id, string user_id,bool isapproved, string request_approve_needcount);/ / 财务审核报销请求/ / 报销请求ID/ 审核人ID/ 是否通过审核/ 设定需要领导审批等级/ 操作是否成功public bool PayRequestFApprove(string pay_log_id, stri

22、ng 18 / 40user_id,bool isapproved, string budget_approve_needcount);/ / 财务审核借款请求/ / 报销请求ID/ 审核人ID/ 是否通过审核/ 设定需要领导审批等级/ 操作是否成功public bool BorrowRequestFApprove(string borrow_id, string user_id,bool isapproved, string budget_approve_needcount)4 4 信息查询模块信息查询模块4.14.1 程序描述程序描述信息查询模块主要是根据各种用户的权限,为各种权限的用户提

23、供相应围的信息查询功能。4.24.2 功能功能信息查询模块的功能如下图 4.1 所示:信息查询模块查询所有开支方式查询所有年度信息查询预算的相关信息查询报销的相关信息查询所有采购方式查询部门下科室信息查询所有部门信息查询借款的相关信息查询审核批相关信息图 4.1 信息查询模块功能结构图查询部门下科室相关信息包括:查询所有部门信息和查询某部门下所有科室信息;19 / 40查询预算相关信息包括:查询所有预算信息、根据年度 ID、科目 ID、部门科室 ID、开支方式 ID、采购方式 ID、预算状态 ID、是否通过所有审批和是否已执行等相关信息对预算信息进行查询;查询借款相关信息包括:根据是否通过所有

24、审批审核、是否已执行和是否还清查询借款信息,查询某人借款信息,查询某人可查看的所有借款信息,查询部门科室的借款信息和查询某借款中为偿还金额;查询报销的相关信息包括:查询某预算下的报销信息,查询报销请求的物品信息,查询待执行的报销信息,查询某人的报销信息,查询部门科室下的报销信息,通过请求 ID 查询报销 ID,查询某人可查看的报销信息,查询拥有某审批权限的所有用户信息和查询报销金额总和;查询审核/批相关信息包括:判断某用户是否对请求有领导审批权限,查询需要某用户财务审核的报销信息,查询需要某用户领导审批的报销信息,查询需要某用户财务审核的预算信息,查询需要某用户财务审核的借款请求信息,查询需要

25、某用户领导审批的借款请求信息,查询所有预算需审批级数,查询所有请求需审批级数,查询某预算的审批日志和查询某条请求的审批日志。4.34.3 性能性能.1 时间特性要求时间特性要求查询模块作为用户经常使用的模块,对时间特性的要求较高。在本系统中,我们通过索引和视图的方法尽量提高数据库查询的效率。.2 易用性易用性查询模块通过提供灵活智能的查询功能,使用户能够并且快速的获取其所感兴趣的容。.3 实时性实时性由于系统具有三个客户端同时在运行。因此,系统的数据必然经常变化。系统在设计时,通过委托的方法使各个客户端之间可以实时的交互,使得用户在查询数据时,能

26、够得到实时数据。4.44.4 输入输入/ /出项出项根据上面的模块功能结构图,表示出该模块各个功能的输入/出项。具体情20 / 40况如下图:1、查询所有开支方式:查询所有开始方式相关信息。具体 IPO 图如下图 4.2所示:模块功能名称模块功能名称:查询所有开支方式输入输入: :无。处理处理: : 查询系统提供的所有开支方式。输出输出: : 所有开支方式列表。数据表数据表: :pay_method_info 开支方式图 4.2 查询所有开支方式 IPO 图2、查询所有采购方式:查询所有采购方式相关信息。具体 IPO 图如下图 4.3所示:模块功能名称模块功能名称:查询所有采购方式输入输入:

27、:无。处理处理: : 查询系统提供的所有开支方式。输出输出: : 所有采购方式列表。数据表数据表: :purchase_method_info 采购方式。图 4.3 查询所有采购方式 IPO 图3、查询所有年度信息:查询所有年度相关信息。具体 IPO 图如下图 4.4 所示:模块功能名称模块功能名称:查询所有年度信息输入输入: :无。处理处理: : 查询系统提供的所有年度信息。输出输出: : 所有年度信息列表。数据表数据表: :budget_range_info 年度信息。图 4.4 查询所有年度信息 IPO 图4、查询部门信息:查询所有部门信息。具体 IPO 图如下图 4.5 所示:模块功能

28、名称模块功能名称:查询所有部门信息输入输入: :无。处理处理: : 查询系统提供的所有部门信息。输出输出: : 所有部门信息列表。数据表数据表: :department_info 部门信息。图 4.5 查询部门信息 IPO 图5、查询部门下科室信息:根据用户提供的部门 ID 号,查询部门下的科室信息。具体 IPO 图如下图 4.6 所示:模块功能名称模块功能名称:查询部门下科室信息21 / 40输入输入: :部门 ID 号。处理处理: : 根据用户提供待查询部门的 ID 号,查询对应部门下所有科室信息。输出输出: : 对应部门下所有科室信息列表。数据表数据表: :department_info

29、 部门信息图 4.6 查询部门下科室信息 IPO 图6、查询特定状态下的预算信息:根据用户提供的待查询预算状态,查询满足状态要求的所有预算信息。具体 IPO 图如下图 4.7 所示:模块功能名称模块功能名称:查询特定状态预算信息输入输入: :预算状态 ID号。处理处理: : 根据用户提供待查询预算状态 ID 号,查询该状态下的所有预算信息。输出输出: : 待查询状态所有预算信息列表。数据表数据表: :budget_info 预算信息budget_item_info 预算明细budget_range_info 预算年度budget_state_info 预算状态pay_method_info 开

30、支方式图 4.7 待查询状态的预算信息 IPO 图7、查询特定部门特定状态的预算信息:根据用户提供的待查询部门,待查询预算状态信息,查询满足要求的所有预算信息。居停 IPO 图如下图 4.8 所示:模块功能名称模块功能名称:查询特定状态、特定部门预算信息输入输入: :预算状态 ID号,部门 ID 号。处理处理: : 根据用户提供待查询预算状态 ID 号和待查询部门 ID 号,查询该状态下的所有预算信息。输出输出: : 待查询状态所有预算信息列表。数据表数据表: :budget_info 预算信息budget_item_info 预算明细budget_range_info 预算年度budget_

31、state_info 预算状态pay_method_info 开支方式department_info 部门科室图 4.8 查询特定部门特定状态预算信息 IPO 图8、查询借款信息:根据是否通过所有审核/批,是否已执行,是否还清查询借款相关信息。具体 IPO 图如下图 4.9 所示:模块功能名称模块功能名称:查询特定借款信息输入输入: :是否通过所有审核/批,是否已执行,是否还清。处理处理: : 根据用户提供是否通过所有审核/批,是否已执行,是否还清信息,查询该状态下的所有预算信息。输出输出: : 待查询状态所有借款信息列表。22 / 40数据表数据表: :borrow_info 借款is_al

32、lapproved_info 是否通过全部审批is_allpayback_info 是否全部偿还清图 4.9 查询借款信息 IPO 图9、查询某人借款信息:根据用户提供的用户 ID 号,查询该用户的借款信息。具体 IPO 图如下图 4.10 所示:模块功能名称模块功能名称:查询某人借款信息输入输入: :待查询的用户 ID 号。处理处理: : 根据用户提供的待查询用户 ID 号,查询该用户的借款信息。输出输出: : 待查询状态所有借款信息列表。数据表数据表: :borrow_info 借款is_allapproved_info 是否通过全部审批is_allpayback_info 是否全部偿还清

33、user_info 用户信息图 4.10 查询某用户借款信息 IPO 图10、查询某预算下的报销信息:根据用户提供的预算 ID 号,查询该预算下的所有报销信息。具体 IPO 图如下图 4.11 所示:模块功能名称模块功能名称:查询某预算下的报销信息输入输入: :待查询的预算 ID 号。处理处理: : 根据用户提供的预算 ID 号,查询该预算下的所有报销信息。输出输出: : 待查询报销信息列表。数据表数据表: :pay_log 报销记录pay_item_info 报销明细budget_info 预算信息budget_item_info 预算详细信息图 4.11 查询某预算下的报销信息 IPO 图

34、11、查询某部门科室的报销信息:根据用户提供的部门 ID 号,查询该部门下的所有报销信息。具体 IPO 图如下图 4.12 所示:模块功能名称模块功能名称:查询某部门下的报销信息输入输入: :待查询的部门 ID 号。处理处理: : 根据用户提供的部门 ID 号,查询该部门下的所有报销信息。输出输出: : 待查询报销信息列表。数据表数据表: :pay_log 报销记录pay_item_info 报销明细department_info 部门科室图 4.12 查询某部门科室的报销信息 IPO 图12、查询需要某用户领导审批的借款请求信息:根据领导 ID 号,查询需要该领导审批的借款信息。具体 IPO

35、 图如下图 4.13 所示:模块功能名称模块功能名称:查询需要某用户领导审批的借款请求信息23 / 40输入输入: :待查询领导ID 号。处理处理: : 根据用户提供的领导 ID 号,查询需要该领导审批的借款信息。输出输出: : 待查询借款请求信息列表。数据表数据表: :pay_log 报销记录pay_item_info 报销明细user_info 部门科室borrow_info 借款信息图 4.13 查询需要某用户领导审批的借款请求信息 IPO 图4.54.5 接口接口查询管理模块主要接口定义在 IBudgetApprove.cs 中,其中定义的方法简单介绍如下:/ / 查询特定状态预算/

36、/ 预算状态ID/ 查询到的数据集public DataSet IGetBudgetInfoByState(string budget_state_id);/ / 查询特定部门科室特定状态的预算/ / 预算状态ID/ 部门科室ID/ 查询到的数据集public DataSet IGetBudgetInfoByStateDepartment(string budget_state_id, string department_id);/ / 得到所有科目/ / 查询到的科目数据集public DataSet IGetBudgetType();/ / 得到特定一级科目下的所有二级科目/ / 一级科目

37、ID/ 查询到的二级科目数据集public DataSet IGetBudgetSubType(string budget_type_parentid);/ / 得到所有开支方式/ 24 / 40/ 查询到的开支方式数据集public DataSet IGetPayMethod();/ / 得到所有采购方式/ / 查询到的采购方式数据集public DataSet IGetPurchaseMethod();/ / 得到所有年度信息/ / 查询到的年度数据集public DataSet IGetBudgetRange();/ / 得到所有部门信息/ / 查询到的部门信息数据集public Dat

38、aSet IGetAllDeptPName();/ / 得到部门下所有科室信息/ / 部门/ 查询到的科室数据集public DataSet IGetDeptNameByPId(string department_pid);/ / 查询预算信息/ / 年度ID/ 科目ID/ 部门科室ID/ 开支方式ID/ 采购方式ID/ 预算状态ID/ 是否通过所有审批/ 是否查询完整信息/ 查询到的预算信息数据集public DataSet IGetBudgetInfo(string budget_range_id, string budget_type_id, string department_id,s

39、tring pay_method_id, string purchase_method_id, string budget_state_id,bool allapproved, bool isfullinfo);/ / 查询借款信息/ / 借款ID/ 查询到的借款信息数据集25 / 40public DataSet IGetBorrowFullInfo(string borrow_id);/ / 查询某人可查看的所有借款信息/ / 预算ID/ 用户ID/ 查询到的借款信息数据集public DataSet IGetBorrowFullInfoAuth(string budget_id, str

40、ing user_id);/ / 查询部门科室借款信息/ / 部门科室ID/ 是否还清/ 查询到的借款信息数据集public DataSet IGetBorrowFullInfoByDept(string department_id, bool is_allpayback);/ / 查询部门科室的借款信息/ / 部门科室ID/ 是否通过所有审批/ 是否已执行/ 是否还清/ 查询到的借款信息数据集public DataSet IGetBorrowFullInfoByDept(string department_id, bool is_allapproved, bool is_executed,

41、bool is_allpayback);/ / 查询某人的报销信息/ / 是否是直接报销,若是FALSE则查询偿还报销/ 是否通过所有审批/ 是否已执行/ 用户ID/ 查询到的报销信息数据集public DataSet IGetPayFullInfoByUserId(bool is_cashpay, bool is_allapproved, bool is_executed, string user_id);/ / 查询报销金额总和/ / 科目ID/ 年度ID/ 部门科室ID26 / 40/ 报销金额总和public DataSet IGetPayPriceSumData(string bud

42、get_type_id, string budget_range_id,string department_id);5 5 偿还管理模块偿还管理模块5.15.1 程序描述程序描述在本系统中,偿还管理模块主要处理报销偿还和现金偿还两种业务流程。5.25.2 功能功能偿还管理模块的功能如下图 5.1 所示:偿还管理模块发送直接报销或偿还请求执行直接报销请求判断信息的合法性执行借款请求添加报销金额相关信息执行现金偿还请求图 5.1 偿还管理模块功能结构图5.35.3 性能性能.1 时间特性要求时间特性要求27 / 40.2 实时性实时性由于系统具有三个客户端同时在运行

43、。因此,系统的数据必然经常变化。系统在设计时,通过委托的方法使各个客户端之间可以实时的交互,使得用户在查询数据时,能够得到实时数据5.45.4 输入输入/ /出项出项根据上面的模块功能结构图,表示出该模块各个功能的输入/出项。具体情况如下图:1、发送报销请求:发送一条报销请求,此条报销只能是直接报销或者是偿还报销,若是直接报销,budget_id 指定从哪条预算中 borrow_id, borrow_pay_price 为空;若是偿还报销 borrow_id 指定偿还哪条借款,budget_id,cash_pay_price 为空。具体 IPO 图如下图 5.2 所示:模块功能名称模块功能名称

44、:发送报销请求输入输入: :报销请求 ID号,经手人 ID 号,报销备注,开支方式,报销物品名数组,报销物品单价数组,报销物品备注数组,报销的预算 ID 号,直接报销金额,偿还报销从属借款 ID 号和偿还报销金额。处理处理: : 系统首先验证各个输入参数的合法性,若合法则根据请求 ID 号,经手人 ID 号,报销备注和报销支付方式等信息,形成新的报销日志信息插入 pay_log 表中。然后将报销明细信息插入报销明细表 pay_item_info 中。最后,根据报销请求 ID 号,预算 ID 号,现金报销金额,借款 ID 号,偿还报销金额等信息,形成报销详细记录日志。输出输出: : 报销请求 I

45、D号。数据表数据表: :pay_log 报销信息pay_item_info 报销项目明细pay_log_list_info 报销详细记录日志pay_method_info 开支方式 pay_type_info 报销类型图 5.2 发送报销请求 IPO 图2、执行借款请求:根据用户输入的借款请求 ID 号,执行借款请求。具体IPO 图如下图 5.3 所示:模块功能名称模块功能名称:根据用户输入的借款请求 ID 号,执行借款请求。输入输入: :请求 ID 号。处理处理: : 根据用户输入的借款请求 ID 号,获取借款详细信息。修改借款余额信息,并更改借款请求状态。输出输出: : 操作是否成功。28

46、 / 40数据表数据表: :borrow_info 借款信息is_executed_info 是否执行信息。图 5.3 执行借款请求 IPO 图3、执行现金偿还请求:根据用户输入的偿还请求 ID 号,执行偿还请求。具体 IPO 图如下图 5.4 所示:模块功能名称模块功能名称:根据用户输入的偿还请求 ID 号,执行偿还请求。输入输入: : 请求 ID 号。处理处理: : 根据用户输入的偿还请求 ID 号,获取借款详细信息。修改借款余额信息,并更改偿还请求状态。输出输出: : 所有年度信息列表。数据表数据表: :borrow_info 借款信息is_executed_info 是否执行信息。图

47、5.4 执行现金偿还请求 IPO 图4、添加报销金额信息:根据用户输入的报销金额相关信息,增加报销金额相关信息记录。具体 IPO 图如下图 5.5 所示:模块功能名称模块功能名称:添加报销金额信息输入输入: :报销 ID 号,直接报销的预算 ID号数组,直接报销的金额数组,偿还报销的借款 ID 数组和报销偿还金额。处理处理: : 系统首先验证用户输入信息的合法性,若合法则判断预算 ID 号是否为空,若不为空则在报销详细信息日志表 pay_log_list_info 中添加报销详细日志信息。然后判断借款 ID 号是否为空,若不为空则在报销详细信息日志表pay_log_list_info 中添加报

48、销详细日志信息。输出输出: : 操作是否成功。数据表数据表: :borrow_info 借款信息budget_info 预算信息budget_item_info 预算明细budget_range_info 预算年限pay_log 报销记录pay_log_list_info 报销详细信息日志。图 5.5 添加报销金额信息 IPO 图5、判断借款信息是否合法:根据用户提供的借款请求 ID 号,查询该借款信息是否合法。具体 IPO 图如下图 5.6 所示:模块功能名称模块功能名称:判断借款信息是否合法输入输入: :借款请求 ID号。处理处理: : 根据用户提供的借款请求 ID 号,查询该借款信息的详

49、细信息。获取借款的预算 ID 号、借款金额和预算余额等信息。比较借款金额和预算余额的相互关系。输出输出: : 借款信息是否合法。数据表数据表: :borrow_info 借款信息budget_info 预算信息图 5.6 判断借款信息是否合法 IPO 图29 / 406、判断直接报销请否合法:根据用户提供的直接报销请求 ID 号,查询该报销请否合法。具体 IPO 图如下图 5.7 所示:模块功能名称模块功能名称:判断直接报销请否合法输入输入: :直接报销请求 ID 号。处理处理: : 根据用户提供的直接报销请求 ID 号,查询该直接报销请求的详细信息。获取借款的预算 ID号、直接报销金额和预算

50、余额等信息。比较直接报销金额和预算余额的相互关系。输出输出: : 直接报销请否合法。数据表数据表: :budget_info 预算信息budget_item_info 预算明细budget_range_info 预算年度budget_state_info 预算状态pay_method_info 开支方式pay_log 报销信息图 5.7 判断直接报销请否合法 IPO 图5.55.5 流程逻辑流程逻辑偿还管理模块的主要包括发送直接报销或偿还报销请求,执行请求和添加报销金额,它们的流程图如下图 5.8,5.9,5.10 所示:30 / 40图 5.8 发送报销请求流程图31 / 40图 5.9 执

51、行请求流程图32 / 40图 5.10 添加报销金额流程图5.65.6 接口接口偿还管理模块主要接口定在 BudgetPayCommon.cs 中,其中定义的方法简单介绍如下:/ / 添加新的报销金额方面信息,被MakePayRequest调用/ / 报销ID/ 直接报销的预算ID数组/ 直接报销金额数组/ 偿还报销的借款ID数组/ 偿还报销金额/ 操作是否成功public bool AddNewPayLogList(string pay_log_id,string budget_id, string cash_pay_price, string borrow_id, string 33 /

52、40borrow_pay_price); / / 执行现金偿还请求 / / 借款ID / 偿还金额 / 操作是否成功public bool ExecuteCashPayBackBorrow(string borrow_id, string cash_price);/ / 执行偿还报销请求/ / 请求ID/ 操作是否成功public bool ExecuteBorrowPayRequest(string request_id);/ / 执行直接报销请求/ / 请求ID/ 操作是否成功public bool ExecuteCashPayRequest(string request_id);/ /

53、执行借款请求/ / 请求ID/ 操作是否成功public bool ExecuteBorrowRequest(string request_id);/ / 将用户操作划分成多个报销请求,各自生成请求号,调用MakePayRequest发送请求。/ / 经手人ID/ 备注/ 开支方式/ 报销物品名数组/ 报销物品数量数组/ 报销物品单价数组/ 报销物品备注数组/ 报销的预算ID/ 直接报销金额/ 偿还报销从属借款ID/ 偿还报销金额/ 请求IDpublic string MakeNewPayRequest(string user_id, string 34 / 40pay_remark, str

54、ing pay_method_id,string pay_item_name, string pay_item_count, string pay_item_price, string pay_item_remark,string budget_id, string cash_pay_price, string borrow_id, string borrow_pay_price);/ / 发送一条报销请求,此条报销只能是直接报销或者是偿还报销,若是直接报销,budget_id指定从哪条预算/ 中报销,borrow_id,borrow_pay_price为空;若是偿还报销borrow_id指定

55、偿还哪条借款,budget_id,/ cash_pay_price为空/ / 报销请求ID/ 经手人ID/ 备注/ 开支方式/ 报销物品名数组/ 报销物品数量数组/ 报销物品单价数组/ 报销物品备注数组/ 报销的预算ID/ 直接报销金额/ 偿还报销从属借款ID/ 偿还报销金额/ 请求IDpublic string MakePayRequest(string request_id, string user_id, string pay_remark, string pay_method_id,string pay_item_name, string pay_item_count, string

56、pay_item_price, string pay_item_remark,string budget_id, string cash_pay_price, string borrow_id, string borrow_pay_price);6 6 基本信息管理模块基本信息管理模块6.16.1 程序描述程序描述本系统属于桌面信息管理系统,其最重要的功能就是对系统中相关信息的管理。具体在本系统中,基本信息有:部门科室信息、科目信息、开支方式、支付方式和用户信息等。基本信息管理模块的主要任务就是对系统中这部分信息进行统一管理,使它们保持在逻辑上的一致性,为系统用户提供有序的数据管理功能。35

57、/ 406.26.2 功能功能基本信息管理模块的功能如下图 6.1 所示:基本信息管理模块增删改科目相关信息增删改部门科室相关信息增删改开支方式相关信息增删改部门相关信息增删改用户相关信息增删改年度相关信息图 6.1 基本信息管理模块功能结构图6.36.3 性能性能.1 时间特性要求时间特性要求查询模块主要是为用户提供感兴趣的数据,但待查询的数据总量往往规模很大,对查询效率要求较高。在系统的速度要在用户可接受的围,但考虑到需要实时检测服务器的可用性,对资源实时搜索的速度可以有较低的要求。.2 易用性易用性查询模块需要提供灵活易用的查询操作,是用户能够并且快速的获

58、取其所感兴趣的容。36 / 40.3 实时性实时性由于系统具有三个客户端同时在运行。因此,系统的数据必然经常变化。在查询模块为用户提供实时的数据6.46.4 输入输入/ /出项出项根据上面的模块功能结构图,表示出该模块各个功能的输入/出项。具体情况如下图:1、增加科目信息:根据用户输入的科目相关信息,添加科目信息。具体IPO 图如下图 6.2 所示:模块功能名称模块功能名称:增加科目信息输入输入: :科目 ID,科目名称,二级科目名称,一级可审批人员 ID,二级可审批人员 ID,三级可审批人员 ID。处理处理: : 系根据科目 ID 号,科目名称,若为二级科目则包含其父科目 I

59、D,一级可审批人员 ID 号,二级可审批 ID 号,三级可审批 ID 号等信息,添加科目信息。输出输出: : 操作是否成功。数据表数据表: :budget_type_info 科目信息图 6.2 添加科目信息 IPO 图2、修改科目信息:根据用户输入的待修改科目的 ID 号,对相应的科目信息进行更新。具体 IPO 图如下图 6.3 所示:模块功能名称模块功能名称:根据用户输入的待修改科目的 ID 号,对相应的科目信息进行更新。输入输入: :待修改科目ID,修改后的科目ID 号,修改后的科目名称,修改后的科目的父科目 ID号,科目 ID 号,一、二、三级审批人 ID。处理处理: : 根据用户输入的待修改科目的 ID 号,对相应的科目信息进行更新。输出输出: : 操作是否成功。数据表数据表: :budget_type_info 科目信息图 6.3 修改科目信息 IPO 图3、删除科目信息:根据用户输入的待删除科目 ID 号,删除对应的科目信息。具体 IPO 图如下图 6.4 所示:模块

温馨提示

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

评论

0/150

提交评论