欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    工业研究院办公自动化系统设计方案.doc

    • 资源ID:5067933       资源大小:1.58MB        全文页数:73页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    工业研究院办公自动化系统设计方案.doc

    工业研究院办公自动化系统设计方案XX工业研究院办公自动化系统设计方案XXXX年6月名目第一章 系统总体结构6第二章 系统设计7§ 2.1 电子邮件7一. 表单设计71. 邮件表单(Memo)72. 回信表单(Reply)83. 转发表单(wForward)84. 信件邮递报告表单(NonDelivery Report)9二. 视图设计91. 收件箱($Inbox)92. 发件箱($Sent)93. 草稿箱($Drafts)104. 垃圾箱(Carbage)10§ 2.2 公文流转11一. 结构设计11二. 功能设计11三. 表单设计121. 公文表单(Data)122. 公文附件表单(AddAttachment)133. 公文正文表单(AddDocumentBody)134. 工作流信息表单(WorkFlowInfo)145. 流程节点表单(event)146. 已办公文记录表单(DoneRecord)167. 用户角色设置表单(UserRuls)178. 搜索表单(SearchForm)17四. 视图设计181. 工作流名称列表182. 模版事件列表183. 激活事件列表184. 数据表单列表185. 公文草稿列表186. 公文附件列表187. 公文正文列表188. 已办公文列表19五. 工作流流转操纵算法设计191. 功能分析192. 创建过程定义实例和同应用数据实例绑定203. 爱护流程节点状态信息21六. 工作流流程定义工具设计281. 类关系282. 类结构设计293. 过程定义工具文本输出格式33七. 格式转化工具设计33§ 2.3 公共事务35一. 总体结构设计35二. 表单设计351. 日程安排表单352. 会议安排表单363. 会议记录表单374. 会议纪要表单385. 闲暇时刻查询表单386. 闲暇日期查询表单397. 会议室治理表单398. 闲暇会议室查询表单399. 会议室空时段查询表单4010. 来宾接待表单40三. 视图设计401. 会议安排视图412. 会议草稿视图413. 在审会议视图414. 议记录视图415. 议纪要视图416. 日程安排视图417. 日程草稿视图418. 在审日程视图419. 会议室视图4110. 来宾接待视图41§ 2.4 电子讨论区42一. 讨论区功能模块设计42二. 讨论板块42三. 用户笔名注册43§ 2.5信息服务45一. 信息服务功能模块设计45二. 电子布告栏45三. 公共信息查询461. 职员地址簿472. 个人名片夹473. 列车时刻表484. 航班时刻表495. 及 区号506. 公司大事记50§ 2.6 系统爱护52一. 表单设计521. 组织机构设置表单(Department)522. 用户信息注册表单(UserInfo)523. 用户职务注册表单(Caste_Name)534. 用户信息列表显示表单(PagePersons)535. 用户密码设置表单(Password)54二. 视图设计541. 组织机构列表(DepartmentList)542. 用户列表(Persons)543. 职务列表(Caste_Name)544. 用户权限列表(Limit)54附录1 XX工业研究院MIS系统设计55§ 1 概述55§ 2 需求分析55一、 科技项目治理55l 项目申报(科委项目、工研院项目)55l 合同治理55l 项目跟踪55二、 教育培训治理55l 职工教育培训55l 招生治理55三、 科技情报治理55l 科技情报公布55l 下属单位需求55四、 申请书编号治理55五、 用户权限治理55§ 3 功能表格56科技项目治理X56教育治理培训J56科技情报治理Q56§ 4 功能模块设计57一.功能模块57l 科技项目治理57l 教育培训治理58l 科技情报治理58二. 功能说明58l 科技项目治理58l 教育培训治理59l 科技情报信息治理59§ 5 数据表格设计59一. 科技项目及合同治理59l 科技项目申请表59l 申请一览表61l 工研院项目执行情形报告书61二.教育治理培训62三.科技情报治理62l 科技情报公布62l 下属单位需求63附录2 网站设计64§ 1 概述64§ 2 功能设计64一. 情形介绍64二. 需求分析64三. 功能模块及实现65四. 数据接口66五. 网站名目结构67§ 3 数据库设计67第一章 系统总体结构XX工业研究院办公自动化系统基于Lotus Domino / Notes平台开发,系统的总体结构如下图所示:图1-1 XX工业研究院办公自动化系统总体结构第二章 系统设计§ 2.1 电子邮件 电子邮件模块的结构如下图所示。图2-1-1 电子邮件模块一. 表单设计1. 邮件表单(Memo)表2-1-1 邮件表单设计数据域类型说明SendTo文本域收件人地址CopyTo文本域邮件抄送地址BlindCopyTo文本域邮件密送地址WebSubject文本域邮件主题Text文本域(承诺多行)邮件正文haveread文本域邮件文件已读标志操作说明发送发送邮件储存为草稿将邮件储存为草稿回复回复邮件转发转发邮件地址簿打开地址簿表单编辑编辑邮件删除删除邮件2. 回信表单(Reply)表2-1-2 回信表单设计数据域类型说明SendTo文本域收件人地址CopyTo文本域邮件抄送地址BlindCopyTo文本域邮件密送地址WebSubject文本域邮件主题Text文本域(承诺多行)邮件正文haveread文本域邮件文件已读标志操作说明发送发送邮件储存为草稿将邮件储存为草稿回复回复邮件转发转发邮件地址簿打开地址簿表单编辑编辑邮件删除删除邮件3. 转发表单(wForward)表2-1-3 转发表单设计数据域类型说明SendTo文本域收件人地址CopyTo文本域邮件抄送地址BlindCopyTo文本域邮件密送地址WebSubject文本域邮件主题Text文本域(承诺多行)邮件正文haveread文本域邮件文件已读标志操作说明发送发送邮件储存为草稿将邮件储存为草稿回复回复邮件转发转发邮件地址簿打开地址簿表单编辑编辑邮件删除删除邮件4. 信件邮递报告表单(NonDelivery Report)表2-1-4 信件邮递报告表单设计数据域类型说明OriginalSubject文本域被邮递的信件名称IntendedRecipient文本域被邮递信件的收件人地址FailureReason文本域邮件为邮递到目的地缘故SendTo文本域被邮递邮件文件中指定的收件地址CopyTo文本域被邮递邮件文件中指定的抄送地址BlindCopyTo文本域被邮递邮件文件中指定的密送地址Subject文本域被邮递邮件文件的主题Body文本域(承诺多行)被邮递邮件文件的内容haveread文本域邮件文件已读标志操作说明删除删除邮件二. 视图设计1. 收件箱($Inbox)收件箱通过文件夹实现,所有接收到邮件文件均由系统自动放入收件箱中。2. 发件箱($Sent)用于所发送的邮件均自动储存在发件箱中。文档选择条件为:SELECT DeliveredDate="" & PostedDate!="" & !(IsMember("S"ExcludeFromView) & Viewtag!="Delete"3. 草稿箱($Drafts)所有储存为草稿的邮件均显示在草稿箱中。文档选择条件为:SELECT PostedDate = "" & $MessageType = "" & IsNotMember("D" ExcludeFromView) & ISMAILSTATIONERY != 1& Viewtag="Istrash"4. 垃圾箱(Carbage) 所有被删除的邮件均储存在此视图中。在此视图中再次删除的话,则邮件文件被真正删除。 文档选择条件为:SELECT (FORM="Memo" | form="Reply" | Form="wForward") & Deleted="true"§ 2.2 公文流转一. 结构设计XX工业研究院OA系统公文流转模块总体结构如下图所示。图2-2-1 公文流转模块结构设计二. 功能设计公文流转模块提供的具体功能如下图所示:图2-2-2 公文流转模块功能设计三. 表单设计1. 公文表单(Data)公文表单用于记录公文的相关信息。具体设计如下:表2-2-1 公文表单设计数据域类型说明GWLX列表框公文类型DJBM列表框公文的登记部门DJSJ文本域公文的登记时刻Subject文本域公文标题NGR文本域公文起草人姓名GWHJ列表框公文缓急信息列表ZTCB文本域公文的主题词ZBDW文本域主办单位名称ZCDW文本域主送单位名称CSDW文本域抄送单位名称CBDW文本域抄报单位名称Info文本域(承诺多行)公文正文内容Data_Number文本域公文的编号SelectWorkFlow列表框显示过程定义模版列表PersonAnswer文本域显示处理人的批复意见Data_Personlist文本域承诺处理本公文的用户列表Start文本域公文是否为首次提交Data_Current_Editor文本域记录当前编辑公文的用户姓名CuiBan文本域是否存在公文催办通知操作说明提交流转提交公文进入流转过程暂存将公文储存为草稿签收处理人打开公文进行编辑编辑公文作者编辑公文删除删除公文催办发出公文催办通知说明:(1) Subject、Info等用于记录公文的内容信息,公文的内容信息包括公文主题、公文编号、公文内容、公文密级、公文缓急等。(2) NGR、DJSJ分别记录公文文档的创建人和创建时刻,工作流的治理与监控功能会用到这些信息。(3) SelectWorkFlow是列表框,用于显示所有可供使用的过程定义模版。在公文的创建时期,用户从列表中选择要使用的流程;在公文进入流转过程以后,由工作流引擎依照所选择的流程,自动生成过程定义实例,之后实现公文文档同过程定义实例的绑定操作。(4) Data_Personlist域用于记录所有对本文档具有处理权限的用户的用户名列表,只有在此列表中列出的用户才能够对公文进行处理。其取值由工作流引擎自动填写。2. 公文附件表单(AddAttachment)公文附件表单用于储备某一公文所包含的附件文件,一个公文能够包含多个附件,每个附件对应一个公文附件表单。表2-2-2 公文附件表单设计数据域类型说明Attachment_Info文本域对附件的简要说明File Upload控件上载文件控件ParentId文本域此附件表单所从属的公文表单IDAttachment_Name文本域附件文件名Attachment_Size文本域附件文件大小操作说明储存附件储存公文附件表单删除附件删除公文附件表单关闭窗口关闭公文附件上载窗口3. 公文正文表单(AddDocumentBody)公文正文表单用于储备某一公文所包含的正文文件,一个公文能够包含多个正文文件,每个正文文件对应一个公文正文表单。表2-2-3 公文正文表单设计数据域类型说明Attachment_Info文本域对正文文件的简要说明File Upload控件上载文件控件ParentId文本域此公文正文表单所从属的公文表单IDAttachment_Name文本域附件文件名Attachment_Size文本域附件文件大小操作说明储存正文储存公文正文表单删除正文删除公文正文表单关闭窗口关闭公文正文上载窗口4. 工作流信息表单(WorkFlowInfo)工作流信息表单用于储备工作流程模版的差不多属性信息。在流程信息表单中定义的重要数据域如下:表2-2-4 工作流信息表单数据域类型说明Workflow_Name文本域流程名称Workflow_Type列表框流程类型,可选值为“预定义流程”和“自定义流程”Workflow_Author文本域此流程创建人姓名Workflow_Created文本域此流程创建时刻Workflow_Body文本域此流程功能简要说明操作说明修改编辑工作流信息表单储存储存工作流信息表单删除删除工作流信息表单5. 流程节点表单(event)流程节点表单用于记录过程定义中流程节点所包含的信息。过程定义中的每个流程节点都与Domino数据库中的一个流程节点文档对应。表2-2-5 流程节点表单设计数据域类型说明Workflow_Id文本域节点所从属的工作流信息文档IdData_Id文本域与此过程定义所绑定的应用数据文档IdEvent_Id文本域流程节点文档Id,在节点文档生成后自动填写Event_Name文本域流程节点功能描述名称,如初审、批阅等。Event_Pre_Names列表框此流程节点的全部前趋节点列表Event_Personlist文本域此节点承诺处理人名称Event_Personlist_Type列表域指定处理人类型:“个人”、“交色”SXQM复选框是否使用手写签名功能Event_Body文本框(承诺多值)此节点功能简要说明Event_Pre_Name文本域(承诺多值)以节点名称表示的前驱节点列表Event_Pre_Id文本域(承诺多值)以节点Id表示的前驱节点列表Evemt_Next_Name文本域(承诺多值)以节点名称表示的后继节点列表Event_Next_Id文本域(承诺多值)以节点Id表示的后继节点列表Event_Status文本域流程节点状态Event_Period文本域流程节点文档状态Event_Period文本域用于区分模版和实例,可取值为“模版”、“实例”SelectPre复选框此节点是否为选择性收点SelectNext复选框此节点是否为选择性发点SelectNode文本域假如此节点是选择性发点,则此域用于记录所选定的后继节点名称操作说明修改编辑流程节点表单储存储存流程节点表单删除删除流程节点表单说明:(1) 流程节点定义中的Att(事件属性集合)通过数据域Workflow_Id、Data_Id、Event_Id、Event_Name、Evnent_Personlist、SXQM等表达出来。Event_Pre_Name、Event_Pre_Id为承诺多值的文本域,以节点名称和节点文档Id两种方式表达此节点的前驱节点集合Pre;Event_Next_Name、Event_Next_Id则以节点名称和节点文档Id两种方式表达此节点的后继节点集合Next。Event_Status表达节点状态信息。(2) Workflow_Id数据域用于标识此流程节点文档所从属的工作流程。属于同一工作流程的流程节点文档具有相同的Workflow_Id。(3) Data_Id数据域用于实现应用数据实例同过程定义实例的一一对应。Data_Id的值为公文表单的文档实例的文档Id,由工作流治理系统自动填写。组成一个过程定义实例的所有流程节点文档具有相同的Data_Id值。(4) Event_Status标识流程节点的状态信息,由工作流引擎自动设置。(5) 构成过程定义的流程节点文档在工作流进入运行期之前,储备在过程定义模版库中;在运行期,则储备到过程定义实例库。因此,在流程节点表单中使用Event_Period数据域来标识过程定义的状态。属于同一过程定义的节点文档的Event_Period域的值是相同的。其可能取值为“模版”和“实例”。(6) SelectPre数据域用于标识此节点是否为选择性收点。在工作流实例运行期间,工作流引擎需要依照此数据域的取值选择不同的启动条件构造算法。(7) SelectNext数据域用于表示此节点是否为选择性发点。在工作流实例运行期间,工作流引擎需要依照此数据域的取值选择不同的完成条件构造算法。节点所选定的后继节点的名称储存在SelectNode数据域中。6. 已办公文记录表单(DoneRecord)已办公文记录表单用于记录用户差不多处理完成的公文的相关信息,以备日后查阅。表2-2-6 已办公文记录表单设计数据域类型说明Subject文本域公文标题NGR文本域记录公文的拟稿人姓名SDSJ文本域收到此公文的时刻BJSJ文本域完成处理的时刻PYYJ文本域用户的批阅意见操作说明删除删除已办公文记录表单7. 用户角色设置表单(UserRuls)用户角色设置表单用于记录用户同其职务的对应关系。表2-2-7 用户角色设置表单设计数据域类型说明RulName文本域角色名称SendTo文本域人员名称ZhiNeng文本域角色职能说明操作说明修改编辑用户角色设置表单储存储存用户角色设置表单删除删除用户角色设置表单8. 搜索表单(SearchForm)搜索表单用于输入文档检索条件。表2-2-8 搜索表单设计数据域类型说明Search_ViewName列表框选择要检索的视图Search_Info文本域人员名称Search_Type文本域角色职能说明HTML文本域文档检索结果操作说明检索文档进行检索操作四. 视图设计1. 工作流名称列表 用于显示数据库中所有工作流信息文档。 文档选择条件: SELECT form="WorkFlowInfo"2. 模版事件列表用于显示所有具有“模版”属性的流程节点文档。文档选择条件如下: SELECT (Form = "流程节点") & (Event_Period="模版") 3. 激活事件列表用于显示所有具有“激活”属性的流程节点文档。文档选择条件如下:SELECT (Form = "流程节点") & (Event_Period="激活") 4. 数据表单列表用于显示所有公文文档。文档选择条件如下:SELECT form="数据表单" & Start=0 5. 公文草稿列表用于显示所有储存为草稿的公文文档。文档选择条件如下: SELECT form="数据表单" & Start=1 6. 公文附件列表用于显示所有公文附件文档。文档选择条件如下:SELECT form="AddAttachment"7. 公文正文列表用于显示所有公文正文文档。文档选择条件如下:SELECT form="AddDocumentBody"8. 已办公文列表用于显示所有已办公文记录文档。文档选择条件如下:SELECT form="DoneRecord"五. 工作流流转操纵算法设计1. 功能分析 将工作流引擎的功能细化为以下几个子功能: (1) 创建过程定义实例 在工作流进入运行期往常,过程定义以模版的形式储存在过程定义模版库中。工作流进入运行期,工作流引擎必须依照用户所选定的过程定义模版自动生成过程定义实例,并存入负载最低的过程定义实例子库。 (2) 完成应用数据实例和过程定义实例的绑定操作 在过程定义实例生成以后,工作流引擎必须将其同对应的应用数据实例绑定,实现一一对应,从而完成数据单元实例的组建。 (3) 在工作流实例运行期间,对流程节点的状态信息进行爱护 在基于流程节点单一设计元素的过程定义模型中,定义了流程节点状态信息来描述节点对应用数据的处理状态。而整个工作流实例的运行状态会通过流程节点的状态表达出来。工作流引擎需要依照流程节点的启动条件和完成条件来对节点的状态进行设置,从而模拟出数据流淌的成效。这是工作流引擎的核心功能。 (4) 对应用数据文档的访问操纵列表进行爱护 流程节点状态信息的变化必须转化为用户对应用数据处理权限的变化。某一流程节点状态信息变为active,实际意味着在此节点定义中指定的处理人获得了对应用数据文档的处理权;状态信息为inactive或done则表示指定的处理人没有处理文档的权限。因此,工作流引擎需要依照流程节点状态信息的变化,对应用数据表单中的用户访问操纵列表进行修改,从而实现节点状态信息和用户对文档处理权限的一致变化。 (5) 工作流实例运行期间,给予用户对过程定义实例的动态修改的能力 由于实际业务处理过程往往表现出一定的随意性,因此,工作流引擎应该向用户提供在工作流实例运行期间,对过程定义实例的修改能力,使用户能够依照文档处理的需要,对预定义的流程进行临时性的修改。这种动态修改流程的能力,能够大大加强工作流系统的灵活性,使工作流系统更加满足用户的实际需求。 下图表示了当用户完成应用数据文档的处理,将文档储存提交以后,工作流引擎处理数据的过程:图2-2-3 工作流引擎处理数据流程2. 创建过程定义实例和同应用数据实例绑定在流程节点表单(Event)中定义了数据域Event_Period来区分属于过程定义模版库的节点文档和过程定义实例库的节点文档;而Data_Id域用于记录对应应用数据文档的文档Id信息。工作流引擎通过四个步骤完成过程定义实例的创建和同应用数据文档的绑定操作。(1) 流程节点文档复制将过程定义模版库中属于相应过程定义的流程节点文档复制,生成一个新的流程节点文档。此新节点文档的数据域的值同其原型完全相同。关键代码如下: 在数据库中创建新文挡 Set newnode = New NotesDocument( db ) 将模版库中的节点文档node的全部数据域复制到新文档Call node.CopyAllItems( newnode, True ) (2) 置Event_Period域将新建流程节点文档中Event_Period数据域的值由“模版”改为“实例”。关键代码如下:newnode.Event_Period = “实例”(3) 同应用数据实例绑定将应用数据文档如公文文档的文档Id值置入新建流程节点文档的Data_Id域,从而完成绑定操作。关键代码如下: data为应用数据文档 newnode.Data_Id = data.Universalid3. 爱护流程节点状态信息a) 原理流程假设某节点node完成了应用数据文档处理,接下来工作流引擎会通过设置流程节点的状态信息来更新工作流实例的运行状态。工作流实例运行状态的更新过程能够用下图所示的原理流程表达:图2-2-4 状态更新原理流程从状态更新的原理流程中能够看出,状态更新过程由节点node完成对应用数据文档的处理触发,之后工作流引擎分三步来修改节点状态:a. 设置节点node状态为done当流程节点处理完成后,状态有active变为done。 b. 激活新流程节点流程节点的启动条件决定了节点何时被激活,何时获得处理权限。在此步骤中,工作流引擎通过构造各个流程节点的启动条件,判定其值来完成节点处理权限的传递。因为流程节点的启动条件能够通过其所有前驱节点的状态信息和流转顺序信息的逻辑组合表达出来,因此在节点node完成处理后,工作流引擎没有必要运算构成过程定义实例的所有节点的启动条件,而只需要运算节点node的所有后继节点的启动条件即可。c. 决定哪些节点的状态有done变为inactive流程节点状态由done转化为inactive的必要性在过程定义模型部分差不多作了说明,节点的完成条件规定了这一状态转化的条件。在某节点完成处理后,工作流引擎通过运算其它节点的完成条件,来确定哪些状态为done的节点能够将状态设置为inactive。b) 步骤1的具体实现步骤1的目的是在节点node完成对应用数据文档的处理以后,将节点状态设置为done。关键代码如下: node.Event_Status = “done”c) 后继节点状态设置算法步骤2的目的是设置节点node的后继节点的状态,节点node的类型以及其后继节点的类型决定了步骤2有不同的实现方式。设置node后继节点状态的过程能够用下图表达: 图2-2-5 后继节点状态设置算法从图中能够看出,将设置算法依据节点node的分类分为两种情形:a. 节点node为唯独后继节点或者发点此种情形下,节点node需要遍历其所有的后继节点,运算每个后连续节点的启动条件的取值。b. 节点node为选择性发点当节点node为选择性发点时,依照选择性发点的定义,只有一个后继节点能够获得处理权,因此不需要遍历其所有的后继节点,只需运算其所选定的后继节点的启动条件即可。依照后继节点的类型,运算启动条件分为两种情形(状态设置算法1和状态设置算法2):a. 后继节点为收点或唯独前驱节点当节点node的某个后继节点next为收点或唯独前驱收点时,在遍历next的所有前驱节点时,对每个前驱节点运算判定式(select(prei) CTN next) AND (status(prei) = “done”) 的值,只要有一个为false,则next的启动条件必定不成立,即能够终止遍历循环。判定next的启动条件值的关键代码如下:Dim flag as Booleanflag = false 遍历next的全部前驱节点Forall n In next.Event_Pre_Id Set prenode = db.GetDocumentByUNID(n)If Not(Select(prenode,next) = true AND prenode.Event_Status(0) = “done”) Then Select()函数用于判定prenode所选定的后继节点列表中是否包括next flag = true Exit ForAll End IfEnd Forall  设置后继节点next的状态If flag = true then 节点next的启动条件不满足,状态不变Else 节点next的启动条件满足,将状态变为active next.Event_Status = “active” next.save True,True,TrueEnd Ifb. 后继节点为选择性收点当节点node的某个后继节点next为选择性收点时,不需要遍历next的所有前驱节点,而只需要判定下式对节点node的取值即可。(select(node) CTN next) AND (status(nodei) = “done”) 关键代码如下:If (Select(node,next) = true AND note.Event_Status(0) = “done”) thenSelect()函数用于判定node所选定的后继节点列表中是否包括next next.Event_Status = “active” next.save True,True,TrueElse next状态保持不变End Ifd) 设置完成条件得到满足的流程节点状态当完成对流程节点node的后继节点状态设置以后,其后继节点状态的变化可能使某些节点的完成条件得到满足,从而完成流程节点状态信息由done向inactive的转化。在判定流程节点的完成条件时,没有必要运算组成过程定义实例的所有流程节点的完成条件,只需要检查节点node的获得了处理权的后继节点的所有前驱节点的完成条件即可。判定完成条件的处理流程如图2-2-6所示。从流程中能够看到,依照next的前驱节点类型,构造next的前驱节点的完成条件有两种方式(完成条件判定算法1和完成条件判定算法2):(2) next的前驱节点为唯独后继节点或者发点关键代码如下:Dim flag as Booleanflag = false 假设prenode为next某个前驱节点,nextnode为prenode的某个后继节点Forall x In prenode.Event_Next_NameSet nextnode=db.getdocumentbyunid(GetIdByName(y)If nextnode.Event_Status(0)<> “active” Thenflag=TrueEnd IfEnd ForallIf flag=True Then prenode的完成条件不满足,保持状态不变Else prenode.Event_Status= “inactive” prenode.save True,True,TrueEnd If(2) next的前驱节点为选择性发点关键代码如下: 假设prenode为next的某个具有选择性发点类型的前驱节点,nextnode为prenode所选定的获得处理权的唯独后继节点Set nextnode=db.getdocumentbyunid(GetIdByName(prenode. SelectEvent(0)If nextnode.Event_Status(0)= “active” thenprenode的完成条件得到满足 prenode.event_system= “inactive” prenode.save True,True,TrueElse prenode的完成条件不成立,状态保持不变End If图2-2-6 流程节点完成条件判定算法e) 设置应用数据文档的访问操纵列表公文表单中的Data_Personlist数据域用于储备承诺访问列表,只有列在此列表中的用户才具有对文档的处理权限。通过查找过程定义实例中所有状态为active的流程节点,将它们在Event_Personlist数据域中所指定的处理人姓名添加到应用数据文档的Data_Personlist数据域,来完成节点状态和应用数据文档处理权限的同步变化。 关键代码如下: 假设过程定义实例储备在过程定义实例视图view中,data为应用数据文档 Set item=data.getfirstitem(“Data_Personlist”)Set node=view.getfirstdocumentWhile Not(node Is Nothing) 判定与此应用数据文档相绑定的流程节点的状态If (node.Data_Id(0)=data.Universalid) And (node.Event_Status(0)= “active”)Then找到了具有处理权的流程节点,将其指定的处理人加入到应用数据文档的Data_Personlist数据域中 Call item.appendtotextlist(node.Event_Personlist(0) data.save True,True,True End If Set node=view.ge

    注意事项

    本文(工业研究院办公自动化系统设计方案.doc)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开