本科毕业论文设计正文_第1页
本科毕业论文设计正文_第2页
本科毕业论文设计正文_第3页
本科毕业论文设计正文_第4页
本科毕业论文设计正文_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、湖 南 大 学本 科 毕 业 论 文 (设 计)题 目 贵阳地税税收征管档案系统 查询模块设计与实现 姓 名 冯晓鹏 学 号 2007221104210020专业年级 计算机科学与技术 2007级 指导教师 王 绘 职 称 教授 2011年4月29日 贵阳地税税收征管档案系统查询模块设计与实现摘 要随着计算机在日常生活中的应用,人们日益迫切希望将实际业务实现计算机化,实现在线办公。税收征管档案是在税收的过程中产生的纸质档案。本课题的系统实现档案扫描、档案归档、档案入册、档案借阅、档案销毁、档案查询以及档案采集后的数据校验等功能。本课题将具体讨论查询模块的设计与实现。本课题实现的系统为B/S模式

2、。利用UML思想设计系统,以Oracle 11g为后台数据库,Visual Studio 2010作为开发平台,C#作为开发语言,实现系统。在实现基本的功能后,对系统进行优化。【关键字】档案系统B/SC#Oracle设计优化 Design and Implementation of GuiYang Local Taxation Bureau Taxation Archives System Query ModuleAbstractWith the computer wildly used in the daily life, people increasingly

3、 eager to actual business computerized, especially online for office work. Taxation Archives is the paper records during tax process. The system of this project achieved archives scanning, archives archiving, archives  into t

4、he books, archives borrow, archives destruction, archive query, and data validation. This project will discuss specific query module design and implementation.The System Mode in this project is browser/server. Thinking of using UML to design this sys

5、tem, Using Oracle 11g as the backend database, Visual Studio 2010 as the development platform, C # as the development language. After achieved the basic function, then optimizing the system.【key words】Archives SystemB/SC#OracleDesignOptimization绪论随着计算机的日益发展,人们

6、对于实际业务的计算机化显得更加迫切。税收征管档案是税收工作的一个重要组成部分。在未使用档案管理系统之前,档案的收集以及存放占据了税务工作人员的大部分时间,并且管理无法规范进行。正因为这些原因,在税务系统中,实施税收征管档案系统,减轻工作人员负担显得更加重要。施行该系统后,将简化前台档案收集人员的工作,规范档案管理,且能实现档案的共享。本课题研究的系统是应用于贵阳市地方税务局的税收征管档案系统。基于C#语言,以Visual Studio为开发平台开发的B/S模式系统。系统所涉及的主要流程是将纸质档案,扫描成为PDF文件,形成电子档案,保存进数据库。然后再对电子档案进行归档、入册、借阅、销毁、查询

7、等一系列操作。其中本课题研究的查询模块为系统中的通用模块,对所有的用户完全开放。也是用户中使用最频繁的一个模块。1 系统概述1.1 课题背景税收档案是税务机关在税收征管工作中形成的各种资料,它不仅全面记录和反映一个地区税收征管工作开展的情况,也清楚地记录着纳税的自然状况和缴纳税款的情况,是税务机关制定政策、依法治税的依据,也是税务稽查人员了解纳税人自然情况的主要信息源,更是打击偷税、逃税、骗税等违法行为的凭证1。在2010年全国税收征管和科技工作会议上,国家税务总局首次提出"信息管税"的思路,同时指出信息管税的核心是信息的采集和利用,这意味着将有更多的涉税信息被采集到税务局

8、或者税务局的数据库,利用采集到的涉税信息为税收征收管理和各级领导决策提供服务,如何管好、用好这些涉税信息资料为税收征管档案工作提出了新的要求。贵阳地税在为适应金税三期工程建设需要,落实信息管税工作要求,进一步规范全市地税系统税收征管资料管理,保证税收征管资料的完整和安全,提高税收征管信息资源的利用效率,指定了一系列管理办法。为了配合办法的实施,特别提出档案信息化。 税收征管档案的管理作为税务管理工作的一项重点和难点工作,由于工作量大,涉税资料繁杂,各个征收管理岗位和工作环节收集的表证单书多以纸质资料为主。虽然目前,手工管理档案还能进行档案的管理操作,也取得一定的工作进展。在肯定成绩的同时,还应

9、看到目前的税收征管档案管理工作基本处于手工操作、人工查询阶段,无论采取分户管理还是分类管理,整理工作量大、时间跨度长、资料查找难、利用效率低等问题突显。主要表现在:(1)文件材料收集不全。税务机关档案管理部门在接受文件材料之前,首先由税务机关业务部门收集,于次年年初移交档案管理部门。在移交过程中,由于多年来税收征管文件材料保存在税务专管员手中已成习惯,加上一些税务人员对档案管理工作缺乏认识,档案意识不强,存在档案留存在自己手中或者遗弃档案的想象2。(2)档案保管不够规范。税收征管档案所接收的只是文件材料,需要进一步分类。由于未指定有效的保管规范,不同地方的档案室所保管的方式有不同。有采取一户式

10、保管的,也有按档案类别进行保管的2。(3)档案的附加价值未能体现。利用档案服务于现实,是档案工作的目的之一。纳税人和税务稽查人员到档案室查询档案,只是利用档案的一方面。档案管理部门应当主动向主管领导提供他们所需的档案信息。为领导决策和税务稽查提供参考和依据1。1.2 课题主要研究意义在信息高速发展的今天,税收征管档案管理信息化的意义是显而易见的:首先,税收征管档案信息数字化是对纸制档案原件实行有效保护方式。档案的唯一性、原始性和凭证性是真实记录历史的重要体现,因而历史的延续需要必须最大限度的保护档案,档案数字化之后,档案利用方式主要是使用数字化的档案信息,档案原件从而得到了有效保护。其次,税收

11、征管档案信息数字化可以优化纳税服务。通过技术手段在受理环节将纸质资料转化为影像文档采集到数据库,做到一次采集归档,多岗位、多层次信息共享,从根本上解决纳税人重复报送资料的问题,减轻其他各涉税环节审核纸质资料的工作量,减少税务机关内部资料传递的环节,提高工作效率,方便纳税人,使优化纳税服务落到实处,有效提高纳税人的满意度。再次,税收征管档案信息数字化是服务基层、落实科学发展观的直接体现。用新的理念设计和开发的税收征管电子档案系统可以使征管一线的工作人员从繁重的手工操作、人工查询状态中摆脱出来,减少了收集、整理、装订纸质资料的工作量,也是以人为本理念的直接体现。最后,税收征管档案信息数字化可以快速

12、实现资源共享,同时也便于将来的税收管理办法中的全城通办(即纳税人在办理业务时,不必在自己所属的税务机关处办理业务,可以在就近的办税大厅里直接快速的办理业务)。1.3系统技术简介1.3.1开发语言简介由于目前税务系统中存在有一系列的应用软件,其中本课题研究的税收征管档案系统将集成到已有的综合应用平台中,为了发挥其兼容性,语言采用综合应用平台的开发语言C#。C#是微软推出的一种基于.NET框架的、面向对象的高级编程语言。C#由C语言和C+派生而来,继承了其强大的性能,同时又以.NET 框架类库作为基础,拥有类似Visual Basic的快速开发能力。C#语言从C和C+发展而来,它汲取了包括C、C+

13、、Java在内的多种语言的精华,是一种简单、完备、类型安全和完全面向对象的高级程序设计语言。它的设计目标就是在继承C和C+强大功能的同时,兼有RAD(Rapid Application Development,快速应用程序开发)语言的简易和高效。作为.NET的核心编程语言,C#充分享受了公共语言运行时所提供的优势,能够与其他应用程序方便地集成和交互。下面对它的几个突出特点进行了描述: (1)简洁的语法。C#取消了指针,也不定义烦乱的伪关键字,它使用有限的指令、修饰符和操作符,语法上几乎不存在任何冗余,整个程序结构十分清晰。初学者可以轻松快速地掌握C#的基本特性,而C和C+程序员转入C

14、#则几乎不会有任何障碍。 (2)精心的面向对象设计。C#具有面向对象的语言所应有的基本特性:封装、继承和多态性。它禁止多继承,禁止各种全局方法、全局变量和常量。C#以类为基础来构建所有的类型,并通过命名空间对代码进行层次化的组织和管理,减少了发生命名冲突的可能性。(3)与Web的紧密结合。借助Web服务框架,C#使得网络开发和本地开发几乎一样简单。开发人员无需了解网络的细节,可以用统一的方式来处理本地的和远程的C#对象,而C#组件能够方便地转变为Web服务,并被其他平台上的各种编程语言调用。(4)完整的安全性与错误处理。C#符合通用类型系统的类型安全性要求,并用公共语言运行时所提供的代码访问安

15、全特性,从而能够在程序中方便地配置安全等级和用户权限。此外,垃圾收集机制自动管理对象的生命周期,开发人员无须再负担内存管理的任务。应用程序的可靠性进一步得到了提高。 (5)版本管理技术。C#在语言中内置了版本控制功能,并通过接口和继承来实现应用的可扩展性。应用程序的维护和升级更加易于管理。 (6)灵活性与兼容性。C#中允许使用非托管代码,能够与各种现有的组件和程序(包括COM组件、WIN32 API等)进行集成和交互。它还可以通过代表(delegates)来模拟指针的功能,通过接口来模拟多继承的实现。 为了吸引软件开发人员和合作伙伴对.NET的认同,Microsoft推出了新一代的集成开发环境

16、Microsoft Visual Studio .NET。该环境提供了对C#语言编程的可视化支持,使得开发人员能够方便地创建、运行、调试和发布C#程序,从而针对.NET平台快速地构建广泛的应用。 1.3.2 ASP.NET简介ASP.NET 是统一的 Web应用程序平台,它提供了为建立和部署企业级 Web 应用程序所必需的服务。ASP.NET 为能够面向任何浏览器或设备的更安全的、更强的可升级性、更稳定的应用程序提供了新的编程模型和基础结构。ASP.NET 是 Microsoft .NET Framework 的一部分,是一种可以在高度分布的 Internet 环境中简化应

17、用程序开发的计算环境。.NET Framework 包含公共语言运行库,它提供了各种核心服务,如内存管理、线程管理和代码安全。它也包含 .NET Framework 类库,这是一个开发人员用于创建应用程序的综合的、面向对象的类型集合。ASP.NET和早期的那些Web开发平台之间的不同在于以下三个方面:(1)ASP.NET提供了一个完全面向对象的编程模型,它包括事件驱动和基于控件的架构,鼓励代码封装和代码复用。(2)ASP.NET让开发人员有能力采用.NET所支持的任何一种语言来进行Web开发(包括Visual Basic、C#、J#以及许多编译器支持的语言)(3)ASP.NET致力于高性能。其

18、页面和组件按需进行编译,而不是每次使用时都被解释。ASP.NET还包含一个精良的数据访问模型和灵活的数据缓存,用来进一步提升性能3。1.3.3 B/S模式简介B/S的全称为Browser/Server,即浏览器/服务器模式。在BS模式中,客户端运行浏览器软件。浏览器以超文本形式向Web服务器提出访问数据库的要求,Web服务器接受客户端请求后,将这个请求转化为SQL语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给Web服务器,Web服务器再一次将得到的所有结果进行转化,变成HTML文档形式,转发给客户端浏览器以友好的Web页面形式显示出来。

19、 一般我们所采用的是三层的B/S架构模式。三层B/S模式有以下优点:(1)费用低。在B/S 模式中,客户端只负责显示,不负责数据库的存取和复杂数据计算等任务,大大地降低了对客户端的要求,从而降低了客户端的费用。(2)易于维护和升级。维护人员只需把主要精力放在服务器上,而不是各个客户机。由于客户端无需专用的软件,当系统升级时,只需更新服务器端的软件,降低了系统维护与升级的费用,减轻了工作量。(3)用户使用简单。B/S结构的客户端只是一个提供友好界面的浏览器,操作简单,用户无需培训便可使用。(4)适用于Internet应用。因为B/S 模式采用了WEB技术,因而更适用于网上信息的发布4。鉴于以上的

20、优点,且结合地税局使用的是内部网,网络带宽较大,便于实施的情况,本课题的系统采用B/S模式。1.3.4 开发工具简介 Visual Studio 2010简介Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。Visual Studio 2010现在使用Windows Presentation Foundation,支持多显示器,能让程序员使用一个屏幕写代码,用户界面设计师用另一个屏幕设计界面,还有一个屏幕可

21、以展示数据结构。开发者能在VS2010中集成访问SharePoint功能。Windows Azure工具可以让开发者在熟悉的VS环境中快速的开发、调试、测试和部署云应用程序。为了解决软件开发中日益增长的复杂性,VS2010向开发者和测试人员提供了名为IntelliTrace的“时间机器”工具,通过记录应用程序的执行历史和提供已报告bug的复制本,让非重复性的bug成为过去,使测试人员能帮助开发者一劳永逸除掉bug。 DevExpress 10.2.5简介Devexpress10.2.5是Devexpress公司开发的最新控件版本。DevExpress 开发的数据库控件有很强的实力

22、,不仅功能丰富,应用简便,而且界面华丽,更可方便定制。对于编程人员来说是个不错的选择。它的菜单栏控件更具代表,完全可以替代开发环境提供的基本控件,而让您编写的程序或软件更显专业化。它还提供完善的帮助系统,资料详尽,可以快速入手。有些高级控件更是零代码的,非常易于使用。选取Devexpress10.2.5的原因是其版本最新,功能强大,易于开发,能在较短的时间内完成系统的实现5。1.3.5 数据库Oracle 简介本课题研究的贵阳地税档案管理系统,使用的区域为贵阳市全市,覆盖范围较大,业务数据量大(尤其是将档案扫描成PDF格式存放到数据库中),用户数多。并且税收业务实时办理,对数据的安全性要求很高

23、。根据对目前主流的数据库系统进行比对之后,选择安全性高,稳定性好,且支持多用户的Oracle。Oracle数据库管理系统是一个以关系型和面向对象为中心管理数据的数据库管理软件系统,其在管理信息系统、企业数据处理、因特网及电子商务等领域有着非常广泛的应用。因其在数据安全性与数据完整性控制方面的优越性能,以及跨操作系统、跨硬件平台的数据互操作能力,使得越来越多的用户将Oracle作为其应用数据的处理系统。Oracle数据库是基于“客户端服务器”模式结构。客户端应用程序执行与用户进行交互的活动。其接收用户信息,并向“服务器端”发送请求。服务器系统负责管理数据信息和各种操作数据的活动。Oracle数据

24、库有几个强大的特性:支持多用户、大事务量的事务处理,数据安全性和完整性的有效控制,支持分布式数据处理,可移植性很强6。2 税收征管档案系统分析与设计2.1 税收征管档案系统与其他税务系统的联系贵阳地税目前存在着自有的MIS系统。该系统管理着税务系统的所有核心数据。该数据包括税务部门人员信息、税务机关信息、纳税人的基本信息等。贵阳地税根据业务的需要,已开发一软件平台综合应用平台,该平台装载着基于MIS中产生的数据之后,加以深度挖掘而开发的一系列B/S系统。本课题所研究的系统,需要获取该MIS中的纳税人的基本数据、业务办理人员信息、税务机关信息、所需办理业务的资料信息等等。利用这些信息作为本系统的

25、基础信息。而本系统中的生产数据为具体的纳税人业务办理所提交的档案信息以及对档案所进行操作所产生的数据。根据相关的业务需求,本系统将集成到同样是以B/S模式开发的综合应用平台中。其中综合应用平台实现的是同一身份认证方式(只需登陆一次,即可访问该平台下的所有系统)。由于档案的采集在前台进行,且是与其他业务同时进行,为简化前台采集人员的操作,决定将档案的采集功能嵌入其地税部门内部的MIS程序中,而除此之外的操作均在档案管理部门(后台)进行,使用B/S模式。该关系如下图所示:图2.1税收征管档案系统与已有系统的关系税收征管档案系统中,用户有四种用户,综合应用平台合法用户,采集人员,档案管理人员和系统管

26、理员。本课题研究系统在实际应用中是集成在综合应用平台中,实现单点登录。所以,该综合应用平台中的所有合法用户均能进入本系统。采集人员在系统中主要是做档案的采集以及档案的传递。档案管理人员主要做的是档案的归档,入册,借阅以及销毁操作。系统管理员做的是档案归档后的作废以及系统的代码表维护工作。2.2 税收征管档案系统总体功能介绍税收征管档案在实际环境中的处理情况如下:纳税人在纳税大厅,根据税务局针对纳税人的要求,提供业务办理所需的纸质材料。其中,部分纸质材料需要在前台被扫描成PDF格式存放到税收征管档案系统中。比如纳税人的身份证。还有一部分是纸质档案,需要提交给税务部门且不再归还。如税务登记表。前台

27、业务办理人员收到纳税人的纸质档案后,在一段时间内(如7天),打印传递清单,将在这段时间内办理的档案一并交给档案管理人员。档案管理人员通过档案清单核对所送过来的档案。若差材料,将回退给前台工作人员。档案管理人员获取档案,并在档案管理系统中查询该档案,比对电子信息与纸质材料是否一致。如完全匹配,则在档案系统中可对电子档案进行归档及入册操作,于此同时打印档案分册封面以及分册所包含的档案清单(该清单已明确标识哪些档案的材料为电子形式存在,哪些是纸质形式存在)。相对应的档案管理人员根据档案管理系统打印出的档案分册封面以及分册档案清单,对档案入册、入柜。档案在存放期间,可供人员进行借阅。税收征管档案管理系

28、统实现档案的电子化管理。在系统中实现借阅,归还操作。如果档案在归档后被检查出有错误,该档案的处理将交给系统管理员进行处理。根据以上的档案处理流程,本课题所研究的税收征管档案系统可对前台采集的电子档案进行查询、归档、入册、回退、修改、借阅和作废操作,并可以显示前台操作人员的采集正确率以及档案传递效率。由于档案在现实业务中的特殊性,系统不能对档案进行删除以及添加操作。2.3 税收征管档案系统各模块功能简介系统的总体用例图如下:图2.2档案管理系统总体用例图采用用例图的原因是用例图让开发组织能够理解业务的目标,同时不会麻烦业务人员。通过用例图展示系统的上下文范围以及它提供的功能。用例图描述谁与系统交

29、互,外部世界希望系统做什么7。根据档案的使用者权限以及功能情况,可将税收征管档案系统分为以下模块:(1)采集模块采集人员进入地税的MIS系统的相关界面,界面中将办理某项服务项目(中类)的全部资料的名称呈现出来;采集人员对照系统界面,查看纳税人提交的纸质资料,在系统界面上勾选出相应的资料。进入扫描界面,对资料进行扫描并保存。采集人员输入采集档案的时间段,查询该一段时间内采集的档案,系统将满足条件的档案显示在界面上,采集人员将结果打印出来。然后打印档案传递清单。(2)查询模块查询模块所展示的功能为提供查询条件,供用户查询档案信息。其中,查询的方式有两种,一种为一户式查询,提供的条件为纳税户基本属性

30、;另外一种为一案式查询,提供的条件为档案的基本属性。其中一户式和一案式最终所需要展示的都是档案信息。只是查询的条件,查询的方式不一样而已。(3)归档模块档案管理人员收到采集人员的档案以及传递清单,在系统中执行档案归档操作。其中发现档案信息不正确(如扫描错误)时,进行回退操作。此时根据需要,实现批量归档。档案归档后,可对其进行入册操作。而此时可以是先新建一个档案分册,再将档案放入到档案分册中。也可以是将将档案放入到未放满档案的分册中。在此模块中需打印档案分册的封面以及档案分册内的档案清单。(4)借阅模块档案在保管期限内,可供对档案有需求的人员进行借阅。因税务部门的档案涉及的内容比较特别,部分档案

31、保密性比较强,需要在借阅前将借阅单交个单位领导进行审批。档案管理人员根据审批的结果决定是否借出该份档案。档案一经借出,用户在系统中查询该份档案的结果为借出中。档案管理人员根据档案的借出期限,适时通知档案借出人员进行档案归还。(5)档案销毁模块档案的保管年限为10年、15年和永久,在档案到达保管期限时,档案管理人员进行档案销毁操作并将打印档案销毁清册。该清册包括所有需要销毁的档案。(6)档案作废模块档案修改为档案的归档后的修改。系统管理人员查到档案管理人员处理的部分档案依然有错误时,可执行该操作。该操作为系统管理人员说明档案的作废原因,并将档案作废情况进行说明,并告知采集人员,进行重新扫描。(7

32、)数据校验模块由于档案需要比较高的准确率,以及档案的归档操作都是根据档案号的连续进行,所以需要对档案的采集出错情况进行统计。档案在一定期限内不能进行传递的,需要进行及时通知,以免后续档案无法进行入册操作。(8)系统维护模块系统维护模块包括用户的管理,以及代码表的维护。(9)下载专区主要提供各种相关文档以及软件的下载。如PDF阅读软件,拍摄仪驱动,系统操作手册等。3查询模块分析与设计3.1查询模块总体设计查询模块的使用者是所有系统合法登陆用户,主要功能是根据所提供的档案或者纳税人的相关信息,来查询档案。根据业务需要,该模块分为一户式查询和一案式查询。档案查询模块的用例图如下:图2.3档案查询模块

33、用例图一户式查询提供的查询条件为纳税户的相关信息,支持模糊查询。查询的结果为树形展开方式。第一层展示的为纳税户信息。然后通过点击某个纳税户,显示其分别办理的五大类档案(五大类为税务部门所有业务的划分),同时显示该大类中,该纳税户办理的档案总数。点击五大类中的某一类,展开显示该类中所有的档案。用户根据需要,展开该纳税人的某一个档案。展开显示该档案所包含的所有资料已经档案的借阅、修改(如果档案被修改过)、销毁信息(如果档案到达保管年限)。一案式查询提供的查询条件为档案的相关信息,支持模糊查询。查询结果分为两层,第一层展示的是档案基本信息。若用户确认所需要选择的为该档案,可以展开,显示该档案所包含的

34、资料以及借阅、修改、作废等信息。如果该资料存在扫描件,则在可进行预览该扫描件。3.2 查询模块详细设计3.2.1查询模块中所涉及到的数据库表及字段税收征管档案系统中所用到的表一部分来至于MIS系统,一部分为自建的表。其中来自MIS中的表主要涉及纳税人信息以及系统用户信息。而自建表主要用于档案信息的存储以及对档案进行操作的信息存储。由于税收征管档案系统涉及的表比较多,本文只展示查询模块中的查询条件所涉及的表及其字段。在档案查询模块中,所有的查询条件均来自于档案表TA_DA。涉及的字段如下:表2.1查询模块所涉及的查询字段字段名字段属性及长度字段描述DAIDCHAR(19)档案唯一编号YWLXID

35、CHAR(2)业务类型编号YWLXMCVARCHAR2(100)业务类型名称FWXMIDCHAR(6)服务项目编号FWXMMCVARCHAR2(100)服务项目名称NSRSBHCHAR(22)纳税人识别号NSRMCVARCHAR2(100)纳税人名称NSRSSSJIDCHAR(6)纳税人所属市局编号NSRSSSJMCVARCHAR2(80)纳税人所属市局名称NSRSSXJIDCAHR(6)纳税人所属县局编号NSRSSXJMCVARCHAR2(80)纳税人所属县局名称NSRSSOIDCHAR(9)纳税人所属所编号NSRSSOMCVARCHAR2(80)纳税人所属所名称NSRSSPQIDCHAR(

36、10)纳税人所属片区编号NSRSSPQMCVARCHAR2(80)纳税人所属片区名称CJRXMVARCHAR2(20)采集人姓名CJSJDATE采集时间CJDWIDCHAR(6)采集单位编号CJDWMCVARCHAR2(80)采集单位名称GDRXMVARCHAR2(20)归档人姓名DAZTIDCHAR(2)档案状态编号DAZTMCVARCHAR2(20)档案状态名称DANFCHAR(4)档案年份DAMLHCHAR(16)档案目录号DAFCHCHAR(4)档案分册号在查询模块,除了档案查询条件所涉及的表得字段以外,还有在档案查询结果展示中,涉及的查询结果表。该部分涉及到的代码表有业务类型代码表D

37、M_YWLX,业务表有档案表TA_DA,资料表TA_ZL,档案借阅记录表 TA_DAJYJL,档案销毁记录表 TA_DAXHJL,档案销毁关联表TA_DAXHGL。3.2.2 查询模块界面设计界面设计是软件接口设计的一个重要部分,设计的质量,直接影响用户对软件的评价,从而影响软件产品的竞争力8。根据界面设计的一些规范,对本系统的显示页面按以下的步骤进行的设计。 控件命名规范在软件开发过程中,为了统一设计及简化书写,一般在设计界面前对控件命名进行规范。本系统中所制定的控件命名规范如下表所示:表2.2控件命名规范表全称缩写全称缩写LabellblASPxLableLblTextbox

38、txtASPxTextboxTxtdropdownlistcbbASPxComboboxCbbbuttonbtnASPxButtonBtnASPxDateEditdeObjectDataSourceObj 一户式查询界面设计图2.4 一户式档案查询设计图页面说明:A点击“快速查询”页面中的查询条件为“快速查询”的条件。点击“基本查询”,页面中显示的查询条件为“基本查询”所提供的条件。其中输入条件均为模糊查找。B在基本查询中,查询条件纳税人所属市局、纳税人所属县局、纳税人所属所、纳税人所属片区有层次关联。必须在选定市局之后,才能选择县局;选择县局后,才能选择所;所选择后,才能选择片

39、区。否则,默认选择其下一级为全部。C点击表头中的某一字段,可以对该字段进行排序。D点击GridView中的“+”将展开该记录的详细内容。点击“”将收缩该详细内容。E在点击纳税人信息展开时,将对该纳税人所办理的业务产生的档案按业务类型进行分别统计。F点击具体的档案号“5202012011100100010”,页面将跳转到该档案的详细页面。G点击资料信息中具体的资料编号“111”,页面将跳转到该资料的详细页面。H如果某一份资料有扫描件,此时,页面中会有显示“预览”,点击“预览”查看该资料的PDF文件。该PDF文件是以悬浮框的形式展示出来。 一案式查询界面设计图2.5一案式档案查询界

40、面页面说明:A 点击“快速查询”、“基本查询”、“高级查询”中的一个,页面中会显示相对应的查询条件。B 在“快速查询”中,查询条件只有档案号,由于系统中的档案很多,为了达到比较好的查询效率,此时对输入的档案号长度做出限定。必须输入19位档案号中的至少6位。其中档案号的构成规则如下:档案号=6位区县局代码+6位服务项目(中类)代码+7位流水号C 在“基本查询”中,查询条件业务类型和服务项目有关联关系。用户必须在选定业务类型之后,才能选择服务项目。否则显示服务项目的默认值,全部。D 在“高级查询”中,查询条件档案目录号和档案所属的服务项目、档案所属年度、档案所办理业务单位有关联。根据档案目录号得形

41、成规则:档案目录号=6位单位号(区县级)+4位档案采集年份+6位服务项目(中类)代码只有选定了档案采集单位,档案采集年份,档案所属的服务项目之后,档案目录号就被选定。否则,其下拉框中的选择内容根据已选的条件来产生。档案所在分册号需要根据档案所属的档案目录号来决定。E 点击GridView中的“+”将显示该记录的详细信息。点击“”将收缩该记录详细信息。F 点击具体的档案号“5202012011100000002”,页面将跳转到档案的详细信息页面。G点击具体的资料编号“111”,页面将跳转到相对应的资料详细信息页面。H 如果资料有扫描件。可以点击“预览”,查看该资料的PDF文件内容。4 查询模块功

42、能实现的关键技术分析税收征管档案系统中的技术难点,其中主要有两个:GridView的多层嵌套和在页面展开时对五大类中所包含的档案进行统计。其中GridView的多层嵌套为查询结果的树形展示。每个纳税户所办理的五大类分别所包含的档案个数的显示实为方便用户的操作,避免执行不需要的用户页面点击。问题具体分析如下:4.1 GridView多层嵌套功能实现目前在Visual Studio自带的GridView控件中,实现GridView与GridView的多层嵌套比较复杂。子GridView及其相关联的SqlDataSource放入父GridView的TemplateField中。如果还有子GridVi

43、ew进行嵌套。必须需要使用FindControl()方法。因为TemplateField中的模板使用自己的名称结合以避免命名冲突。FindControl()方法可以在指定的控件集合中根据ID查找匹配的控件9。而本系统中根据需要,使用新控件ASPxGridView,简化编程操作。操作如下:在ASPXGridView控件中,将属性SettingsDetail中的ShowDetailRow 设置为 True。该属性是主要是为了显示嵌套在其内部的控件。将KeyFieldID设置为要显示的表的主键。然后在设计视图页面该控件的任务中点击“编辑模板”,选择DetailRow。在控件显示的区域,添加新的ASP

44、xGridView,并同时添加所需要的数据源控件ObjectDataSource,该数据源绑定的方法所需要的参数为子ASPxGridView的主键。在子ASPxGridView控件中添加OnBeforePerformDataSelect事件,该事件主要是在点击父ASPxGridView记录的时候触发,该事件触发时将赋值给子ASPxGridView所绑定的ObjectDataSource的参数。配置完之后,就可以实现GridView的多层嵌套。在多层嵌套的传参中,可以使用Session进行传参,也可使用HiddenField的方式。其中,由于用户会出现交叉点击GridView进行展开,而参数被覆

45、盖的情况。如在点击父级GridView1时,session值记录的是GridView1的主键值。而此时点击父级GridView2,session值记录的是GridView2的主键值,覆盖已有的GridView1的主键值。若此时再点击GridView1的子级,其子级的子级获取的session值将是GridView2的主键值。发生错误。此时的解决办法方案1是通过FindControl方法进行寻找。该方法可能会因为嵌套的层数过多而失效。方案2是在子GridView中添加一列,该列存放的是父GridView的关键字。根据方案2实现的嵌套如下图所示:图3.1 GridView多层嵌套4.2档案分组统计功

46、能的实现在该系统中,需要实现的是将纳税人信息进行展开后,需分别显示税务部门的五大类分别包含档案的个数。其中该五大类可能会在后期增加,且该分类囊括了纳税人在税务部门的所有应办业务。实现统计的方法有两种,一种是直接在SQL在dataset一层执行,另外一种是将SQL写入到procedure,返回一个数据集。第一种的实现方式为在dataset一层,编写SQL语句,构建datatable.该SQL语句为:select a.ywlxid,a.ywlxmc,a.qybz , (select count(daid) from ta_da where ywlxid=a.ywlxid) as dasum fro

47、m dm_ywlx a;由于在页面中,将纳税人的记录进行展开后,需要将纳税人的编号写入到子GridView中,所以修改该SQL语句为:select a.ywlxid,a.ywlxmc,a.qybz , (select count(daid) from ta_da where ywlxid=a.ywlxid) as dasum ,:nsrsbh as nsrsbh from dm_ywlx a where ywlxmc<>:nsrsbh;在返回的数据集中添加一列nsrsbh,该列为隐藏列,不在页面中显示。第二种的实现方式实质上也是编写SQL语句,由于该SQL语句比较复杂。而odac的

48、部分版本对复杂SQL语句支持性不是很好,此时只能将复杂的SQL语句直接写入到procedure中。在存储过程里,利用ref cursor可以实现返回数据集的功能10。步骤一是创建包create or replace package types as type cursorType is ref cursor;end types;步骤二是创建基于此包的存储过程create or replace procedure fwxm(v_sbh in ta_da.nsrsbh%type,v_qybz in dm_ywlx.qybz%type, p_cursor out types.cursorType )

49、isbegin open p_cursor for select c.ywlxid,c.ywlxmc,c.sbh,c.qybz,b.ywlxcount from (select ywlxid, ywlxmc, v_sbh as sbh,v_qybz as qybzfrom (select ywlxid,ywlxmc from dm_ywlx where (ywlxmc <> v_sbh) and (qybz = v_qybz) ) c left join (select count(*) as ywlxcount,ywlxid from ta_da where nsrsbh=v_s

50、bh group by ywlxid) b on b.ywlxid=c.ywlxid order by ywlxid;end fwxm;综合比较两个实现方法,方法一的实现比较简单,SQL语句易读易维护,且并无多层select的嵌套,执行效率高,故采用第一种实现方式。5.查询模块性能优化在税收征管档案系统中,用户使用得最频繁的模块档案查询模块。在查询模块中,影响查询模块用户体验的主要因素是查询速度。尤其是在提供的查询条件很多、系统中的记录数很多的时候,速度问题受到很大的挑战。在实际应用中,一般采取各种优化措施,使得SQL 查询经过数据库优化器的处理, 得到最佳的执行计划, 即数据访问路径, 来达

51、到提高响应速度的目的。Oracle 优化的一般顺序如下:环境调整( 服务器、网络、磁盘) 、Oracle 实例调整、Oracle 对象调整、Oracle SQL 调整11。其中最常用的,就是Oracle SQL调整。较好的SQL 语句可以减少I/O 请求数目,减少对网络带宽的占用等。特别是对于海量数据,劣质SQL 语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个应用系统不是简单地能实现其功能就可,而是要写出高质量的SQL 语句,提高应用系统的性能。所有优化的进行都是基于所使用的查询语句中的WHERE子句4。目前举例说明优化在本系统中的使用。所用到的SQL语句及其用途如下:例 方法

52、名称 GetDataByDACX_File_GJCXSQL如下:SELECT DAID, YWLXID, YWLXMC, FWXMID, FWXMMC, NSRSBH, NSRMC, NSRZTID, NSRZTMC, NSRYWBLDWID, NSRYWBLDWMC, NSRSSSJID, NSRSSSJMC, NSRSSXJID, NSRSSXJMC, NSRSSOID, NSRSSOMC, NSRSSPQID, NSRSSPQMC, CJRBH, CJRXM, CJSJ, CJDWID, CJDWMC, CJFS, SWH, ZDACDQDZSFDYG, DACDQDDYRQ, GDRB

53、H, GDRXM, GDDWID, GDDWMC, GDSJ, DABGQXQSRQ, DABGQXZZRQ, ZZZLS, YYZLS, DAZTID, DAZTMC, XGZT, JYZT, DAMLH, DAFCH, DAZFCDQSY, DAZFCDZZY, DAZFCZDBZ, DARCZT, DAGSDWID, DAGSDWMC, DANF, DAZFRID, DAZFRXM, DAZFRSSDWID, DAZFRSSDWMC, DAZFSJ, ZFSM, DA_OLD, DA_NEWFROM TA_DAWHERE (YWLXID LIKE :YWLXID) AND (FWXMID

54、 LIKE :FWXMID) AND (NSRMC LIKE CONCAT('%', CONCAT(:NSRMC, '%') AND(NSRYWBLDWID LIKE :NSRYWBLDWID) AND (NSRSSSJID LIKE :NSRSSSJID)AND(NSRSSXJID LIKE :NSRSSXJID) AND(NSRSSOID LIKE :NSRSSOID) AND (DAZTID LIKE :daztid) AND (DAMLH LIKE :damlh) AND (DAFCH LIKE :dafch) AND (DANF LIKE :danf)

55、 AND (NSRSSPQID LIKE :NSRSSPQID) AND (CJRXM LIKE CONCAT('%', CONCAT(:CJRXM, '%') AND (GDRXM LIKE CONCAT('%', CONCAT(:GDRXM, '%') OR GDRXM IS NULL) AND (CJSJ &gt;= :CJSJQ) AND (CJSJ &lt;= :CJSJZ)功能简介:通过输入或选择档案的相关信息,查询用户所希望获得的档案。其中,输入的条件有纳税人名称、采集人名称、归档人名称。可对其进行模

56、糊查询。在进行选择的条件,有些条件是相互约束或者是逐步细化的。如只有选定了业务类型,才能选择服务项目;选择纳税人所属市局,才可选择纳税人所属县局;选择纳税人所属县局,才可选择纳税人所属所;选择纳税人所属所,才可选择选择纳税人所属片区。根据档案目录号和档案分册号的形成规则,即档案目录号是由6位档案采集单位编号+4位档案采集当前年份+6位服务项目中类构成,选定了档案目录号,则该档案查询条件中的档案采集单位名称和档案年份一栏将会被填写。SQL优化:(1)建立索引。建立索引是优化SQL执行效率的最常用办法。通过索引访问数据的成本包括3个部分:Root Block以及Branch Block的访问成本,

57、索引的叶节点块访问成本,从索引取得RowID,根据RowID访问表的成本12。建立复合索引,使得通过RowID访问表得数据量大大减少,从而降低成本。由于同一档案号和档案分册中的档案很少,所以可以针对档案号和档案分册进行建立复合索引。虽然系统中建立索引对查询有帮助,但是并非越多越好。如果有太多的索引,DML的性能就会受到影响。如果索引太少,又会影响查询的性能13。(2)调整Where表达式中条件的顺序。由于Where条件中的条件大部分未建索引,所以进行的都是全表扫描14。当对符合搜索条件求值时,DBMS对每个单独的搜索条件求值,然后执行布尔数学运算来决定整个WHERE子句是TRUE还是FALSE15。待系统运行的实际足够长时,而档案目录号DAMLH和档案分册号DAFCH相同的记录不会超过100条,而YWLXID相同的记录会超过记录的五分之一16。所以,为了更快地定位记录,调整SQL如下:SELECT DAID, YWLXID, YWLXMC, FWXMID, FWXMMC, N

温馨提示

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

评论

0/150

提交评论