基于Domino平台的企业公文系统的设计与实现 毕业论(设计)_第1页
基于Domino平台的企业公文系统的设计与实现 毕业论(设计)_第2页
基于Domino平台的企业公文系统的设计与实现 毕业论(设计)_第3页
基于Domino平台的企业公文系统的设计与实现 毕业论(设计)_第4页
基于Domino平台的企业公文系统的设计与实现 毕业论(设计)_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、20112011 届本科生毕业论文(设计)届本科生毕业论文(设计)题 目: 基于domino平台的企业公文系统的设计与实现学学 院院 ( (系系) ):信息工程学院信息工程学院专专 业业 年年 级:级: 信息管理与信息系统信息管理与信息系统071071级级学学 生生 姓姓 名:名:指指 导导 教教 师:师:目 录摘要摘要.1英文摘要英文摘要.2第第 1 章章 绪绪 论论.31.1 课题的背景及研究目的 .31.2 与本课题有关的国内外研究状况.31.2.1 国内外的办公自动化的发展 .31.3 本论文的主要研究内容.4第第 2 章章 企业公文管理系统的相关技术企业公文管理系统的相关技术 .62

2、.1 domino文档型数据库.62.1.1 domino 数据库结构.62.1.2 domino 数据安全控制.72.1.3 公式与代理.72.2 本章小结.8第第 3 章章 企业公文管理系统的需求分析及总体设计企业公文管理系统的需求分析及总体设计.93.1 需求分析.93.1.1 系统功能模块划分.93.1.2 公文管理模块.93.1.3 公文配置管理模块.103.1.4 系统维护模块.103.2 企业公文管理系统总体设计 .103.2.1 企业公文系统体系结构 .103.3 系统开发以及运行环境.113.3.1 开发平台.113.3.2 运行环境.123.4 出错处理.133.5 本章小

3、结.13第第 4 章章 企业公文管理系统的实现企业公文管理系统的实现.144.1 公文管理模块.144.1.1 用户界面的实现.154.1.2 发文办理单的实现.174.1.3 发文登记单的实现.194.2 公文配置管理模块.214.2.1 公文数据库配置的实现 .214.2.2 公文类型配置的实现 .254.2.3 流程辅助配置的实现 .284.3 权限控制的实现.324.4 本章小结.34结结 论论.35致致 谢谢.36参考文献参考文献.371基于基于 dominodomino 的企业公文系统的设计与实现的企业公文系统的设计与实现摘要摘要:随着互联网的高速发展,电子公文的概念已经越来越受到

4、广大政府部门和企业的重视。之所以电子公文会逐渐出台,最为主要的原因是,传统企业公文管理工作量大,而且容易出错、效率低下、安全性差、不易保存,已经越来越不适应现代企业的运行节奏。本论文针对企业的实际情况及公文流转系统的特点,通过对目前各种流行技术的全面比较,并对本领域相关理论深入研究分析,对系统进行全面的梳理和优化后,最终确定了系统的建设方案。即以领先的企业级通讯、协同工作软件 lotus domino 作为应用平台,使用 ajax 技术改善用户体验,采用以上这些技和方法完成了基于 domino 的企业公文系统的设计与实现。关键词关键词:domino;公文流转;电子公文2design and i

5、mplementation of enterprise document system based on dominoabstract: with the rapid development of internet, the concept of electronic documents has been paid more and more attention to by the governments and enterprises. the main reason of electronic documents being introduced gradually is the most

6、 traditional documents management workload, error prone, low efficiency and poor security, and storage difficulty, which has become increasingly unsuited to the modern enterprise running rhythm. this thesis views the exiting situation of the corporations and the features of the enterprise document f

7、low system, through fully comparing the popular currently technology, and deeply research and analysis the related theory of this area, after organizing and optimizing the system, finally confirms the construction scheme of the system. with adopting the leading enterprises communication, collaborate

8、 work software-lotus domino as application platform, and using ajax technology to improve user experience, these technology and methods accomplish the implementation and design of the enterprise document flow system based on domino.keywords: domino; document flow; electronic document3第第 1 章章 绪绪 论论1.

9、1 课题的背景及研究目的随着互联网的高速发展,电子公文的概念已经越来越受到广大政府部门和企业的重视,并在近 1-2 年得到一定的发展。之所以电子公文会逐渐出台,最为主要的原因是,传统企业公文管理涵盖公文的发布、审核、签发、收阅和检索等过程,环节多、人手杂,手工处理工作量大,而且容易出错、效率低下、安全性差、不易保存,已经越来越不适应现代企业的运行节奏。因此,开发企业公文系统,利用计算机网络的高速迅捷和计算机控制的严格准确,实现该企业公文管理工作的标准化、流程化作业、无纸化办公,提高公文传递的速度和质量,减轻办公室工作人员的劳动强度,具有重要的现实意义。课题来源于北京鼎捷软件有限公司的一个企业协

10、同办公平台项目,选择 lotus domino/notes r8 作为系统开发平台开发企业公文系统,企业公文系统是协同办公平台的一个子系统,这就是本课题的来源。1.2 与本课题有关的国内外研究状况1.2.1 国内外的办公自动化的发展全球的信息化、网络化进程正在改变着人们的生活方式,internet 技术的广泛应用正在给人们生活的各个层面带来深刻的影响。在这种形势下就必然要求政府企事业单位的各部门充分利用先进的网络信息技术平台来实现办公自动化、信息资源化、传输网络化和决策科学化。办公自动化简称 oa (office automation),是近二三十年发展起来的一门综合性跨学科技术,它将现代化办

11、公和计算机网络功能结合起来的一种新型的办公方式,是当前新技术革命中一个非常活跃和具有很强生命力的技术应用领域,是信息化社会的产物。通过网络,组织机构内部的人员可跨越时间、地点协同工作。通过 oa 系统所实施的交换式网络应用,使信息的传递更加快捷和方便,从而极大地扩展了办公手段,实现了办公的高效率。同时随着技术的发展和使用人员的办公方式和习惯、管理思想的变化,对于 oa 很明确的定义也不断的变化着,在技术发展过程中的每一个阶段,也赋予给 oa 不同的内容。办公自动化是企业信息化建设中重要方面,伴随着企业信息化一起发展的,办公自动化的发展过程到现在己经是第三代。第三代办公自动化系统建立在企业 in

12、tranet 平台之上,旨在帮助企业实现动态的4内容和知识管理,使企业每一位员工能够在协作中不断获得学习的机会和进步。事实上,现在的办公己经不再是简单的文件处理,不再是单纯的行政事务了。现代办公的任务是提高整个企业的运作效率,进而提高企业的核心竞争力。知识管理可以帮助企业解决知识共享和再利用的问题。知识管理是一个系统工程,目标是帮助企业发现潜在知识、定位拥有专门知识的人、传递知识、和有效利用知识。知识管理意味着在恰当的时间,将正确的知识传给正确的人,使他们采取最适合的行动,避免重复错误和重复工作。知识管理关注在如何获取、组织、利用和传播散布在企业信息系统和人们头脑中的知识。第三代 oa 的核心

13、是知识。较前两代相比,第三代 oa 不仅模拟和实现了工作流的自动化,更模拟和实现了工作流中每一个单元和每一个工作人员运用知识的过程。未来 oa 的发展都会有如下几个明显特征:门户导向、业务导向,知识驱动。1.3 本论文的主要研究内容本论文的主要研究内容是某公司及其下属公司设计并实现一个基于lotus domino/notes平台,包含各项功能,高效、安全的电子公文审批系统。该套系统作为协同办公系统的一个子系统,构建在lotus domino/notes平台,采用b/s模式。满足文件的起草、修改、审核、签发的全部流转过程,与电子公文归档系统结合,实现包括公文审批、公文传输、公文归档等公文处理的全

14、部过程,公文流转采用digiflow产品中的流程引擎来控制。为实现电子办公优势,电子文档在单位的各部门内、各部门之间的流动共享是不可避免的,所以对电子文档的采用授权机制,给每个文档增加读者域和作者域,每次流程流转时更新读者域和作者域,只有具有审批权限的人才可以看到文档,在流程结束后,根据需要,由公司领导或者管理员重新分配文档的权限,并且可以给文档中的部分内容也设置查看权限,使不同的人员只看到可以看的内容,使各个部门或人员能够高效,安全的协同办公。公文的安全对企业,特别是大型国企是至关重要的,针对公文流转过程中安全性不高的问题,应该采用流转过程中用数字签名等方法进行加密和验证,保证公文的真实性,

15、有效性,完整性。论文主要分为以下几个部分:论文第 1 章绪论,介绍了课题的来源、背景、研究目的以及与课题相关领域的国内外研究现状。论文第 2 章,介绍了企业公文流转系统的相关技术,主要是 ibm domino 技术,5为企业公文流转系统的实现奠定了基础。论文第 3 章,企业公文流转系统的需求分析和总体设计,结合第 2 章介绍的技术并根据软件工程学的理论论述了企业公文流转系统的设计。主要内容包括:企业公文系统的体系结构、模块划分、系统部署、出错处理,为系统的最终实现打下良好的基础。论文第 4 章,着重论述企业公文流转系统的各主要功能模块的实现及测试,并显示其运行结果。主要包括:公文管理模块、公文

16、配置管理模块、权限的管理。论文最后一章结论,总结了论文的研究成果及新特点。6第第 2 章章 企业公文管理系统的相关技术企业公文管理系统的相关技术2.1 domino 文档型数据库domino 具有单一结构的文档数据库和邮件系统,工作流开发机制,标准的web 应用服务器等三大技术优势,并提供强大的安全机制,确保对信息的合法访问,它使人们高效地协同工作,集邮件功能、多媒体文档数据库、工作流应用、web 应用等为一体,成为开发办公自动化系统的首选和工业事实标准的开发和应用平台。首先,domino/notes 系统提供功能完备,操作简单的手段,帮助用户进行从电子邮件到协同工作模式的应用程序的设定,这包

17、括:表单、字段、视图、代理和文件夹。其次,系统还提供一整套功能强大的开发工具,即 lotusscript 语言、notes 公式语言。 lotusscript:lotusscript 是一个与 visual basic 兼容的程序设计语言。它是一个完全面向对象的程序设计环境,具有丰富的类、方法和属性,包含有集成的对象浏览器和程序调试环境,向开发者提供了调用 notes 服务的手段。notes 公式语言:notes 内置一套公式语言。notes 公式同数学公式相似,包括变量、常量和操作符,当然两者的结果通常是不相同的。notes 提供了一系列函数,在不同的数据类型上执行各种操作。2.1.1 do

18、mino 数据库结构所有 domino 应用程序都是以 domino 数据库为基础创建的。domino 数据库包含应用程序数据、逻辑关系和设计元素的容器。domino 应用程序可以由一个或多个domino 数据库组成。每个 domino 数据库又由一些基本设计元素组成,设计元素是用来创建应用程序的构建单元,如图 2-1 所示。文档设计元素:页面、表单、视图数据文档域类型rtf文本域名body数据oa system.数据库7图 2-1 lotus domino 数据库结构2.1.2 domino 数据安全控制资源共享、决策支持等方面的功能极大地提高了办公效率和科学决策水平,系统的安全性同时也成为

19、一个不可忽视的问题,因此 domino/ notes 提供了多层次的安全机制,防止公文信息被窃取、破坏和滥用,以确保系统的安全。domino 系统的安全性层次如下:(1) 物理安全性 在物理上保护服务器和数据库的安全性。(2) 网络安全性 防止未授权用户闯入网络并假扮 notes 授权用户, 主要依靠防火墙、入侵检测等技术。(3) 服务器安全性 指定哪些用户和服务器(已授权)可以访问服务器,并限制他们在服务器上的活动。(4) 应用程序安全性 使用数据库存取控制列表来限制特定用户和服务器,对服务器上单个应用程序的存取权限。(5) 应用程序设计元素安全性 使用设计元素控制来限定用户对应用程序中的特

20、定设计元素的访问,如域、区段、表单、文档、视图等的访问。(6) 标识符安全性 domino 所提供的多层次安全机制实施的前提和基础就是标识符文件,即用户 id。domino 使用标识符中的信息控制用户和服务器对其他服务器和应用程序的存取,除此之外还可以对信息进行加密。管理员的职责之一是保护标识符并确保未授权用户不能使用它们。当服务器或用户通过了一个层次的安全机制以后,domino 服务器就执行下一层次的安全机制,正是采用这 6 种不同层次的安全措施,相互支持,共同构成一个完整的安全系统。对于群件系统来说,既要求可靠安全措施来保护机密的数据,同时又要求安全手段具有相当的灵活性,在这方面 domi

21、no 拥有其他数据库平台无法比拟的优势,从而也确立了它在办公自动化领域的优势地位。2.1.3 公式与代理代理:代理是 notes 的应用逻辑,开发者可以通过代理在客户机或在服务器上自动完成某种应用任务。系统提供一整套功能强大的开发工具,即 lotusscript 语言、notes 公式语言。 lotusscript:lotusscript 是一个与 visual basic 兼容的程序设计语言。它是一个完全面向对象的程序设计环境,具有丰富的类、方法和属性,包含有集成的对象浏览器和程序调试环境,向开发者提供了调用 notes 服务的手段。8notes 公式语言:notes 内置一套公式语言。no

22、tes 公式同数学公式相似,包括变量、常量和操作符,当然两者的结果通常是不相同的。notes 提供了一系列函数,在不同的数据类型上执行各种操作。2.2 本章小结本章依据软件工程学的开发理论对企业公文流转系统的需求进行了分析,并分析了所使用的相关技术,包括:domino文档型数据库、公式及代理,这些技术为企业公文流转系统的设计奠定了基础。9第第 3 章章 企业公文管理系统的需求分析及总体设计企业公文管理系统的需求分析及总体设计3.1 需求分析3.1.1 系统功能模块划分企业公文流转系统主要划分为三大模块:公文管理模块、公文配置管理模块,系统维护模块,如图 3-1 所示:公文流转系统公文流转系统公

23、文管理公文管理vhj 批公文配置管理公文配置管理系统维护系统维护部门群组配置图3-1 企业公文系统功能模块划分图3.1.2 公文管理模块(1)发文审批 实现发文的拟稿、审批、归档的流程。在发文审批过程中实现文件的审批,文件的修改留痕、文件编号、进行红头套打、痕迹保留、文件下发、公文打印,附件上传下载等功能。(2)收文审批 收文管理属于工作流管理的一个部分,接收到上级部门下发文件或外来文件之后由文书进行登记,需要进行审批的文件,由文书创建收文处理单,经过一定的审批流程,进行传阅和办理过程,最后归档。(3)签报审批 下属部门给向领导提交的需要领导阅批的请示、报告。 领导根据签报内容给出签报批示意见

24、,同时需要会签的部门也会给出相应意见。签报的管理部门负责签报的登记、呈报、传阅、分发和归档等相关工作。(4)工作督办 部门领导监督主办人将所分配任务完成情况。 领导根据主办人发文审批收文审批盖章管理套红管理部门群组配置权限配置数据库配置帮助主题签报审批工作督办公文编号管理公文类型管理公文流程管理10的完成情况给予批示意见,督办的管理部门负责督办的登记、呈报、传阅、分发和归档等相关工作。3.1.3 公文配置管理模块(1)公文类型管理 创建、查询,修改公文类型,每种公文类型可以选择操作界面、打印页面,公文审批流程等。(2)公文编号管理 创建、查询、修改,作废公文编号,可以配置公文编号的格式,起始编

25、号等。(3)红头模板配置 创建、查询、上传,删除套红模板,可以配置套红模板的标题。(4)密集级别配置 创建、查询、修改密集级别。(5)紧急级别配置 创建、查询、修改紧急级别。(6)流程辅助配置 对公文流程进行配置,可以配置每个流程环节的操作项,显示项,打印项等。(7)部门群组配置 配置主送和抄送的部门范围,根据需要将不同的部门分别划归到不同的部门群组中。3.1.4 系统维护模块(1)数据库配置 配置是否分库存储,配置数据附件库以及附件库是否分库,如何分库等功能。(2)权限配置 配置公文系统的管理权限,审批权限,查看权限。(3)帮助主题 提供系统的综合帮助,使用户能够尽快熟悉如何操作,以及如何处

26、理遇到的问题等。3.2 企业公文管理系统总体设计3.2.1 企业公文系统体系结构企业公文系统是 oa 系统的子系统,采用 b/s 结构,客户端为 ie 浏览器。在软件架构上,为保证框架具备充分的灵活性,使用户能在已有构件的基础上生成应用程序,实现“零代码编写”的理想目标。首先一个要点就是软件构件的重用性。当然软件构件的重用性,又要以软件的架构为基础,公文管理的系统体系结构模型定义为三个层次:(1)第一层:表现层 11负责为用户展示业务的操作界面,用户通过表现层与系统进行交互,将消息或数据传递到业务处理层,并从业务处理层获取处理结果,反馈给用户。(2)第二层:业务处理层 对表现层传递的消息或数据

27、加工处理,与其他库交互,并且获取系统层的支持和服务,处理结果返回到表现层,或者保存到数据库中,业务处理层提供领域内所需使用的类库,提供业务处理服务。在该层的函数调用或继承通用类构件层的函数,这里包括公文管理、公文配置、系统维护三大模块的业务处理。(3)第三层:数据层 存储公文流转数据、公文配置数据,与业务层交互,存储或返回信息。数据采用 domino 文档型数据库进行存储,将每次提交的表单保存为 domino 文档。企业公文系统体系结构如图 3-2 所示,表现层以表单和视图为主要展现形式,业务处理层中业务代理指的是公文的业务,该项业务代理与其他构件进行交互,数据层中以 domino 数据库为主

28、要存储数据库,sql server 数据库属于其他系统,但是公文系统可与之交互,此外还有一部分采用文件的形式存储。domino表单视图业务处理层数据层其他流程管理消息管理表现层sql server其他其他构件业务代理组织结构管理图 3-2 企业公文系统体系结构123.3 系统开发以及运行环境3.3.1 开发平台lotus domino/notes 是世界领先的信息和群组软件,具有群组协同工作的特征,多种先进的特性奠定了它在建立以 intranet 为基础的协同应用中不可动摇的地位。lotus domino/notes 还可以轻松实现对非结构化信息的管理和共享,具备了安全、健壮、可靠的通信基础设

29、备,其内含有强大的工作流软件开发环境,它是办公自动化系统建设的首选平台。lotus domino/notes 提供了业界领先的安全性,通过集群、事务日志、服务器故障恢复和自动诊断工具,最大限度地提高了服务器可用性,允许管理员管理垃圾邮件,使用户免受打扰。通过高效使用系统资源,帮助企业减少总体拥有成本,lotus domino 跨软硬件平台的全方位支持,开发的办公系统将适用于任何硬件、操作系统、浏览器等,使其可以架构在 windows、unix、linux、solaris、os/400 等多种操作系统之上,客户端使用任何一款标准浏览器即可登录并使用系统。系统主要软件使用 ibm domino e

30、nterprise server 作为系统的应用服务器;在此之上部属我们为企业开发的协同管理应用模块,使用流程管理引擎进行业务流转的驱动,并管理着企业中的所有的协同应用的单据流转及企业沟通;使用 lotus domino enterprise server 实现系统中的电子邮件功能并作为主要的通讯方式;由于domino 集成了优秀的协同开发软件 lotus domino designer,所以系统以它为主要开发工具,进行表单的设计与开发。3.3.2 运行环境以下是整个企业公文流转系统所属的协同办公系统的硬件主要配置:(1)oa 服务器服务器:ibm p570;操作系统:aix 操作系统;硬件配

31、置:cpu 个数不能小于 4,内存不能小于 8g。(2)邮件服务器服务器:ibm p520;操作系统:aix 操作系统;硬件配置:cpu 个数不能小于 4,内存不能小于 8g。(3)即时通讯服务器服务器:ibm rs6000;13操作系统:windows server 2003 操作系统;硬件配置:cpu 个数不能小于 4,内存不能小于 8g。(4)oa 消息服务器服务器:ibm p550;操作系统:aix 操作系统;硬件配置:cpu 个数不能小于 4,内存不能小于 8g。3.4 出错处理(1)出错处理原则 对所有可能无效的链接都有统一的错误提示界面。对于可能发生错误或执行失败的地方加以原因说

32、明,在错误产生时将自动产生错误日志连带可能的原因说明信息一起保留在后台。(2)出错信息 系统对出错信息进行了详细定义,并根据出错信息给出相应的提示,具体定义如下。在客户端展现的出错信息提示如表 3-1 所示。表 3-1 错误信息提示列表3.5 本章小结本章依据软件工程学的开发理论讨论了企业公文系统的设计,对企业公文流转系统的需求做了分析,根据需求设计了系统的体系结构,划分出模块,在出错设计等方面作了说明,对重点部分进行了较详细的描述,为该软件的实现奠定了基础。错误类型提示内容数据库连接错误提示数据库连接失败,每次读写数据库之前,检查数据库是否成功连接服务器连接错误提示服务器连接失败,每次需要连

33、接服务器之前,检查服务器是否能够成功连接读写数据库文档错误提示文档不存在或无法打开文档读写目标文档错误提示无法获得目标文档14第第 4 章章 企业公文管理系统的实现企业公文管理系统的实现4.1 公文管理模块公文流转中包括多种功能,比如选择公文类型,公文编号,公文套红,公文盖章等等,在公文流转开始或者流转中读取相应的配置文档,获取相关信息,以下以发文为例, 如表 4-1 所示。表 4-1 发文库表单表单名称表单说明issuedocappforma.0 发文申请单 flowinfoshowformi.0 文件字配置单ocregistrationformi.1 参数配置单menuslistformz

34、.z 功能链接表zfrmdocpapera.0 发文申请子表单zfrm_configz.0 保存参数配置sfflowmindz.0 批注与提示sfflowbasicinfoz.0 流程加载基本信息sfflowoperationz.0 流程操作子表单zfrmactionz.0 通用操作zfrmmenulistz.b 功能链接列表子表单zfrmattachz.c 附件15表单设计分为三类,a 字母代表流转相关的表单,c 字母代表配置类表单,s字母为特殊用途表单,其中 docregistrationform 是在流程结束时创建,公文流转过程中,a 类表单需要从 c 类表单读取配置信息,s 类表单一般

35、需要查询统计 a 类或c 类表单,其中 menulistform 是公文系统的入口表单,如图 4-1 所示。流转表单mainflowformflowinfoshowform配置表单serialnumberconfigformdeptgroupconfigformdoctypeconfigformflownodeconfigformredtitleconfigform特殊表单selecttypeformmenuslistformdocregistrationformprintmainformselectflowform获取部门群组获取公文类型加载流程配置获取红头模板获取公文编号图 4-1 表单分

36、配图配置类表单是为流转表单提供各种配置信息,每次流程开始时或流转中会读取配置信息。4.1.1 用户界面的实现1. 显示视图为方便用户查看审批的文档,采用显示视图的设计方案,显示视图分为退回状态视图、起草状态视图、审批中状态视图、已完成状态视图、所有文档视图,如图4-2所示,为发文办理单审批中状态视图,可以看到当前正在审批中公文信息,并且能看到当前环节以及当前处理人,显示视图都是根据文档的创建时间进行降序排序,16即最晚创建的文档排在最上面,所以每个视图第一页最上面都是显示最新的文档。 如果有权限,可以在视图中删除文档,如果没有权限,则不会显示删除按钮。图4-2 发文办理单状态视图2. 办理单界

37、面如图4-3所示,发文办理单的界面,采用多页签的方式将不同的填写内容和流转意见分开展示,这样表单中既含有大量内容,又整齐有序。在申请单页面填写公文基本信息,正文页面起草公文,附件页面用于添加相关的附件,流转意见页面记录每个环节审批的流转意见,起草人和审批人以及有特殊权限的人员可以查看流转意见。图4-3 发文办理单界面由于公文办理单含有大量信息,尤其是正文及附件,都需要加载ntko控件,此外还需要读取流程信息、组织结构信息、部门群组信息等,如果打开页面时一次加载所有数据,则会出现等待时间过长的问题,甚至出现信息读取错误或丢失的现象,17为提高页面内容的加载速度,页面加载方式采用分步式加载,当打开

38、表单时仅加载申请单页面的内容和流转意见的内容,当选择正文或者附件页签时动态生成html代码,从而减少第一次打开页面的时间,这样有效解决了第一次打开等待时间过长的问题,同时降低了信息读取错误或丢失的风险。4.1.2 发文办理单的实现发文办理单用于起草公文,提交后进行流转审批,并且审批后需要发送到相关部门,需要读取流程信息、组织结构信息、部门群组信息等,所以必须有相应的字段保存这些信息,每项字段的功能如表 4-2 所示。表 4-2 发文办理单的数据结构字段名称字段类型字段说明df_dbpathchar数据库路径df_dbdirchar数据库目录df_dbnamechar数据库名formchar表单

39、名query_stringchar传递参数字符串stdoctypeunidchar公文类型 uidstdoctypechar公文类型名称subformchar子表单名称flowunidchar加载的流程 uidstflowconfigscriptchar流程配置脚本flowconfigdocunidchar流程辅助配置文档 uidishqboolean会签控制位sthqflownodechar会签环节sthqdeptnamechar会签部门sthqdeptidchar会签部门编号isbhboolean编号控制位isalreadybhboolean是否已经编号stbhunidchar编号配置文档

40、 uidstbhnochar公文编号18表 4-2 发文办理单的数据结构-续表单初始化:首先通过公式dbcolumn(;vwgwlx1;2)读取公文类型配置文档,获取公文类型列表,选择公文类型后,打开公文办理单 mainflowform,在生成页面前使用公式command(toolsrunmacro; initflowinfoagent)调用流程初始化代理,加载公文类型配置文档中绑定的流程,并读取部门和人员信息,同时读取流程辅助配置信息,在获取流程辅助配置文档后,根据文档中记录的各个环节的操作项,生成操作脚本代码,将生成的脚本代码添加到表单结构中,在流程初始化完成后,表单生成 html 页面,

41、流程初始化代理如图 4-4 所示。stmaindocunid_attchar文档 uidstattachdbpathchar附件库路径ntkoofficeattachurlboolean正文附件库路径stsecretdegreechar密级stemergencychar缓急stdraftdatedate拟稿日期stdocnumberchar发文字号stdraftpsncnchar拟稿人姓名stdraftpsnenchar拟稿人英文名(itcode)stsubjectchar标题mtzsdeptnamechar主送部门mtzsdeptidchar主送部门编号mtcsdeptnamechar抄送部

42、门mtcsdeptidchar抄送部门编号mtcspsnnamecnchar抄送人姓名mtcspsnnameenchar抄送人英文名(itcode)stkeywordchar主题词stnumberinteger份数stdeptnumberinteger部门需留份数19+initialize()+loadpsninfo()+loadflowinfo()+loaddeptinfo()+loadflowconfig()+loaddbconfig()-db : object-doc : objectinitflowinfoagent图 4-4 流程初始化代理流转控制:流程信息都记录在流程基本信息子表单

43、 sfflowbasicinfo 中,并调用流程流转控制代理 thflowsaveagent 对流程进行控制,saveflowdoc 函数进行保存操作,包括草稿和审批中的保存;submitflowdoc 函数在流程流转时执行,该函数会根据用户实际提交的方式调用其他提交函数。公文发送:读取 mtzsdeptid 和 mtcsdeptid 字段,将 2 个字段中的部门 id 保存到发文登记单中的 mtdeptid 字段,同时记录登记状态到发文登记单中的 mtstate 字段,等待用户接收公文。4.1.3 发文登记单的实现发文登记单记录已发的公文的发送位置,记录用户接收公文情况的表单,发文登记单是在

44、发文办理单流程结束环节调用函数 createdocregistration()创建的,该函数是在 thflowsaveagent 代理的 dobeforeflowend()接口函数内调用的,发文登记单与发文办理单一一对应,可以通过查看相关公文按钮查看发文办理单,如图 4-5 所示。20图 4-5 发文登记单发文登记单的数据结构,如表 4-3 所示表 4-3 发文登记单的数据结构创建发文登记单:在发文办理单流程结束时,在流程流转控制代理中调用createdocregistration()函数进行创建,步骤如下:step1:创建一个新的公文登记单step2:在新的公文登记单记录公文基本信息,包括发

45、文办理单的 uid、公文标题、公文编号,可以通过在发文办理单视图中搜索 uid 来获取发文办理单,从而保证发文办理单与发文登记单之间的关联。step3:根据发文办理单发送位置记录发送单位或者发送人员,如果是发送给某些人员,则记录接收人员姓名和 itcode 到发文登记单的 mtrecever 和 mtreceverid 字字段名称字段类型字段说明df_dbpathchar数据库路径df_dbdirchar数据库目录df_dbnamechar数据库名formchar表单名stdocuidchar公文文档 uidstdoctitlechar公文标题stdocnochar公文编号stcreateda

46、techar登记时间mtdeptnamechar发往单位mtdeptidchar发往单位编号mtsendstatechar发送状态mtgeneralchar部门综合岗人员mtgeneralidchar部门综合岗人员 itcodemtstatechar状态mtreceverchar发往人员(接收人)mtreceveridchar发往人员(接收人) itcodestauthorschar作者域streaderschar读者域21段,如果是发送到部门,则记录接收部门名称和部门 id 到 mtdeptname 和mtdeptid,因为每个部门接收公文都是由综合岗人员进行接收,所以需要查询部门综合岗,并

47、记录综合岗的人员 itcode 到 mtgeneralid 字段。step4:记录登记状态,初始登记状态记录人员名称或部门名称,并记录登记时间,如果用户点击查看相关公文按钮,则将状态改为已接收。step5:发送消息给接收人员或综合岗人员,通知该人员接收公文。创建发文登记流程图,如图 4-6 所示。开始创建发文登记单记录公文基本信息获取部门群组配置文档文档存在获取部门综合岗发送人员发送单位设置初始状态设置初始状态结束yesnoyesnoyesno发送消息图4-6 创建发文登记流程图4.2 公文配置管理模块4.2.1 公文数据库配置的实现公文流转包括公司内部流转和公司间流转,每个公司的都有一套公文

48、数据库,公司内部流转仅涉及到公司自己的数据库,但是公司间流转需要与各个公司的公文数据库进行关联,为了能够正确查询到各个公司的公文数据库,采用公文数据库配置的方式,将每个公司的公文数据库所在位置进行记录在公文配置库中,当公文流转时,如果需要公司间流转,则查询公文配置库中的配置文档,根据配置文档可以找到要流转到公司的公文数据库,然后再做相应处理。如图 4-7 所示,为公文数据库配置单。22图4-7 公文数据库配置单1公文数据库配置单的数据结构如表 4-4 所示,该配置单最主要的功能是保存每个公文库的存储位置,即公文库在哪台服务,哪个目录中,数据库名称,当其他表单需要查询数据库时,就读取公文数据库配

49、置文档。表 4-4 公文数据库配置单的数据结构字段名称字段类型字段说明df_dbpathchar数据库路径df_dbdirchar数据库目录df_dbnamechar数据库名formchar表单名openmodechar新旧文档标志dbtemplatelistlist数据模版列表saveoptionschar保存标志位stdeptnamechar部门名称stdeptidchar部门编号stcreateddate创建时间stinfomanagerchar数据库管理员dbrelationinfochar关联数据库(名称、所在服务器、路径)stdbtitlechar数据库中文名stdbfilenam

50、echar数据库文件名stdbobserverchar数据库查看者23表 4-4 公文数据库配置单的数据结构-续2公文数据库配置代理初始化代理的功能是提供公文数据库配置单页面中初始信息,如图 4-8 所示,getservers 函数通过查询服务器配置库的服务器视图,返回服务器名称列表和服务器配置文档 uid 列表,完成初始化服务器信息,公文模板的初始化是由 gettemplate函数查询 dftemplate 目录下所有模板库,返回每个模板库的标题和名称。+getservers() : string+gettemplate() : string+getdoctype() : string-se

51、rvers : string-template : string-doctype : stringinitdocdbconfig图 4-8 初始化代理保存配置代理如图 4-9 所示,保存代理将会以选的模板库为模板创建一个公文库,保存到指定服务器的指定目录中,并且给新的公文库设置基本的 acl,否则公文库将会无法访问,最后保存配置表单内容,生成配置文档。+getservers() : string+gettemplate() : string+createdocdb() : object+setacl(in database : object)-servers : string-template

52、 : string-docdb : objectsavedocdbconfigstservernamechar服务器名stdirchar目录名stdbtypelist公文数据库类型stattachmentlist附件库列表stglkchar公文关联库stisfenkuboolean是否分库stdbquotasizechar数据库大小限额stisactivedboolean激活标志(激活代表正在使用)24图 4-9 保存配置代理3创建公文数据库配置创建公文数据库配置流程如图 4-10 所示。开始获取服务器信息获取数据库模板对象填写配置单对象是否为空是否在dftemplate目录模板添加到临时列表

53、yesyesnono完成模板列表初始化必填项是否为空保存保存数据yes模板库是否存在获取选定的模板库no创建数据库失败创建数据库noyes设置acl结束设置附件库关联图 4-10 公文数据库配置流程图step1:首先调用 initdocdbconfig 代理初始化表单,通过查询服务器配置库中服务器视图,返回所有的服务器的服务器名称和文档 uid 列表,并以服务器名称为text,uid 为 value 来初始化下拉列表,通过查询 digiflow 提供的附件配置库初始化附件库保存位置,数据库类型是采用公式dbcolumn(;vwdblx;4)获取数据库类型列表,三项初始化的内容都以下拉列表的形势

54、展现,提供给用户选择。step2:填写表单内容,由 fcheckinput 函数检查表单必填项,如果没有填写必填项则不能保存表单,并给以提示,stinfomanager、stdbfilename、stdbtitle、stservername、stdir、stdbtype、stisactived 字段为必填项,哪项没有填写都会给予明确提示,并且输入框变为黄色,直到全部必填项都正确填写才能提交成功。25step3:填写正确并保存后,表单调用 savedocdbconfig 代理,将表单内容保存成 domino 文档。4.2.2 公文类型配置的实现企业中公文种类繁多,每种公文对应的审批流程不尽相同,

55、为提高开发效率以及系统维护故而采用配置公文类型与审批流程的对应关系的设计,将每种公文与特定的流程进行绑定,当选择公文类型时则自动加载绑定的流程,公文流转都按照该流程执行。 1.公文类型配置单的数据结构如表 4-5 所示, stflowunid 与 stdoctype 构成了审批流程与公文类型对应关系,每个公文类型对应一个审批流程,但一个审批流程可以对应多个公文类型,所以是一对多的关系。表 4-5 公文类型配置单的数据结构字段名称字段类型字段说明df_dbpathchar数据库路径df_dbdirchar数据库目录df_dbnamechar数据库名formchar表单名openmodechar新

56、旧文档标志iseditboolean是否处于编辑状态saveoptionschar保存标志位stdocunidchar文档 uidstdoctitlechar公文名称stcreateddate创建日期subformlistlist子表单列表subformchar子表单isuseflowboolean是否使用流程stflownamechar流程名称stflowunidchar流程 uidstdoctypelist公文类别storderchar显示顺序262. 创建公文类型配置打开公文类型配置单,调用初始化代理,查询公文库中的子表单,将所有符合命名条件的子表单(zfrmfile+数字)以下拉列表的

57、形势展现;初始化代理通过查询vwgwlx 视图对公文类别进行初始化,表单初始化完成后填写表单,选择是否绑定流程,如果是则选择流程,如果没有选择绑定流程,那么不需要选择流程,如果点击选择流程,则采用 ajax 异步方式调用加载流程代理(loadflow) ,loadflow 代理获取所有绑定到 mainflowform 表单的流程,以对话框列表的形势展现,供用户选择。填写完配置信息后提交并通过 fcheckinput 函数判断必填项,提交成功则将表单内容保存为 domino 文档。公文类型配置创建流程如图 4-11 所示。开始结束初始化子表单列表初始化类别列表填写表单必填域是否为空保存提交yes

58、no图 4-11 创建公文类型配置的流程图加载流程采用 ajax 方式调用加载流程代理,获取所有绑定到公文办理单的流程,返回流程列表给前台页面,通过流程列表初始化对话列表框,提供流程列表给用户进行选择,如图 4-12 所示。27图 4-12 选择流程对话列表框3公文类型配置使用的代理如图 4-13 所示,列表初始化代理通过 inittypelist 函数获取公文类型列表,通过 initsubformlist 函数获取子表单列表。+inittypelist()+initsubformlist()-doccontext : object-dbcurrent : objectinitlist图 4-

59、13 初始化代理如图 4-14 所示,加载流程列表代理通过 getflowlist 函数获取流程列表,checkflow 函数则判断流程是否是当前公文类流程,initflowlist 函数加载当前公文类型对应的流程列表。28+initflowlist()+checkflow() : boolean+getflowlist()-doccontext : object-dbcurrent : objectloadflow图 4-14 加载流程列表代理4.2.3 流程辅助配置的实现由于每种公文类型对应的流程不同,审批环节不同,每个审批环节的操作项也不同,为了减少需求变动,实现更灵活的操作项变更,采用

60、流程辅助配置的方式,将每个流程的每个环节的操作项都进行配置。公文流程文档是通过 digiflow 的流程管理创建的,创建成功后会将流程信息保存为 xml 格式,并存于流程管理库中。在流程辅助配置中选择绑定的流程,并且解析 xml 格式的流程信息,将每个环节名称和环节 id 解析出来,每个环节对应一个页签,页签的内容形式相同,但配置信息不同,并且只有开始环节的配置项是初始就生成的,其他的都是在加载流程后以开始环节配置项为模板,复制每一项并增加环节数为后缀每一项的字段名,比如 isselectpsn_0,isselectpsn_1,isselectpsn_*。流程辅助配置单,如图 4-15 所示。

温馨提示

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

评论

0/150

提交评论