基于MVC模式下机关办公自动化_系统(OA-B)核心功能的实现毕业论文.doc_第1页
基于MVC模式下机关办公自动化_系统(OA-B)核心功能的实现毕业论文.doc_第2页
基于MVC模式下机关办公自动化_系统(OA-B)核心功能的实现毕业论文.doc_第3页
基于MVC模式下机关办公自动化_系统(OA-B)核心功能的实现毕业论文.doc_第4页
基于MVC模式下机关办公自动化_系统(OA-B)核心功能的实现毕业论文.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业设计(论文)题 目:基于mvc模式下机关办公自动化系统(oa-b)核心功能的实现subject:the corn function design of oa-b system based on mvc pattern毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 毕业论文(设计)授权使用说明本论文(设计)作者完全了解*学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。 作者签名: 指导教师签名: 日期: 日期: 注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用a4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它摘 要mvc模式是一种可应用于j2ee的开放式框架结构。它允许web页面或其它浏览内容(视图层)能够最大限度的与内部代码(模型/控制层)分离开来,从而使设计者和程序员能够将注意力集中在他们各自的专门技术上。并因java的“一次写入后,任何处运行”的特性而提高了开发效率。本论文着眼于在jbuilder环境下应用mvc模式开发机关办公自动化系统的核心功能,即发/收文管理、工作流控制以及用户管理。本论文以我们oa小组开发的机关办公自动化系统weboa为例,介绍了由本人参与设计的发/收文工作流模块和用户管理模块的相关技术,并进行程序结构分析和具体功能实现阐述。关键词:mvc模式 j2ee相关组件 机关办公自动化 发收文管理 工作流 用户管理abstractmvc is an open source framework for jsp web applications. this design model allows the web page or other contents (view) to be mostly separated from the internal application code (controller/model), making it easier for designers and programmers to focus on their respective areas of expertise. it improve the efficiency of the development process thanks to java “write once, run anywhere” nature.this dissertation focuses on implementation of mvc patterns to develope office automatic system for bureau (oa-b) which run on jbuilder environment, and mainly introduce its kernel functions theory such as message send&receive manage, workflow control and user manage .this dissertation introduces the function of implemented office automation for bureau named weboa by our oa team . it also expatiate its relative technology which were concerned and designed by me as well as this systems message send&receive manage , workflow control and user manage structure and analysis of implementation in details. keyword:mvc patterns j2ee relative technology oa-b message send&receive manage workflow control usermanage目 录第一章 绪 论错误!未定义书签。1.1 研究背景错误!未定义书签。1.2 oa-b概念的提出错误!未定义书签。第二章 系统相关技术简介错误!未定义书签。2.1系统开发架构错误!未定义书签。2.2系统所采用的主要技术分析错误!未定义书签。2.2.1系统采用的mvc模式架构错误!未定义书签。2.2.2系统采用的j2ee相关标准组件技术错误!未定义书签。2.2.3browser/server系统的三层体系结构错误!未定义书签。2.3 系统的运行环境和开发平台错误!未定义书签。2.3.1系统的开发平台错误!未定义书签。2.3.2 系统运行环境错误!未定义书签。第三章 系统功能结构错误!未定义书签。3.1 oa-b模式错误!未定义书签。3.1.1基本需求:报文传递功能错误!未定义书签。3.1.2应用模式:工作流错误!未定义书签。3.1.3数据整合:复合型文档错误!未定义书签。3.2 本系统功能模块错误!未定义书签。第四章 核心子系统模块设计错误!未定义书签。4.1 发/收文管理错误!未定义书签。4.1.1 m-v-c模式分析发文管理错误!未定义书签。4.1.2 发文工作流数据库实现错误!未定义书签。4.1.3 收文查询中值对象控制错误!未定义书签。4.2 用户权限管理错误!未定义书签。4.2.1用户权限的数据库逻辑结构错误!未定义书签。4.2.2用户管理数据库的物理结构错误!未定义书签。第五章 小 结错误!未定义书签。结 语错误!未定义书签。致 谢错误!未定义书签。参考文献错误!未定义书签。附 录:发文管理源代码错误!未定义书签。第一章 绪 论1.1 研究背景办公自动化(office automation,简称oa),是以先进成熟的计算机和通信技术为主要手段,建成一个覆盖政府企业等部门的办公信息系统,提供企事业单位与其他专用计算机网络之间的信息交换,建立高质量、高效率的政府信息网络,为领导决策和办公提供服务,实现办公现代化、信息资源化、传输网络化和决策科学化。由于oa所含盖的范畴太广,只要是与信息通信相关的办公软件仿佛都可以与oa挂钩,导致市场中的oa产品质量水平参差不齐,尽管客户对其需求量大,但能满足要求的产品并不多,我们通过调研发现,主要有如下缺陷:1 功能华而不实。不少产品看上去非常全面,很多功能却难以实现,而且真正核心的功能做的并不深入,反而造成资源上浪费。2 面向群体无针对性。oa是要面向客户群体的,很多产品标榜其可以用在任何办公环境,但结果是哪里都能用,哪里都用不好。oa工作环境的性质决定其必须能针对某类工作流程比较固定的单位。3 行业规范性不强。oa针对的是具有一定办公标准的行业,这就要求所研制的软件应用时有严格的且符合该行业设计规范公文文档和工作流程1.2 oa-b概念的提出从上述要求出发,我们提出oa-b(office automation for bureau)的概念,即机关办公自动化系统。机关办公自动化系统是实现机关内部各级部门之间以及机关内外部之间办公信息的收集与处理、流动与共享、实现科学决策的具有战略意义的信息系统。经过市场调查,我们发现,一个成功的oa-b最应具有是以下特点:1 能适应灵活多变办公自动化业务的流程化处理手段。2各子系统间数据集成化,且oa系统能在不同职能部门系统间完成信息双向传递。而这些系统本身可以是完全异构的、分散的。3由于涉及重要的政务办公信息,信息系统的的安全性与完整性,及可配置管理是随时应该考虑的特性。4技术的符合标准与先进性。特别是办公文档和工作流程必须符合所应用行业的规范。第二章 系统相关技术简介2.1 系统开发架构本系统采用jsp+servlet+javabean的三层架构开发模式。此模式遵循视图控制器m-v-c模式,其基本构想是使用一个或多个servlet作为控制器。请求由前沿的servlet接收并处理后,会重新定向到jsp。在servlet作为控制器时,每个servlet通常只实现很少一部分功能,多个servlet控制器就可以结合起来完成复杂的任务,这样的好处是servlet的重用性好。在此模式中,javabean作为模型的角色,它充当jsp和servlet通信的中间工具,servlet处理完后设置bean属性,jsp读取此bean的属性,然后进行显示。此模式更加明显的把显示和逻辑分离,使代码容易管理,适合于大型项目的开发,所以在本系统中采用了这种模式。此模式的数据传递关系如图1-1所示。图1-1 oa-b开发模式数据传递关系2.2 系统所采用的主要技术分析2.2.1 系统采用的mvc模式架构通过模型、视图和控制架构(m-v-c)以实现简单高效的应用程序升级和维护,以及如何让不懂程序代码的人员避开程序数据。mvc的架构是一个描述重现的问题及其解决方案的设计范式,但每次问题重现时,解决方案都不会完全相同。mvc设计范式包括三种对象:1、模型(model)提供应用业务逻辑(enterprise beans类)。2、视图(view)则是其在屏幕上的显示(html页面、jsp页面、swing gui)3、控制器则是servlet、javabeans或session beans类,它用于管理用户与视图发生的交互。2.2.2 系统采用的j2ee相关标准组件技术j2ee平台为多层的分布式模型,组件再用,一致化的安全模型以及灵活的事务控制。应用客户组件、enterprise beans组件、servlet及jsp页面组件、applet等。1、jsp(java server pages)技术本系统中充当mvc的v部分视图表示(viewer)。2、servlet技术applet的服务器端版本,是由web服务器装入、用于处理客户请求的java程序。本系统中作为mvc中的c部分控制器(controller)。3、javabean技术重用组件技术(独立的可重复利用的模块,负责数据库交互以及数据提取,许多动态页面处理过程被封状到了javabeans中)本系统中作为mvc中的m部分模型(model)。4、jdbc技术是用于执行sql语句的java应用程序接口,由一组用java语言编写的类与接口组成, jsp中通过jdbcodbc桥驱动程序访问访问数据库。本系统中主要与三层架构中的数据层进行交互。2.2.2 browser/server系统的三层体系结构在browser/server的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。browser/server结构极大的简化了客户机的工作,客户机上只需安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。在browser/server三层体系结构下,表示层(presentation)、功能层(business logic)、数据层(data service)被分割成三个相对独立的单元:第一层-表示层:web浏览器在表示层中包含系统的显示逻辑,位于客户端。它的任务是由web浏览器向网络上的某一web服务器提出服务请求,web服务器对用户身份进行验证后用http协议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在web浏览器上。第二层-功能层:具有应用程序扩展功能的web服务器在功能层中包含系统的事务处理逻辑,位于web服务器端。它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过sql等方式向数据库服务器提出数据处理申请,而后等数据库服务器将数据处理的结果提交给web服务器,再由web服务器传送回客户端。第三层-数据层:数据库服务器在数据层中包含系统的数据处理逻辑,位于数据库服务器端。它的任务是接受web服务器对数据库操纵的请求,通过jdbc/javabean访问数据库,实现对数据库查询、修改、更新等功能,把运行结果提交给web服务器。通过分析可以看出,三层的browser/server体系结构是把二层client/server结构的事务处理逻辑模块从客户机的任务中分离出来,由单独组成的一层来负担其任务,这样客户机的压力大大减轻了,把负荷均衡地分配给了web服务器2.3 系统的运行环境和开发平台2.3.1 系统的开发平台建议使用borland公司推出的用于连接数据库以及web应用开发平台产品jbuilder作为我系oa实验室的相关系统的开发工具。2.3.2 系统运行环境1、服务器端运行环境服务机:有网络接口卡(nic)的高性能pc机,512m ram,硬盘80g以上。 操作系统:windows 2000 serverweb服务器:apache tomcat数据库服务器:microsoft sql server 20002、客户端运行环境客户机:有网络接口卡(nic)的pc机,128m ram,操作系统:windows 2000 professional浏览器:microsoft internet explorer 5.0以上。第三章 系统功能结构3.1 oa-b模式就一般来说,oa-b均以公文处理和机关事务管理为核心,同时提供信息通讯与服务等重要功能。因此,典型的oa应用包括收发文审批签发管理、公文流转传递、政务信息采集与发布、内部请示报告管理、档案管理、会议管理、领导活动管理、政策法规库、内部论坛等等应用。核心功能概念的提出如果我们从系统功能角度对上述办公自动化应用做一分析,就会发现办公自动化软件的这样几个功能其中的核心功能,即报文传递、工作流、复合型文档,可以说是最小子集。如图31。协同工作安全性控制internet报文传递工作流复合文档这些功能需求是我们选择办公自动化应用 图31系统的开发与使用平台时必须考虑的判断依据: 3.1.1 基本需求:报文传递功能报文传递系统作为信息传递与共享的工具和手段,满足oa-b最基本的通信需求。换言之,mts(message transportation system)作为通信基础设施,主要提供了两方面的功能:从信息技术的角度出发,报文传递功能是一种“推”技术,即发送方(sender)将信息通过存储转发技术推给接收方(receiver)。从用户使用习惯出发,报文传递功能是办公自动化系统的“门户”。因为在oa上工作的人员很容易养成一种工作习惯,每日查看自己的收件箱,阅读处理有关信件;而且功能高级完整的报文传递系统一般都具备新信件到达提示功能。因此,oa-b可以利用报文传递系统的特点将每一项需要工作人员处理的信息或通知,制成信件,直接投递到工作人员的收件箱中。在一个oa-b中,针对不同的业务需求,通常包含了多个应用子系统,如发文、收文、信息服务、档案管理、活动安排、会议管理等等,可以将收件箱作为所有这些办公应用子系统的统一“门户”,每一个用户通过关注自己的收件箱就可以了解到需要处理的工作,而不必经常性地来回检查不同的应用系统,看看哪些是需要处理的工作(在这种情况下,如果由于某种人为原因,没有及时查阅某个应用系统,就可能造成工作的延误)。办公自动化应用系统以报文传递作为统一入口的设计思想,可以大大减少培训的工作量。3.1.2 应用模式:工作流所谓的工作流就是一组人员为完成某一项业务所进行的所有工作与工作间的交互过程。几乎所有的业务过程都是工作流,特别是办公自动化应用系统的核心应用公文审批流转处理、会议管理等。每一项工作以流程的形式,由发起者(如文件起草人)发起流程,经过本部门以及其他部门的处理(如签署、会签),最终到达流程的终点(如发出文件、归档入库)。工作流程可以是互相连接、交叉或循环进行的,如一个工作流的终点可能就是另一个工作流的起点,如上级部门的发文处理过程结束后引发了下级部门的收文处理过程。工作流程也可是打破单位界限的,发生于机关以及与机关的相关单位之间。如及时地收回和赋予不同人员的操作权限(如起草人起草文件完毕即不可修改文件内容,而其上级领导获得文件的签署权或对内容的修改权)、主动提示和催促工作人员实现某一阶段的处理,从而整体提高工作流处理的效率。工作流自动化有2种实现模式,即:基于邮件和基于共享数据库。基于邮件的工作流应用,就是通过邮件将数据表单从一个人邮箱传送到另一个人邮箱。其特点是模式简单。但是,最大的弊病是无法实行监控,没有一个管理者可以随时掌握工作流的动态。其它问题包括:难以实现自动化处理如通过代理催办、集中归档、统计;数据容易出现多份拷贝,难以控制安全性和准确性;大量的邮件传输引发大量的网络流量。基于共享数据库的工作流应用,可以克服上述基于邮件的工作流缺点。如信息单一存储,自动处理,安全性更好,容易实现监控。但是,工作流的驱动成了一个问题,因为缺乏信息通讯机制,无法主动通知有关人员进行下一步的工作。本系统工作流采用基于共享数据库模式开发。3.1.3 数据整合:复合型文档复合文档型数据不同于传统数据类型。办公自动化所处理信息的载体大多是以文件、报表、信函、传真等形式出现,因此办公自动化系统是典型的文档处理系统。对“复合文档数据”或“对象数据”的表示和存储管理是数据库技术领域的新领域。一般认为,关系数据库系统(如oracle、db/2、sql server、foxpro等)适合传统数据类型(结构化信息)的表示和存储,但是对复合文档数据的处理就有“削足适履”之感,并非能够完全表达信息和存储效率最高。因此,“文档数据库”或“对象存储”的概念就被引入数据库领域,其目标就是针对新出现的需求,高效率地表达和存储管理“复合文档数据”。一言以蔽之,办公自动化系统由于其对复合文档数据的处理要求,必须以文档数据库为核心建立,同时选择性地结合关系数据库。从信息技术的角度出发,数据库技术代表了“拉”技术,即信息共享技术。信息被集中存储管理,当用户需要信息时,主动地将数据库中的信息“拉”到自己的工作站上进行处理。另外,作为扩展功能的协同工作、必须具备的安全性控制以及可附加的internet集成功能也在办公自动化系统中扮演着重要的角色。3.2 本系统功能模块其基本思想是把整个系统按照实现功能进行分解利用jsp+javabean+servlet进行编程。已实现的系统的功能结构模块如图3-2所示。oa系统个人办公 公共办公工作流管理系统管理行政办公部门管理用户管理图3-2 oa-b系统结构图而其下又可以分为子系统结构图。用户管理子系统用户注册模块用户信息管理模块用户信息修改模块管理员登录模块公告栏模块用户密码修改模块用户登录模块用户查询模块留言板模块图3-3 用户管理子系统功能模块图第四章 核心子系统模块设计前面我们已经提出了作为一个oa系统的核心功能应是报文传递、工作流和复合型文档,再加上对用户人员的权限管理,我们即可以称之为一个精简功能的oa-b系统,已能应付一般的机关处室的日常工作。我们知道,在oa-b中对应报文传递功能的实现发/收文管理,而在从发文到收文的过程中又可以看成是一个工作流。因此,毫无疑问,在oa-b系统中是它是真正的核心。用户做为支撑该软件中的“人”的因素,不可或缺的是一个用户权限管理功能。而在其中有包含了与动态管理相对应的数据库连接技术。本章我们以发/收文管理和用户管理的实现为例,介绍oa-b设计原理。4.1 发/收文管理因为对每一种对象的管理都比较类似,在此仅以行政办公中的发文、收文管理公文为例,来分析一下本系统中的数据流向。根据图1-1的oa-b开发模式数据传递图我们可以大致了解到发文过程的原理,即有图4-1。4.1.1 m-v-c模式分析发文管理senderservlethttprequestforward读取modelviewjavabeanweb.xmljdbc数据库发文拟稿页面querrycontroller图4-1 发文模式数据传递实例图第一步:controllermodelsql server用户作为拟稿完成后,通过http发出发文请求(send request),作为的控制器的servlet通过调用web配置文件web.xml向javabean发出控制信号,并对其赋值。而javabean中的一个值对象(value object,即vo)将通过jdbc连接sql server数据库,从中调出所需信息返回给vo,实现了在模型层与数据库的交互。第二步:controllerviewermodelservlet又向jsp发出从javabean中读取数据库信息的信号,在视图层的jsp页面在从javabean调出信息,生成发文拟稿页面,完成一次发文。4.1.2 发文工作流数据库实现在本系统中,发文模块流程为参考流程为:开始 申请人(拟稿)提交同部门工作人员(核稿) 部门领导(审稿或会签) 办公室文员(校稿)办公室主任(定稿) 单位领导(签发)拟稿人(处室复核) 公文管理员(归档) 结束以拟稿到和核稿为例,流程图为图4-2所示。开始拟稿提交核稿是否合格合格yn结束核稿提交图4-2 发文管理从审稿到核稿流程图由于整个发文流程很复杂,故我们采用树型结构来实现它,表4-1为其在sql中的发文流程的结点表。表4-2为发文工作流信息表。表4-2中已定义了各字段的属性,而其中的direction是控制方向,r值代表指向后一步操作,l值代表指向前一操作,这样就保证了流程的通畅。表4-1发文工作流表node_no_snode_no_edirectionflow_nameflow_descorder_byworkflow_no00000010000002r拟稿提交从拟稿到核稿000000100000020000003r核稿提交从核稿到审稿100000100000020000001l核稿退回从核稿退回到拟稿200000100000030000004r审稿提交从审稿到校稿300000100000030000001l审稿退回从审稿退回到拟稿400000100000040000005r校稿提交从校稿到定稿500000100000040000001l校稿退回从校稿退回到拟稿600000100000050000006r定稿提交从校稿到签发700000100000050000004l定稿退回从定稿退回到校稿800000100000060000007r签发提交从定稿到签发900000100000060000001l签发退回从签发退回到拟稿1000000100000070000008r打印发送归档提交从签发到打印发送归档110000010000008r完成发文归档发文归档12000001表4-2 发文工作流信息表表 名字段名类型大小可空约束备注workflow_messagenode_nointeger7n主键指向编号node_no_sinteger7n头结点编号node_no_einteger7y尾结点编号directionvarchar1n结点方向flow_namevarchar100n结点名flow_descvarchar100n流向名order_byinteger7n顺序号workflow_nointeger7n工作流编号4.1.3 收文查询中值对象控制在4.1.1文中我们已提出值对象(vo)的概念,这里有必要在声明以下什么是值对象,即用于把数据从某个对象/层传递到其他对象/层的java对象。它提供了一个或一组值的实体信息。收文流程为流程:开始 办公室人员(登记)提交办公室主任(拟办) 单位领导(批示) 主办处室负责人(主办)协办处室负责人(分办) 办公室文员(打印排版,发送)公文管理员(归档) 结束。不难发现,收文流程和发文是很类似的,另外,在收文管理中还提供了四个功能,即登记、处理、阅读和查询。而它们就是通过值对象的传递控制的。下面我们将以收文查询为例,分析值对象在其中的作用:当点击收文查询,进入“公文收文【查询】”页面,就可以按来文标题、来文文号、来文单位、紧急程度、公文密级、收文编号、收文日期、备注等信息进行组合查询。系统根据你的查询条件返回查询页面,然后你就可以浏览查询结果中你所需的公文。以下是收文查询的算法:package .ssct.oa.doc.persistence; / 加载persistence包import .ssct.oa.doc.valueobject.docrecvo; / 调用vo值对象import .ssct.dbconnbean;import java.sql.connection; /*根据主键查询收文值对象 *param id 公文编号 * return docrecvo对象,如果不存在返回一个空对象,但不允许返回 null */ public docrecvo querybyid(string id) docrecvo docrecvo = null; preparedstatement stat = null; resultset rs = null; string strsql = select * from doc_tb_rec where recdocno=? ; / 嵌入sql语句查询 .ssct.dbconnbean objdbconnbean = .ssct.dbconnbean.getinstance(); connection conn =objdbconnbean.getconnection(goa); try stat = conn.preparestatement(strsql); stat.setstring(1,id); rs = stat.executequery(); while (rs.next() docrecvo = new docrecvo(); docrecvo.setrecdocno(rs.getstring(recdocno); docrecvo.setcome_title(rs.getstring(come_title); docrecvo.setcome_doc_no(rs.getstring(come_doc_no); docrecvo.setcome_doc_dept(rs.getstring(come_doc_dept); docrecvo.setdc_doc_exigence(rs.getstring(dc_doc_exigence); docrecvo.setdc_doc_security(rs.getstring(dc_doc_security); docrecvo.setin_doc_no(rs.getstring(in_doc_no); docrecvo.setin_doc_date(rs.getstring(in_doc_date); docrecvo.setin_doc_dept(rs.getstring(in_doc_dept); docrecvo.setcome_content(rs.getstring(come_content); docrecvo.setmemo(rs.getstring(memo); docrecvo.setfile_id(rs.getstring(file_id); docrecvo.setenter_user_no(rs.getstring(enter_user_no); docrecvo.setedit_datetime(rs.getstring(edit_datetime); docrecvo.setenter_datetime(rs.getstring(enter_datetime); docrecvo.setrecordid(rs.getstring(recordid); docrecvo.settemplate(rs.getstring(template); docrecvo.setfiletype(rs.getstring(filetype); docrecvo.sethtmlpath(rs.getstring(htmlpath); docrecvo.setstatus(rs.getstring(status);docrecvo.setmain_do_user_nos(rs.getstring(main_do_user_nos);docrecvo.setother_do_user_nos(rs.getstring(other_do_user_nos);docrecvo.setread_do_user_nos(rs.getstring(read_do_user_nos); docrecvo.setsend_recordid(rs.getstring(send_recordid); /*按来文标题、来文文号、来文单位、紧急程度、公文密级、收文编号、收文日期、备注等信息进行组合查询*/ catch (sqlexception e) sysdebug.prt(this,querybyid(string),strsql,e); finally objdbconnbean.freeconnection(goa,conn); return docrecvo;/* * 根据动态sql语句查询 * param conditionsql 动态sql语句 * return collection,如果不存在返回一个空集合,但不允许返回 null */ public collection querybydynamicsql(string conditionsql) arraylist docrecvolist = new arraylist(); docrecvo docrecvo = null; statement stat = null; resultset rs = null; string strsql = ; if(conditionsql.equalsignorecase()/没选定任何条件 strsql = select * from doc_tb_rec ; else strsql = select * from doc_tb_rec where + conditionsql; .ssct.dbconnbean objdbconnbean = .ssct.dbconnbean.getinstance(); connection conn =objdbconnbean.getconnection(goa); try stat = conn.createstatement(); rs = stat.executequery(strsql); while (rs.next() docrecvo = new docrecvo(); docrecvo.setrecdocno(rs.getstring(recdocno); docrecvo.setcome_title(rs.getstring(come_title); docrecvo.setcome_doc_no(rs.getstring(come_doc_no); docrecvo.setcome_doc_dept(rs.getstring(come_doc_dept); docrecvo.setdc_doc_exigence(rs.getstring(dc_doc_exigence); docrecvo.setdc_doc_security(rs.getstring(dc_doc_security); docrecvo.setin_doc_no(rs.getstring(in_doc_no); docrecvo.setin_doc_date(rs.getstring(in_doc_date); docrecvo.setin_doc_dept(rs.getstring(in_doc_dept); docrecvo.setcome_content(rs.getstring(come_content); docrecvo.setmemo(rs.getstring(memo); docrecvo.setfile_id(rs.getstring(file_id); docrecvo.setenter_user_no(rs.getstring(enter_user_no); docrecvo.setedit_datetime(rs.getstring(edit_datetime); docrecvo.setenter_datetime(rs.getstring(enter_datetime); docrecvo.setrecordid(rs.getstring(recordid); docrecvo.settemplate(rs.getstring(template); docrecvo.setfiletype(rs.getstring(filetype); docrecvo.sethtmlpath(rs.getstring(htmlpath); docrecvo.setstatus(rs.getstring(status);docrecvo.setmain_do_user_nos(rs.getstring(main_do_user_nos);docrecvo.setother_do_user_nos(rs.getstring(other_do_user_nos);docrecvo.setread_do_user_nos(rs.getstring(read_do_user_nos); docrecvo.setsend_recordid(rs.getstring(send_recordid); docrecvolist.add(docrecvo); catch (sqlexception e) sysdebug.prt(this,querybydynamicsql(string),strsql,e); finally objdbconnbean.freeconnection(goa,conn); return docrecvolist; 首先,在一开始要调用一个pe

温馨提示

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

评论

0/150

提交评论