收藏 分销(赏)

中国联通山西分公司系统设计书工作流引擎样本.doc

上传人:精*** 文档编号:4009595 上传时间:2024-07-25 格式:DOC 页数:52 大小:1.07MB 下载积分:16 金币
下载 相关 举报
中国联通山西分公司系统设计书工作流引擎样本.doc_第1页
第1页 / 共52页
中国联通山西分公司系统设计书工作流引擎样本.doc_第2页
第2页 / 共52页


点击查看更多>>
资源描述
TW_OO_DESIGN_DOC_1210-01A Confidential (秘密) OA工作流引擎设计 说明书 Version 5.0 Written By TalkWeb TALKWEB 湖南拓维信息系统股份 , 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.1 ER图 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 缩略语 WFE WorkFlow Engine 工作流引擎 1.3 参考资料 《步骤定义设计书》 《工作流处理系统设计说明书(v4.0)》 《中国联通总部OA系统设计变更提议》 2 软件结构 2.1 关键实现技术 采取.Net框架,用C#编写; SQL SERVER数据库存放数据; 文件系统存放步骤中所带工作附件(用到自定义文件传输服务); 2.2 引擎处理结构 说明: 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. 当正常处理失败时,先送入异常处理队列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.cs SMSCls.cs SocketCls.cs 功效类别层 WorkFlowDefineCls.cs StatusCls.cs DisposalCls.cs UserCls.cs 步骤实例层 WorkEnginerCls.cs 逻辑实现层层 WorkFlowCntrCls.cs 5.3 类具体设计 5.3.1 功效类别层中类具体说明 5.3.1.1 ConstCls类 类名 ConstCls 父类名 责任描述 Ø 定义静态方法 Ø 定义全局常量(各个线程独自占有) 协同类 全局常量 类型 值 UrlCompart char ‘#’ ConfigCompart char ‘=’ C_User char ‘;’ cntFileCompart char ‘*’ C_Chr1 char (char)1 C_Chr2 char (char)2 C_Chr3 char (char)3 C_Chr4 char (char)4 C_Rep1 string ]#$!%[ C_Rep2 String "]#$%![" C_Rep3 String "]$#!%[" C_Rep4 string "]!#$%[" cntFileEnd string "\n" cntFileQuit string "QUIT" cntMSMQ string @"\private$\" cntCFiles string "COPY" cntDFiles string "MOVE" cntMFiles string "MOVE" C_PassDir string "传阅" C_MotifDir string "主抄送" C_TypeZhu string "主办" C_TypeXie String "协办" C_TypeYue String "阅办" C_Compart String @"\" C_DubCompart String "\\" C_Udept String "`" 方法说明 方法名1 ResolveStr () 类型 public static string[] Description 字符串解析方法 Input SrcStr,string型,需要解析字符串;Flag,char型,字符串分割符 Output StrArr[] 解析后产生字符串数组 方法名2 WriteLog () 类型 public static void Description 当操作失败时,写犯错日志 Input string LogMsg, 犯错信息 string FilePath 日志文件所在路径 Output 5.3.1.2 SocketCls类 类名 FileCntrCls 父类名 责任描述 Ø 提供指示文件服务器操作附件方法 协同类 ConstCls CnnSocket 方法说明 方法名1 DealFileSys () 类型 Public bool Description 发送命令到文件服务器 Input Socket Skt,连接服务器SOCKET,string CmdFile 要操作文件命令行 Output 成功则返回TRUE,不然返回FALSE 方法名2 SendFileMsg () 类型 public string Description 和文件服务器建立连接,而且将指定操作送到文件服务器上,并等候服务器操作后返回结果。 Input string AllDealFileStr 全部要发送命令组成一个字符串 格式是:命令1;命令2;。。。/n Output 成功则返回TRUE,不然返回FALSE 5.3.1.3 DBDealCls类 类名  DBDealCls 父类名 责任描述 Ø 提供连接数据库方法 Ø 查询方法 Ø 事务实施方法 Ø 断开数据库方法 协同类 FileDealCls 方法说明 方法名1 DBDealCls () 类型 public void Description 类结构函数,建立数据库连接,实例化文件类。调用到了Open_Cnn 发生 错误时抛犯错误,让上一级处理 Input string CnnStr 连接数据库字符串 Output 方法名2 Open_Cnn () 类型 public void Description 建立数据库连接 Input Output 方法名3 Close_Cnn () 类型 private void Description 关闭数据库连接,释放连接实例 Input Output 方法名4 Query () 类型 public DataTable Description 依据传入查询语句,得到一个统计集,并返回 Input SqlStr, string型,查询语句 Output 类型 DataTable 方法名5 ExecuteTran () 类型 public bool Description 有事务处理方法 Input SqlArr 字符串数组(包含要操作全部SQL语句), Output TRUE表示事务实施成功,FALSE表示实施失败 方法名6 ExecuteTran () 类型 public bool Description 有事务处理方法 Input SqlArr 字符串数组(包含要操作全部SQL语句), 包含文件系统操作类型和所包含附件 Output TRUE表示事务实施成功,FALSE表示实施失败 方法名7 RollBackFile () 类型 public bool Description 到犯错时需要恢复文件系统机制 Input ArrayList AttachMentDeal 包含文件系统操作类型和所包含附件 Output TRUE表示实施成功,FALSE表示实施失败 5.3.1.4 MSMQCls类 类名 MSMQCls 父类名 责任描述 Ø 创建消息队列方法 Ø 发送消息到队列方法 Ø 从指定队列中读取消息 Ø 删除指定名称消息队列方法 协同类 ConstCls 方法说明 方法名1 CreateMSMQ () 类型 public bool Description 在指定机器上创建指定名称消息队列 Input MSMQPath string 消息队列名称 Output TRUE 表创建成功,FALSE 表创建失败 方法名2 SendMsg () 类型 public bool Description 将指定消息发送到指定队列中 Input MsmqPath string 消息队列路径,System.Messaging.Message ObjMsg 要发送消息对象 Output TRUE 表发送成功,FALSE 表发送失败 方法名3 OnReceiveCompleted () 类型 public void Description 事件绑定具体方法 Input Source 触发事件源 ReceiveCompletedEventArgs asyncResult 异步 Output Object 返回读到消息 方法名4 DelMsmq () 类型 public bool Description 删除指定消息队列 Input MsmqPath string 消息队列路径 Output TRUE 表删除成功,FALSE 表删除失败 5.3.2 步骤实例层中类具体说明 5.3.2.1 WorkFlowDefineCls类 类名 WorkFlowDefineCls 父类名 责任描述 Ø 步骤实例基础信息类 协同类 ConstCls 属性 类型 说明 FlowID string 步骤实例ID Title String 步骤实例标题 Action String 动作处理标识 FlowTypeID Int 步骤类型ID FlowTypeName String 步骤类型名称 Creator UserCls 步骤创建者用户类 CreateTime String 步骤创建时间 ParentWorkFlow WorkFlowCls 父步骤类 FormClass String HuanJi String 缓急程度 MiJi String 密集程度 IS_PIGEONHOLE int 是否归档标志 ModifyFlag String 对应SpecialID处理情况(False + chr(1) + False)表示会签情况 BrachResult Int 合流标示(1:表示合流,0表示未合流) SpeciID String 分支标识(用户A + chr(1) + 用户B) Fields String 步骤附件字段(字段名 + chr(1) + 字段值 + chr(2) + 字段名 + chr(1) + 字段值) AttachMents String 步骤带附件名称和路径(附件名 + chr(1) + 附件路径 + chr(2) + 附件名 + chr(1) + 附件路径) MergeField String 合流时需要合并字段(字段名;字段;。。。。字段名) PIGEONHOLEDeptName String 该文要归入部门名称 FileClass String 请看消息FileClass解释 FileFlag Int 请看消息FileFlag解释 CurStatus StatusCls 步骤走到目前状态 Company_ID int 步骤所在企业ID 5.3.2.2 WorkFlowCntrCls类 类名 WorkFlowCntrCls 父类名 责任描述 Ø 步骤实例基础信息类 协同类 ConstCls 方法说明 方法名1 CommState 类型 private void Description 处理一般状态方法(一般状态和开始进行一样处理) Input Output 方法名2 EndState 类型 private void Description 处理结束状态方法 Input Output 方法名3 ChildFlow 类型 private void Description 处理子流动作 Input Output 方法名4 ChildFlow_Wait_SameTime 类型 private void Description 处理等候、同时子流动作(传阅时候起作用) Input Output 方法名5 ChildFlow_NotWait_SameTime 类型 private void Description 处理不等候、同时子流动作(传阅)没有写日志 Input Output 方法名6 DivideFlow 类型 private void Description 处理分流 Input Output 方法名7 MergeFlow 类型 private void Description 处理合流 Input Output 方法名8 HurryAct 类型 private void Description 处理催办动作 Input Output 方法名9 RenewAct 类型 private void Description 处理一般状态方法(一般状态和开始进行一样处理) Input Output 方法名10 ReteatAct 类型 private void Description 处理撤回动作 Input Output 方法名11 DisposeAct 类型 private void Description 处理作废动作 Input Output 方法名12 GetFlowLogMsg 类型 private void Description 得到目前步骤得日志信息 Input Output 方法名13 类型 private void Description 处理作废动作 Input Output 5.3.2.3 StatusCls类 类名 StatusCls 父类名 责任描述 Ø 步骤状态基础信息类 协同类 属性 类型 说明 FlowID string 步骤实例ID FlowTypeID Int 步骤类型ID FlowTypeName String 步骤类型名称  StatusName String 状态名称 StatusTypeName String 状态类型名称 StatusTypeID int 状态类型ID INTERFLOW_CUSTOM_RULE string 合流自定义规则 INTERFIX_FIELD string 相关字段 COM_EXTEND string Com扩展 CHILD_FLOW_TYPE string 子流(分流)类型 CHILD_FLOW_HINT string 子流提醒 CHILD_FLOW string 子流 CHANGE_FLOW_NAME string 转步骤步骤名 CHANGE_FLOW_ID Int 转步骤步骤ID CHANGE_STATUS_NAME string 转步骤状态名称 CHANGE_STATUS_ID Int 转步骤状态ID AUTO_FIELD_LIST string 自动列表 AUTO_CUSTOM_RULE string 自动自定义规则 AUTO_FIELD_NAME string 自动字段名称 INTERFLOW_UNITE_LIST string 合流自定义规则 OperationRole _ID Int 业务角色ID USERROLE_ID Int 用户角色ID NextStatus HashTable 由下一步状态作为元素组成HashTable FromDisposal DisposalCls 本状态从哪个动作过来 方法名1 GetStatusMsg 类型 private void Description 得到状态信息,对属性赋值 Input String FlowID 步骤ID,string StatusID 状态ID Output 方法名2 GetNextStatusMsg 类型 private HashTable Description 得到目前状态全部下一步状态信息,给属性赋值 Input String FlowID 步骤ID,string StatusID 状态ID Output 由全部下一步状态信息组成HashTable 5.3.2.4 DisposalCls类 类名 DisposalCls 父类名 责任描述 Ø 步骤处理基础信息类 协同类 ConstCls 属性 类型 说明 FlowID string 步骤实例ID FlowTypeID Int 步骤类型ID FlowTypeName String 步骤类型名称 DISPOSAL_ID Int 处理过程ID DISPOSAL_HINT String 处理过程提醒 DISPOSAL_NAME String 处理过程名称 TRANSACT_STATUS_ID Int 经办状态 DEPT_LIMIT Int 同部门限制 ROLE_LIMIT Int 同角色限制 CUR_STATUS_ID Int 目前步骤ID PRE_STATUS_ID int 上步骤ID GROUP_LIMIT Int 同组限制 方法名1 GetDisponsalMsg 类型 private void Description 得四处理步骤信息 Input int FlowTypeID 步骤类型ID,int PreStatus_ID,上一个状态ID,int CurStatus_ID 目前状态ID Output 5.3.2.5 UserCls类 类名 UserCls 父类名 责任描述 Ø 用户基础信息类 协同类 ConstCls 属性 类型 说明 UserID string 用户ID DeptID Int 用户所在部门ID DeptName String 用户所在部门名称 RoomID Int 处室ID RoomName String 处室名称 UserName String 用户汉字名 CompanyID Int 用户所在企业ID CompanyName String 用户所在企业名称 OPERRoleID String 用户所属角色ID OPERRoleName String 用户所属角色名称 UserOrderby Int 用户排序字段 RoomOrderBy Int 处室排序字段 DeptOrderBy Int 部门排序字段 CompanyOrderBy Int 企业排序字段 方法名1 GetUserMsg 类型 private void Description 得到用户信息 Input string UserID 用户ID,string CnnStr 数据库连接 Output 5.3.3 步骤逻辑处理层中类具体说明 5.3.3.1 WorkEnginerCls类 类名 WorkEnginerCls 父类名 责任描述 Ø 连接数据库 Ø 扫描工作流引擎表(是一个视图) Ø 对动作和状态做处理 协同类 使用FileDealCls对文件系统操作 使用DBDealCls对数据库进行操作 使用ConstCls调用系统常量 方法说明 方法名1 WorkEnginerRun() 类型 public void Description 工作流引擎工作方法,创建队列和线程,而且绑定关系,调用方法AssembleMethod处理取得消息,并做对应逻辑处理。 Input Output 方法名2 AssembleMethod () 类型 public void Description 将取得消息转变成为结构体,再实施具体处理方法 Input Output 方法名3 XMLToStruct () 类型 private bool Description 分解得到消息,将消息中信息组合成ItemMsg类型数据 Input MSXML2.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 方法名4 CommState() 类型 private void Description 对一般、开始状态和跳转动作进行处理 若犯错,写犯错信息,错误步骤等候下一次处理(最多处理3次) Input ItemMsg TmpRsd,要处理结构体,int LogFlag,日志处理标志位(0:开始时候,1:非开始时候,2:结束)FrmWorkEnginer WinEnginer(在应用程序中用到,服务中没有) Output 方法名5 EndState () 类型 private void Description 对结束进行处理,调用了DecomposeFields(),GetFileName(),MergeUrl(), GetNewAttachment(),BeginState(),GetLogSql(),MoveLog(),DeleteAllTable() CanZhuChaosong(),GetZhuChaoUrl(),DealZhuChaoSong(),EnginerDB.ExecuteTran() 若犯错,写犯错信息,错误步骤等候下一次处理(最多处理3次) Input ItemMsg TmpRsd,要处理结构体,FrmWorkEnginer WinEnginer(在应用程序中用到,服务中没有) Output 方法名6 HurryAct () 类型 private void Description 对催办进行处理,调用了DealUserMail(),EnginerDB.ExecuteTran() 若犯错,写犯错信息,错误步骤等候下一次处理(最多处理3次) Input ItemMsg TmpRsd,要处理结构体,FrmWorkEnginer WinEnginer(在应用程序中用到,服务中没有) Output 方法名7 RenewAct () 类型 private void Description 对重发进行处理,调用了ConstCls.ResolveStr(),EnginerDB.ExecuteTran() 若犯错,写犯错信息,错误步骤等候下一次处理(最多处理3次) Input ItemMsg TmpRsd,要处理结构体,FrmWorkEnginer WinEnginer(在应用程序中用到,服务中没有) Output 方法名8 DisposeAct () 类型 private void Description 对作废进行处理,调用了MoveLog(),DeleteAllTable(),DealUserMail(), DelMergeUrl(),EnginerDB.ExecuteTran() 若犯错,写犯错信息,错误步骤等候下一次处理(最多处理3次) Input ItemMsg TmpRsd,要处理结构体,FrmWorkEnginer WinEnginer(在应用程序中用到,服务中没有) Output 方法名10 ReteatAct () 类型 private void Description 对撤回进行处理,调用了EnginerDB.Query(),DecomposeFields(), DealNotify(),EnginerDB.ExecuteTran() 若犯错,写犯错信息,错误步骤等候下一次处理(最多处理3次) Input ItemMsg TmpRsd,要处理结构体,FrmWorkEnginer WinEnginer(在应用程序中用到,服务中没有) Output 方法名11 ChildFlow () 类型 private void Description 对子流进行处理,调用了ChildFlow_Wait_SameTime (), ChildFlow_NotWait_SameTime (),ChildFlow_NotWait_Order (), ChildFlowEnd () 若犯错,写犯错信息,错误步骤等候下一次处理(最多处理3次) Input ItemMsg TmpRsd,要处理结构体,FrmWorkEnginer WinEnginer(在应用程序中用到,服务中没有) Output 方法名12 ChildFlow_Wait_SameTime() 类型 private void Description 对结束进行处理,调用了GetRealPath (),GetFileName(),MergeUrl(), GetNewAttachment(),DealerToSql (),DealZaiBan (),DealFlowMain (), GetLogSql(),EnginerDB.ExecuteTran () 若犯错,写犯错信息,错误步骤等候下一次处理(最多处理3次) Input ItemMsg TmpRsd,要处理结构体,FrmWorkEnginer WinEnginer(在应用程序中用到,服务中没有) Output 方法名13 ChildFlow_NotWait_SameTime () 类型 private void Description 对结束进行处理,调用了GetRealPath(),GetFileName(),MergeUrl(), GetNewAttachment(),DealUserMail(),GetLogSql(),DealZaiBan (), DealFlowMain (),EnginerDB.ExecuteTran() 若犯错,写犯错信息,错误步骤等候下一次处理(最多
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服