




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TW OO DESIGN DOC 20021210 01A Confidential 秘密秘密 OA 工作流引擎设计工作流引擎设计 说明书说明书 Version 5 0 Written By TalkWeb TALKWEB 湖南拓维信息系统股份有限公司湖南拓维信息系统股份有限公司 20032003 20042004 All Rights Reserved 目录目录 1引言引言 4 1 1编写目的 4 1 2缩略语 4 1 3参考资料 4 2软件结构软件结构 4 2 1主要实现技术 4 2 2引擎处理结构 5 3引擎涉及到的数据名称规范引擎涉及到的数据名称规范 5 3 1文件系统划分 5 3 1 1文件区命名规范 5 3 2数据库中表 字段命名规范 8 4引擎异常处理机制引擎异常处理机制 8 4 1以前错误机制的缺陷 8 4 2对错误机制的改进方法 9 5引擎服务的类详细说明引擎服务的类详细说明 10 5 1类的列表 10 5 2引擎所有类的关系结构图 10 5 3类的详细设计 11 5 3 1功能类别层中类的详细说明 11 5 3 2流程实例层中类的详细说明 16 5 3 3流程逻辑处理层中类的详细说明 21 6具体类的实现机制具体类的实现机制 29 7数据库字典数据库字典 30 7 1ER 图 30 7 2数据字典 30 1 主流程实例表 T WorkFlow FlowMain 30 2 主流程字段表 T WorkFlow MainField 31 3 主流程附件列表 T WorkFlow MainAtt 32 4 流程日志表 T Flow LogMsg 32 5 未结束流程环节日志信息表 T Flow LogStatus 32 6 未结束日志字段表 T Flow LogField 33 7 未结束日志附件列表 T Flow LogAtt 33 8 已结束流程环节日志信息表 T Flow EndLogStatus 34 9 已结束日志字段表 T Flow EndLogField 34 10 已结束日志附件列表 T Flow EndLogAtt 35 11 待办信息表 T WorkFlow Notify 35 12 在办信息表 T WorkFlow ZaiBan 35 13 用户公文邮件表 T WorkFlow UserMail 36 14 公文邮件字段表 T WorkFlow MailField 36 15 公文邮件附件列表 T WorkFlow MailAtt 37 16 需要修改的表 视图的说明 37 8附注附注 38 8 1流程状态类型 38 8 2处理标识 38 8 3消息格式说明 38 8 4与文件传输服务的接口 41 8 5对传阅的修改说明 41 8 6与其他的外挂功能的接口 41 1 引言引言 1 1 编写目的编写目的 本文档是完全参照中国联通总公司办公自动化系统工作流模块的详细设计说明结合 山西联通 MSS 系统建设现在来编写的 并且在原有 4 0 版本的基础上对工作流引擎的基本 结构及基本实现做了较大的改进 软件开发人员在此基础上编写程序代码 1 2 缩略语缩略语 WFEWorkFlow Engine工作流引擎 1 3 参考资料参考资料 流程定义设计书 工作流处理系统设计说明书 v4 0 中国联通总部 OA 系统设计变更的建议 2 软件结构软件结构 2 1 主要实现技术主要实现技术 采用 Net 框架 用 C 编写 SQL SERVER 数据库存储数据 文件系统存储流程中所带的工作附件 用到自定义的文件传输服务 2 2 引擎处理结构引擎处理结构 Web 服务器 Web 服务器 MSMQ Agent MSMQ Send Send 分发 服务 工作流 引擎 工作流 引擎 Receive Send Send 数据库服务器 MSMQ MSMQ 文件服务器 说明 1 WEB 上的消息直接送到 MSMQ Agent 服务器上 由 Agent 上的一个消息分发服 务根据消息的缓急程度 将消息送到工作流引擎服务器上 不同的队列中 Agent 服务器上的分发服务另外设计开发 2 引擎服务器上开设多个队列 针对每个 MSMQ 引擎服务都开了专门的线程对应 处理 3 引擎服务在做处理的时候 主要是和数据层的文件服务器和数据库服务器交互 4 引擎服务在程序出现异常的时候也有相应的异常处理机制 具体机制后面会有详 细说明 3 引擎涉及到的数据名称规范引擎涉及到的数据名称规范 3 1 文件系统划分文件系统划分 文件系统分为五个区 盘符 FileStore Temp临时区 盘符 FileStore OAMail 公务邮件区 盘符 FileStore backup 备份区 盘符 FileStore Doc 文档归档区 盘符 FileStore Mode 模板区 存放 Word 模板 备注 以上的命名必须与引擎服务的配置文件保持一致 3 1 1 文件区命名规范文件区命名规范 临时区 备份区 公文邮件区命名 公司命名以公司 ID 命名 部门以部门 ID 命名 时间 以 yyyyMM 方式命名 流程实例 ID 已经由工作引擎定义好了 附件命名以文件实际名称 命名 备份区备份序号采用数字递增方式命名 文档归档区命名 采用公司 ID 部门 ID 命名公司文件夹和部门文件夹 时间以 yyyyMM 方 式命名 所有文件夹及文件不能采用中文方式命名 附件命名采用 Guid 方式命名 扩展名称 保持原有扩展名 临时区临时区 Unicomgd Temp 流程实例 ID 时间 年月 部门 ID 公司 ID 文件实际名称 原扩展名 文档归档区文档归档区 Unicomgd Doc 时间 年月 部门 ID 公司 ID GUID 原扩展名 流程实例 ID 说明 流程结束后附件将归档到此处 备份区备份区 Unicomgd backup 流程实例 ID 时间 年月 部门 ID 公司 ID 步骤处理序号 文件实际名称 原扩展名 步骤处理序号 T 递增的数字 用户 ID yyyyMMddhhmmssmi 说明 一个流程实例每个走一个步骤就会在备份去存放一个备份 只到流程实例结 束后才由工作流引擎删除 公务邮件区公务邮件区 Unicomgd OAMail 公司名称 ID 流程实例 ID 传 阅 主抄送 文件实际名称 原扩展名 文件实际名称 原扩展名 年月 阅 办 文件实际名称 原扩展名 说明 公务邮件区为用户个人存放传阅文件 阅办文件和主送 抄送的文件 在同一个流 程中 在传阅 阅办和主送 抄送时是多个人共享一份文件 3 2 数据库中表 字段命名规范数据库中表 字段命名规范 1 数据库表是以 T 开头 2 数据库视图是以 V 开头 3 数据库函数是以 SF 开头 4 数据库存储过程是以 SP 开头 5 每个表中的字段 要以意思明确为标准 4 引擎异常处理机制引擎异常处理机制 4 1 以前错误机制的缺陷以前错误机制的缺陷 引擎对于出错的消息 重新处理的时间间隔太短 而对数据库的压力很大时 频 繁的数据库操作可能导致数据库死锁 超时等错误 对于这些错误系统自动恢复需 要 的时间较长 两者的矛盾导致了过多的工作流请求出现回滚 4 2 对错误机制的改进方法对错误机制的改进方法 对于可能出现的异常错误 我们采用多级错误队列的处理方式 对于不同的错 误 队列分情况用不同的重试时间 确保每一个错误都可以经过足够长的时间进行尝试 从而尽量避免因为数据库或者其他系统资源繁忙导致引擎处理不过来而回滚 具体错误处理机制图如下 正常处理队列 异常处理队列1 异常处理队列2 异常处理队列3 对进来的消息及时 的处理 实时响应 正常处理失败了送 到异常队列1中 对进来的消息每隔5 分钟处理一个消息 异常队列2失败了送 到异常队列3中 对进来的消息每隔 10分钟处理一个消 息 异常队列1失败了送 到异常队列2中 说明 1 消息首先被送到正常队列中 等待处理 2 当正常处理失败的时 先送入异常处理队列 1 中 等待 5 分钟后处理该 消息 3 当在异常处理队列 1 中处理失败的时 先送入异常处理队列 2 中 等待 10 分钟后处理该消息 4 当在异常处理队列 2 中处理失败的时 先送入异常处理队列 3 中 等待 15 分钟后处理该消息 5 处理的时间间隔可以根据实际系统性能的需要做相应的调整 6 错误的队列也可以通过配置文件来配置 7 对于多次处理也失败的消息 保存到日志或者数据库中 用另外的监控程序 做监控 等待修改后处理 5 引擎服务的类详细说明引擎服务的类详细说明 5 1 类的列表类的列表 类名类说明 WorkEnginerCls cs工作流处理类 即单个的线程 负责工作流的处理 SocketCls cs文件处理类 负责向文件服务器发送指令 等待返回的 结果 ConstCls cs定义了整个工程都需要用到的常量和方法 DBDealCls cs数据库交互类 负责对数据库进行操作 MSMQCls cs负责对消息队列进行操作 SmsCls cs对短信处理的类 WorkFlowDefineCls cs流程实例的基本信息定义类 WorkFlowCntrCls cs流程实例的基本信息控制类 StatusCls cs流程中每个状态的基本信息类 DisposalCls cs流程中每个处理的基本信息类 UserCls cs用户基本信息类 5 2 引擎所有类的关系结构图引擎所有类的关系结构图 DBDealCls cs ConstCls cs MSMQCls csSMSCls csSocketCls cs 功能类别层 WorkFlowDefineCls cs StatusCls cs DisposalCls csUserCls cs 流程实例层 WorkEnginerCls cs 逻辑实现层 层 WorkFlowCntrCls cs 5 3 类的详细设计类的详细设计 5 3 1 功能类别层中类的详细说明功能类别层中类的详细说明 5 3 1 1ConstCls 类类 类名类名ConstCls 父类名父类名 责任描述责任描述 定义的静态方法 定义全局的常量 各个线程独自占有 协同类协同类 全局常量全局常量类型类型值值 UrlCompartchar ConfigCompartchar C Userchar cntFileCompartchar C Chr1char char 1 C Chr2char char 2 C Chr3char char 3 C Chr4char char 4 C Rep1string C Rep2String C Rep3String C Rep4string cntFileEndstring n cntFileQuitstring QUIT cntMSMQstring private cntCFilesstring COPY cntDFilesstring MOVE cntMFilesstring MOVE C PassDirstring 传阅 C MotifDirstring 主抄送 C TypeZhustring 主办 C TypeXieString 协办 C TypeYueString 阅办 C CompartString C DubCompartString C UdeptString 方法说明方法说明 方法名 1ResolveStr 类型public static string Description字符串解析方法 InputSrcStr string 型 需要解析的字符串 Flag char 型 字符串的分割符 OutputStrArr 解析后产生的字符串数组 方法名 2WriteLog 类型public static void Description当操作失败时 写出错日志 Inputstring LogMsg 出错信息 string FilePath 日志文件所在的路径 Output 5 3 1 2SocketCls 类类 类名类名FileCntrCls 父类名父类名 责任描述责任描述 提供指示文件服务器操作附件的方法 协同类协同类ConstCls CnnSocket 方法说明方法说明 方法名 1DealFileSys 类型Public bool Description发送命令到文件服务器 InputSocket Skt 连接服务器的 SOCKET string CmdFile 要操作的文件的命令行 Output成功则返回 TRUE 否则返回 FALSE 方法名 2SendFileMsg 类型public string Description与文件服务器建立连接 并且将指定的操作送到文件服务器上 并等待服务器操 作后返回的结果 Inputstring AllDealFileStr 所有要发送的命令组成的一个字符串 格式是 命令 1 命令 2 n Output成功则返回 TRUE 否则返回 FALSE 5 3 1 3DBDealCls 类类 类名类名 DBDealCls 父类名父类名 责任描述责任描述 提供连接数据库的方法 查询方法 事务执行的方法 断开数据库的方法 协同类协同类FileDealCls 方法说明方法说明 方法名 1DBDealCls 类型public void Description类的构造函数 建立数据库连接 实例化文件类 调用到了 Open Cnn 发生 错误时抛出错误 让上一级处理 Inputstring CnnStr 连接数据库字符串 Output 方法名 2Open Cnn 类型public void Description建立数据库连接 Input Output 方法名 3Close Cnn 类型private void Description关闭数据库连接 释放连接实例 Input Output 方法名 4Query 类型public DataTable Description根据传入的查询语句 得到一个记录集 并返回 InputSqlStr string 型 查询语句 Output类型 DataTable 方法名 5ExecuteTran 类型public bool Description有事务处理的方法 InputSqlArr 字符串数组 包含要操作的所有 SQL 语句 OutputTRUE 表示事务执行成功 FALSE 表示执行失败 方法名 6ExecuteTran 类型public bool Description有事务处理的方法 InputSqlArr 字符串数组 包含要操作的所有 SQL 语句 包含文件系统的操作类型和所 涉及的附件 OutputTRUE 表示事务执行成功 FALSE 表示执行失败 方法名 7RollBackFile 类型public bool Description到出错时需要恢复文件系统的机制 InputArrayList AttachMentDeal 包含文件系统的操作类型和所涉及的附件 OutputTRUE 表示执行成功 FALSE 表示执行失败 5 3 1 4MSMQCls 类类 类名类名MSMQCls 父类名父类名 责任描述责任描述 创建消息队列的方法 发送消息到队列的方法 从指定的队列中读取消息 删除指定名称的消息队列方法 协同类协同类ConstCls 方法说明方法说明 方法名 1CreateMSMQ 类型public bool Description在指定机器上创建指定名称的消息队列 InputMSMQPath string 消息队列的名称 OutputTRUE 表创建成功 FALSE 表创建失败 方法名 2SendMsg 类型public bool Description将指定的消息发送到指定队列中 InputMsmqPath string 消息队列的路径 System Messaging Message ObjMsg 要 发送的消息对象 OutputTRUE 表发送成功 FALSE 表发送失败 方法名 3OnReceiveCompleted 类型public void Description事件绑定的具体方法 InputSource 触发事件的源 ReceiveCompletedEventArgs asyncResult 异步 OutputObject 返回读到的消息 方法名 4DelMsmq 类型public bool Description删除指定的消息队列 InputMsmqPath string 消息队列的路径 OutputTRUE 表删除成功 FALSE 表删除失败 5 3 2 流程实例层中类的详细说明流程实例层中类的详细说明 5 3 2 1WorkFlowDefineCls 类类 类名类名WorkFlowDefineCls 父类名父类名 责任描述责任描述 流程实例基本信息类 协同类协同类ConstCls 属性属性类型类型说明说明 FlowIDstring流程实例 ID TitleString流程实例的标题 ActionString 动作处理标识 FlowTypeIDInt 流程类型 ID FlowTypeNameString 流程类型名称 CreatorUserCls 流程创建者的用户类 CreateTimeString 流程创建的时间 ParentWorkFlowWorkFlowCls父流程的类 FormClassString HuanJiString 缓急程度 MiJiString密集程度 IS PIGEONHOLEint是否归档标志 ModifyFlagString 对应 SpecialID 处理情况 False chr 1 False 表示会签的情况 BrachResultInt 合流标示 1 表示合流 0 表示未 合流 SpeciIDString 分支标记 用户 A chr 1 用户 B FieldsString 流程的附件字段 字段名 chr 1 字段值 chr 2 字段名 chr 1 字段值 AttachMentsString 流程带的附件的名称和路径 附件 名 chr 1 附件路径 chr 2 附件名 chr 1 附件路径 MergeFieldString 合流时需要合并的字段 字段名 字段 字段名 PIGEONHOLEDeptNam e String 该文要归入的部门名称 FileClassString 请看消息的FileClass 的解释 FileFlagInt 请看消息的FileFlag 的解释 CurStatusStatusCls流程走到的当前的状态 Company IDint流程所在的公司 ID 5 3 2 2WorkFlowCntrCls 类类 类名类名WorkFlowCntrCls 父类名父类名 责任描述责任描述 流程实例基本信息类 协同类协同类ConstCls 方法说明方法说明 方法名 1CommState类型private void Description处理普通状态的方法 普通状态和开始的进行一样的处理 Input Output 方法名 2EndState类型private void Description处理结束状态的方法 Input Output 方法名 3ChildFlow类型private void Description处理子流动作 Input Output 方法名 4 ChildFlow Wait SameTi me 类型private void Description处理等待 同时子流动作 传阅的时候起作用 Input Output 方法名 5 ChildFlow NotWait Sam eTime 类型private void Description处理不等待 同时子流动作 传阅 没有写日志的 Input Output 方法名 6DivideFlow类型private void Description处理分流 Input Output 方法名 7MergeFlow类型private void Description处理合流 Input Output 方法名 8HurryAct类型private void Description处理催办动作 Input Output 方法名 9RenewAct类型private void Description处理普通状态的方法 普通状态和开始的进行一样的处理 Input Output 方法名 10ReteatAct类型private void Description处理撤回动作 Input Output 方法名 11DisposeAct类型private void Description处理作废动作 Input Output 方法名 12GetFlowLogMsg类型private void Description得到当前流程得日志信息 Input Output 方法名 13类型private void Description处理作废动作 Input Output 5 3 2 3StatusCls 类类 类名类名StatusCls 父类名父类名 责任描述责任描述 流程状态基本信息类 协同类协同类 属性属性类型类型说明说明 FlowIDstring流程实例 ID FlowTypeIDInt 流程类型 ID FlowTypeNameString 流程类型名称 StatusNameString状态的名称 StatusTypeNameString 状态类型的名称 StatusTypeIDint状态类型的 ID INTERFLOW CUSTOM RULE string合流自定义规则 INTERFIX FIELDstring相关字段 COM EXTENDstringCom 扩展 CHILD FLOW TYPEstring子流 分流 类型 CHILD FLOW HINTstring子流提示 CHILD FLOWstring子流 CHANGE FLOW NAME string转流程流程名 CHANGE FLOW ID Int 转流程流程 ID CHANGE STAT US NAME string转流程状态名称 CHANGE STAT US ID Int 转流程状态 ID AUTO FIELD L IST string自动列表 AUTO CUSTOM RULE string自动自定义规则 AUTO FIELD N AME string自动字段名称 INTERFLOW U NITE LIST string合流自定义规则 OperationRole ID Int 业务角色 ID USERROLE IDInt 用户角色 ID NextStatusHashTable由下一步状态作为元素组成的 HashTable FromDisposalDisposalCls本状态从哪个动作过来 方法名 1GetStatusMsg类型private void Description得到状态的信息 对属性赋值 InputString FlowID 流程ID string StatusID 状态ID Output 方法名 2GetNextStatusMsg类型private HashTable Description得到当前状态所有下一步状态的信息 给属性赋值 InputString FlowID 流程ID string StatusID 状态ID Output由所有下一步状态信息组成的HashTable 5 3 2 4DisposalCls 类类 类名类名DisposalCls 父类名父类名 责任描述责任描述 流程处理基本信息类 协同类协同类ConstCls 属性属性类型类型说明说明 FlowIDstring流程实例 ID FlowTypeIDInt 流程类型 ID FlowTypeNameString 流程类型名称 DISPOSAL IDInt处理过程 ID DISPOSAL HINTString 处理过程提示 DISPOSAL NAMEString处理过程名称 TRANSACT STAT US ID Int经办状态 DEPT LIMITInt同部门限制 ROLE LIMITInt同角色限制 CUR STATUS IDInt当前环节 ID PRE STATUS IDint上环节 ID GROUP LIMITInt同组限制 方法名 1GetDisponsalMsg类型private void Description得到处理步骤的信息 Inputint FlowTypeID 流程类型ID int PreStatus ID 上一个状态ID int CurStatus ID 当前状态ID Output 5 3 2 5UserCls 类类 类名类名UserCls 父类名父类名 责任描述责任描述 用户基本信息类 协同类协同类ConstCls 属性属性类型类型说明说明 UserIDstring用户 ID DeptIDInt 用户所在的部门 ID DeptNameString 用户所在的部门名称 RoomIDInt 处室 ID RoomNameString 处室名称 UserNameString 用户中文名 CompanyIDInt 用户所在的公司 ID CompanyNameString用户所在的公司名称 OPERRoleIDString 用户所属的角色 ID OPERRoleNameString用户所属的角色名称 UserOrderbyInt用户的排序字段 RoomOrderByInt处室排序字段 DeptOrderByInt部门排序字段 CompanyOrderByInt公司排序字段 方法名 1GetUserMsg类型private void Description得到用户信息 Inputstring UserID 用户ID string CnnStr 数据库连接 Output 5 3 3 流程逻辑处理层中类的详细说明流程逻辑处理层中类的详细说明 5 3 3 1WorkEnginerCls 类类 类名类名WorkEnginerCls 父类名父类名 责任描述责任描述 连接数据库 扫描工作流引擎表 是一个视图 对动作和状态做处理 协同类协同类使用 FileDealCls对文件系统的操作 使用 DBDealCls 对数据库进行操作 使用 ConstCls 调用系统常量 方法说明方法说明 方法名 1WorkEnginerRun 类型public void Description工作流引擎工作的方法 创建队列和线程 并且绑定关系 调用方法 AssembleMethod 处理取得的消息 并做相应的逻辑处理 Input Output 方法名 2AssembleMethod 类型public void Description将取得的消息转变成为结构体 再执行具体的处理方法 Input Output 方法名 3XMLToStruct 类型private bool Description分解得到的消息 将消息中的信息组合成ItemMsg 类型的数据 InputMSXML2 DOMDocument ObjDom 由消息中的正文所得到的 MSXML2 DOMDocument 对 象 Output转变正确的则返回 TRUE 否则返回 FALSE 方法名DealWorkFlow 类型public void Description对各种动作和状态的处理 Input Output 方法名AgainDealMethod 类型public void Description处理由于连接失败而导致未处理的情况 Input Output 方法名CorrectMethod 类型public void Description创建的纠错线程 主要是在做纠错处理的时使用 Input Output 方法名FileSrvDealMethod 类型private void Description主要用于处理在没有连接文件服务成功时放入队列的消息 Input Output 方法名 4CommState 类型private void Description对普通 开始状态和跳转动作进行处理 若出错 写出错信息 错误的流程等待下一次处理 最多处理 3 次 InputItemMsg TmpRsd 要处理的结构体 int LogFlag 日志处理的标志位 0 开始的时 候 1 非开始的时候 2 结束 FrmWorkEnginer WinEnginer 在应用程序中用到 服务中没有 Output 方法名 5EndState 类型private void Description对结束进行处理 调用了DecomposeFields GetFileName MergeUrl GetNewAttachment BeginState GetLogSql MoveLog DeleteAllTable CanZhuChaosong GetZhuChaoUrl DealZhuChaoSong EnginerDB ExecuteTra n 若出错 写出错信息 错误的流程等待下一次处理 最多处理 3 次 InputItemMsg TmpRsd 要处理的结构体 FrmWorkEnginer WinEnginer 在应用程序中用 到 服务中没有 Output 方法名 6HurryAct 类型private void Description对催办进行处理 调用了DealUserMail EnginerDB ExecuteTran 若出错 写出错信息 错误的流程等待下一次处理 最多处理 3 次 InputItemMsg TmpRsd 要处理的结构体 FrmWorkEnginer WinEnginer 在应用程序中用 到 服务中没有 Output 方法名 7RenewAct 类型private void Description对重发进行处理 调用了ConstCls ResolveStr EnginerDB ExecuteTran 若出错 写出错信息 错误的流程等待下一次处理 最多处理 3 次 InputItemMsg TmpRsd 要处理的结构体 FrmWorkEnginer WinEnginer 在应用程序中用 到 服务中没有 Output 方法名 8DisposeAct 类型private void Description对作废进行处理 调用了MoveLog DeleteAllTable DealUserMail DelMergeUrl EnginerDB ExecuteTran 若出错 写出错信息 错误的流程等待下一次处理 最多处理 3 次 InputItemMsg TmpRsd 要处理的结构体 FrmWorkEnginer WinEnginer 在应用程序中用 到 服务中没有 Output 方法名 10ReteatAct 类型private void Description对撤回进行处理 调用了EnginerDB Query DecomposeFields DealNotify EnginerDB ExecuteTran 若出错 写出错信息 错误的流程等待下一次处理 最多处理 3 次 InputItemMsg TmpRsd 要处理的结构体 FrmWorkEnginer WinEnginer 在应用程序中用 到 服务中没有 Output 方法名 11ChildFlow 类型private void Description对子流进行处理 调用了ChildFlow Wait SameTime ChildFlow NotWait SameTime ChildFlow NotWait Order ChildFlowEnd 若出错 写出错信息 错误的流程等待下一次处理 最多处理 3 次 InputItemMsg TmpRsd 要处理的结构体 FrmWorkEnginer WinEnginer 在应用程序中用 到 服务中没有 Output 方法名 12ChildFlow Wait SameTime 类型private void Description对结束进行处理 调用了GetRealPath GetFileName MergeUrl GetNewAttachment DealerToSql DealZaiBan DealFlowMain GetLogSql EnginerDB ExecuteTran 若出错 写出错信息 错误的流程等待下一次处理 最多处理 3 次 InputItemMsg TmpRsd 要处理的结构体 FrmWorkEnginer WinEnginer 在应用程序中用 到 服务中没有 Output 方法名 13ChildFlow NotWait SameTime 类型private void Description对结束进行处理 调用了GetRealPath GetFileName MergeUrl GetNewAttachment DealUserMail GetLogSql DealZaiBan DealFlowMain EnginerDB ExecuteTran 若出错 写出错信息 错误的流程等待下一次处理 最多处理 3 次 InputItemMsg TmpRsd 要处理的结构体 FrmWorkEnginer WinEnginer 在应用程序中用 到 服务中没有 Output 方法名 14ChildFlow NotWait Order 类型private void Description对结束进行处理 调用了GetRealPath GetFileName MergeUrl GetNewAttachment DealUserMail GetLogSql DealZaiBan DealFlowMain GetUserDept GetUserCom EnginerDB ExecuteTran DealNotify DealFlowMain 若出错 写出错信息 错误的流程等待下一次处理 最多处理 3 次 InputItemMsg TmpRsd 要处理的结构体 FrmWorkEnginer WinEnginer 在应用程序中用 到 服务中没有 Output 方法名 15ChildFlowEnd 类型private void Description对结束进行处理 调用了DelMergeUrl GetFields MoveLog DeleteAllTable DealUserMail GetLogSql DealZaiBan DealFlowMain EnginerDB ExecuteTran 若出错 写出错信息 错误的流程等待下一次处理 最多处理 3 次 InputItemMsg TmpRsd 要处理的结构体 FrmWorkEnginer WinEnginer 在应用程序中用 到 服务中没有 Output 方法名 16DivideFlow 类型private void Description对结束进行处理 调用了DecomposeFields GetFileName MergeUrl GetNewAttachment DealFlowMain GetLogSql GetUserDept GetUserCom ChildFileDeal GetOneArr EnginerDB ExecuteTran 若出错 写出错信息 错误的流程等待下一次处理 最多处理 3 次 InputItemMsg TmpRsd 要处理的结构体 FrmWorkEnginer WinEnginer 在应用程序中用 到 服务中没有 Output 方法名 17ChildFlow NotWait SameTime 类型private void Description对结束进行处理 调用了GetRealPath GetFileName MergeUrl GetNewAttachment DealUserMail GetLogSql DealZaiBan DealFlowMain EnginerDB ExecuteTran 若出错 写出错信息 错误的流程等待下一次处理 最多处理 3 次 InputItemMsg TmpRsd 要处理的结构体 FrmWorkEnginer WinEnginer 在应用程序中用 到 服务中没有 Output 方法名 18MergeFlow 类型private void Description对结束进行处理 调用了DecomposeFields GetFileName MergeUrl GetNewAttachment MoveLog GetLogSql DealZaiBan DealFlowMain GetMergeField DealNotify DealZaiBan EnginerDB ExecuteTran 若出错 写出错信息 错误的流程等待下一次处理 最多处理 3 次 InputItemMsg TmpRsd 要处理的结构体 FrmWorkEnginer WinEnginer 在应用程序中用 到 服务中没有 Output 方法名 19GetMergedField 类型private string Description对结束进行处理 调用了EnginerDB Query DecomposeFields 若出错 写出错信息 错误的流程等待下一次处理 最多处理 3 次 InputItemMsg TmpRsd 要处理的结构体 FrmWorkEnginer WinEnginer 在应用程序中用 到 服务中没有 Output合并后的字段 方法名 20GetFieldValue 类型private string Description返回查找到的字段的值 InputSrcStr string Field string Output返回查找到的字段的值 方法名 21GetOneArr 类型private string Description将数组的数组转变成一维数组 InputTmpArr string Output一维数组 方法名 22ChildFileDeal 类型private string Description对各个子流程的文件系统的处理 InputFNameUrl Field型 ATTACHMENT所组成的结构体数组 TmpRsd ItemMsg型 某条 DB中记录组成的结构体 UserID string型 用户ID ChCreateTime string型 创 建时间 ChDept string型 用户所在部门 ChCom string型 用户所在公司 ChFlowID string型 子流程ID FileName string 型 文件的名称 Output返回操作文件系统的字符串数组 方法名 23ChildDBDeal 类型private string Description对各个子流程的数据库的处理 ChildSql DealNotify GetLogSql InputFNameUrl Field型 ATTACHMENT所组成的结构体数组 UserID string型 用户 ID ChCreateTime string型 创建时间 ChDept string型 用户所在部门 ChCom string型 用户所在公司 ChFlowID string型 子流程ID TmpRsd ItemMsg型 某条DB中记录组成的结构体 ChAttachments string型 工作区的文 件存放字符串 ChBackAttachment string 型 备份区的文件存放字符串 Output返回操作数据库的字符串数组 方法名 24GetFileName 类型private string Description得到文件系统中的文件存放名称 InputFNameUrl Field 型 ATTACHMENT 所组成的结构体数组 Flag int 0 非结束 1 结束 Output返回文件名称 方法名 25GetNewAttachment 类型private string Description得到新的 ATTACHMENT InputfileNames string 型 所有的文件名称 fileArr string 型 新的 URL Output返回 ATTACHMENT 方法名 26GetFields 类型private string Description更新主流程的附加字段表 InputFields88 带 88 的字段 FlowID 要查找的流程 Output更新的字符串 方法名 27ChildSql 类型private string Description处理等待 同时子流动作 并发串改的时候起作用 InputItemMsg TmpRsd string ChildFlowID string Receiver string ChAttachments Output返回操作数据库的字符串数组 方法名 28DealSpecialID 类型private ItemMsg Description修改结构体中的 SPECIAID 和 MODIFYFLAG 的值 InputTmpRsd ItemMsg 型 Output修改后的结构体 方法名 29DealNotify 类型private string Description操作待办表 InputItemMsg TmpRsd string UserID string FlowID Output操作的 SQL 语句 方法名 30DealZaiBan 类型private string Description操作在办表 InputTmpRsd ItemMsg 型 某条 DB 中记录组成的结构体 Output操作的 SQL 语句 方法名 31DealFlowMain 类型private string Description操作实例表和引擎表 InputTmpRsd ItemMsg 型 某条 DB 中记录组成的结构体 ParentID string Output操作的 SQL 语句 方法名 32DealUserMail 类型private string Description对用户邮件表进行操作 GetMaxID InputTmpRsd ItemMsg 型 某条 DB 中记录组成的结构体 Flag int 0 作废 1 催办 2 传阅 3 主抄送 Output返回对用户邮件表进行操作的SQL语句组 方法名 33GetMaxID 类型private int Description得到最大的 ColName EnginerDB Query InputTableName string 表名称 ColName string 列名称 Output返回对用户邮件表进行操作的SQL语句组 方法名 34DeleteAllTable 类型private string Description删除出日志表外的所有的其他表中某个流程的记录 InputFlow id string 表流程实例 ID Output所有的删除SQL数组 方法名 35MoveLog 类型private string Description转移 t flow logstatus 中的记录到 t flow endlogstatus InputFlow id string 表流
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年瑞昌市面向社会公开招聘“多员合一”社区工作者【27人】考前自测高频考点模拟试题及答案详解(典优)
- 2025福建厦门市集美区后溪小学顶岗教师招聘1人考前自测高频考点模拟试题带答案详解
- 2025内蒙古赤峰环保投资有限公司招聘3人模拟试卷完整参考答案详解
- 2025年甘肃祁连山水泥集团有限公司招聘30人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025江苏南通市川姜镇招聘人力资源和社会保障基层公共服务平台工作人员4人模拟试卷及1套参考答案详解
- 2025湖南澄迈县农业技术推广中心招聘见习生7人模拟试卷及答案详解(易错题)
- 2025湖南省药品检验检测研究院招聘编外人员8人模拟试卷及答案详解(考点梳理)
- 2025年湖南长沙市望城区公开招聘事业单位工作人员31人模拟试卷附答案详解(考试直接用)
- 2025年4月广东广州市天河区珠江新城猎德幼儿园第二次编外教辅人员招聘1人模拟试卷参考答案详解
- 2025甘肃平凉市崆峒区第一批公益性岗位工作人员招聘58人考前自测高频考点模拟试题及答案详解(历年真题)
- 动物安乐死协议书(2篇)
- 2019年医疗器械体外诊断与病理诊断行业分析报告
- DL-T2078.2-2021调相机检修导则第2部分:保护及励磁系统
- 国开(河北)2024年《中外政治思想史》形成性考核1-4答案
- 新起点大学英语综合教程1
- 小学数学添括号去括号简便计算练习100道及答案
- 师德师风考核表
- 三年级上册语文必考点1-8单元按课文内容填空专项练习
- 《一、圆锥曲线的光学性质及其应用》教学设计(部级优课)-数学教案
- 装配钳工高级试题与答案
- GB/T 27809-2011热固性粉末涂料用双酚A型环氧树脂
评论
0/150
提交评论