zoukankan      html  css  js  c++  java
  • H3 BPM接口说明文档

     

         

        

     

    H3 BPM接口说明文档

     

    二〇一七年四月

     

    1 引擎接口唯一入口:OThinker.H3.IEngine 3

    1.1 构造Engine对象 3

    1.2 属性 4

    2 类:OThinker.H3.Acl.IBizRuleAclManager 6

    3 类:OThinker.H3.Acl.IFunctionAclManager 8

    4 类:OThinker.H3.Acl.ISystemOrgAclManager 12

    5 类:OThinker.H3.Acl.ISystemAclManager 15

    6 类:OThinker.H3.Acl.IWorkflowAclManager 17

    7 类:OThinker.H3.Apps.IAppNavigationManager 20

    8 类:OThinker.H3.BizBus.IBizBus 22

    9 类:OThinker.H3.Sheet.IBizSheetManager 30

    10 类:OThinker.H3.SNS.ISNSManager 32

    11 类:OThinker.H3.Site.ISiteManager 37

    12 类:OThinker.H3.Apps.IAppPackageManager 43

    13 类:OThinker.H3.WorkflowTemplate.IWorkflowConfigManager 46

    14 类:OThinker.H3.Notification.IWeChatAdapter 48

    15 类:OThinker.H3.Instance.IHeapDataManager 50

    16 类:OThinker.H3.DataModel.IBizObjectManager 54

    17 类:OThinker.H3.DataModel.IBizObjectTrackManager 68

    18 类:OThinker.H3.DataModel.IFilePolicyManager 70

    19 类:OThinker.H3.Analytics.IAnalyzer 72

    20 类:OThinker.H3.WorkItem.IAgencyManager 75

    21 类:OThinker.H3.WorkItem.IConsultancyManager 78

    22 类:OThinker.H3.Exceptions.IExceptionManager 80

    23 类:OThinker.H3.Instance.IInstanceManager 83

    24 类:OThinker.H3.Instance.IInstanceSimulationManager 86

    25 类:OThinker.H3.Data.IMetadataRepository 89

    26 类:OThinker.H3.Notification.INotifier 94

    27 类:OThinker.H3.Settings.ISettingManager 95

    28 类:OThinker.H3.WorkItem.IUrgencyManager 99

    29 类:OThinker.H3.Tracking.IUserLogWriter 100

    30 类:OThinker.H3.WorkflowTemplate.IWorkflowManager 101

    31 类:OThinker.H3.Calendar.IWorkingCalendarManager 107

    32 类:OThinker.H3.WorkItem.IWorkItemManager 112

    33 类:OThinker.H3.EventHandlers.IMessageEventHandler 121

    34 类:OThinker.H3.EventHandlers.IEngineEventHandler`1 122

    35 类:OThinker.H3.EventHandlers.INotificationEventHandler 124

    36 类:OThinker.H3.EventHandlers.IOrganizationEventHandler 125

    37 类:OThinker.H3.EventHandlers.IInstanceEventHandler 126

    38 类:OThinker.H3.EventHandlers.IWorkItemEventHandler 127

    39 常用方法示例 129

    1 引擎接口唯一入口OThinker.H3.IEngine

    说明:流程引擎,通过该接口来访问流程服务。

    示例1:获取组织机构对象

    this.Engine.Organization.GetUnit("组织ID");

    示例2:获取流程实例

    this.Engine.InstanceManager.GetInstanceContext("流程实例ID");

    示例3:获取已发布的默认流程模板对象

    this.Engine.WorkflowManager.GetDefaultWorkflow("流程模板编码");

    示例4:获取已发布的默认流程模板对象

    this.Engine.WorkItemManager.GetWorkItem("工作任务ID");

    示例5:获取工作日历

    this.Engine.WorkingCalendarManager.GetCalendar("工作日历ID");

    1.1 构造Engine对象

    方法1:

                OThinker.H3.Connection conn = new Connection();

                conn.Open("Servers=127.0.0.1:8211;User=administrator;Password=000000;Engine=DefaultEngine");

                IEngine _Engine = conn.Engine;

                // 调用示例(获取组织对象)

                OThinker.Organization.Unit unit = _Engine.Organization.GetUnit("组织ID");

    方法2:

                OThinker.H3.Connection conn = new Connection();

                conn.Open("127.0.0.1", 8211, "DefaultEngine", "Administrator", "000000");

                IEngine _Engine = conn.Engine;

                // 调用示例(获取组织对象)

                OThinker.Organization.Unit unit = _Engine.Organization.GetUnit("组织ID");

    注:如果继承至OThinker.H3.Portal.PortalPage或者 SheetPage 类,均已经存在 Engine对象可以直接访问。

    1.2 属性

    名称

    说明

    EngineConfig

    流程引擎的基础配置

    SettingManager

    配置管理器

    LogWriter

    用于写日志

    AppNavigationManager

    应用程序管理器

    WorkflowConfigManager

    流程模板设计管理器

    WorkflowManager

    流程管理器

    BizObjectManager

    数据模型管理器

    BizSheetManager

    表单管理器

    HeapDataManager

    堆数据管理器

    MetadataRepository

    元数据管理器

    Notifier

    用于通知

    WeChatAdapter

    微信

    SimulationManager

    流程模拟管理器

    InstanceManager

    流程实例管理器

    WorkItemManager

    工作项管理器

    ConsultancyManager

    征询意见关系管理器

    AgencyManager

    委托管理器

    UrgencyManager

    催办

    ExceptionManager

    异常管理器,用于管理异常信息

    TimerManager

    定时器

    Organization

    组织结构管理器

    BizRuleAclManager

    业务规则权限控制器

    WorkflowAclManager

    流程模板权限控制器

    SystemAclManager

    系统权限控制器

    SystemOrgAclManager

    系统权限控制器

    FunctionAclManager

    功能权限控制器

    WorkingCalendarManager

    工作日历

    BizBus

    业务服务总线

    AppPackageManager

    流程包

    Analyzer

    分析器,用于分析报表

    Query

    查询器,用于直接查询数据库,这是一个特殊的属性,客户端调用Query的时候,并不通过Engine,而是直接访问数据库,所以在这里没有标记为服务器集群模块

    BPAQuery

    查询器,用于直接查询数据库,这是一个特殊的属性,客户端调用Query的时候,并不通过Engine,而是直接访问数据库,所以在这里没有标记为服务器集群模块

    UserLogWriter

    用户操作日志

    SNSManager

    企业社交管理器

    Interactor

    交互服务。外部系统与引擎交互,有的时候为了完成某一项工作,需要与引擎多次交互,为了提高这种交互效率,我们在这里将多个接口封装成一个接口,一次调用即可完成所有工作

    PerformanceTrackManager

    性能监控日志

    Exceptional

    是否出现了异常

    SiteManager

    门户管理器

    2 类:OThinker.Organization.IOrganization

    说明:组织结构接口,用于增删改查组织结构信息,整个组织结构的索引是完全建立在内存索引的基础上的,所以相应会非常快

    方法名称:Reload

    方法说明

    装载必须装载全部数据,因为其他的判断包括Alias是否存在的判断都是判断内存中的数据

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:GetUnit(System.String)

    方法说明

    根据ID获得Unit

    输入参数

    名称

    类型

    说明

    ID

    System.String

    组织的ID

    返回值

    组织对象

    方法名称:GetUnits(System.String[])

    方法说明

    通过ID批量获得组织

    输入参数

    名称

    类型

    说明

    Ids

    System.String[]

    组织的ID

    返回值

    组织对象

    方法名称:GetUnitsByCodes(System.String[])

    方法说明

    通过Code批量获得组织

    输入参数

    名称

    类型

    说明

    Codes

    System.String[]

    组织的Code

    返回值

    组织对象

    方法名称:GetUnitFullNameTable(System.String[])

    方法说明

    通过ID批量获得组织的全名。执行该方法不需要锁定组织结构服务。

    输入参数

    名称

    类型

    说明

    Ids

    System.String[]

    组织的ID

    返回值

    如果参数是Null,那么返回Null;否则按照每个ID获得名称,不获取重复的记录,然后返回一个(ID, 全名称)的表

    方法名称:GetUnitPathTable(System.String[])

    方法说明

    通过ID批量获得组织的全名。执行该方法不需要锁定组织结构服务。

    输入参数

    名称

    类型

    说明

    Ids

    System.String[]

    组织的ID

    返回值

    如果参数是Null,那么返回Null;否则按照每个ID获得名称,不获取重复的记录,然后返回一个(ID, 全路径)的表

    方法名称:GetUnitCopy(System.String)

    方法说明

    根据ID获得Unit的一个副本,这个副本中的属性跟Unit本身完全一样,只是并不在组织结构的缓存中,外部程序可以对这个副本进行编辑,然后再通过UpdateUnit方法,更新到系统缓存和数据库中。如果不使用副本直接进行编辑的话,那么可能会影响内存中的对象。

    输入参数

    名称

    类型

    说明

    ID

    System.String

    组织的ID

    返回值

    组织对象

    方法名称:GetCompanyUnits(OThinker.Organization.State)

    方法说明

    获得公司下的所有单元

    输入参数

    名称

    类型

    说明

    State

    OThinker.Organization.State

    组织的状态条件

    返回值

    公司下面的所有符合状态条件的组织对象

    方法名称:AddUnit(System.String,OThinker.Organization.Unit)

    方法说明

    添加一个Unit

    输入参数

    名称

    类型

    说明

    Modifier

    System.String

    请求变更的人

    Unit

    OThinker.Organization.Unit

    要添加的对象

    返回值

    返回ID

    方法名称:UpdateUnit(System.String,OThinker.Organization.Unit)

    方法说明

    更新一个Unit

    输入参数

    名称

    类型

    说明

    Modifier

    System.String

    请求变更的人

    Unit

    OThinker.Organization.Unit

    具有新属性的Unit

    返回值

    错误代码

    方法名称:RemoveUnit(System.String,System.String)

    方法说明

    删除一个组织

    输入参数

    名称

    类型

    说明

    Modifier

    System.String

    请求变更的人

    ID

    System.String

    要删除的组织的ID

    返回值

    删除的Unit的数量

    方法名称:Sync(System.String,System.String[],System.String,System.String,System.DateTime,OThinker.Organization.RootMode,OThinker.Organization.ADUserRemovingPolicy,System.Boolean)

    方法说明

    同步AD

    输入参数

    名称

    类型

    说明

    Modifier

    System.String

    修改人员

    ADPathes

    System.String[]

    AD路径

    ADUser

    System.String

    AD登录名

    ADPassword

    System.String

    AD密码

    UTCLastSyncTime

    System.DateTime

    上一次同步时间

    RootMode

    OThinker.Organization.RootMode

    根目录模式。如果要同步的对象是某一个OU,那么允许两种模式:1、将OU作为一个节点同步到公司节点下面;2、将OU下面的子对象直接同步到公司下面。

    ADUserRemovingPolicy

    OThinker.Organization.ADUserRemovingPolicy

    AD用户被删除之后的同步策略

    LoginNameIncludeDomain

    System.Boolean

    用户的登陆名是否包含域名

    返回值

    方法名称:CreateUser(System.String,System.String[],System.String,System.String,System.String,System.Boolean,OThinker.Organization.HandleResult@)

    方法说明

    根据活动目录中的用户信息新建一个用户对象

    输入参数

    名称

    类型

    说明

    ADPath

    System.String

    AD路径

    ReferenceADPathes

    System.String[]

    ADUser

    System.String

    AD登录名

    ADPassword

    System.String

    AD密码

    UserAlias

    System.String

    要创建的用户的登录名

    LoginNameIncludeDomain

    System.Boolean

    用户的登陆名是否包含域名

    Result

    OThinker.Organization.HandleResult@

    如果成功则返回SUCCESS,否则返回错误代码

    返回值

    新建的用户

    方法名称:QueryADUsers(System.String[],System.String,System.String,System.String)

    方法说明

    按照登陆名前缀条件来查找AD用户

    输入参数

    名称

    类型

    说明

    ADPathes

    System.String[]

    所有需要遍历的LADP

    ADUser

    System.String

    登陆名

    ADPassword

    System.String

    登陆密码

    UserAlias

    System.String

    账号前缀

    返回值

    (LDAP, 用户不带域前缀的登陆名数组)

    方法名称:QueryADUsersByDate(System.String[],System.String,System.String,System.DateTime)

    方法说明

    按照修改日期条件来查找AD用户

    输入参数

    名称

    类型

    说明

    ADPathes

    System.String[]

    所有需要遍历的LADP

    ADUser

    System.String

    登陆名

    ADPassword

    System.String

    登陆密码

    UTCBenchDate

    System.DateTime

    基准时间

    返回值

    (LDAP, 用户不带域前缀的登陆名数组)

    方法名称:QueryLog(System.DateTime,System.DateTime)

    方法说明

    用于查找修改日志,取的日志范围是小于To并且大于等于From

    输入参数

    名称

    类型

    说明

    From

    System.DateTime

    查询的开始时间

    To

    System.DateTime

    查询的结束时间

    返回值

    搜索到的日志

    方法名称:IsAdministrator(System.String)

    方法说明

    判断该用户是否是管理员

    输入参数

    名称

    类型

    说明

    ID

    System.String

    返回值

    方法名称:IsAdministratorByIds(System.String[])

    方法说明

    如果其中任何一个对象是管理员,那么返回true

    输入参数

    名称

    类型

    说明

    Ids

    System.String[]

    组织的ID

    返回值

    如果其中任何一个对象是管理员,那么返回true,否则返回false

    方法名称:GetManager(System.String)

    方法说明

    获得用户/组/OU/公司的经理。但是不能获得群的经理

    输入参数

    名称

    类型

    说明

    ID

    System.String

    组织的ID

    返回值

    这个组织的经理

    方法名称:GetManagers(System.String[])

    方法说明

    获得用户/组/OU/公司/群的经理,如果是群的话,那么需要自动展开,然后分别获得每个组织的经理

    输入参数

    名称

    类型

    说明

    Units

    System.String[]

    用户/组/OU/公司/群的ID数组

    返回值

    组织的经理

    方法名称:GetDirectManager(System.String)

    方法说明

    获得用户的直接经理

    输入参数

    名称

    类型

    说明

    ID

    System.String

    组织的ID

    返回值

    组织的经理经理的ID

    方法名称:GetRecursiveManagers(System.String)

    方法说明

    获得用户的递归的经理,从直接经理依次往上递归

    输入参数

    名称

    类型

    说明

    ID

    System.String

    组织的ID

    返回值

    组织的经理的ID数组

    方法名称:GetManagerByInterval(System.String,System.Int32)

    方法说明

    获得某个组织的跨级经理。

    输入参数

    名称

    类型

    说明

    UnitId

    System.String

    组织ID。如果组织是群,那么获得群的子对象,并针对各个子对象获得相应的跨级经理;如果是非群,那么直接获得跨级经理

    Interval

    System.Int32

    跨级的级别,0表示自己,1表示父对象,依次类推

    返回值

    返回的经理没有重复值

    方法名称:GetUnitsManagersByInterval(System.String[],System.Int32)

    方法说明

    获得某个组织的跨级经理。

    输入参数

    名称

    类型

    说明

    Units

    System.String[]

    组织ID。如果组织是群,那么获得群的子对象,并针对各个子对象获得相应的跨级经理;如果是非群,那么直接获得跨级经理

    Interval

    System.Int32

    跨级的级别,0表示自己,1表示父对象,依次类推

    返回值

    返回的经理没有重复值

    方法名称:GetManagerByLevel(System.String,System.Int32)

    方法说明

    获得某个级别的经理

    输入参数

    名称

    类型

    说明

    UnitId

    System.String

    组织ID。如果组织是群,那么获得群的子对象,并针对各个子对象获得相应的跨级经理;如果是非群,那么直接获得跨级经理

    Level

    System.Int32

    级别,0表示公司,1表示公司的直接下属OU,依次类推

    返回值

    如果对象不存在或者不存在那么多的级别父对象,那么返回Null

    方法名称:GetManagerByEmployeeRank(System.String,System.Int32)

    方法说明

    获取指定员工级别的经理

    输入参数

    名称

    类型

    说明

    UnitId

    System.String

    组织ID。如果组织是群,那么获得群的子对象,并针对各个子对象获得相应的跨级经理;如果是非群,那么直接获得跨级经理

    Level

    System.Int32

    级别,0表示公司,1表示公司的直接下属OU,依次类推

    返回值

    如果对象不存在或者不存在那么多的级别父对象,那么返回Null

    方法名称:GetManagersByLevel(System.String[],System.Int32)

    方法说明

    获得某个组织的跨级经理。

    输入参数

    名称

    类型

    说明

    Units

    System.String[]

    组织ID。如果组织是群,那么获得群的子对象,并针对各个子对象获得相应的跨级经理;如果是非群,那么直接获得跨级经理

    Level

    System.Int32

    级别,0表示公司,1表示公司的直接下属OU,依次类推

    返回值

    返回的经理没有重复值

    方法名称:GetManagersByEmployeeRank(System.String[],System.Int32)

    方法说明

    获取指定员工级别的经理

    输入参数

    名称

    类型

    说明

    Units

    System.String[]

    组织ID。如果组织是群,那么获得群的子对象,并针对各个子对象获得相应的跨级经理;如果是非群,那么直接获得跨级经理

    Level

    System.Int32

    员工级别

    返回值

    如果对象不存在或者不存在那么多的级别父对象,那么返回Null

    方法名称:GetName(System.String)

    方法说明

    获得单元的实际名称,比如张三,李四之类的。

    输入参数

    名称

    类型

    说明

    ID

    System.String

    组织的ID

    返回值

    如果返回null,那么表示该单元不存在

    方法名称:GetFullName(System.String)

    方法说明

    通过单元ID获得某个单元的全名称

    输入参数

    名称

    类型

    说明

    ID

    System.String

    组织的ID

    返回值

    如果单元为用户,则返回User[Alias];否则,则返回路径形式,比如/Company1/Dept1/Dept1_G1

    方法名称:GetPath(System.String)

    方法说明

    获得单元的全路径。注意:路径不能唯一确定某个单元

    输入参数

    名称

    类型

    说明

    ID

    System.String

    组织的ID

    返回值

    返回路径形式,比如/Company1/Dept1/Dept1_G1或者/Company1/User1的形式,路径中所有元素均为单元的名称

    方法名称:GetParent(System.String)

    方法说明

    获得父节点ID

    输入参数

    名称

    类型

    说明

    ID

    System.String

    组织的ID

    返回值

    父组织的ID

    方法名称:GetParentUnit(System.String)

    方法说明

    获得父对象

    输入参数

    名称

    类型

    说明

    ID

    System.String

    组织的ID

    返回值

    父组织

    方法名称:GetParentByLevel(System.String,System.Int32)

    方法说明

    通过层次获得父对象的ID

    输入参数

    名称

    类型

    说明

    ID

    System.String

    子对象ID

    Level

    System.Int32

    层次

    返回值

    父对象

    方法名称:GetParentByInterval(System.String,System.Int32)

    方法说明

    获取跨级上级对象

    输入参数

    名称

    类型

    说明

    ID

    System.String

    子对象ID

    Level

    System.Int32

    跨度层级,0表示自己

    返回值

    父对象

    方法名称:GetParentUnitByLevel(System.String,System.Int32)

    方法说明

    通过层次获得父对象

    输入参数

    名称

    类型

    说明

    ID

    System.String

    子对象ID

    Level

    System.Int32

    层次

    返回值

    父对象

    方法名称:GetUnitLevel(System.String)

    方法说明

    获取组织层级

    输入参数

    名称

    类型

    说明

    ID

    System.String

    组织ID

    返回值

    方法名称:GetParents(System.String,OThinker.Organization.UnitType,System.Boolean,OThinker.Organization.State)

    方法说明

    获得父/祖先Unit数组

    输入参数

    名称

    类型

    说明

    ID

    System.String

    子Unit

    ParentUnitType

    OThinker.Organization.UnitType

    要获得的父/祖先的类型

    Recursive

    System.Boolean

    是否递归

    State

    OThinker.Organization.State

    状态条件,如果要所有状态的组织,可以使用Unspecified

    返回值

    父/祖先集合

    方法名称:GetParentUnits(System.String,OThinker.Organization.UnitType,System.Boolean,OThinker.Organization.State)

    方法说明

    获得父/祖先Unit数组

    输入参数

    名称

    类型

    说明

    ID

    System.String

    子Unit

    ParentUnitType

    OThinker.Organization.UnitType

    要获得的父/祖先的类型

    Recursive

    System.Boolean

    是否递归

    State

    OThinker.Organization.State

    状态条件,如果要所有状态的组织,可以使用Unspecified

    返回值

    父/祖先集合

    方法名称:GetMembers(System.String[])

    方法说明

    如果Parents的某个Parent为用户,则返回他自己,如果Receiver为组或组织单元,则返回他下面的递归用户列表。

    输入参数

    名称

    类型

    说明

    Parents

    System.String[]

    父组织的ID

    返回值

    隶属于父组织的成员

    方法名称:GetMembersByState(System.String[],OThinker.Organization.State)

    方法说明

    如果Parents的某个Parent为用户,则返回他自己,如果Receiver为组或组织单元,则返回他下面的递归用户列表。

    输入参数

    名称

    类型

    说明

    Parents

    System.String[]

    父组织的ID

    State

    OThinker.Organization.State

    状态条件,如果要所有状态的组织,可以使用Unspecified

    返回值

    隶属于父组织的成员

    方法名称:GetMemberUsers(System.String[])

    方法说明

    获得用户成员。;如果Unit为Company、OrganizationUnit,则递归获得他们下面的所有User成员;如果Unit为Group,则获得该Group下的所有User成员;如果Unit为User,则直接返回string[]{ User }

    输入参数

    名称

    类型

    说明

    Units

    System.String[]

    父组织的ID

    返回值

    父组织中的所有用户子成员

    方法名称:GetChildren(System.String,OThinker.Organization.UnitType,System.Boolean,OThinker.Organization.State)

    方法说明

    获得子Unit

    输入参数

    名称

    类型

    说明

    ID

    System.String

    祖先的ID

    ChildUnitType

    OThinker.Organization.UnitType

    作为一个过滤条件,只返回这种类型的Unit

    Recursive

    System.Boolean

    是否递归

    State

    OThinker.Organization.State

    状态条件,如果要所有状态的组织,可以使用Unspecified

    返回值

    如果祖先是Company或者OrganizationUnit类型,那么递归/不递归返回下面的所有ChildUnitType类型的Unit;如果是Group,则不递归只返回他的下属成员;如果是User,则不递归返回Manager指向该User的Unit

    方法名称:GetChildUnits(System.String,OThinker.Organization.UnitType,System.Boolean,OThinker.Organization.State)

    方法说明

    获得子Unit

    输入参数

    名称

    类型

    说明

    ID

    System.String

    祖先的ID

    ChildUnitType

    OThinker.Organization.UnitType

    作为一个过滤条件,只返回这种类型的Unit

    Recursive

    System.Boolean

    是否递归

    返回值

    如果祖先是Company或者OrganizationUnit类型,那么递归/不递归返回下面的所有ChildUnitType类型的Unit;如果是Group,则不递归只返回他的下属成员;如果是User,则不递归返回Manager指向该User的Unit

    方法名称:GetChildUnitsByIds(System.String[],OThinker.Organization.UnitType,System.Boolean,OThinker.Organization.State)

    方法说明

    获得子Unit

    输入参数

    名称

    类型

    说明

    IDs

    System.String[]

    祖先的ID

    ChildUnitType

    OThinker.Organization.UnitType

    作为一个过滤条件,只返回这种类型的Unit

    Recursive

    System.Boolean

    是否递归

    State

    OThinker.Organization.State

    状态条件,如果要所有状态的组织,可以使用Unspecified

    返回值

    如果祖先是Company或者OrganizationUnit类型,那么递归/不递归返回下面的所有ChildUnitType类型的Unit;如果是Group,则不递归只返回他的下属成员;如果是User,则不递归返回Manager指向该User的Unit

    方法名称:GetChildrenByLevel(System.String,OThinker.Organization.UnitType,System.Int32,OThinker.Organization.State)

    方法说明

    根据层级获得子对象

    输入参数

    名称

    类型

    说明

    ID

    System.String

    父对象

    ChildUnitType

    OThinker.Organization.UnitType

    子对象类型

    Level

    System.Int32

    层级

    State

    OThinker.Organization.State

    状态条件,如果要所有状态的组织,可以使用Unspecified

    返回值

    该层级的子组织

    方法名称:GetChildUnitsByLevel(System.String,OThinker.Organization.UnitType,System.Int32,OThinker.Organization.State)

    方法说明

    根据层级获得子对象

    输入参数

    名称

    类型

    说明

    ID

    System.String

    父对象

    ChildUnitType

    OThinker.Organization.UnitType

    子对象类型

    Level

    System.Int32

    层级

    State

    OThinker.Organization.State

    状态条件,如果要所有状态的组织,可以使用Unspecified

    返回值

    该层级的子组织

    方法名称:IsAncestor(System.String,System.String)

    方法说明

    判断某一个单元是否是另外一个单元的祖先

    输入参数

    名称

    类型

    说明

    ChildID

    System.String

    子孙ID

    AncestorID

    System.String

    祖先ID

    返回值

    如果是祖先关系则返回true,否则返回false

    方法名称:GetUserManagedUnits(System.String,OThinker.Organization.UnitType)

    方法说明

    用户的直接下属

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    用户

    UnitType

    OThinker.Organization.UnitType

    单元的类型

    返回值

    该用户管理的对象

    方法名称:GetUserEmail(System.String)

    方法说明

    获得用户的电子邮件地址

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    用户ID

    返回值

    用户的邮件地址

    方法名称:GetUserAddress(System.String)

    方法说明

    获得用户的地址

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    用户ID

    返回值

    用户的地址

    方法名称:GetUserTitle(System.String)

    方法说明

    获得用户头衔

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    返回值

    方法名称:GetUserMobile(System.String)

    方法说明

    获得用户的移动电话

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    用户ID

    返回值

    用户的移动电话

    方法名称:GetUserOfficePhone(System.String)

    方法说明

    获得用户的办公电话

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    用户ID

    返回值

    用户的办公电话

    方法名称:GetUserIpPhone(System.String)

    方法说明

    获得用户的IP电话

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    用户ID

    返回值

    用户的IP电话

    方法名称:GetParentGroups(System.String,OThinker.Organization.VisibleType,OThinker.Organization.State)

    方法说明

    获得用户所属于的组

    输入参数

    名称

    类型

    说明

    ID

    System.String

    组成员的ID

    Type

    OThinker.Organization.VisibleType

    可见类型

    State

    OThinker.Organization.State

    状态过滤条件

    返回值

    用户隶属于的组

    方法名称:Sort(System.String[])

    方法说明

    通过排序键升序排序

    输入参数

    名称

    类型

    说明

    Units

    System.String[]

    组织的ID

    返回值

    排序号的组织的ID,按照排序码升序排列

    方法名称:GetUserDept(System.String)

    方法说明

    获得用户所属于的部门

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    用户ID

    返回值

    用户所属于的部门

    方法名称:QueryUser(System.String,OThinker.Organization.State)

    方法说明

    查找用户

    输入参数

    名称

    类型

    说明

    Keyword

    System.String

    要查询的关键字

    State

    OThinker.Organization.State

    状态条件,如果要所有状态的组织,可以使用Unspecified

    返回值

    查询出的用户表

    方法名称:QueryByName(System.String,OThinker.Organization.UnitType,OThinker.Organization.State)

    方法说明

    获得所有以某个字符串为开头的组织,其中对于用户会匹配用户名和登录名两个字段,其他类型的组织只匹配名称

    输入参数

    名称

    类型

    说明

    StartWith

    System.String

    打头的字符串,禁止为Null,不区分大小写

    UnitType

    OThinker.Organization.UnitType

    要求返回的类型

    State

    OThinker.Organization.State

    状态条件,如果要所有状态的组织,可以使用Unspecified

    返回值

    返回的对象

    方法名称:AddSignature(OThinker.Organization.Signature)

    方法说明

    添加签章

    输入参数

    名称

    类型

    说明

    Signature

    OThinker.Organization.Signature

    签章

    返回值

    如果添加成功,则返回true,否则返回false

    方法名称:RemoveSignature(System.String)

    方法说明

    删除签章

    输入参数

    名称

    类型

    说明

    SignatureId

    System.String

    签章的ID

    返回值

    方法名称:SetSignatureState(System.String,OThinker.Organization.State)

    方法说明

    设置签章的状态

    输入参数

    名称

    类型

    说明

    SignatureId

    System.String

    签章ID

    State

    OThinker.Organization.State

    状态

    返回值

    方法名称:GetSignature(System.String)

    方法说明

    获得签章

    输入参数

    名称

    类型

    说明

    SignatureId

    System.String

    签章的ID

    返回值

    签章信息

    方法名称:GetSignatures(System.String[])

    方法说明

    获得签章

    输入参数

    名称

    类型

    说明

    SignatureIds

    System.String[]

    签章的ID

    返回值

    签章

    方法名称:GetSignaturesByUnit(System.String)

    方法说明

    获得用户的所有签章

    输入参数

    名称

    类型

    说明

    UnitId

    System.String

    组织的ID

    返回值

    签章

    方法名称:GetSignatureByName(System.String,System.String)

    方法说明

    通过名字获得签章

    输入参数

    名称

    类型

    说明

    UnitId

    System.String

    组织的ID

    Name

    System.String

    签章名称

    返回值

    签章

    方法名称:GetSignatureNames(System.String)

    方法说明

    获得用户所有签章的名称

    输入参数

    名称

    类型

    说明

    UnitId

    System.String

    组织的ID

    返回值

    签章

    方法名称:GetDefaultSignature(System.String)

    方法说明

    获得默认的签章

    输入参数

    名称

    类型

    说明

    UnitId

    System.String

    组织的ID

    返回值

    默认签章的ID

    方法名称:SetDefaultSignature(System.String,System.Boolean)

    方法说明

    设置为默认的签章

    输入参数

    名称

    类型

    说明

    SignatureId

    System.String

    签章的ID

    Default

    System.Boolean

    是否是默认的

    返回值

    方法名称:AddCategory(OThinker.Organization.Category)

    方法说明

    添加类型定义

    输入参数

    名称

    类型

    说明

    Category

    OThinker.Organization.Category

    类型定义

    返回值

    如果添加成功,则返回true,否则返回false

    方法名称:RemoveCategory(System.String)

    方法说明

    删除类型

    输入参数

    名称

    类型

    说明

    CategoryId

    System.String

    类型定义的ID

    返回值

    方法名称:GetCategory(System.String)

    方法说明

    根据类型定义的ID获得类型

    输入参数

    名称

    类型

    说明

    CategoryId

    System.String

    类型的ID

    返回值

    类型定义

    方法名称:GetCategoryNames

    方法说明

    获得用户所有类型的名称

    输入参数

    名称

    类型

    说明

    返回值

    类型的名称

    方法名称:GetCategoryCodes

    方法说明

    获得用户所有类型的编码

    输入参数

    名称

    类型

    说明

    返回值

    所有类型的编码

    方法名称:GetCategoryByCode(System.String)

    方法说明

    通过编码获得分类

    输入参数

    名称

    类型

    说明

    Code

    System.String

    类型的编码

    返回值

    类型定义

    方法名称:GetByUnitType(OThinker.Organization.UnitType)

    方法说明

    通过类型获得可选择的分类

    输入参数

    名称

    类型

    说明

    Type

    OThinker.Organization.UnitType

    组织的类型

    返回值

    支持这种组织类型的类型定义

    方法名称:SaveCategory(OThinker.Organization.Category)

    方法说明

    保存类型

    输入参数

    名称

    类型

    说明

    Category

    OThinker.Organization.Category

    类型定义

    返回值

    如果保存成功,则返回true,否则返回false

    方法名称:UpdateCategory(OThinker.Organization.Category)

    方法说明

    保存类型

    输入参数

    名称

    类型

    说明

    Category

    OThinker.Organization.Category

    类型定义

    返回值

    如果保存成功,则返回true,否则返回false

    方法名称:GetCategoryByUnitId(System.String)

    方法说明

    通过单元ID获得分类

    输入参数

    名称

    类型

    说明

    UnitId

    System.String

    组织的ID

    返回值

    类型定义

    方法名称:GetCategoryIdsByCodes(System.String[])

    方法说明

    通过分类的编码获得分类的ID

    输入参数

    名称

    类型

    说明

    Codes

    System.String[]

    类型编码

    返回值

    类型的ID

    方法名称:GetUnitCategoryCode(System.String)

    方法说明

    获得单元的类型编码

    输入参数

    名称

    类型

    说明

    UnitId

    System.String

    组织的ID

    返回值

    类型编码

    方法名称:GetUnitCategoryName(System.String)

    方法说明

    获得单元的类型名称

    输入参数

    名称

    类型

    说明

    UnitId

    System.String

    组织的ID

    返回值

    类型名称

    方法名称:FilterByCategoryCodes(System.String[],System.String[])

    方法说明

    通过分类的编码过滤组织

    输入参数

    名称

    类型

    说明

    Units

    System.String[]

    组织

    Codes

    System.String[]

    类型编码

    返回值

    过滤的组织的ID

    方法名称:FindRole(System.String,System.String,System.Boolean)

    方法说明

    通过名称查找某个组织对应的角色。应用场景比如查找张三对应的报销审批专员。先在该组织的直接子成员上查找,如果找到则返回第一个;否则检查是否遍历父节点,如果需要遍历父节点,则遍历父节点;否则返回Null。

    输入参数

    名称

    类型

    说明

    StartUnit

    System.String

    起始组织。必须是用户/组/OU

    UnitName

    System.String

    名称

    LookForAnsestor

    System.Boolean

    如果没有找到,是否是向父节点遍历

    返回值

    返回找到的第一个组织的ID

    方法名称:FindRoles(System.String,System.String)

    方法说明

    通过名称查找某个组织对应的角色。应用场景比如查找张三对应的报销审批专员。先在该组织的直接子成员上查找,如果找到则返回第一个;否则检查是否遍历父节点,如果需要遍历父节点,则遍历父节点;否则返回Null。

    输入参数

    名称

    类型

    说明

    StartUnit

    System.String

    起始组织。必须是用户/组/OU/群

    UnitName

    System.String

    名称

    返回值

    返回找到的第一个组织的ID

    方法名称:FindRolesByUnits(System.String[],System.String)

    方法说明

    查找组织对应的角色。比如要查找“研发部门”对应的“审计”人员

    输入参数

    名称

    类型

    说明

    StartUnits

    System.String[]

    要查找的组织的ID。如果是群,那么会自动展开下面的子对象

    RoleName

    System.String

    名称

    返回值

    每个组织会返回第一个找到的对象

    方法名称:FindRoleUnits(System.String[],System.String)

    方法说明

    查找组织对应的角色。比如要查找“研发部门”对应的“审计”人员

    输入参数

    名称

    类型

    说明

    StartUnits

    System.String[]

    要查找的组织的ID。如果是群,那么会自动展开下面的子对象

    RoleName

    System.String

    角色的名称

    返回值

    找到的组织

    方法名称:GetReferences(System.String)

    方法说明

    获得某个对象的引用。注意:该方法是逐一遍历所有组织对象,会非常占用服务器CPU,但是不会锁定组织结构服务对象

    输入参数

    名称

    类型

    说明

    UnitId

    System.String

    被引用的对象的ID

    返回值

    如果参数为Null或者"",那么返回False;如果参数为this.UnitId,那么返回true;否则检查其他属性是否等于该值。

    方法名称:GetWorkflowCode(System.String)

    方法说明

    获得某个组织对应的流程编码

    输入参数

    名称

    类型

    说明

    UnitId

    System.String

    组织的ID

    返回值

    流程实例的流水号的编码

    方法名称:GetUnitByCode(System.String)

    方法说明

    通过编码来查找组织对象

    输入参数

    名称

    类型

    说明

    Code

    System.String

    编码

    返回值

    编号相匹配的组织对象

    方法名称:GetUserByEmployeeNumber(System.String)

    方法说明

    通过员工编号来查找组织对象

    输入参数

    名称

    类型

    说明

    EmployeeNumber

    System.String

    员工编号

    返回值

    员工编号相匹配的用户对象

    方法名称:AddOrgJob(System.String,OThinker.Organization.OrgJob)

    方法说明

    添加一个职务

    输入参数

    名称

    类型

    说明

    Modifier

    System.String

    请求变更的用户

    Job

    OThinker.Organization.OrgJob

    要添加的职务

    返回值

    方法名称:RemoveOrgJob(System.String,System.String)

    方法说明

    删除一个职务

    输入参数

    名称

    类型

    说明

    Modifier

    System.String

    请求变更的用户

    OrgJobId

    System.String

    职务ID

    返回值

    方法名称:GetOrgJobById(System.String)

    方法说明

    根据职务ID获得职务

    输入参数

    名称

    类型

    说明

    OrgJobId

    System.String

    职务Id

    返回值

    职务

    方法名称:GetOrgJobByCode(System.String)

    方法说明

    根据职务编码获得职务

    输入参数

    名称

    类型

    说明

    OrgJobCode

    System.String

    职务编码

    返回值

    职务

    方法名称:GetOrgJobs

    方法说明

    获得所有的职务

    输入参数

    名称

    类型

    说明

    返回值

    所有的职务

    方法名称:UpdateOrgJob(System.String,OThinker.Organization.OrgJob)

    方法说明

    更新一个职务

    输入参数

    名称

    类型

    说明

    Modifier

    System.String

    更新用户

    Job

    OThinker.Organization.OrgJob

    职务

    返回值

    如果出现重复的编码或者空的编码,则返回false;否则返回true

    方法名称:FindPost(System.String,System.String,System.Boolean)

    方法说明

    找到某个组织机构下面最直接的

    输入参数

    名称

    类型

    说明

    OrgId

    System.String

    组织的ID,这个不能使群

    OrgJobCode

    System.String

    职务

    Recursive

    System.Boolean

    是否递归查找

    返回值

    岗位

    方法名称:FindPosts(System.String[],System.String)

    方法说明

    找到某个组织机构下面最直接的岗位

    输入参数

    名称

    类型

    说明

    OrgIds

    System.String[]

    组织的ID

    OrgJobCode

    System.String

    职务

    返回值

    岗位

    方法名称:FindPostMembers(System.String[],System.String)

    方法说明

    找到某个组织机构下面最直接的岗位的成员

    输入参数

    名称

    类型

    说明

    OrgIds

    System.String[]

    组织的ID

    OrgJobCode

    System.String

    职务编码

    返回值

    岗位人员

    方法名称:FindPostMembersByCode(System.String[],System.String)

    方法说明

    找到某个组织机构下面最的岗位成员(包含编制中的用户)

    输入参数

    名称

    类型

    说明

    OrgIds

    System.String[]

    组织的ID

    PostCode

    System.String

    岗位编码

    返回值

    岗位人员

    方法名称:GetPostsByOrgJobCode(System.String)

    方法说明

    根据职位的编码获得所有的岗位

    输入参数

    名称

    类型

    说明

    OrgJobCode

    System.String

    职位编码

    返回值

    某个职位的所有岗位

    方法名称:FindSuperiorPost(System.String,System.Boolean)

    方法说明

    获得岗位的上级岗位,当上级岗位不存在的时候,自动向上遍历更高的上级岗位

    输入参数

    名称

    类型

    说明

    PostId

    System.String

    岗位ID

    RequiredMembers

    System.Boolean

    是否要求返回的岗位必须包含至少一名成员

    返回值

    上级岗位

    方法名称:FindSuperiorPostMembers(System.String)

    方法说明

    获得岗位的上级岗位

    输入参数

    名称

    类型

    说明

    PostId

    System.String

    岗位ID

    返回值

    上级岗位的成员,如果直接上级岗位不存在成员,则自动向上遍历

    方法名称:FindRecursiveParentPost(System.String,System.Int32)

    方法说明

    查找上级岗位到满足某个指定的级别,返回该岗位中的用户

    输入参数

    名称

    类型

    说明

    PostId

    System.String

    查找的起始岗位ID

    Rank

    System.Int32

    岗位级别

    返回值

    方法名称:GetPostStaffByPost(System.String)

    方法说明

    根据岗位编码获取所有的编制信息

    输入参数

    名称

    类型

    说明

    PostId

    System.String

    返回值

    方法名称:GetParentPostByLevel(System.String,System.Int32)

    方法说明

    获取指定岗位级别的上级岗位

    输入参数

    名称

    类型

    说明

    PostId

    System.String

    起始岗位ID

    Level

    System.Int32

    岗位级别

    返回值

    方法名称:GetParentPost(System.String)

    方法说明

    获取指定岗位的上级岗位用户

    输入参数

    名称

    类型

    说明

    PostId

    System.String

    岗位ID

    返回值

    方法名称:GetCalendarId(System.String)

    方法说明

    获得某个组织机构的工作日历

    输入参数

    名称

    类型

    说明

    UnitId

    System.String

    组织结构对象ID

    返回值

    该组织结构对象对应的工作日历,如果该组织结构对象引用的工作日历为空,则自动向上遍历

    方法名称:GetCalendarReferences(System.String)

    方法说明

    获得哪些组织结构对象引用了该工作日历

    输入参数

    名称

    类型

    说明

    CalendarId

    System.String

    工作日历的对象ID,不区分大小写

    返回值

    引用该工作日历的组织结构对象

    方法名称:FindManagersByLevelRange(System.String,System.Int32)

    方法说明

    查找上级经理到满足某个指定的级别 例如职级是从小到大,当A职级是3时,找到职级是6的经理,那么会返回用户上级经理中职级是4、5、6的人员,当6级经理不存在,则返回职级是7的经理 职级是从大到小时,那么A的职级是3,找到职级是1的经理时,返回上级经理中职级是2和1的经理,如果1没有找到,那么返回职级是0的经理

    输入参数

    名称

    类型

    说明

    UserId

    System.String

    查找的组织范围起点

    EndLevel

    System.Int32

    用户职级

    返回值

    方法名称:InitOrganizationDim

    方法说明

    /初始化平铺

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:it.Update(OThinker.Organization.IOrganization,System.DirectoryServices.DirectoryEntry,System.DirectoryServices.DirectoryEntry[],System.DirectoryServices.DirectoryEntry,System.Boolean)

    方法说明

    更新属性

    输入参数

    名称

    类型

    说明

    Organization

    OThinker.Organization.IOrganization

    组织结构对象

    Root

    System.DirectoryServices.DirectoryEntry

    AD中的根目录

    Entry

    System.DirectoryServices.DirectoryEntry[]

    AD中的对象

    LoginNameIncludeDomain

    System.DirectoryServices.DirectoryEntry

    登陆名中是否包含域名称

    返回值

    方法名称:it.Validate(OThinker.Organization.IOrganization)

    方法说明

    验证是否合法

    输入参数

    名称

    类型

    说明

    Organization

    OThinker.Organization.IOrganization

    组织结构接口,用来获得人员、OU、组等信息

    返回值

    如果合法则返回SUCCESS,否则返回错误代码

    方法名称:hinker.Organization.IOrganization,System.DirectoryServices.DirectoryEntry,System.DirectoryServices.DirectoryEntry[],System.DirectoryServices.DirectoryEntry,System.Boolean)

    方法说明

    跟活动目录同步的时候,调用更新属性方法,以活动目录中用户的属性为准

    输入参数

    名称

    类型

    说明

    Organization

    hinker.Organization.IOrganization

    组织结构对象

    Root

    System.DirectoryServices.DirectoryEntry

    AD中的根目录

    Entry

    System.DirectoryServices.DirectoryEntry[]

    AD中的对象

    LoginNameIncludeDomain

    System.DirectoryServices.DirectoryEntry

    登陆名中是否包含域名称,如果包含的话,那么登录名的格式是domain1user2这样的形式

    返回值

    方法名称:OThinker.Organization.IOrganization)

    方法说明

    验证是否合法

    输入参数

    名称

    类型

    说明

    Organization

    OThinker.Organization.IOrganization

    组织结构接口,用来获得人员、OU、组等信息

    返回值

    如果合法则返回SUCCESS,否则返回错误代码

    类:OThinker.H3.Acl.IBizRuleAclManager

    说明:规则定义权限控制器

    访问入口:Engine.BizRuleAclManager

    示例:

    Engine.BizRuleAclManager.Add(new Acl.BizRuleAcl());

    方法名称:Check(System.String[],System.String,System.String,OThinker.H3.Acl.AclType)

    方法说明

    查询指定的用户/组/组织单元中是否存在用户/组/组织单元具有某个规则的某种权限

    输入参数

    名称

    类型

    说明

    Users

    System.String[]

    用户/组/组织单元ID数组

    BizRuleCode

    System.String

    业务规则编码

    DecisionMatrixCode

    System.String

    决策表编码

    AclType

    OThinker.H3.Acl.AclType

    权限类型

    返回值

    如果存在某个用户/组/组织单元具有该权限,则返回true;否则返回false

    方法名称:QueryDataTable(System.String[],System.String,System.String)

    方法说明

    获得当前规则定义的权限控制表

    输入参数

    名称

    类型

    说明

    Users

    System.String[]

    用户/组/组织单元ID数组,如果为空,则不将该参数作为搜索条件

    BizRuleCode

    System.String

    业务规则编码

    DecisionMatrixCode

    System.String

    决策表编码

    返回值

    查询到的表

    方法名称:Add(OThinker.H3.Acl.BizRuleAcl)

    方法说明

    添加一个权限控制单元

    输入参数

    名称

    类型

    说明

    Acl

    OThinker.H3.Acl.BizRuleAcl

    权限控制单元

    返回值

    如果添加成功,则返回true,否则返回false

    方法名称:GetBizRuleAcl(System.String)

    方法说明

    获得规则的权限控制单元

    输入参数

    名称

    类型

    说明

    AclID

    System.String

    权限ID

    返回值

    流程模板权限

    方法名称:GetUserAcls(System.String[])

    方法说明

    获得用户拥有的所有权限

    输入参数

    名称

    类型

    说明

    Users

    System.String[]

    用户范围,实际上,这里也可以是组织单元ID或者其他组织类型的ID

    返回值

    拥有权限的功能权限

    方法名称:Update(OThinker.H3.Acl.BizRuleAcl[])

    方法说明

    更新

    输入参数

    名称

    类型

    说明

    Acls

    OThinker.H3.Acl.BizRuleAcl[]

    要更新的权限对象

    返回值

    方法名称:Delete(System.String)

    方法说明

    删除

    输入参数

    名称

    类型

    说明

    AclID

    System.String

    权限控制单元的ID

    返回值

    类:OThinker.H3.Acl.IFunctionAclManager

    说明:功能权限管理

    访问入口:Engine.FunctionAclManager

    示例:

    Engine.FunctionAclManager.Add(new Acl.FunctionAcl());

    方法名称:Add(OThinker.H3.Acl.FunctionAcl)

    方法说明

    添加权限,并不检查功能编码是否存在,即允许添加没有定义过的功能的权限

    输入参数

    名称

    类型

    说明

    Acl

    OThinker.H3.Acl.FunctionAcl

    权限对象

    返回值

    返回添加权限是否成功

    方法名称:Delete(System.String)

    方法说明

    删除权限

    输入参数

    名称

    类型

    说明

    AclID

    System.String

    权限对象ID

    返回值

    方法名称:GetAcl(System.String)

    方法说明

    获得权限

    输入参数

    名称

    类型

    说明

    AclID

    System.String

    权限对象ID

    返回值

    返回权限对象

    方法名称:GetAclTable(System.String)

    方法说明

    获得用户的权限表

    输入参数

    名称

    类型

    说明

    UnitId

    System.String

    组织对象ID

    返回值

    返回指定组织对象的权限集合

    方法名称:GetFunctionNodes

    方法说明

    获得所有权限的定义

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:GetFunctionNode(System.String)

    方法说明

    根据菜单节点ID获取功能节点对象

    输入参数

    名称

    类型

    说明

    NodeId

    System.String

    菜单节点ID

    返回值

    返回菜单节点对象

    方法名称:GetFunctionNodeByCode(System.String)

    方法说明

    根据Code获取功能节点

    输入参数

    名称

    类型

    说明

    Code

    System.String

    菜单节点编码

    返回值

    返回菜单节点对象

    方法名称:GetFunctionNodesByParentCode(System.String)

    方法说明

    根据父节点编码获取子节点集合

    输入参数

    名称

    类型

    说明

    ParentCode

    System.String

    父节点编码

    返回值

    返回子菜单节点集合

    方法名称:GetFunctionRoot

    方法说明

    获取所有的根节点

    输入参数

    名称

    类型

    说明

    返回值

    返回所有的根节点

    方法名称:GetUserAcls(System.String[])

    方法说明

    获得用户拥有的所有权限

    输入参数

    名称

    类型

    说明

    Users

    System.String[]

    用户ID集合

    返回值

    返回用户权限的集合

    方法名称:RemoveFunctionNodeByCode(System.String,System.Boolean)

    方法说明

    删除树节点

    输入参数

    名称

    类型

    说明

    NodeCode

    System.String

    节点编码

    RemoveChildren

    System.Boolean

    是否移除子节点

    返回值

    返回节点移除是否成功

    方法名称:RemoveFunctionNode(System.String,System.Boolean)

    方法说明

    删除树节点

    输入参数

    名称

    类型

    说明

    NodeId

    System.String

    节点ID

    RemoveChildren

    System.Boolean

    是否移除子节点

    返回值

    返回节点移除是否成功

    方法名称:AddFunctionNode(OThinker.H3.Acl.FunctionNode)

    方法说明

    添加功能节点

    输入参数

    名称

    类型

    说明

    FunctionNode

    OThinker.H3.Acl.FunctionNode

    功能节点对象

    返回值

    返回添加是否成功

    方法名称:UpdateFunctionNode(OThinker.H3.Acl.FunctionNode)

    方法说明

    更新功能节点

    输入参数

    名称

    类型

    说明

    FunctionNode

    OThinker.H3.Acl.FunctionNode

    功能节点对象

    返回值

    返回添加是否成功

    方法名称:Update(OThinker.H3.Acl.FunctionAcl)

    方法说明

    更新权限

    输入参数

    名称

    类型

    说明

    Acl

    OThinker.H3.Acl.FunctionAcl

    菜单权限对象

    返回值

    方法名称:GetFunctionNodesByNodeType(OThinker.H3.Acl.FunctionNodeType)

    方法说明

    根据类型获取所有的节点

    输入参数

    名称

    类型

    说明

    NodeType

    OThinker.H3.Acl.FunctionNodeType

    节点类型

    返回值

    返回指定节点类型的集合

    方法名称:GetFunctionAclByCode(System.String)

    方法说明

    获取流程目录的权限列表

    输入参数

    名称

    类型

    说明

    FunctionCode

    System.String

    节点编码

    返回值

    返回指定节点的权限集合

    方法名称:LockNodeByUserId(System.String,System.String)

    方法说明

    锁定节点操作

    输入参数

    名称

    类型

    说明

    FunctionCode

    System.String

    节点编码

    UserId

    System.String

    用户ID

    返回值

    返回锁定节点操作是否成功

    方法名称:UnlockNodeByUserId(System.String,System.String)

    方法说明

    解除锁定节点操作

    输入参数

    名称

    类型

    说明

    FunctionCode

    System.String

    节点编码

    UserId

    System.String

    用户ID

    返回值

    返回解除锁定节点操作是否成功

    类:OThinker.H3.Acl.ISystemOrgAclManager

    说明:系统权限接口

    访问入口:this.Engine.SystemOrgAclManager

    示例:

    this.Engine.SystemOrgAclManager.Add(new Acl.SystemOrgAcl());

    方法名称:OThinker.H3.Acl.FunctionAcl

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.H3.Acl.FunctionAcl(System.String,System.String,System.Boolean,System.String)

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    用户ID,实际上,这个也可以使一个OU ID或者其他组织结构的ID

    FunctionCode

    System.String

    功能代码

    Run

    System.Boolean

    是否可以运行

    CreatedBy

    System.String

    创建人

    返回值

    方法名称:OThinker.H3.Acl.SystemOrgAcl

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.H3.Acl.SystemOrgAcl(System.String,System.String,System.Boolean,System.Boolean,System.Boolean)

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    UserId

    System.String

    被授权的用户ID

    OrgScope

    System.String

    管理的组织结构范围

    EditOrg

    System.Boolean

    编辑组织结构权限

    View

    System.Boolean

    查看权限

    Admin

    System.Boolean

    管理权限

    返回值

    方法名称:Check(System.String[],System.String[],OThinker.H3.Acl.AclType)

    方法说明

    检查用户是否具有某种权限

    输入参数

    名称

    类型

    说明

    Users

    System.String[]

    用户ID数组

    AclType

    System.String[]

    权限类型

    返回值

    如果具备该权限,则返回true,否则返回false

    示例:
    Check(new string[]{"114b59cc-b2ce-11dc-8314-0800200c9a66"}, AclType.Admin)

    方法名称:GetUserAcls(System.String[])

    方法说明

    获得用户拥有的所有权限

    输入参数

    名称

    类型

    说明

    Users

    System.String[]

    用户/OU/Group/Segment ID数组

    返回值

    这些组织拥有的系统-组织权限

    方法名称:GetAllAcls

    方法说明

    获取所有权限

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:Add(OThinker.H3.Acl.SystemOrgAcl)

    方法说明

    添加权限

    输入参数

    名称

    类型

    说明

    Acl

    OThinker.H3.Acl.SystemOrgAcl

    系统权限控制单元

    返回值

    如果添加成功则返回true,否则返回false

    方法名称:GetAcl(System.String)

    方法说明

    获得权限信息

    输入参数

    名称

    类型

    说明

    AclID

    System.String

    系统权限控制单元ID

    返回值

    系统-组织权限对象

    方法名称:Update(OThinker.H3.Acl.SystemOrgAcl[])

    方法说明

    更新权限信息

    输入参数

    名称

    类型

    说明

    Acls

    OThinker.H3.Acl.SystemOrgAcl[]

    要更新的系统权限控制单元数组

    返回值

    方法名称:Delete(System.String)

    方法说明

    删除权限

    输入参数

    名称

    类型

    说明

    AclID

    System.String

    要删除的系统权限控制单元ID

    返回值

    类:OThinker.H3.Acl.ISystemAclManager

    说明:系统权限接口

    访问入口:this.Engine.SystemAclManager

    示例:

    this.Engine.SystemAclManager.Add(new Acl.SystemAcl());

    方法名称:Check(System.String[],OThinker.H3.Acl.AclType)

    方法说明

    检查用户是否具有某种权限

    输入参数

    名称

    类型

    说明

    Users

    System.String[]

    用户ID数组

    AclType

    OThinker.H3.Acl.AclType

    权限类型

    返回值

    如果具备权限,则返回true,否则返回false

    示例:
    Check(new string[]{"114b59cc-b2ce-11dc-8314-0800200c9a66"}, AclType.Admin)

    方法名称:Add(OThinker.H3.Acl.SystemAcl)

    方法说明

    添加权限

    输入参数

    名称

    类型

    说明

    Acl

    OThinker.H3.Acl.SystemAcl

    系统权限控制单元

    返回值

    如果添加成功,则返回true,否则返回false

    方法名称:GetSystemAcl(System.String)

    方法说明

    获得权限信息

    输入参数

    名称

    类型

    说明

    AclID

    System.String

    系统权限控制单元ID

    返回值

    系统权限

    方法名称:GetAllAcls

    方法说明

    获得所有的权限信息

    输入参数

    名称

    类型

    说明

    返回值

    权限信息

    方法名称:Update(OThinker.H3.Acl.SystemAcl[])

    方法说明

    更新权限信息

    输入参数

    名称

    类型

    说明

    Acls

    OThinker.H3.Acl.SystemAcl[]

    要更新的系统权限控制单元数组

    返回值

    方法名称:Delete(System.String)

    方法说明

    删除权限

    输入参数

    名称

    类型

    说明

    AclID

    System.String

    要删除的系统权限控制单元ID

    返回值

    类:OThinker.H3.Acl.IWorkflowAclManager

    说明:工作流模板权限控制器

    访问入口:this.Engine.WorkflowAclManager

    示例:

    this.Engine.WorkflowAclManager.Add(new Acl.WorkflowAcl());

    方法名称:OThinker.H3.Acl.WorkflowAcl

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.H3.Acl.SystemAcl

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.H3.Acl.BizObjectAcl

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:GetAclCount(System.String)

    方法说明

    用于获得已定义的权限的数量

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    权限控制单元的数量

    方法名称:Check(System.String[],System.String,OThinker.H3.Acl.AclType)

    方法说明

    查询指定的用户/组/组织单元中是否存在用户/组/组织单元具有某个流程模板的某种权限

    输入参数

    名称

    类型

    说明

    Users

    System.String[]

    用户/组/组织单元ID数组

    WorkflowCode

    System.String

    流程模板编码

    AclType

    OThinker.H3.Acl.AclType

    权限类型

    返回值

    如果存在某个用户/组/组织单元具有该权限,则返回true;否则返回false

    方法名称:QueryDataTable(System.String[],System.String)

    方法说明

    获得当前工作流模板的权限控制表

    输入参数

    名称

    类型

    说明

    Users

    System.String[]

    用户/组/组织单元ID数组,如果为空,则不将该参数作为搜索条件

    WorkflowCode

    System.String

    流程模板编码,如果为空,则不将该参数作为搜索条件

    返回值

    查询到的表

    方法名称:GetWorkflowAcls(System.String)

    方法说明

    获得一个流程模板的全部权限配置

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码,如果为空,则不将该参数作为搜索条件

    返回值

    全部的权限配置

    方法名称:Add(OThinker.H3.Acl.WorkflowAcl)

    方法说明

    添加一个权限控制单元

    输入参数

    名称

    类型

    说明

    Acl

    OThinker.H3.Acl.WorkflowAcl

    权限控制单元

    返回值

    如果添加成功,则返回true,否则返回false

    方法名称:GetWorkflowAcl(System.String)

    方法说明

    获得工作流模板的权限控制单元

    输入参数

    名称

    类型

    说明

    AclID

    System.String

    权限ID

    返回值

    流程模板权限

    方法名称:Update(OThinker.H3.Acl.WorkflowAcl[])

    方法说明

    更新

    输入参数

    名称

    类型

    说明

    Acls

    OThinker.H3.Acl.WorkflowAcl[]

    要更新的权限对象

    返回值

    方法名称:Delete(System.String)

    方法说明

    删除

    输入参数

    名称

    类型

    说明

    AclID

    System.String

    权限控制单元的ID

    返回值

    方法名称:RemoveByWorkflow(System.String)

    方法说明

    删除流程模板

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    方法名称:GetUserAcls(System.String[])

    方法说明

    获得用户拥有的所有权限

    输入参数

    名称

    类型

    说明

    Users

    System.String[]

    返回值

    类:OThinker.H3.Apps.IAppNavigationManager

    说明:应用程序管理

    访问入口:this.Engine.AppNavigationManager

    示例:

    this.Engine.AppNavigationManager.AddApp(new Apps.AppNavigation());

    方法名称:

    OThinker.H3.BizBus.Transaction.DbExecutionContext(System.String,OThinker.Data.Database.ICommand)

    方法说明

    新建的时候构造函数

    输入参数

    名称

    类型

    说明

    DbCode

    System.String

    数据库编号

    DbCommand

    OThinker.Data.Database.ICommand

    数据库命令

    返回值

    方法名称:OThinker.H3.BizBus.Transaction.TransactionContext(System.String)

    方法说明

    事务构造函数

    输入参数

    名称

    类型

    说明

    Creator

    System.String

    返回值

    方法名称:OThinker.H3.BizBus.Transaction.TransactionExecution(System.String,System.String,System.String,OThinker.H3.BizBus.BizService.BizStructure,OThinker.H3.BizBus.BizService.BizStructure)

    方法说明

    新建事务

    输入参数

    名称

    类型

    说明

    UserId

    System.String

    用户的ID

    BizServiceCode

    System.String

    业务服务的编码

    MethodName

    System.String

    调用的方法

    Params

    OThinker.H3.BizBus.BizService.BizStructure

    调用的参数

    ReturnObject

    OThinker.H3.BizBus.BizService.BizStructure

    调用的返回值

    返回值

    方法名称:GetApp(System.String)

    方法说明

    获得应用程序定义

    输入参数

    名称

    类型

    说明

    AppCode

    System.String

    应用程序编码

    返回值

    应用程序定义

    方法名称:GetAllApps

    方法说明

    获得所有应用程序定义

    输入参数

    名称

    类型

    说明

    返回值

    返回应用程序对象集合

    方法名称:AddApp(OThinker.H3.Apps.AppNavigation)

    方法说明

    添加应用程序: 添加应用时需要同时初始化FunctionNode,请改用AppPackageManager.AddApp

    输入参数

    名称

    类型

    说明

    App

    OThinker.H3.Apps.AppNavigation

    应用程序对象

    返回值

    返回天津是否成功

    方法名称:RemoveApp(System.String)

    方法说明

    移除应用程序: 移除应用时需要同时删除FunctionNode及其子菜单,请改用AppPackageManager.RemoveApp

    输入参数

    名称

    类型

    说明

    AppCode

    System.String

    应用程序编码

    返回值

    方法名称:UpdateApp(OThinker.H3.Apps.AppNavigation)

    方法说明

    更新应用程序

    输入参数

    名称

    类型

    说明

    App

    OThinker.H3.Apps.AppNavigation

    应用程序对象

    返回值

    返回更新应用程序对象是否成功

    类:OThinker.H3.BizBus.IBizBus

    说明:业务总线接口

    访问入口:this.Engine.BizBus

    示例:

    this.Engine.BizBus.AddBizService(new BizBus.BizService.BizService(), false);

    方法名称:OThinker.H3.Analytics.AnalyticalQuery(OThinker.H3.Configs.EngineConfig)

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.H3.Analytics.AnalyticalQuery(OThinker.Data.Database.DatabaseType,System.String)

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    DBType

    OThinker.Data.Database.DatabaseType

    DBConnString

    System.String

    返回值

    方法名称:OThinker.H3.Client.AppNavigationManagerClient(OThinker.Clusterware.LogicUnitConnectionPool)

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    ConnectionPool

    OThinker.Clusterware.LogicUnitConnectionPool

    返回值

    方法名称:RegisterAssembly(System.String,System.Byte[],System.Boolean)

    方法说明

    注册一个Assembly

    输入参数

    名称

    类型

    说明

    FileName

    System.String

    文件名

    Content

    System.Byte[]

    文件内容

    Overwrite

    System.Boolean

    是否覆盖以前的文件

    返回值

    如果成功则返回true;否则返回false

    方法名称:GetBizAdapterAttributes(OThinker.H3.BizBus.BizAdapters.AdapterType)

    方法说明

    获得系统中所有的Adapter的描述

    输入参数

    名称

    类型

    说明

    AdapterType

    OThinker.H3.BizBus.BizAdapters.AdapterType

    适配器类型

    返回值

    返回系统加载的所有适配器描述

    方法名称:GetBizAdapterAttribute(System.String)

    方法说明

    获得系统中所有的Adapter的描述

    输入参数

    名称

    类型

    说明

    返回值

    适配器的描述

    方法名称:GetBizServices

    方法说明

    获得系统中所有的业务服务

    输入参数

    名称

    类型

    说明

    返回值

    类的全名称

    方法名称:GetBizServicesByAdapter(System.String)

    方法说明

    获得系统中所有的业务服务

    输入参数

    名称

    类型

    说明

    返回值

    类的全名称

    方法名称:GetBizService(System.String)

    方法说明

    获得系统中所有的业务服务

    输入参数

    名称

    类型

    说明

    BizServiceCode

    System.String

    业务服务编码

    返回值

    实例的配置

    方法名称:RemoveBizService(System.String)

    方法说明

    删除一个业务服务的实例

    输入参数

    名称

    类型

    说明

    BizServiceCode

    System.String

    业务服务编码

    返回值

    如果删除成功,则返回true,否则返回false

    方法名称:AddBizService(OThinker.H3.BizBus.BizService.BizService,System.Boolean)

    方法说明

    更新一个业务服务的设置

    输入参数

    名称

    类型

    说明

    Service

    OThinker.H3.BizBus.BizService.BizService

    业务服务的相关配置

    Validate

    System.Boolean

    在保存前是否调用验证的函数来做验证

    返回值

    如果更新成功,那么返回true;如果要更新的信息不合法,那么,返回false

    方法名称:UpdateBizService(OThinker.H3.BizBus.BizService.BizService,System.Boolean)

    方法说明

    更新一个业务服务的设置

    输入参数

    名称

    类型

    说明

    Service

    OThinker.H3.BizBus.BizService.BizService

    业务服务的相关配置

    Validate

    System.Boolean

    在保存前是否调用验证的函数来做验证

    返回值

    如果更新成功,那么返回true;如果要更新的信息不合法,那么,返回false

    方法名称:GetBizServicesByFolderCode(System.String)

    方法说明

    根据目录获取业务服务

    输入参数

    名称

    类型

    说明

    FolderCode

    System.String

    目录编码

    返回值

    方法名称:QueryInvokingLog(System.DateTime,System.DateTime)

    方法说明

    查询调用日志

    输入参数

    名称

    类型

    说明

    From

    System.DateTime

    开始日期

    To

    System.DateTime

    结束日期

    返回值

    调用日志

    方法名称:GetInvokingLog(System.String)

    方法说明

    获得某个调用日志

    输入参数

    名称

    类型

    说明

    LogId

    System.String

    日志的ID

    返回值

    调用日志

    方法名称:GetMethods(System.String)

    方法说明

    获得所有可以调用的方法

    输入参数

    名称

    类型

    说明

    BizServiceCode

    System.String

    业务服务的编码

    返回值

    可调用的方法的名称和Schema

    方法名称:GetMethod(System.String,System.String)

    方法说明

    获得所有可以调用的方法

    输入参数

    名称

    类型

    说明

    BizServiceCode

    System.String

    业务服务的编码

    MethodName

    System.String

    方法的名称

    返回值

    可调用的方法的名称和Schema

    方法名称:Invoke(OThinker.H3.BizBus.BizService.BizServiceInvokingContext)

    方法说明

    以事务的方式调用一个方法

    输入参数

    名称

    类型

    说明

    InvokingContext

    OThinker.H3.BizBus.BizService.BizServiceInvokingContext

    调用的接口的上下方

    返回值

    自描述的对象。注意:对于同一个方法,无论方法的参数是什么,返回的对象的Schema必须是同一个,这里是不允许重构的,如果需要重构,则需要使用另外的方法名称

    方法名称:GetFilterSchemas(System.String)

    方法说明

    获得支持的搜索的模式

    输入参数

    名称

    类型

    说明

    BizServiceCode

    System.String

    业务服务的编码

    返回值

    支持的搜索的模式

    方法名称:GetFilterSchema(System.String,System.String)

    方法说明

    获得搜索的模式

    输入参数

    名称

    类型

    说明

    BizServiceCode

    System.String

    业务服务的编码

    FilterCode

    System.String

    过滤条件的编码

    返回值

    搜索模式

    方法名称:GetList(System.String,System.String,OThinker.H3.BizBus.Filter.Filter,System.Int32@)

    方法说明

    查询对象

    输入参数

    名称

    类型

    说明

    BizServiceCode

    System.String

    业务服务的编码

    FilterCode

    System.String

    搜索的编号

    Filter

    OThinker.H3.BizBus.Filter.Filter

    搜索条件

    Count

    System.Int32@

    如果做了分页,就会要求返回总数

    返回值

    符合条件的记录

    方法名称:GetAccountCategories

    方法说明

    获得所有的账户映射分类

    输入参数

    名称

    类型

    说明

    返回值

    所有的账户映射分类

    方法名称:GetAccountCategory(System.String)

    方法说明

    获得账户映射分类

    输入参数

    名称

    类型

    说明

    CategoryCode

    System.String

    分类编码

    返回值

    业务账户分类

    方法名称:AddAccountCategory(OThinker.H3.BizBus.BizService.BizAccountCategory)

    方法说明

    添加账户映射分类

    输入参数

    名称

    类型

    说明

    Category

    OThinker.H3.BizBus.BizService.BizAccountCategory

    业务账户分类

    返回值

    如果添加成功,则返回true;否则返回false。

    方法名称:UpdateAccountCategory(OThinker.H3.BizBus.BizService.BizAccountCategory)

    方法说明

    更新账户分类映射

    输入参数

    名称

    类型

    说明

    Category

    OThinker.H3.BizBus.BizService.BizAccountCategory

    业务账户分类

    返回值

    如果更新成功则返回true,否则返回false

    方法名称:RemoveAccountCategory(System.String)

    方法说明

    删除账户映射分类

    输入参数

    名称

    类型

    说明

    CategoryCode

    System.String

    业务账户分类编码

    返回值

    方法名称:GetAccountMappings(System.String)

    方法说明

    获得某个账户映射分类下的所有账户映射

    输入参数

    名称

    类型

    说明

    CategoryCode

    System.String

    账户映射分类的编码

    返回值

    账户映射

    方法名称:GetAccountMapping(System.String)

    方法说明

    获得账户映射

    输入参数

    名称

    类型

    说明

    MappingId

    System.String

    账户映射的ID

    返回值

    账户映射

    方法名称:AddAccountMapping(OThinker.H3.BizBus.BizService.BizAccountMapping)

    方法说明

    添加账户映射

    输入参数

    名称

    类型

    说明

    Mapping

    OThinker.H3.BizBus.BizService.BizAccountMapping

    账户映射定义

    返回值

    如果添加成功则返回true;否则返回false

    方法名称:RemoveAccountMapping(System.String)

    方法说明

    删除账户映射

    输入参数

    名称

    类型

    说明

    MappingId

    System.String

    账户映射ID

    返回值

    方法名称:UpdateAccountMapping(OThinker.H3.BizBus.BizService.BizAccountMapping)

    方法说明

    更新账户映射

    输入参数

    名称

    类型

    说明

    Mapping

    OThinker.H3.BizBus.BizService.BizAccountMapping

    账户映射

    返回值

    方法名称:GetAccountMappingByUnitId(System.String,System.String)

    方法说明

    根据源组织ID获得账户映射

    输入参数

    名称

    类型

    说明

    AccountCategory

    System.String

    账户映射的类型

    UnitId

    System.String

    组织ID

    返回值

    如果存在账户映射则返回账户映射,否则返回Null

    方法名称:AddBizRule(OThinker.H3.BizBus.BizRule.BizRuleTable,System.String)

    方法说明

    添加一个业务对象模式。添加前需要先检查是否模式编码是否存在,该检查是不区分大小写的,如果不存在则添加

    输入参数

    名称

    类型

    说明

    Rule

    OThinker.H3.BizBus.BizRule.BizRuleTable

    业务对象模式

    返回值

    如果添加成功则返回true;否则返回false

    方法名称:GetBizRule(System.String)

    方法说明

    根据模式编码获得业务对象模式

    输入参数

    名称

    类型

    说明

    RuleCode

    System.String

    业务对象模式编码,不区分大小写

    返回值

    业务对象模式

    方法名称:UpdateBizRule(OThinker.H3.BizBus.BizRule.BizRuleTable)

    方法说明

    更新业务对象模式

    输入参数

    名称

    类型

    说明

    Rule

    OThinker.H3.BizBus.BizRule.BizRuleTable

    业务对象模式

    返回值

    如果更新成功,则返回true;否则返回false

    方法名称:RemoveBizRule(System.String)

    方法说明

    删除一个业务对象模式,不区分大小写

    输入参数

    名称

    类型

    说明

    RuleCode

    System.String

    业务对象模式编码

    返回值

    如果删除成功,则返回true;否则返回false

    方法名称:ValidateBizRule(System.String)

    方法说明

    验证业务规则的合法性

    输入参数

    名称

    类型

    说明

    RuleCode

    System.String

    业务规则的编码

    返回值

    验证结果

    方法名称:WriteLog(System.String)

    方法说明

    写入日志

    输入参数

    名称

    类型

    说明

    Log

    System.String

    日志

    返回值

    10 类:OThinker.H3.Sheet.IBizSheetManager

    说明:表单对象管理接口

    访问入口:this.Engine.BizSheetManager

    示例:

    this.Engine.BizSheetManager.AddBizSheet(new Sheet.BizSheet());

    方法名称:OThinker.H3.Client.BizSheetManagerClient(OThinker.Clusterware.LogicUnitConnectionPool)

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    ConnectionPool

    OThinker.Clusterware.LogicUnitConnectionPool

    返回值

    方法名称:GetBizSheetByID(System.String)

    方法说明

    根据表单ID获取表单对象

    输入参数

    名称

    类型

    说明

    ObjectId

    System.String

    表单ID

    返回值

    返回表单对象

    方法名称:GetBizSheetByCode(System.String)

    方法说明

    根据表单编码获取表单对象

    输入参数

    名称

    类型

    说明

    SheetCode

    System.String

    表单编码

    返回值

    方法名称:GetBizSheetBySchemaCode(System.String)

    方法说明

    根据数据模型编码获取表单集合

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    数据模型编码

    返回值

    表单对象的集合

    方法名称:AddBizSheet(OThinker.H3.Sheet.BizSheet)

    方法说明

    添加一个表单

    输入参数

    名称

    类型

    说明

    BizSheet

    OThinker.H3.Sheet.BizSheet

    表单对象

    返回值

    返回操作是否成功

    方法名称:DeleteBizSheet(System.String)

    方法说明

    删除一个表单

    输入参数

    名称

    类型

    说明

    SheetCode

    System.String

    表单编码

    返回值

    返回操作是否成功

    方法名称:RemoveSheetBySchemaCode(System.String)

    方法说明

    根据数据模型编码删除所有表单

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    数据模型编码

    返回值

    返回操作是否成功

    方法名称:UpdateBizSheet(OThinker.H3.Sheet.BizSheet)

    方法说明

    更新一个表单

    输入参数

    名称

    类型

    说明

    BizSheet

    OThinker.H3.Sheet.BizSheet

    表单对象

    返回值

    返回操作是否成功

    11 类:OThinker.H3.SNS.ISNSManager

    说明:社交管理器

    访问入口:this.Engine.SNSManager

    示例:

    this.Engine.SNSManager.AddPost(new SNS.SNSPost(),string.Empty);

    方法名称:SetRelationship(OThinker.H3.SNS.SNSRelationship)

    方法说明

    设置业务对象的关注关系

    输入参数

    名称

    类型

    说明

    Relationship

    OThinker.H3.SNS.SNSRelationship

    业务对象的关注关系

    返回值

    方法名称:GetRelationships(System.String,System.String[])

    方法说明

    获得业务对象的关注关系

    输入参数

    名称

    类型

    说明

    UserId

    System.String

    用户ID

    SchemaCodes

    System.String[]

    业务对象模式编码

    返回值

    业务对象模式关注关系

    方法名称:AddComment(System.String,System.String,System.String,System.String,System.String,System.String,System.String)

    方法说明

    添加对象的评论

    输入参数

    名称

    类型

    说明

    ReplyTo

    System.String

    要回复的评论的ID

    SchemaCode

    System.String

    业务对象模式编码

    BizObjectId

    System.String

    业务对象ID

    BizObjectId

    System.String

    关联对象ID,如workitemid

    UserId

    System.String

    用户ID

    Text

    System.String

    评论的内容

    ObjectID

    System.String

    前端传递过来的评论唯一ID

    返回值

    方法名称:AddLike(System.String,System.String,System.String,System.String,System.String,System.String)

    方法说明

    点赞

    输入参数

    名称

    类型

    说明

    ReplyTo

    System.String

    要回复的评论的ID

    SchemaCode

    System.String

    业务对象模式编码

    BizObjectId

    System.String

    业务对象ID

    BizObjectId

    System.String

    关联对象ID,如workitemid

    UserId

    System.String

    用户ID

    ObjectID

    System.String

    前端传递过来的评论唯一ID

    返回值

    方法名称:DeleteComment(System.String)

    方法说明

    删除评论

    输入参数

    名称

    类型

    说明

    CommentId

    System.String

    评论的ID

    返回值

    方法名称:AddFeedEvent(OThinker.H3.SNS.FeedEvent)

    方法说明

    添加新闻事件

    输入参数

    名称

    类型

    说明

    Event

    OThinker.H3.SNS.FeedEvent

    新闻事件

    返回值

    方法名称:AddToFavorite(System.String,System.String)

    方法说明

    将新闻添加到收藏中

    输入参数

    名称

    类型

    说明

    UserId

    System.String

    用户ID

    FeedId

    System.String

    新闻ID

    返回值

    方法名称:RemoveFromFavorite(System.String)

    方法说明

    删除收藏的新闻

    输入参数

    名称

    类型

    说明

    FavoriteFeedId

    System.String

    新闻的ID

    返回值

    方法名称:SetSharingItem(System.String,OThinker.H3.SNS.SNSTargetType,System.String,System.String,System.String,System.String,System.Boolean,OThinker.H3.SNS.SNSSharingItemPermissionType,System.String[],System.String[],System.String)

    方法说明

    将某个对象分享给内部/外部用户

    输入参数

    名称

    类型

    说明

    Sender

    System.String

    发送分享的人

    TargetType

    OThinker.H3.SNS.SNSTargetType

    要分享的对象的类型

    SchemaCode

    System.String

    要分享的对象的业务对象模式编码

    BizObjectId

    System.String

    要分享的业务对象的ID

    TargetId

    System.String

    要分享的目标对象的ID,如果是WorkItem,则是WorkItemId

    TargetName

    System.String

    要分享的目标对象的名称

    IsPublic

    System.Boolean

    是否是公开的,如果是公开的话,那么意味着只要用户知道SharingItemId,即可打开相应的表单。如果要发送给外部用户,那么必须是IsPublic=true的

    Permission

    OThinker.H3.SNS.SNSSharingItemPermissionType

    要分享的对象的权限

    InternalReceivers

    System.String[]

    内部接收分享的用户

    ExternalReceivers

    System.String[]

    外部接收分享的用户,格式是每个用户的邮箱

    Text

    System.String

    要分享的内容的描述,如果外部接收人员不为空的,则需要填写该字段

    返回值

    方法名称:GetSharingItem(System.String)

    方法说明

    获得分享的设置

    输入参数

    名称

    类型

    说明

    SharingItemId

    System.String

    分享设置的ID

    返回值

    分享的详细信息

    方法名称:GetSharingItemBySender(System.String,System.String)

    方法说明

    根据创建者获得分享设置的信息

    输入参数

    名称

    类型

    说明

    TargetId

    System.String

    分享的对象的ID

    Sender

    System.String

    分享的发送者

    返回值

    分享的设置信息

    方法名称:CheckSharingItemForInternal(System.String,System.String)

    方法说明

    验证分享的权限

    输入参数

    名称

    类型

    说明

    TargetId

    System.String

    分享的目标对象的ID

    Receiver

    System.String

    接收者的ID

    返回值

    返回接收者对于该分享项目的权限

    方法名称:GetSharingItemPermission(System.String,System.String,System.String@)

    方法说明

    根据业务对象ID获得用户对于这个分享项目的权限,这个验证关系主要通过登录用户自身的权限,这个接口主要是提供给全文搜索的时候使用的,全文搜索的时候,搜索出来相关的业务对象,然后根据业务对象打开相应的有权限的业务对象表单或者工作项表单

    输入参数

    名称

    类型

    说明

    BizObjectId

    System.String

    业务对象的ID

    Receiver

    System.String

    接受者

    WorkItemId

    System.String@

    分享一个业务对象有可能是通过BizObjectId,也有可能是通过WorkItemId的,如果是通过WorkItemId的,则找到其中一个WorkItemId,并返回回来

    返回值

    返回接收者对于该分享项目的权限

    方法名称:CheckSharingItemForExternal(System.String,System.String,System.String[]@)

    方法说明

    根据业务对象ID/WorkItemId获得用户对于这个分享项目的权限,这个验证关系主要通过SharingItemId的匹配,这里要求SharingItemId必须匹配,SharingItemId相当于是一个秘钥

    输入参数

    名称

    类型

    说明

    SharingItemId

    System.String

    分享的设置的ID,这个ID相当于是一个秘钥,必须匹配才能返回权限,否则返回NoAccess

    TargetId

    System.String

    分享的对象的ID

    Receivers

    System.String[]@

    返回出外部的接收者

    返回值

    返回接收者对于该分享项目的权限

    方法名称:GetSharingItemReceivers(System.String)

    方法说明

    根据业务对象ID,或者所有用权限访问的内部用户的ID

    输入参数

    名称

    类型

    说明

    BizObjectId

    System.String

    业务对象ID

    返回值

    分享的接收者

    方法名称:DeleteSharingItem(System.String)

    方法说明

    删除一个分享设置

    输入参数

    名称

    类型

    说明

    SharingItemId

    System.String

    分享设置

    返回值

    方法名称:SetFeedState(System.String,System.String,OThinker.H3.SNS.SNSFeedState,System.DateTime)

    方法说明

    设置动态的状态,可以把一个动态标记为完成或者未完成

    输入参数

    名称

    类型

    说明

    UserId

    System.String

    FeedId

    System.String

    State

    OThinker.H3.SNS.SNSFeedState

    Deadline

    System.DateTime

    返回值

    12 类:OThinker.H3.Site.ISiteManager

    说明:门户站点管理

    访问入口:this.Engine.SiteManager

    示例:

    this.Engine.SiteManager.AddPage(new Site.SitePage());

    方法名称:AddPage(OThinker.H3.Site.SitePage)

    方法说明

    添加门户页面实例

    输入参数

    名称

    类型

    说明

    Page

    OThinker.H3.Site.SitePage

    页面实例

    返回值

    添加不成功(冲突或其他原因)返回false

    方法名称:UpdatePage(OThinker.H3.Site.SitePage)

    方法说明

    更新页面实例

    输入参数

    名称

    类型

    说明

    Page

    OThinker.H3.Site.SitePage

    页面实例

    返回值

    更新不成功(实例不存在、冲突或其他原因),则返回false

    方法名称:DeletePage(OThinker.H3.Site.SitePage)

    方法说明

    删除页面实例

    输入参数

    名称

    类型

    说明

    Page

    OThinker.H3.Site.SitePage

    页面实例

    返回值

    删除不成功,则返回false

    方法名称:DeletePageById(System.String)

    方法说明

    根据页面实例Id删除

    输入参数

    名称

    类型

    说明

    Id

    System.String

    页面实例唯一值属性值

    返回值

    删除不成功,则返回false

    方法名称:GetPage(System.String)

    方法说明

    根据页面实例唯一值属性列值查询页面实例

    输入参数

    名称

    类型

    说明

    Id

    System.String

    页面实例唯一值属性值

    返回值

    如果指定属性值的页面实例不存在,则返回false

    方法名称:GetPagesByOrg(System.String)

    方法说明

    根据组织结构对查找页面实例

    输入参数

    名称

    类型

    说明

    OrgId

    System.String

    组织结构ID

    返回值

    返回页面类实例数组,如果指定键值对不存在,则返回空数组

    方法名称:GetAllPages

    方法说明

    查询所有页面类实例

    输入参数

    名称

    类型

    说明

    返回值

    返回所有的页面类实例,返回类型为实例数组

    方法名称:AddPageTemplate(OThinker.H3.Site.SitePageTemplate)

    方法说明

    添加页面模板类实例

    输入参数

    名称

    类型

    说明

    PageTemplate

    OThinker.H3.Site.SitePageTemplate

    页面模板实例

    返回值

    添加不成功(冲突或其他原因)返回false

    方法名称:UpdatePageTemplate(OThinker.H3.Site.SitePageTemplate)

    方法说明

    更新页面模板实例

    输入参数

    名称

    类型

    说明

    PageTemplate

    OThinker.H3.Site.SitePageTemplate

    页面模板实例

    返回值

    更新不成功(实例不存在、冲突或其他原因),则返回false

    方法名称:RemovePageTemplate(OThinker.H3.Site.SitePageTemplate)

    方法说明

    删除页面模板实例

    输入参数

    名称

    类型

    说明

    PageTemplate

    OThinker.H3.Site.SitePageTemplate

    页面模板实例

    返回值

    删除不成功,则返回false

    方法名称:RemovePageTemplateById(System.String)

    方法说明

    根据页面模板实例Id删除

    输入参数

    名称

    类型

    说明

    Id

    System.String

    页面模板实例唯一值属性值

    返回值

    删除不成功,则返回false

    方法名称:GetPageTemplate(System.String)

    方法说明

    根据页面模板实例唯一值属性列值查询页面实例

    输入参数

    名称

    类型

    说明

    Id

    System.String

    页面模板实例唯一值属性值

    返回值

    如果指定属性值的页面实例不存在,则返回false

    方法名称:GetAllPageTemplates

    方法说明

    查询所有页面类实例

    输入参数

    名称

    类型

    说明

    返回值

    返回所有的页面类实例,返回类型为实例数组

    方法名称:AddWebPartInst(OThinker.H3.Site.SiteWebPartInstance)

    方法说明

    添加门户部件实例

    输入参数

    名称

    类型

    说明

    WebPartInstance

    OThinker.H3.Site.SiteWebPartInstance

    部件实例

    返回值

    添加不成功(冲突或其他原因)返回false

    方法名称:UpdateWebPartInst(OThinker.H3.Site.SiteWebPartInstance)

    方法说明

    更新部件实例

    输入参数

    名称

    类型

    说明

    WebPartInstance

    OThinker.H3.Site.SiteWebPartInstance

    部件实例

    返回值

    更新不成功(实例不存在、冲突或其他原因),则返回false

    方法名称:DeleteWebPartInst(OThinker.H3.Site.SiteWebPartInstance)

    方法说明

    删除部件实例

    输入参数

    名称

    类型

    说明

    WebPartInstance

    OThinker.H3.Site.SiteWebPartInstance

    部件实例

    返回值

    删除不成功,则返回false

    方法名称:DeleteWebPartInstById(System.String)

    方法说明

    根据部件实例Id删除

    输入参数

    名称

    类型

    说明

    Id

    System.String

    部件实例唯一值属性值

    返回值

    删除不成功,则返回false

    方法名称:GetWebPartInst(System.String)

    方法说明

    根据部件实例唯一值属性列值查询部件模板实例

    输入参数

    名称

    类型

    说明

    Id

    System.String

    部件实例唯一值属性值

    返回值

    如果指定属性值的部件实例不存在,则返回false

    方法名称:GetWebPartInstancesByPage(System.String)

    方法说明

    根据关键字键值对查找部件实例

    输入参数

    名称

    类型

    说明

    Key

    System.String

    键名称

    Value

    键值

    返回值

    返回部件实例数组,如果指定键值对不存在,则返回空数组

    方法名称:GetAllWebPartInsts

    方法说明

    查询所有部件实例

    输入参数

    名称

    类型

    说明

    返回值

    返回所有的部件实例,返回类型为实例数组

    方法名称:AddWebPart(OThinker.H3.Site.SiteWebPart)

    方法说明

    添加门户部件模板实例

    输入参数

    名称

    类型

    说明

    WebPart

    OThinker.H3.Site.SiteWebPart

    部件模板实例

    返回值

    添加不成功(冲突或其他原因)返回false

    方法名称:UpdateWebPart(OThinker.H3.Site.SiteWebPart)

    方法说明

    更新部件模板实例

    输入参数

    名称

    类型

    说明

    WebPart

    OThinker.H3.Site.SiteWebPart

    部件模板实例

    返回值

    更新不成功(实例不存在、冲突或其他原因),则返回false

    方法名称:DeleteWebPart(OThinker.H3.Site.SiteWebPart)

    方法说明

    删除部件模板实例

    输入参数

    名称

    类型

    说明

    WebPart

    OThinker.H3.Site.SiteWebPart

    部件模板实例

    返回值

    删除不成功,则返回false

    方法名称:DeleteWebPartById(System.String)

    方法说明

    根据部件模板实例Id删除

    输入参数

    名称

    类型

    说明

    Id

    System.String

    部件模板实例唯一值属性值

    返回值

    删除不成功,则返回false

    方法名称:GetWebPart(System.String)

    方法说明

    根据部件模板实例唯一值属性列值查询部件模板实例

    输入参数

    名称

    类型

    说明

    Id

    System.String

    部件模板实例唯一值属性值

    返回值

    如果指定属性值的部件模板实例不存在,则返回false

    方法名称:GetAllWebParts

    方法说明

    查询所有部件模板实例

    输入参数

    名称

    类型

    说明

    返回值

    返回所有的部件模板实例,返回类型为实例数组

    方法名称:AddWebPartPublicAttr(OThinker.H3.Site.SiteWebPartPublicAttribute)

    方法说明

    添加门户部件公有属性实例

    输入参数

    名称

    类型

    说明

    WebPartPublicAttribute

    OThinker.H3.Site.SiteWebPartPublicAttribute

    部件实例公有属性实例

    返回值

    添加不成功(冲突或其他原因)返回false

    方法名称:UpdateWebPartPublicAttr(OThinker.H3.Site.SiteWebPartPublicAttribute)

    方法说明

    更新部件实例公有属性实例

    输入参数

    名称

    类型

    说明

    WebPartPublicAttribute

    OThinker.H3.Site.SiteWebPartPublicAttribute

    部件实例公有属性实例

    返回值

    更新不成功(实例不存在、冲突或其他原因),则返回false

    方法名称:DeleteWebPartPublicAttr(OThinker.H3.Site.SiteWebPartPublicAttribute)

    方法说明

    删除部件实例公有属性实例

    输入参数

    名称

    类型

    说明

    WebPartPublicAttribute

    OThinker.H3.Site.SiteWebPartPublicAttribute

    部件实例公有属性实例

    返回值

    删除不成功,则返回false

    方法名称:DeleteWebPartPublicAttrById(System.String)

    方法说明

    根据部件实例公有属性实例Id删除

    输入参数

    名称

    类型

    说明

    Id

    System.String

    部件实例公有属性实例唯一值属性值

    返回值

    删除不成功,则返回false

    方法名称:GetWebPartPublicAttr(System.String)

    方法说明

    根据部件实例公有属性实例唯一值属性列值查询部件模板实例

    输入参数

    名称

    类型

    说明

    Id

    System.String

    部件实例公有属性实例唯一值属性值

    返回值

    如果指定属性值的部件实例公有属性实例不存在,则返回false

    方法名称:GetAllWebPartPublicAttrs

    方法说明

    查询所有部件实例公有属性实例

    输入参数

    名称

    类型

    说明

    返回值

    返回所有的部件实例公有属性实例,返回类型为实例数组

    13 类:OThinker.H3.Apps.IAppPackageManager

    说明:流程包管理对象

    访问入口:this.Engine.AppPackageManager

    示例:

    this.Engine.AppPackageManager.AddAppPackage(new Acl.FunctionNode(), DataModel.StorageType.DataList);

    方法名称:AddAppPackage(OThinker.H3.Acl.FunctionNode,OThinker.H3.DataModel.StorageType)

    方法说明

    添加流程包

    输入参数

    名称

    类型

    说明

    FunctionNode

    OThinker.H3.Acl.FunctionNode

    功能节点对象

    Type

    OThinker.H3.DataModel.StorageType

    存储类型(本地存储/外部数据)

    返回值

    返回添加应用包是否成功

    方法名称:DeleteAppPackage(OThinker.H3.Acl.FunctionNode)

    方法说明

    删除流程包

    输入参数

    名称

    类型

    说明

    FunctionNode

    OThinker.H3.Acl.FunctionNode

    功能节点对象

    返回值

    方法名称:ImportAppPackage(System.String,System.String,System.String,System.String,OThinker.H3.DataModel.BizObjectSchema,OThinker.H3.DataModel.BizListenerPolicy,System.Collections.Generic.List{OThinker.H3.DataModel.BizQuery},System.Collections.Generic.List{OThinker.H3.DataModel.ScheduleInvoker},System.Collections.Generic.List{OThinker.H3.Sheet.BizSheet},System.Collections.Generic.List{OThinker.H3.WorkflowTemplate.DraftWorkflowTemplate},System.Collections.Generic.Dictionary{System.String,System.String},System.Boolean,System.String@)

    方法说明

    流程包导入

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    操作用户ID

    ParentCode

    System.String

    父功能节点编码

    PackageCode

    System.String

    应用包编码

    PackageName

    System.String

    应用包名称

    Schema

    OThinker.H3.DataModel.BizObjectSchema

    数据模型对象

    BizListenerPolicy

    OThinker.H3.DataModel.BizListenerPolicy

    监听

    BizQueryList

    List{OThinker.H3.DataModel.BizQuery}

    查询集合

    ScheduleInvokerList

    List{OThinker.H3.DataModel.ScheduleInvoker}

    定时作业集合

    BizSheetList

    List{OThinker.H3.Sheet.BizSheet}

    表单对象集合

    WorkflowTemplateList

    List{OThinker.H3.WorkflowTemplate.DraftWorkflowTemplate}

    流程对象集合

    WorkflowNames

    System.Collections.Generic.Dictionary{System.String

    流程名称集合(编码,名称)

    Overwrite

    System.String}

    是否覆盖模式

    ResultStr

    System.Boolean

    返回结果

    返回值

    返回流程包导入是否成功

    方法名称:UpdateDraftAppPackage(OThinker.H3.DataModel.BizObjectSchema,OThinker.H3.Sheet.BizSheet)

    方法说明

    更新草稿的表单设计

    输入参数

    名称

    类型

    说明

    Schema

    OThinker.H3.DataModel.BizObjectSchema

    数据模型对象

    BizSheet

    OThinker.H3.Sheet.BizSheet

    表单对象

    返回值

    返回更新是否成功

    14 类:OThinker.H3.WorkflowTemplate.IWorkflowConfigManager

    说明:流程模板管理器,用于管理设计中的流程模板信息

    访问入口:this.Engine.WorkflowConfigManager

    示例:

    this.Engine.WorkflowConfigManager.AddFavoriteWorkflow("","");

    方法名称:

    OThinker.H3.Client.WorkflowConfigManagerClient(OThinker.Clusterware.LogicUnitConnectionPool)

    方法说明

    输入参数

    名称

    类型

    说明

    ConnectionPool

    OThinker.Clusterware.LogicUnitConnectionPool

    返回值

    方法名称:GetAllActivityConfigs

    方法说明

    获取所有活动模板

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:SaveActivityTemplate(OThinker.H3.WorkflowTemplate.Activity)

    方法说明

    保存活动模板

    输入参数

    名称

    类型

    说明

    Activity

    OThinker.H3.WorkflowTemplate.Activity

    返回值

    方法名称:GetFavoriteWorkflowCodes(System.String)

    方法说明

    获取用户的常用流程列表

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    用户ID

    返回值

    用户的常用流程

    方法名称:AddFavoriteWorkflow(System.String,System.String)

    方法说明

    添加常用流程

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    WorkflowCode

    System.String

    返回值

    方法名称:DeleteFavoriteWorkflow(System.String,System.String)

    方法说明

    删除常用流程

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    WorkflowCode

    System.String

    返回值

    15 类:OThinker.H3.Notification.IWeChatAdapter

    说明:用于管理通知的接口

    访问入口:this.Engine.WeChatAdapter

    示例:

    this.Engine.WeChatAdapter.Reload()

    方法名称:SyncOrgToWeChat

    方法说明

    将组织同步到微信

    输入参数

    名称

    类型

    说明

    返回值

    组织同步是否成功

    方法名称:SendNewsMessage(OThinker.H3.WeChat.WeChatNews)

    方法说明

    发送新闻类消息

    输入参数

    名称

    类型

    说明

    news

    OThinker.H3.WeChat.WeChatNews

    微信消息对象

    返回值

    方法名称:GetUserCode(System.String)

    方法说明

    根据微信返回编码获取用户的帐号(流程中心)

    输入参数

    名称

    类型

    说明

    WeChatCode

    System.String

    微信编码

    返回值

    返回用户登录帐号

    方法名称:GetAttachmentWeChatViewUrl(System.String,System.String,System.String,System.String)

    方法说明

    获取文件在微信中查看地址

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:Reload

    方法说明

    重置微信状态

    输入参数

    名称

    类型

    说明

    返回值

    16 类:OThinker.H3.Instance.IHeapDataManager

    说明:用于管理堆数据,堆数据跟实例数据有如下的不一样: 1. 堆数据没有定义在流程数据中,是显性地通过创建来创建的 2. 堆数据没有Editable和Visible属性,只有值属性 3. 堆数据允许选择创建在Memory中,也允许创建在数据库中,如果创建在内存中,那么当系统重新启动的时候将不会进行记录 4. 实例数据是跟流程的应用逻辑联系比较紧密的数据,堆数据是在运行过程中进行辅助的数据 注意:堆数据的值必须是System.Serializable的

    访问入口:this.Engine.HeapDataManager

    示例:

    this.Engine.HeapDataManager.GetItemValue("流程实例ID", "数据项名称");

    方法名称:OThinker.H3.Site.SiteWebPartInstance

    方法说明

    部件实例

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.H3.Site.SiteWebPartInstanceValue

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.H3.WorkflowTemplate.WorkflowNode

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.H3.WorkflowTemplate.WorkflowNode(System.Xml.XmlElement)

    方法说明

    从XML构造

    输入参数

    名称

    类型

    说明

    XmlElement

    System.Xml.XmlElement

    返回值

    方法名称:OThinker.H3.WorkflowTemplate.Activity

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.H3.WorkflowTemplate.Activity(System.Xml.XmlElement)

    方法说明

    从XML构造

    输入参数

    名称

    类型

    说明

    XmlElement

    System.Xml.XmlElement

    返回值

    方法名称:OThinker.H3.WorkflowTemplate.ClientActivityBase

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.H3.WorkflowTemplate.ClientActivityBase(System.Xml.XmlElement)

    方法说明

    从XML构造

    输入参数

    名称

    类型

    说明

    XmlElement

    System.Xml.XmlElement

    返回值

    方法名称:OThinker.H3.WorkflowTemplate.ClientActivity

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.H3.WorkflowTemplate.ClientActivity(System.Xml.XmlElement)

    方法说明

    从XML构造

    输入参数

    名称

    类型

    说明

    XmlElement

    System.Xml.XmlElement

    返回值

    方法名称:OThinker.H3.WorkflowTemplate.ParticipativeActivity

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.H3.WorkflowTemplate.ParticipativeActivity(System.Xml.XmlElement)

    方法说明

    从XML构造

    输入参数

    名称

    类型

    说明

    XmlElement

    System.Xml.XmlElement

    返回值

    方法名称:ExistItem(System.String,System.String)

    方法说明

    检查该属性是否存在

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程实例的ID

    ItemName

    System.String

    项名称

    返回值

    如果项存在,则返回true,否则返回false

    方法名称:GetItemValue(System.String,System.String)

    方法说明

    获取一个堆数据项的值

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程实例的ID

    ItemName

    System.String

    项名称

    返回值

    项值

    方法名称:SetItemValue(System.String,System.String,System.Object)

    方法说明

    设置一个堆数据项的值

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程实例的ID

    ItemName

    System.String

    项名称

    ItemValue

    System.Object

    项值

    返回值

    如果设置成功,则返回0,否则返回错误代码

    方法名称:GetAllItemNames(System.String)

    方法说明

    获得所有的数据项名称

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程实例的ID

    返回值

    所有堆数据项的名称

    方法名称:GetAllItems(System.String)

    方法说明

    获得所有的数据项

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程实例的ID

    返回值

    返回的是一个[ItemName, ItemValue]的表

    方法名称:RemoveInstance(System.String)

    方法说明

    根据流程实例ID删除堆数据项的值

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程实例ID

    返回值

    17 类:OThinker.H3.DataModel.IBizObjectManager

    说明:数据模型管理器

    访问入口:this.Engine.BizObjectManager

    示例:

    this.Engine.BizObjectManager.GetBizQuery("查询编码");

    方法名称:AddDraftSchema(OThinker.H3.DataModel.BizObjectSchema)

    方法说明

    添加一个草稿业务对象模式。添加前需要先检查是否模式编码是否存在,该检查是不区分大小写的,如果不存在则添加

    输入参数

    名称

    类型

    说明

    Schema

    OThinker.H3.DataModel.BizObjectSchema

    业务对象模式

    返回值

    如果添加成功则返回true;否则返回false

    方法名称:GetDraftSchema(System.String)

    方法说明

    获得草稿业务对象模式

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    业务对象

    返回值

    方法名称:UpdateDraftSchema(OThinker.H3.DataModel.BizObjectSchema)

    方法说明

    更新业务对象模式

    输入参数

    名称

    类型

    说明

    Schema

    OThinker.H3.DataModel.BizObjectSchema

    业务对象模式

    返回值

    如果更新成功,则返回true;否则返回false

    方法名称:GetPublishedSchema(System.String)

    方法说明

    根据模式编码获得已经发布的业务对象模式

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    业务对象模式编码,不区分大小写

    返回值

    业务对象模式

    方法名称:GetPublishedSchemas

    方法说明

    获得全部已经发布的业务对象模式

    输入参数

    名称

    类型

    说明

    返回值

    业务对象模式列表

    方法名称:SetPublishedSchemaState(System.String,OThinker.H3.DataModel.BizObjectSchemaState)

    方法说明

    设置已经发布的业务对象模式的状态

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    业务对象模式编码

    State

    OThinker.H3.DataModel.BizObjectSchemaState

    状态

    返回值

    如果设置成功则返回true;否则返回false

    方法名称:PublishSchema(System.String,System.String@)

    方法说明

    发布一个业务对象模式,实际上,是将业务对象模式从草稿库中读取出来,然后发布到已发布库中,如果新的业务对象模式跟原有的业务对象模式存在冲突,则会回滚到上一次发布的模式中

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    业务对象模式编码,不区分大小写

    Message

    System.String@

    返回消息结果

    返回值

    如果发布成功,则返回true;否则返回false

    方法名称:GetListenerPolicy(System.String)

    方法说明

    获得一个已发布的业务对象类型监听器的设置

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    业务对象模式编码

    返回值

    监听器的设置

    方法名称:SetListenerPolicy(System.String,OThinker.H3.DataModel.BizListenerPolicy)

    方法说明

    设置一个已发布的业务对象类型监听器的设置

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    业务对象模式编码

    ListenerPolicy

    OThinker.H3.DataModel.BizListenerPolicy

    监听器的设置

    返回值

    如果设置成功,则返回true;否则返回false

    方法名称:InvokeBizObjectMethod(System.String,OThinker.Data.BoolMatchValue,System.String,OThinker.H3.DataModel.BizObjectType,System.String,System.String,OThinker.H3.BizBus.BizService.BizStructure)

    方法说明

    调用业务对象方法

    输入参数

    名称

    类型

    说明

    UserId

    System.String

    调用该方法的用户ID

    Transactional

    OThinker.Data.BoolMatchValue

    事务的ID

    SchemaCode

    System.String

    业务对象模式编码

    BizObjectType

    OThinker.H3.DataModel.BizObjectType

    业务对象的类型

    ObjectId

    System.String

    业务对象的ID

    MethodName

    System.String

    要执行的方法的名称

    Params

    OThinker.H3.BizBus.BizService.BizStructure

    执行的方法的参数

    返回值

    执行的参数的返回值

    方法名称:GetList(System.String,System.String,System.String,OThinker.H3.BizBus.Filter.Filter,System.Int32@)

    方法说明

    执行Filter方法获取实体结构集合

    输入参数

    名称

    类型

    说明

    UserId

    System.String

    用户ID

    SchemaCode

    System.String

    数据模型编码

    MethodName

    System.String

    方法名称

    Filter

    OThinker.H3.BizBus.Filter.Filter

    过滤条件

    Count

    System.Int32@

    获取集合数据量

    返回值

    实体结构集合

    方法名称:UpdateComment(System.String,System.String,System.String,System.String,System.String,OThinker.Data.BoolMatchValue,System.String,System.Byte[])

    方法说明

    更新审批意见

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    数据模型编码

    ObjectId

    System.String

    数据实体ID

    PropertyName

    System.String

    意见数据项的名称

    CommentID

    System.String

    审批意见ID

    Text

    System.String

    新的审批意见值

    Approval

    OThinker.Data.BoolMatchValue

    新的审批结果

    SignatureId

    System.String

    新意见采用的签章ID

    Signature

    System.Byte[]

    签章二进制对象

    返回值

    执行结果:OThinker.H3.ErrorCode

    方法名称:AddComment(OThinker.H3.Data.Comment)

    方法说明

    添加审批意见

    输入参数

    名称

    类型

    说明

    Comment

    OThinker.H3.Data.Comment

    审批意见对象

    返回值

    执行结果:OThinker.H3.ErrorCode

    方法名称:AddComments(OThinker.H3.Data.Comment[])

    方法说明

    批量添加审批意见

    输入参数

    名称

    类型

    说明

    Comments

    OThinker.H3.Data.Comment[]

    审批意见集合

    返回值

    方法名称:GetCommentsByInstance(System.String,System.String,System.String,System.String,System.String,System.String)

    方法说明

    根据流程实例获取审批意见

    输入参数

    名称

    类型

    说明

    BizObjectSchemaCode

    System.String

    数据模型编码

    BizObjectId

    System.String

    数据实体ID

    InstanceId

    System.String

    流程实例ID

    PropertyName

    System.String

    审批意见数据项名称

    UserID

    System.String

    用户ID

    Activity

    System.String

    活动节点编码

    返回值

    审批意见集合

    方法名称:GetCommentsByBizObject(System.String,System.String,System.String)

    方法说明

    根据数据模型获取审批意见

    输入参数

    名称

    类型

    说明

    BizObjectSchemaCode

    System.String

    数据模型编码

    BizObjectId

    System.String

    数据实体ID

    PropertyName

    System.String

    审批意见数据项名称

    返回值

    审批意见集合

    方法名称:CopyComments(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Int64,System.Boolean)

    方法说明

    复制审核意见

    输入参数

    名称

    类型

    说明

    SourceBizObjectSchemaCode

    System.String

    源数据模型编码

    SourceBizObjectId

    System.String

    源数据模型ID

    SourceInstanceId

    System.String

    源流程实例ID

    SourceDataField

    System.String

    源审批类型数据项编码

    DestBizObjectSchemaCode

    System.String

    目标数据模型编码

    DestBizObjectId

    System.String

    目标数据模型ID

    DestInstanceId

    System.String

    目标流程实例ID

    DestDataField

    System.String

    目标审批类型数据项编码

    DestTokenId

    System.Int64

    目标活动节点ID

    Override

    System.Boolean

    是否覆盖模式

    返回值

    方法名称:GetAttachment(System.String,System.String,System.String,System.String)

    方法说明

    获取附件信息

    输入参数

    名称

    类型

    说明

    UserId

    System.String

    用户ID

    BizObjectSchemaCode

    System.String

    数据模型编码

    BizObjectId

    System.String

    数据实体ID

    AttachmentID

    System.String

    附件ID

    返回值

    附件内容

    方法名称:GetSingleAttachment(System.String,System.String,System.String,System.String,System.String)

    方法说明

    根据BizObjectId获取附件内容

    输入参数

    名称

    类型

    说明

    UserId

    System.String

    读取附件的用户的ID

    BizObjectSchemaCode

    System.String

    所属于的业务对象的模式的编码

    BizObjectId

    System.String

    所属于的业务对象的ID

    DataField

    System.String

    字段名称

    FileName

    System.String

    文件名称,如果不为空,则表示是获取特定的附件;如果为空,则表示这个字段只能最多有一个附件

    返回值

    附件的内容

    方法名称:GetAttachmentHeader(System.String,System.String,System.String)

    方法说明

    获取附件信息(不包含附件内容)

    输入参数

    名称

    类型

    说明

    BizObjectSchemaCode

    System.String

    数据模型编码

    BizObjectId

    System.String

    数据实体ID

    AttachmentID

    System.String

    附件ID

    返回值

    返回附件信息

    方法名称:GetAttachmentHeaders(System.String,System.String,System.String[])

    方法说明

    获取附件信息集合(不包含附件内容)

    输入参数

    名称

    类型

    说明

    BizObjectSchemaCode

    System.String

    数据模型编码

    BizObjectId

    System.String

    数据实体ID

    AttachmentIds

    System.String[]

    附件ID集合

    返回值

    返回附件信息集合

    方法名称:AddAttachment(OThinker.H3.Data.Attachment)

    方法说明

    添加附件

    输入参数

    名称

    类型

    说明

    Attachment

    OThinker.H3.Data.Attachment

    附件对象

    返回值

    返回添加后的附件ID

    方法名称:AddAttachments(System.String,System.String,System.String,OThinker.H3.Data.Attachment[],System.Boolean)

    方法说明

    批量添加附件

    输入参数

    名称

    类型

    说明

    BizObjectSchemaCode

    System.String

    数据模型编码

    BizObjectId

    System.String

    数据实体ID

    DataField

    System.String

    数据项名称

    Attachments

    OThinker.H3.Data.Attachment[]

    附件对象集合

    Overwrite

    System.Boolean

    是否覆盖模式

    返回值

    方法名称:RemoveAttachment(System.String,System.String,System.String,System.String)

    方法说明

    移除附件

    输入参数

    名称

    类型

    说明

    UserId

    System.String

    操作用户ID

    BizObjectSchemaCode

    System.String

    数据模型编码

    BizObjectId

    System.String

    数据实体ID

    AttachmentID

    System.String

    附件ID

    返回值

    方法名称:RemoveAttachmentByFileName(System.String,System.String,System.String,System.String,System.String)

    方法说明

    根据附件名称移除附件

    输入参数

    名称

    类型

    说明

    UserId

    System.String

    操作用户ID

    BizObjectSchemaCode

    System.String

    数据模型编码

    BizObjectId

    System.String

    数据实体ID

    DataField

    System.String

    数据项名称

    FileName

    System.String

    文件名称

    返回值

    方法名称:QueryAttachment(System.String,System.String,System.String,OThinker.Data.BoolMatchValue,System.String)

    方法说明

    查询附件

    输入参数

    名称

    类型

    说明

    BizObjectSchemaCode

    System.String

    数据模型编码

    BizObjectId

    System.String

    数据实体ID

    DataField

    System.String

    数据项名称

    LastVersion

    OThinker.Data.BoolMatchValue

    是否最新版本

    FileName

    System.String

    附件名称

    返回值

    返回附件头信息集合

    方法名称:RemoveAttachments(System.String,System.String,System.String)

    方法说明

    移除附件

    输入参数

    名称

    类型

    说明

    BizObjectSchemaCode

    System.String

    数据模型编码

    BizObjectId

    System.String

    数据实体ID

    DataField

    System.String

    数据项名称

    返回值

    方法名称:RemoveAttachmentGarbage

    方法说明

    附件垃圾回收策略

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:CopyAttachments(System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean)

    方法说明

    将附件从一个数据模型复制到另一个数据模型

    输入参数

    名称

    类型

    说明

    SourceBizObjectSchemaCode

    System.String

    源数据模型编码

    SourceBizObjectId

    System.String

    源数据实体ID

    SourceDataField

    System.String

    源附件类型数据项编码

    DestBizObjectSchemaCode

    System.String

    目标数据模型编码

    DestBizObjectId

    System.String

    目标数据实体ID

    DestDataField

    System.String

    目标附件类型数据项编码

    Override

    System.Boolean

    是否覆盖模式

    返回值

    方法名称:AttachBizObject(System.String,System.String[],System.String,System.String,System.String)

    方法说明

    更新附件

    输入参数

    名称

    类型

    说明

    UserId

    System.String

    操作用户ID

    Attachments

    System.String[]

    附件ID集合

    BizObjectSchemaCode

    System.String

    数据模型编码

    BizObjectId

    System.String

    数据实体ID

    DataField

    System.String

    数据项名称

    返回值

    方法名称:UpdateAttachment(System.String,System.String,System.String,System.String,System.String,System.String,System.Byte[],System.Int64)

    方法说明

    更新附件内容

    输入参数

    名称

    类型

    说明

    BizObjectSchemaCode

    System.String

    数据模型编码

    BizObjectId

    System.String

    数据实体ID

    AttachmentID

    System.String

    附件ID

    ModifiedBy

    System.String

    修改人

    FileName

    System.String

    文件名称

    ContentType

    System.String

    文件类型

    Content

    System.Byte[]

    文件内容

    FileFlag

    System.Int64

    附件打开模式

    返回值

    方法名称:UpdateAttachmentWeChatMediaID(System.String,System.String,System.DateTime)

    方法说明

    更新微信中的多媒体文件ID

    输入参数

    名称

    类型

    说明

    AttachmentID

    System.String

    附件ID

    WeChatMediaID

    System.String

    微信多媒体文件ID

    WeChatMediaExpireTime

    System.DateTime

    微信多媒体文件过期时间

    返回值

    方法名称:AddBizQuery(OThinker.H3.DataModel.BizQuery)

    方法说明

    注册 BizQuery 对象

    输入参数

    名称

    类型

    说明

    Query

    OThinker.H3.DataModel.BizQuery

    查询对象

    返回值

    返回操作是否成功

    方法名称:UpdateBizQuery(OThinker.H3.DataModel.BizQuery)

    方法说明

    更新 BizQuery 对象

    输入参数

    名称

    类型

    说明

    Query

    OThinker.H3.DataModel.BizQuery

    查询对象

    返回值

    返回操作是否成功

    方法名称:SaveBizQuery(OThinker.H3.DataModel.BizQuery)

    方法说明

    注册 BizQuery 对象(Add/Update)

    输入参数

    名称

    类型

    说明

    Query

    OThinker.H3.DataModel.BizQuery

    查询对象

    返回值

    返回操作是否成功

    方法名称:RemoveBizQuery(OThinker.H3.DataModel.BizQuery)

    方法说明

    移除BizQuery对象

    输入参数

    名称

    类型

    说明

    Query

    OThinker.H3.DataModel.BizQuery

    查询对象

    返回值

    方法名称:GetBizQuery(System.String)

    方法说明

    获取BizQuery对象

    输入参数

    名称

    类型

    说明

    QueryCode

    System.String

    查询编码

    返回值

    查询对象

    方法名称:GetBizQueries(System.String)

    方法说明

    根据数据模型编码获取查询对象的集合

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    数据模型编码

    返回值

    查询对象的集合

    方法名称:GetScheduleInvoker(System.String)

    方法说明

    获得定期调用的设置

    输入参数

    名称

    类型

    说明

    ScheduleInvokerId

    System.String

    定期调用的ID

    返回值

    定期调用的设置

    方法名称:GetScheduleInvokerList(System.String)

    方法说明

    获得定期调用的设置

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    业务对象模式编码

    返回值

    定期调用的设置列表

    方法名称:AddScheduleInvoker(OThinker.H3.DataModel.ScheduleInvoker)

    方法说明

    注册监听器

    输入参数

    名称

    类型

    说明

    ScheduleInvoker

    OThinker.H3.DataModel.ScheduleInvoker

    监听器

    返回值

    如果成功则返回true;否则返回false

    方法名称:UpdateScheduleInvoker(OThinker.H3.DataModel.ScheduleInvoker)

    方法说明

    更新一个监听器

    输入参数

    名称

    类型

    说明

    ScheduleInvoker

    OThinker.H3.DataModel.ScheduleInvoker

    监听器

    返回值

    如果成功则返回true;否则返回false

    方法名称:RemoveScheduleInvoker(System.String)

    方法说明

    删除一个监听器

    输入参数

    名称

    类型

    说明

    ScheduleInvokerId

    System.String

    监听器ID,不区分大小写

    返回值

    如果成功则返回true;否则返回false

    方法名称:RegisterListener(OThinker.H3.DataModel.BizListener)

    方法说明

    注册一个监听器

    输入参数

    名称

    类型

    说明

    Listener

    OThinker.H3.DataModel.BizListener

    监听器

    返回值

    如果注册成功,则返回true;否则返回false

    方法名称:RemoveListener(OThinker.H3.DataModel.BizListener)

    方法说明

    删除一个监听器

    输入参数

    名称

    类型

    说明

    Listener

    OThinker.H3.DataModel.BizListener

    监听器

    返回值

    方法名称:GetListenersBySchemaCode(System.String)

    方法说明

    获得某个业务对象模式下的所有监听

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    业务对象模式编码

    返回值

    所有的监听

    方法名称:ValidateBizObjectSchema(System.String)

    方法说明

    检验数据模型

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    数据模型编码

    返回值

    返回检验结果

    方法名称:SetPropertyValue(System.String,System.String,System.String,System.String,System.Object)

    方法说明

    设置数据项的值

    输入参数

    名称

    类型

    说明

    BizObjectSchemaCode

    System.String

    数据模型编码

    BizObjectId

    System.String

    数据实体ID

    UserId

    System.String

    用户ID

    PropertyName

    System.String

    数据项名称

    PropertyValue

    System.Object

    数据项的值

    返回值

    返回更新是否成功

    方法名称:SetPropertyValues(System.String,System.String,System.String,System.Collections.Generic.Dictionary{System.String,System.Object})

    方法说明

    设置数据项的值

    输入参数

    名称

    类型

    说明

    BizObjectSchemaCode

    System.String

    数据模型编码

    BizObjectId

    System.String

    数据实体ID

    UserId

    System.String

    用户ID

    PropertyNameValues

    System.Collections.Generic.Dictionary{System.String

    数据项(名称,值)的集合

    返回值

    返回更新是否成功

    方法名称:AddBizObjectAcl(OThinker.H3.Acl.BizObjectAcl)

    方法说明

    添加数据项模型权限

    输入参数

    名称

    类型

    说明

    Acl

    OThinker.H3.Acl.BizObjectAcl

    数据模型权限对象

    返回值

    返回更新是否成功

    方法名称:UpdateBizObjectAcl(OThinker.H3.Acl.BizObjectAcl)

    方法说明

    更新权限

    输入参数

    名称

    类型

    说明

    Acl

    OThinker.H3.Acl.BizObjectAcl

    数据模型权限对象

    返回值

    方法名称:RemoveBizObjectAcl(System.String,System.String,System.String)

    方法说明

    删除数据项模型权限

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    数据模型编码

    FolderId

    System.String

    文件夹ID

    AclID

    System.String

    权限ID

    返回值

    方法名称:RemoveBizObjectAcls(System.String,System.String,System.String[])

    方法说明

    删除数据项模型权限

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    数据模型编码

    FolderId

    System.String

    文件夹ID

    AclIDs

    System.String[]

    权限ID集合

    返回值

    方法名称:GetBizObjectAcls(System.String,System.String)

    方法说明

    根据数据模型编码、文件夹获取权限信息

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    数据模型编码

    FolderId

    System.String

    文件夹ID

    返回值

    返回权限对象的集合

    方法名称:GetBizObjectAcl(System.String,System.String,System.String)

    方法说明

    根据模型编码、文件夹、ID获取业务权限

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    数据模型编码

    FolderId

    System.String

    文件夹ID

    AclId

    System.String

    权限ID

    返回值

    返回业务权限对象

    方法名称:GetBizObjectUserAcls(System.String,System.String,System.String[])

    方法说明

    根据数据模型编码、文件夹、用户获取权限信息

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    数据模型编码

    FolderId

    System.String

    文件夹ID

    Users

    System.String[]

    用户集合

    返回值

    返回权限对象的集合

    方法名称:CheckSchemaCodeDuplicated(System.String,System.String@)

    方法说明

    检测数据模型编码是否重复

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    数据模型编码

    Message

    System.String@

    返回的错误信息

    返回值

    重复返回false,没重复返回true

    18 类:OThinker.H3.DataModel.IBizObjectTrackManager

    说明:数据痕迹管理器

    访问入口:this.Engine.BizObjectTrackManager

    示例:

    this.Engine.BizObjectTrackManager.Query("BizobjectID","ItemName");

    方法名称:Add(OThinker.H3.DataModel.BizObjectPropertyTrack[])

    方法说明

    添加痕迹记录

    输入参数

    名称

    类型

    说明

    Tracks

    OThinker.H3.DataModel.BizObjectPropertyTrack[]

    要记录的痕迹

    返回值

    方法名称:QueryTable(System.String,System.String)

    方法说明

    查询痕迹

    输入参数

    名称

    类型

    说明

    BizObjectId

    System.String

    业务对象的ID

    ItemName

    System.String

    项名称

    返回值

    痕迹表,里面会包含修改时间、修改人、活动名称和修改后的值等信息

    方法名称:Query(System.String,System.String)

    方法说明

    查询某个数据项的痕迹记录

    输入参数

    名称

    类型

    说明

    BizObjectId

    System.String

    业务对象的ID

    ItemName

    System.String

    项名称

    返回值

    痕迹记录的ID

    方法名称:GetTrack(System.String)

    方法说明

    读取一个记录

    输入参数

    名称

    类型

    说明

    TrackID

    System.String

    痕迹记录的ID

    返回值

    痕迹记录

    方法名称:RemoveBizObject(System.String)

    方法说明

    删除流程

    输入参数

    名称

    类型

    说明

    BizObjectId

    System.String

    业务对象的ID

    返回值

    19 类:OThinker.H3.DataModel.IFilePolicyManager

    说明:文件存储策略管理器

    访问入口:this.Engine.FilePolicyManager

    示例:

    this.Engine.FilePolicyManager.GetFileServer("编码")

    方法名称:GetFileServers

    方法说明

    获取所有文件服务器的存储策略集合

    输入参数

    名称

    类型

    说明

    返回值

    返回所有文件存储服务器对象的集合

    方法名称:UpdateFileServer(OThinker.H3.DataModel.FileServer)

    方法说明

    更新文件存储服务器

    输入参数

    名称

    类型

    说明

    Server

    OThinker.H3.DataModel.FileServer

    文件服务器对象

    返回值

    返回更新是否成功

    方法名称:GetFileServer(System.String)

    方法说明

    根据编码获取文件存储服务器

    输入参数

    名称

    类型

    说明

    Code

    System.String

    文件服务器编码

    返回值

    返回文件服务器对象实例

    方法名称:AddFileServer(OThinker.H3.DataModel.FileServer)

    方法说明

    增加文件存储服务器

    输入参数

    名称

    类型

    说明

    Server

    OThinker.H3.DataModel.FileServer

    文件服务器对象

    返回值

    返回添加是否成功

    方法名称:RemoveFileServer(System.String)

    方法说明

    移除文件存储服务器

    输入参数

    名称

    类型

    说明

    Code

    System.String

    文件服务器编码

    返回值

    返回移除是否成功

    方法名称:SetDefault(System.String,System.Boolean)

    方法说明

    设置指定服务器编码是否为默认存储服务器

    输入参数

    名称

    类型

    说明

    Code

    System.String

    文件服务器编码

    Default

    System.Boolean

    是否设置为默认存储服务器

    返回值

    返回设置是否成功

    20 类:OThinker.H3.Analytics.IAnalyzer

    说明:BPA服务接口

    访问入口:this.Engine.Analyzer

    示例:

    this.Engine.Analyzer.GetReportSource("SourceID")

    方法名称:OThinker.H3.Analytics.Reporting.ReportSource

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:AddReportSource(OThinker.H3.Analytics.Reporting.ReportSource)

    方法说明

    添加报表数据源

    输入参数

    名称

    类型

    说明

    Source

    OThinker.H3.Analytics.Reporting.ReportSource

    报表数据源对象

    返回值

    返回添加是否成功

    方法名称:GetReportSource(System.String)

    方法说明

    根据ID获取报表数据源

    输入参数

    名称

    类型

    说明

    SourceID

    System.String

    数据源ID

    返回值

    返回报表数据源

    方法名称:GetReportSourceByCode(System.String)

    方法说明

    根据编码获取报表数据源

    输入参数

    名称

    类型

    说明

    SourceCode

    System.String

    数据源编码

    返回值

    返回报表数据源

    方法名称:GetReportSources

    方法说明

    获取所有报表数据源

    输入参数

    名称

    类型

    说明

    返回值

    返回报表数据源集合

    方法名称:RemoveReportSource(System.String)

    方法说明

    删除报表数据源

    输入参数

    名称

    类型

    说明

    SourceID

    System.String

    数据源ID

    返回值

    返回移除报表数据源是否成功

    方法名称:UpdateReportSource(OThinker.H3.Analytics.Reporting.ReportSource)

    方法说明

    更新报表数据源配置

    输入参数

    名称

    类型

    说明

    Source

    OThinker.H3.Analytics.Reporting.ReportSource

    报表数据源对象

    返回值

    返回更新是否成功

    方法名称:GetReportTemplate(System.String)

    方法说明

    获取报表模板

    输入参数

    名称

    类型

    说明

    ObjectID

    System.String

    报表模板ID

    返回值

    返回报表模板

    方法名称:GetReportTemplateByCode(System.String)

    方法说明

    获取报表模板

    输入参数

    名称

    类型

    说明

    Code

    System.String

    报表模板编码

    返回值

    返回报表模板

    方法名称:GetReportTemplatesByType(OThinker.H3.Analytics.Reporting.ReportType)

    方法说明

    根据报表类型,获取报表模板

    输入参数

    名称

    类型

    说明

    ReportType

    OThinker.H3.Analytics.Reporting.ReportType

    报表类型

    返回值

    返回报表模板集合

    方法名称:GetAllReportTemplates

    方法说明

    获取所有报表模板

    输入参数

    名称

    类型

    说明

    返回值

    返回报表模板集合

    方法名称:GetReportTemplateByFolderCode(System.String)

    方法说明

    根据目录编码,获取报表

    输入参数

    名称

    类型

    说明

    FolderCode

    System.String

    目录编码

    返回值

    返回报表模板集合

    方法名称:AddReportTemplate(OThinker.H3.Analytics.Reporting.ReportTemplate)

    方法说明

    添加报表模板

    输入参数

    名称

    类型

    说明

    ReportTemplate

    OThinker.H3.Analytics.Reporting.ReportTemplate

    报表模板对象

    返回值

    返回添加是否成功

    方法名称:RemoveReportTemplate(System.String)

    方法说明

    删除报表模板

    输入参数

    名称

    类型

    说明

    ObjectID

    System.String

    报表模板对象ID

    返回值

    返回删除是否成功

    方法名称:UpdateReportTemplate(OThinker.H3.Analytics.Reporting.ReportTemplate)

    方法说明

    更新报表模板

    输入参数

    名称

    类型

    说明

    ReportTemplate

    OThinker.H3.Analytics.Reporting.ReportTemplate

    报表模板对象

    返回值

    返回更新是否成功

    21 类:OThinker.H3.WorkItem.IAgencyManager

    说明:委托关系管理器。当系统向用户A发送一个工作项的时候,会首先检查委托设置,如果存在委托,则发给委托人

    访问入口:this.Engine.AgencyManager

    示例:

    this.Engine.AgencyManager.GetAgency("ID")

    方法名称:Add(OThinker.H3.WorkItem.Agency)

    方法说明

    添加一个委托关系

    输入参数

    名称

    类型

    说明

    Agency

    OThinker.H3.WorkItem.Agency

    委托关系对象

    返回值

    返回操作是否成功

    方法名称:Update(OThinker.H3.WorkItem.Agency)

    方法说明

    更新一个委托关系对象

    输入参数

    名称

    类型

    说明

    Agency

    OThinker.H3.WorkItem.Agency

    委托关系对象

    返回值

    返回操作是否成功

    方法名称:GetUserAgencies(System.String)

    方法说明

    通过委托人ID,获得所有委托给该用户、并且当前已经生效的所有委托设置

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    委托人ID

    返回值

    所有已经生效的委托关系

    方法名称:GetAgent(System.String,System.String,System.String)

    方法说明

    通过委托人ID,获得用户的当前生效的、最终的受托人

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    委托人ID

    WorkflowCode

    System.String

    流程模板编码

    Originator

    System.String

    流程的发起人

    返回值

    如果没有找到最终代理人,则返回为Null

    方法名称:Remove(System.String)

    方法说明

    删除一个委托关系

    输入参数

    名称

    类型

    说明

    AgencyID

    System.String

    委托关系ID

    返回值

    方法名称:RemoveWorkflow(System.String)

    方法说明

    当流程模板被删除的时候,调用该方法,删除相关的委托关系

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    方法名称:GetAgency(System.String)

    方法说明

    读取一个委托关系

    输入参数

    名称

    类型

    说明

    AgencyID

    System.String

    委托关系ID

    返回值

    委托关系

    方法名称:Exists(System.String,System.String,System.String)

    方法说明

    检查委托关系定义是否已经存在。请注意,这里不区分是否已经生效,凡事定义的,即使没有生效也算存在。

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    委托人ID

    WorkflowCode

    System.String

    流程模板编码

    Originator

    System.String

    流程发起人

    返回值

    是否存在关系定义

    方法名称:CheckWorkItemAgency(System.String,System.String,System.String,System.String)

    方法说明

    检查User与Agent就某个工作流模板是否存在当前已经生效的工作委托关系

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    委托人ID

    AgentID

    System.String

    受托人ID

    WorkflowCode

    System.String

    流程模板编码

    Originator

    System.String

    发起人

    返回值

    是否存在委托关系

    方法名称:CheckOriginateAgency(System.String,System.String,System.String)

    方法说明

    检查User与Agent就某个工作流模板是否存在当前已经生效的发起委托关系

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    委托人ID

    AgentID

    System.String

    受托人ID

    WorkflowCode

    System.String

    流程模板编码

    返回值

    是否存在委托关系

    方法名称:GetOriginateAgencyTable(System.String,System.String,System.Data.DataTable,System.String)

    方法说明

    将没有发起权限的流程模板去掉

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    委托人

    AgentID

    System.String

    被委托人

    WorkflowTable

    System.Data.DataTable

    所有委托人可以发起的流程

    ColumnCode

    System.String

    WorkflowTable的WorkflowCode列的列名称

    返回值

    被委托人可以帮助委托人发起的所有流程模板的表

    方法名称:GetOriginateOriginators(System.String)

    方法说明

    获得发起委托给AgentID的委托人

    输入参数

    名称

    类型

    说明

    AgentID

    System.String

    被委托人,禁止为空

    返回值

    委托关系

    22 类:OThinker.H3.WorkItem.IConsultancyManager

    说明:自动征询意见的关系管理器

    访问入口:this.Engine.ConsultancyManager

    示例:

    this.Engine.ConsultancyManager.GetConsultancy("ID");

    方法名称:Save(OThinker.H3.WorkItem.Consultancy)

    方法说明

    将征询关系信息保存起来

    输入参数

    名称

    类型

    说明

    Consultancy

    OThinker.H3.WorkItem.Consultancy

    自动征询意见关系

    返回值

    方法名称:Remove(System.String)

    方法说明

    删除一个征询关系信息

    输入参数

    名称

    类型

    说明

    ConsultancyID

    System.String

    自动征询意见设置的ID

    返回值

    方法名称:RemoveWorkflow(System.String)

    方法说明

    当流程模板被删除的时候,调用该方法,删除相关的委托关系

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    方法名称:GetConsultancy(System.String)

    方法说明

    读取一个征询关系信息

    输入参数

    名称

    类型

    说明

    ConsultancyID

    System.String

    自动征询意见设置的ID

    返回值

    自动征询意见设置

    方法名称:Exists(System.String,System.String,System.String)

    方法说明

    检查征询关系信息是否已经存在

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    用户ID

    WorkflowCode

    System.String

    流程模板编码

    Originator

    System.String

    发起人范围

    返回值

    如果征询意见关系已经存在,则返回true,否则返回false

    方法名称:GetUserConsultancies(System.String)

    方法说明

    获得某个用户所有当前有效的自动征询意见关系设置

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    用户ID

    返回值

    该用户的所有当前有效的自动征询意见关系

    方法名称:GetConsultancyByRelationship(System.String,System.String,System.String[])

    方法说明

    获得用户的征询关系

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    用户ID

    WorkflowCode

    System.String

    流程模板编码

    OriginatorMemberOfs

    System.String[]

    发起人所属,包括自己

    返回值

    如果没有找到最终征询关系人,则返回为Null

    23 类:OThinker.H3.Exceptions.IExceptionManager

    说明:异常管理器

    访问入口:this.Engine.ExceptionManager

    示例:

    this.Engine.ExceptionManager.NotifyException

    方法名称:

    NotifyException(System.String,System.Int32,System.String,OThinker.H3.Instance.RuntimeObjectType,System.String,System.Boolean,OThinker.H3.Instance.RuntimeObjectAction,System.String,System.String,System.String)

    方法说明

    通知异常

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    WorkflowVersion

    System.Int32

    流程模板版本号

    InstanceId

    System.String

    流程实例的ID

    SourceRuntimeObjectType

    OThinker.H3.Instance.RuntimeObjectType

    异常源对象的类型

    SourceElementName

    System.String

    异常源对象的名称

    Block

    System.Boolean

    是否阻塞流程

    SourceRuntimeObjectAction

    OThinker.H3.Instance.RuntimeObjectAction

    异常源对象造成异常的动作,比如:流程启动、活动结束事件等

    Message

    System.String

    异常信息

    SequenceNo

    System.String

    流水号

    Originator

    System.String

    发起人

    返回值

    方法名称:GetUnfixedExceptions

    方法说明

    获得未修复的异常记录

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:GetExceptions(System.DateTime,System.DateTime)

    方法说明

    获得某个时间段的所有异常记录

    输入参数

    名称

    类型

    说明

    From

    System.DateTime

    开始时间

    To

    System.DateTime

    结束时间

    返回值

    在时间段内发生的异常的记录

    方法名称:GetExceptionsByInstance(System.String)

    方法说明

    获得一个实例的所有异常情况

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程实例的ID

    返回值

    流程实例的所有异常

    方法名称:FixException(System.String)

    方法说明

    修复一个异常

    输入参数

    名称

    类型

    说明

    ExceptionID

    System.String

    异常信息的ID

    返回值

    如果修复成功,则返回0,否则返回异常信息

    方法名称:RemoveInstance(System.String)

    方法说明

    删除一个实例的异常

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程实例的ID

    返回值

    方法名称:GetException(System.String)

    方法说明

    获得某个异常的具体信息

    输入参数

    名称

    类型

    说明

    ExceptionID

    System.String

    异常记录的ID

    返回值

    异常信息

    方法名称:QueryTable(System.String,System.DateTime,System.DateTime,OThinker.H3.Exceptions.ExceptionState)

    方法说明

    查询当前存在的异常

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程实例的ID

    From

    System.DateTime

    开始时间

    To

    System.DateTime

    结束时间

    State

    OThinker.H3.Exceptions.ExceptionState

    异常记录的状态,Unspecified表示不区分异常状态

    返回值

    异常表

    24 类:OThinker.H3.Instance.IInstanceManager

    说明:流程实例管理器

    访问入口:this.Engine.InstanceManager

    示例:

    this.Engine.InstanceManager.GetInstanceContext("流程实例ID");

    方法名称:

    CreateInstance(System.String,System.String,System.Int32,System.String,System.String,System.String,System.String,System.String,System.Boolean,System.String,System.String,System.Int32)

    方法说明

    创建一个流程实例

    输入参数

    名称

    类型

    说明

    BizObjectId

    System.String

    业务对象的ID

    WorkflowCode

    System.String

    流程模板编码

    WorkflowVersion

    System.Int32

    流程版本号

    InstanceId

    System.String

    流程实例的ID,如果为空则由Engine自动生成一个

    InstanceName

    System.String

    流程实例的名称

    Originator

    System.String

    发起人

    OriginatedGroup

    System.String

    以哪个组的身份发起流程的

    OriginatedPost

    System.String

    以哪个岗位的身份发起流程的

    IsChildInstance

    System.Boolean

    是否是子实例

    ParentInstanceID

    System.String

    如果是子实例,则该项为父实例的ID

    ParentActivityName

    System.String

    如果是子实例,则该项为发起该实例的父实例的Activity的ID

    ParentActivityTokenId

    System.Int32

    如果是子实例,则该项为发起该实例的父实例的TokenID

    返回值

    如果创建成功则返回实例的ID,否则返回NullInstanceID

    方法名称:CreateInstanceByDefault(System.String,System.String,System.String,System.String)

    方法说明

    创建流程实例

    输入参数

    名称

    类型

    说明

    BizObjectId

    System.String

    数据实例ID

    WorkflowCode

    System.String

    流程模板编码

    InstanceName

    System.String

    流程实例名称

    Originator

    System.String

    发起人

    返回值

    方法名称:GetInstanceContext(System.String)

    方法说明

    获得一个实例的状态

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程实例的ID

    返回值

    流程实例的上下文

    方法名称:GetInstanceContextsByBizObject(System.String,System.String)

    方法说明

    根据BizObjectID获取流程实例集合

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    数据模型编码

    BizObjectId

    System.String

    业务实例ID

    返回值

    返回当前数据所有绑定的流程实例的集合

    方法名称:GetParentInstanceInfo(System.String)

    方法说明

    获得父流程的工作流信息

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程实例的ID

    返回值

    父流程实例信息

    方法名称:SendMessages(OThinker.H3.Messages.Message[])

    方法说明

    发送消息给流程实例,以驱动流程实例的运行

    输入参数

    名称

    类型

    说明

    Messages

    OThinker.H3.Messages.Message[]

    发送给流程实例的消息

    返回值

    方法名称:SendMessage(OThinker.H3.Messages.Message)

    方法说明

    发送消息给流程实例,以驱动流程实例的运行

    输入参数

    名称

    类型

    说明

    Message

    OThinker.H3.Messages.Message

    发送给流程实例的消息

    返回值

    方法名称:SetInstanceName(System.String,System.String)

    方法说明

    设置流程实例显示名称

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程实例ID

    InstanceName

    System.String

    流程实例名称

    返回值

    方法名称:SetInstancePriority(System.String,OThinker.H3.Instance.PriorityType)

    方法说明

    设置流程实例紧急程度

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程实例ID

    Priority

    OThinker.H3.Instance.PriorityType

    紧急程度

    返回值

    方法名称:IncNextInstanceSeqID(System.String)

    方法说明

    增加一个流水号,并返回一个新的流水号

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    新的流程实例的流水号

    方法名称:ResetSeqNo(System.DateTime)

    方法说明

    重置流水号,该方法只能每天被调用一次,且最多只能被调用一次。该方法只能由Engine的定时器调用,不能被外部系统调用。

    输入参数

    名称

    类型

    说明

    Now

    System.DateTime

    当前时间

    返回值

    方法名称:RemoveInstance(System.String,System.Boolean)

    方法说明

    删除流程实例

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    要删除的流程实例的ID

    AutoUpdateBizObject

    System.Boolean

    删除之后,是否需要更新BO.RunningInstanceId字段

    返回值

    25 类:OThinker.H3.Instance.IInstanceSimulationManager

    说明:流程模拟管理器

    访问入口:this.Engine.SimulationManager

    示例:

    this.Engine.SimulationManager.AddSimulation(new Instance.InstanceSimulation());

    方法名称:GetSimulation(System.String)

    方法说明

    获取单个流程案例

    输入参数

    名称

    类型

    说明

    ObjectID

    System.String

    流程模拟ID

    返回值

    返回流程模拟对象

    方法名称:GetSimulations(System.String[])

    方法说明

    获取单个流程案例

    输入参数

    名称

    类型

    说明

    ObjectID

    System.String[]

    流程模拟ID

    返回值

    返回流程模拟对象

    方法名称:GetSimulationList(System.String)

    方法说明

    获取单个测试集

    输入参数

    名称

    类型

    说明

    ObjectID

    System.String

    测试集ID

    返回值

    返回流程模拟对象

    方法名称:AddSimulationList(OThinker.H3.Instance.InstanceSimulationList)

    方法说明

    新增一个流程案例

    输入参数

    名称

    类型

    说明

    SimulationList

    OThinker.H3.Instance.InstanceSimulationList

    测试集对象

    返回值

    返回添加是否成功

    方法名称:AddSimulation(OThinker.H3.Instance.InstanceSimulation)

    方法说明

    新增一个流程案例

    输入参数

    名称

    类型

    说明

    Simulation

    OThinker.H3.Instance.InstanceSimulation

    流程模拟对象

    返回值

    返回添加是否成功

    方法名称:UpdateSimulation(OThinker.H3.Instance.InstanceSimulation)

    方法说明

    更新流程案例

    输入参数

    名称

    类型

    说明

    Simulation

    OThinker.H3.Instance.InstanceSimulation

    流程模拟对象

    返回值

    返回更新是否成功

    方法名称:UpdateSimulationList(OThinker.H3.Instance.InstanceSimulationList)

    方法说明

    更新流程测试集

    输入参数

    名称

    类型

    说明

    SimulationList

    OThinker.H3.Instance.InstanceSimulationList

    测试集对象

    返回值

    返回更新是否成功

    方法名称:RemoveSimulation(System.String[])

    方法说明

    删除模拟

    输入参数

    名称

    类型

    说明

    SimulationIDs

    System.String[]

    流程模拟ID集合

    返回值

    方法名称:RemoveSimulationList(System.String[])

    方法说明

    删除测试集

    输入参数

    名称

    类型

    说明

    SimulationListIDs

    System.String[]

    测试集ID集合

    返回值

    方法名称:RunSimulation(System.String[])

    方法说明

    运行选定的案例

    输入参数

    名称

    类型

    说明

    SimulationIds

    System.String[]

    流程模拟ID集合

    返回值

    方法名称:RunSimulationList(System.String[])

    方法说明

    运行选定的测试集

    输入参数

    名称

    类型

    说明

    SimulationListIds

    System.String[]

    测试集ID集合

    返回值

    方法名称:GetSimulationByWorkflow(System.String)

    方法说明

    获取指定模板的所有流程案例

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    返回流程模拟对象的集合

    方法名称:GetSimulationListByWorkflow(System.String)

    方法说明

    获取指定模板的所有流程测试集

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    返回流程模拟对象的集合

    26 类:OThinker.H3.Data.IMetadataRepository

    说明:数据字典接口

    访问入口:this.Engine.MetadataRepository

    示例:

    this.Engine.MetadataRepository.Add(new Data.EnumerableMetadata());

    方法名称:ExistPrimitiveItem(System.String)

    方法说明

    检查全局变量名称是否已经存在

    输入参数

    名称

    类型

    说明

    ItemName

    System.String

    项目名称

    返回值

    返回是否存在

    方法名称:CreatePrimitiveItem(System.String,System.String,System.String)

    方法说明

    创建一个全局变量

    输入参数

    名称

    类型

    说明

    ItemName

    System.String

    变量名称

    Description

    System.String

    描述信息

    ItemValue

    System.String

    变量值

    返回值

    如果成功,则返回0,否则返回错误代码 OThinker.H3.ErrorCode

    方法名称:GetPrimitiveItemValue(System.String)

    方法说明

    获取一个全局变量

    输入参数

    名称

    类型

    说明

    ItemName

    System.String

    全局变量名称

    返回值

    全局变量值

    方法名称:SetPrimitiveItemValue(System.String,System.String,System.String)

    方法说明

    设置一个全局变量的值

    输入参数

    名称

    类型

    说明

    ItemName

    System.String

    全局变量名称

    ItemValue

    System.String

    全局变量值

    返回值

    如果成功,则返回0,否则返回错误代码 OThinker.H3.ErrorCode

    方法名称:GetAllPrimitiveItems

    方法说明

    获取所有的全局变量名称的集合

    输入参数

    名称

    类型

    说明

    返回值

    全局变量名称集合

    方法名称:RemovePrimitiveItem(System.String)

    方法说明

    删除一个全局变量

    输入参数

    名称

    类型

    说明

    ItemName

    System.String

    全局变量名称

    返回值

    方法名称:GetPrimitiveItem(System.String)

    方法说明

    根据名称获取单个全局变量

    输入参数

    名称

    类型

    说明

    ItemName

    System.String

    全局变量名称

    返回值

    全局变量

    方法名称:ParseText(System.String)

    方法说明

    解析一段文本,将文本中的{}标记的数据转换为数据的值

    输入参数

    名称

    类型

    说明

    Text

    System.String

    解析的公式

    返回值

    方法名称:Remove(System.String)

    方法说明

    删除主数据

    输入参数

    名称

    类型

    说明

    ObjectId

    System.String

    要删除的主数据的ID

    返回值

    方法名称:RemoveByCategory(System.String)

    方法说明

    删除某个类型的主数据

    输入参数

    名称

    类型

    说明

    Category

    System.String

    要删除的主数据的类型

    返回值

    方法名称:Add(OThinker.H3.Data.EnumerableMetadata)

    方法说明

    新增主数据项

    输入参数

    名称

    类型

    说明

    Data

    OThinker.H3.Data.EnumerableMetadata

    主数据

    返回值

    返回是否保存成功

    方法名称:Update(OThinker.H3.Data.EnumerableMetadata)

    方法说明

    更新主数据

    输入参数

    名称

    类型

    说明

    Data

    OThinker.H3.Data.EnumerableMetadata

    要更新的主数据

    返回值

    返回是否保存成功

    方法名称:GetByCategory(System.String)

    方法说明

    获得某个类型下的所有主数据

    输入参数

    名称

    类型

    说明

    Category

    System.String

    类型代码

    返回值

    所有主数据

    方法名称:GetValuesByCategory(System.String)

    方法说明

    获得所有主数据的值

    输入参数

    名称

    类型

    说明

    Category

    System.String

    类型代码

    返回值

    所有主数据的值

    方法名称:GetById(System.String)

    方法说明

    通过ID获得主数据

    输入参数

    名称

    类型

    说明

    ObjectId

    System.String

    返回值

    方法名称:GetByCode(System.String,System.String)

    方法说明

    通过类型和编码获取单个数据字典对象

    输入参数

    名称

    类型

    说明

    Category

    System.String

    数据字典类型

    Code

    System.String

    数据字典编码

    返回值

    数据字典对象

    方法名称:GetCategoryTable

    方法说明

    获取所有的数据字典

    输入参数

    名称

    类型

    说明

    返回值

    返回数据字典类型的集合

    方法名称:GetChildren(System.String,OThinker.H3.Data.MasterDataState)

    方法说明

    通过父对象的编码获得子成员

    输入参数

    名称

    类型

    说明

    ParentCode

    System.String

    父对象编码

    State

    OThinker.H3.Data.MasterDataState

    状态

    返回值

    子成员

    方法名称:GetTreeItemsByCode(System.String[])

    方法说明

    根据编码获得主数据对象

    输入参数

    名称

    类型

    说明

    Codes

    System.String[]

    要读取的主数据的项目的代码

    返回值

    主数据对象

    方法名称:GetTreeItemByCode(System.String)

    方法说明

    根据编码获得主数据对象

    输入参数

    名称

    类型

    说明

    Code

    System.String

    要读取的主数据的项目的代码

    返回值

    主数据对象

    方法名称:SetTreeItemState(System.String,OThinker.H3.Data.MasterDataState)

    方法说明

    设置数据的状态

    输入参数

    名称

    类型

    说明

    Code

    System.String

    主数据对象编码

    State

    OThinker.H3.Data.MasterDataState

    主数据的状态

    返回值

    方法名称:SaveTreeItem(OThinker.H3.Data.TreeMetadata)

    方法说明

    保存树状主数据

    输入参数

    名称

    类型

    说明

    Item

    OThinker.H3.Data.TreeMetadata

    主数据对象

    返回值

    如果保存成功,则返回true,否则返回false

    方法名称:RemoveTreeItem(System.String)

    方法说明

    删除树型主数据的节点

    输入参数

    名称

    类型

    说明

    Code

    System.String

    要删除的节点的编码

    返回值

    方法名称:SetDefaultItem(System.String,System.Boolean)

    方法说明

    设置默认

    输入参数

    名称

    类型

    说明

    ObjectID

    System.String

    Default

    System.Boolean

    返回值

    27 类:OThinker.H3.Notification.INotifier

    说明:用于管理通知的接口

    访问入口:this.Engine.Notifier

    示例:

    this.Engine.Notifier.Notify(new Notification.Notification());

    方法名称:Notify(OThinker.H3.Notification.Notification)

    方法说明

    通知对外发送的消息

    输入参数

    名称

    类型

    说明

    Notification

    OThinker.H3.Notification.Notification

    要发送的通知

    返回值

    方法名称:SetState(System.String,OThinker.H3.Notification.NotificationState)

    方法说明

    设置为已读

    输入参数

    名称

    类型

    说明

    NotificationId

    System.String

    通知的ID

    返回值

    28 类:OThinker.H3.Settings.ISettingManager

    说明:设置管理器,通过这个接口,我们可以获得全局性的设置信息,比如:显示的格式、流水号的格式等

    访问入口:this.Engine.SettingManager

    示例:

    this.Engine.SettingManager.SetCustomSetting("名称","值");

    方法名称:GetCustomSetting(System.String)

    方法说明

    获得自定义设置的值

    输入参数

    名称

    类型

    说明

    SettingName

    System.String

    设置的名称

    返回值

    设置的值

    方法名称:GetDisabledMobiles

    方法说明

    获得MobileSID

    输入参数

    名称

    类型

    说明

    返回值

    MobileSID

    方法名称:AddDisabledMobile(System.String)

    方法说明

    添加MobileSID

    输入参数

    名称

    类型

    说明

    MobileSID

    System.String

    MobileSID

    返回值

    如果设置成功,则返回true,否则返回false

    方法名称:RemoveDisabledMobile(System.String)

    方法说明

    移除MobileSID

    输入参数

    名称

    类型

    说明

    MobileSID

    System.String

    MobileSID

    返回值

    如果设置成功,则返回true,否则返回false

    方法名称:SetCustomSetting(System.String,System.String)

    方法说明

    设置自定义设置的值

    输入参数

    名称

    类型

    说明

    SettingName

    System.String

    设置的名称

    SettingValue

    System.String

    设置的值

    返回值

    如果设置成功,则返回true,否则返回false

    方法名称:GetSheetSettings

    方法说明

    为了提高性能,一次性获得所有跟Portal相关的设置

    输入参数

    名称

    类型

    说明

    返回值

    跟Portal相关的设置

    方法名称:ResetSeqNo(System.DateTime)

    方法说明

    重置流水号,该方法只能每天被调用一次,且最多只能被调用一次。该方法只能由Engine的定时器调用,不能被外部系统调用。

    输入参数

    名称

    类型

    说明

    Now

    System.DateTime

    当前时间

    返回值

    方法名称:IncNextInstanceSeqID

    方法说明

    获得当前新的流程ID,然后下一个流程ID自加一

    输入参数

    名称

    类型

    说明

    返回值

    流水号

    方法名称:GetPageSetting(System.String)

    方法说明

    获得页面的设置

    输入参数

    名称

    类型

    说明

    PageLocalPath

    System.String

    页面的地址

    返回值

    页面设置

    方法名称:GetControlSettings(System.String,System.String)

    方法说明

    获得控件的所有设置

    输入参数

    名称

    类型

    说明

    PageLocalPath

    System.String

    页面的地址

    ControlID

    System.String

    空间的ID

    返回值

    空间的设置

    方法名称:UpdateSetting(OThinker.H3.Settings.PageSetting)

    方法说明

    更新设置

    输入参数

    名称

    类型

    说明

    Setting

    OThinker.H3.Settings.PageSetting

    页面设置

    返回值

    方法名称:GetIntAndInc(System.String,System.Int32)

    方法说明

    获得一个数据的值,然后对这个值加1

    输入参数

    名称

    类型

    说明

    SettingName

    System.String

    设置的名称

    InitialValue

    System.Int32

    初始值

    返回值

    如果参数为空则返回-1;如果设置不存在,则创建一个并返回InitialValue;否则,返回当前数值,然后对数值加一保存

    方法名称:AddBizDbConnectionConfig(OThinker.H3.Settings.BizDbConnectionConfig)

    方法说明

    添加一个数据库的连接配置

    输入参数

    名称

    类型

    说明

    Config

    OThinker.H3.Settings.BizDbConnectionConfig

    配置

    返回值

    如果添加成功,则返回true;否则返回false

    方法名称:GetBizDbConnectionConfig(System.String)

    方法说明

    获得一个数据库连接配置

    输入参数

    名称

    类型

    说明

    Code

    System.String

    配置编码

    返回值

    数据库连接配置

    方法名称:GetBizDbConnectionConfigList

    方法说明

    获得数据库连接配置的列表

    输入参数

    名称

    类型

    说明

    返回值

    所有的数据库连接配置

    方法名称:RemoveBizDbConnectionConfig(System.String)

    方法说明

    删除一个数据库连接配置,如果正在由事务引用到,则无法删除

    输入参数

    名称

    类型

    说明

    DbCode

    System.String

    数据库的编码

    返回值

    如果数据库连接不存在,或者正在被事务引用,则无法被删除,将返回false;否则返回true

    方法名称:UpdateBizDbConnectionConfig(OThinker.H3.Settings.BizDbConnectionConfig)

    方法说明

    更新一个数据库连接配置

    输入参数

    名称

    类型

    说明

    Config

    OThinker.H3.Settings.BizDbConnectionConfig

    连接配置

    返回值

    如果一数据库连接配置存在,并且编码属性没有被修改,则返回true;否则返回false

    方法名称:GetBizDbTableColumns(System.String,System.String)

    方法说明

    获得特定表的结构

    输入参数

    名称

    类型

    说明

    DbCode

    System.String

    数据库编号

    TableName

    System.String

    表名称

    返回值

    表结构

    方法名称:GetBizDbTableNames(System.String)

    方法说明

    获得业务数据库里的所有数据表名称

    输入参数

    名称

    类型

    说明

    DbCode

    System.String

    业务数据库编号

    返回值

    所有的表名称

    方法名称:GetBizDbViewNames(System.String)

    方法说明

    获得业务数据库里的所有视图名称

    输入参数

    名称

    类型

    说明

    DbCode

    System.String

    业务数据库编号

    返回值

    所有的视图名称

    29 类:OThinker.H3.WorkItem.IUrgencyManager

    说明:催办管理器

    访问入口:this.Engine.UrgencyManager

    示例:

    this.Engine.UrgencyManager.Urge("催办人ID","流程实例ID","催办内容");

    方法名称:Urge(System.String,System.String,System.String)

    方法说明

    催办

    输入参数

    名称

    类型

    说明

    Urger

    System.String

    催办人

    InstanceId

    System.String

    催办的流程实例ID

    Content

    System.String

    催办的内容

    返回值

    方法名称:GetUrgency(System.String)

    方法说明

    获得催办信息

    输入参数

    名称

    类型

    说明

    UrgencyID

    System.String

    催办记录的ID

    返回值

    催办的详细信息

    30 类:OThinker.H3.Tracking.IUserLogWriter

    说明:用户操作日志

    访问入口:this.Engine.UserLogWriter

    示例:

    this.Engine.UserLogWriter.Write(new Tracking.UserLog());

    方法名称:Write(OThinker.H3.Tracking.UserLog)

    方法说明

    写入日志

    输入参数

    名称

    类型

    说明

    Log

    OThinker.H3.Tracking.UserLog

    要写入的用户操作日志

    返回值

    方法名称:OnUserLogInOut(OThinker.H3.Tracking.UserLog[],System.String,System.Int32)

    方法说明

    当用户登录/出的时候调用该日志接口

    输入参数

    名称

    类型

    说明

    Logs

    OThinker.H3.Tracking.UserLog[]

    要写入的日志

    ServerName

    System.String

    服务器名称

    OnlineUserCount

    System.Int32

    在线用户数的数量

    返回值

    方法名称:ClearPortalOnlineUser(System.String)

    方法说明

    清空Portal服务器上的在线用户数的记录

    输入参数

    名称

    类型

    说明

    ServerName

    System.String

    服务器名称

    返回值

    31 类:OThinker.H3.WorkflowTemplate.IWorkflowManager

    说明:流程模板管理器,用于发布、获得、更新流程模板信息

    访问入口:this.Engine.WorkflowManager

    示例:

    this.Engine.WorkflowManager.GetDefaultWorkflow("流程模板编码");

    方法名称:GetDraftTemplate(System.String)

    方法说明

    获取设计中的流程模板

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    返回流程模板草稿对象

    方法名称:SaveDraftTemplate(System.String,OThinker.H3.WorkflowTemplate.DraftWorkflowTemplate)

    方法说明

    保存设计中的流程模板

    输入参数

    名称

    类型

    说明

    UserID

    System.String

    设计人

    DraftWorkflowTemplate

    OThinker.H3.WorkflowTemplate.DraftWorkflowTemplate

    流程模板草稿对象

    返回值

    返回操作是否成功

    方法名称:RegisterWorkflow(System.String,System.String,System.Boolean)

    方法说明

    注册一个流程

    输入参数

    名称

    类型

    说明

    Publisher

    System.String

    发布这个流程模板的人员

    WorkflowCode

    System.String

    流程模板编码

    SetDefaultVersion

    System.Boolean

    是否设置为默认版本

    返回值

    返回注册结果

    方法名称:GetDefaultWorkflow(System.String)

    方法说明

    获得默认版本的流程模板

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    返回已发布的流程模板对象

    方法名称:GetDefaultWorkflowHeaders(System.String[])

    方法说明

    批量获取默认版本的流程模板头信息

    输入参数

    名称

    类型

    说明

    WorkflowCodes

    System.String[]

    流程模板编码集合

    返回值

    获取已发布的流程模板头信息集合

    方法名称:GetClause(System.String)

    方法说明

    获得流程模板族定义

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    流程模板族

    方法名称:GetClausesBySchemaCode(System.String)

    方法说明

    根据数据模型获取流程族

    输入参数

    名称

    类型

    说明

    SchemaCode

    System.String

    返回值

    方法名称:GetClausesBySchemaCodes(System.String[])

    方法说明

    根据数据模型数组批量获取流程族

    输入参数

    名称

    类型

    说明

    SchemaCodes

    System.String[]

    流程包编码集合

    返回值

    返回流程模板运行参数集合

    方法名称:RemoveClause(System.String)

    方法说明

    移除模板族

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    方法名称:GetPublishedTemplate(System.String,System.Int32)

    方法说明

    获取发布后的流程模板

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    WorkflowVersion

    System.Int32

    流程版本号

    返回值

    返回流程模板对象

    方法名称:GetPublishedTemplateHeader(System.String,System.Int32)

    方法说明

    获取发布后的流程模板头信息

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    WorkflowVersion

    System.Int32

    流程版本号

    返回值

    返回流程模板头信息

    方法名称:GetPublishedTemplateHeaders(System.String)

    方法说明

    获取流程模板的所有已发布历史版本集合

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    返回指定流程模板的所有已发布历史版本集合

    方法名称:GetWorkflowVersions(System.String)

    方法说明

    获得某个流程编码的所有版本号

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    返回指定流程模板的所有版本号集合

    方法名称:GetWorkflowDefaultVersion(System.String)

    方法说明

    获得某个流程的当前默认版本号

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    流程模板的当前默认版本号

    方法名称:SetWorkflowDefaultVersion(System.String,System.Int32)

    方法说明

    设置某个流程的默认版本号

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    DefaultVersion

    System.Int32

    返回值

    如果设置成功,则返回0,否则返回错误代码

    方法名称:GetWorkflowNewVersion(System.String)

    方法说明

    获得某个流程的新版本号,这个版本号并不一定能够作为新版本,因为可能获得这个版本的时候其他地方又重新发布了一个新版本

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    流程模板的下一个版本号

    方法名称:SetWorkflowState(System.String,OThinker.H3.WorkflowTemplate.WorkflowState)

    方法说明

    设置工作流模板的状态

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    State

    OThinker.H3.WorkflowTemplate.WorkflowState

    流程模板的状态

    返回值

    如果设置成功则返回0,否则返回错误代码

    方法名称:GetWorkflowState(System.String)

    方法说明

    获得工作流模板的状态

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    获得流程模板的状态

    方法名称:GetWorkflowCount

    方法说明

    获得工作流模板的数量

    输入参数

    名称

    类型

    说明

    返回值

    流程模板的数量

    方法名称:RemoveWorkflowTemplate(System.String,System.Int32)

    方法说明

    移除已发布的流程模板。这里需要指定具体某一个流程模板。

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    WorkflowVersion

    System.Int32

    流程模板版本号

    返回值

    方法名称:GetClauseDisplayName(System.String)

    方法说明

    获得一个流程模板的显示名称的全名称

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    返回值

    流程模板的显示名称

    方法名称:GetTemplateDisplayName(System.String,System.Int32)

    方法说明

    获得一个流程模板的显示名称的全名称

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    WorkflowVersion

    System.Int32

    流程模板版本号

    返回值

    流程模板的显示名称

    方法名称:UpdateClause(OThinker.H3.WorkflowTemplate.WorkflowClause)

    方法说明

    更新流程模板族

    输入参数

    名称

    类型

    说明

    WorkflowClause

    OThinker.H3.WorkflowTemplate.WorkflowClause

    流程模板运行参数对象

    返回值

    返回修改是否成功,0:表示成功

    方法名称:AddClause(OThinker.H3.WorkflowTemplate.WorkflowClause)

    方法说明

    添加流程模板族

    输入参数

    名称

    类型

    说明

    WorkflowClause

    OThinker.H3.WorkflowTemplate.WorkflowClause

    流程模板运行参数对象

    返回值

    返回添加是否成功,0:表示成功

    方法名称:GetCalendarReferences(System.String)

    方法说明

    获得哪些流程模板族引用了该工作日历

    输入参数

    名称

    类型

    说明

    CalendarId

    System.String

    工作日历ID,不区分大小写

    返回值

    引用该工作日历的流程模板族

    方法名称:GetParentNodesByWorkflowCodes(System.Collections.Generic.List{System.String})

    方法说明

    根据流程编码获取所有的父节点

    输入参数

    名称

    类型

    说明

    WorkflowCodes

    System.Collections.Generic.List{System.String}

    流程模板编码集合

    返回值

    返回所有指定流程包的父节点

    32 类:OThinker.H3.Calendar.IWorkingCalendarManager

    说明:工作日历接口方法

    访问入口:this.Engine.WorkingCalendarManager

    示例:

    this.Engine.WorkingCalendarManager.GetCalendar("工作日历ID");

    方法名称:GetCalendar(System.String)

    方法说明

    获取日历缓存数据

    输入参数

    名称

    类型

    说明

    CalendarId

    System.String

    返回值

    方法名称:GetCalendarList

    方法说明

    获取所有的日期类型

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:GetWorkingDays(System.String)

    方法说明

    获取日历的日期信息

    输入参数

    名称

    类型

    说明

    CalendarId

    System.String

    日历ID

    返回值

    方法名称:GetWorkingDaysBySpan(System.String,System.DateTime,System.DateTime)

    方法说明

    获取日历的日期信息

    输入参数

    名称

    类型

    说明

    CalendarId

    System.String

    日历ID

    StartDate

    System.DateTime

    EndDate

    System.DateTime

    返回值

    方法名称:AddCalendar(OThinker.H3.Calendar.WorkingCalendar,System.Collections.Generic.Dictionary{System.String,System.Boolean},System.Collections.Generic.List{OThinker.H3.Calendar.WorkingTimeSpan})

    方法说明

    初始化工作日历

    输入参数

    名称

    类型

    说明

    Calendar

    OThinker.H3.Calendar.WorkingCalendar

    日期类型实体类

    WeekWorkingDayTable

    System.Collections.Generic.Dictionary{System.String

    是否工作日期

    WorkingTimeSpans

    System.Boolean}

    工作时间

    返回值

    方法名称:UpdateCalendar(OThinker.H3.Calendar.WorkingCalendar)

    方法说明

    更新工作日历,不更新日期和工作时间

    输入参数

    名称

    类型

    说明

    Calendar

    OThinker.H3.Calendar.WorkingCalendar

    返回值

    方法名称:UpdateCalendarRule(System.String,System.DateTime,System.DateTime,System.Collections.Generic.Dictionary{System.String,System.Boolean},System.Collections.Generic.List{OThinker.H3.Calendar.WorkingTimeSpan})

    方法说明

    更新工作日历,更新日期和工作时间,每次更新时,只设置当前日期的规则,不删除旧日期规则

    输入参数

    名称

    类型

    说明

    CalendarId

    System.String

    日历的ID

    StartDate

    System.DateTime

    要更新的日期的开始日期,如果超过范围会抛出ArgumentOutOfRangeException的异常

    EndDate

    System.DateTime

    要更新的日期的结束日期,如果超过范围会抛出ArgumentOutOfRangeException的异常

    DefaultWorkingDayTable

    System.Collections.Generic.Dictionary{System.String

    是否工作日期

    WorkingTimeSpans

    System.Boolean}

    工作时间

    返回值

    方法名称:GetWorkingDay(System.String,System.DateTime)

    方法说明

    获取日期信息

    输入参数

    名称

    类型

    说明

    CalendarId

    System.String

    Date

    System.DateTime

    返回值

    方法名称:UpdateWorkingDay(OThinker.H3.Calendar.WorkingDay)

    方法说明

    保存日期

    输入参数

    名称

    类型

    说明

    WorkingDay

    OThinker.H3.Calendar.WorkingDay

    返回值

    方法名称:GetExceptionalDays(System.String,System.DateTime,System.DateTime)

    方法说明

    查询例外日期

    输入参数

    名称

    类型

    说明

    CalendarId

    System.String

    日历ID

    FromTime

    System.DateTime

    开始日期

    ToTime

    System.DateTime

    结束日期

    返回值

    方法名称:RemoveCalendar(System.String)

    方法说明

    删除日历

    输入参数

    名称

    类型

    说明

    CalendarId

    System.String

    日历ID

    返回值

    方法名称:ExistsDefaultCalendar

    方法说明

    获取是否存在默认日历

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:GetOrgCalendar(System.String)

    方法说明

    获得某个组织结构对应的工作日历

    输入参数

    名称

    类型

    说明

    OrgId

    System.String

    组织结构ID

    返回值

    工作日历

    方法名称:GetUsedTimeByCompanyCalendar(System.DateTime,System.DateTime)

    方法说明

    获取集团公司工作日历耗费时间

    输入参数

    名称

    类型

    说明

    StartTime

    System.DateTime

    开始时间

    EndTime

    System.DateTime

    结束时间

    返回值

    方法名称:GetUsedTimeByOrgCalendar(System.String,System.DateTime,System.DateTime)

    方法说明

    获取组织工作日历耗费时间

    输入参数

    名称

    类型

    说明

    OrgId

    System.String

    当前组织

    StartTime

    System.DateTime

    开始时间

    EndTime

    System.DateTime

    结束时间

    返回值

    方法名称:GetUsedTimeByWorkflowCalendar(System.String,System.DateTime,System.DateTime)

    方法说明

    获取流程模板维度工作日历耗费时间

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    StartTime

    System.DateTime

    开始时间

    EndTime

    System.DateTime

    结束时间

    返回值

    方法名称:GetUsedTimeByCalendar(System.String,System.DateTime,System.DateTime)

    方法说明

    获取用户自定义日历的工作时间

    输入参数

    名称

    类型

    说明

    CalendarId

    System.String

    自定义日历的ID

    StartTime

    System.DateTime

    开始时间

    EndTime

    System.DateTime

    结束时间

    返回值

    方法名称:GetDelayedTimeByCompanyCalendar(System.DateTime,System.TimeSpan)

    方法说明

    获取集团公司日历的某个时间段后的工作时间

    输入参数

    名称

    类型

    说明

    StartTime

    System.DateTime

    输入时间

    Delay

    System.TimeSpan

    延后的时间

    返回值

    延迟时间段后的工作时间

    方法名称:GetDelayedTimeByOrgCalendar(System.String,System.DateTime,System.TimeSpan)

    方法说明

    获取当前组织的某个时间段后的工作时间

    输入参数

    名称

    类型

    说明

    OrgId

    System.String

    组织ID

    StartTime

    System.DateTime

    输入时间

    Delay

    System.TimeSpan

    延迟时间段

    返回值

    延迟时间段后的工作时间

    方法名称:GetDelayedTimeByWorkflowCalendar(System.String,System.DateTime,System.TimeSpan)

    方法说明

    获取流程模板日历的某个时间段后的工作时间

    输入参数

    名称

    类型

    说明

    WorkflowCode

    System.String

    流程模板编码

    StartTime

    System.DateTime

    输入时间

    Delay

    System.TimeSpan

    延迟时间段

    返回值

    延迟时间段后的工作时间

    方法名称:GetDelayedTimeByCalendar(System.String,System.DateTime,System.TimeSpan)

    方法说明

    获取用户自定义日历某个时间段后的工作时间

    输入参数

    名称

    类型

    说明

    CalendarId

    System.String

    日历ID

    StartTime

    System.DateTime

    输入时间

    Delay

    System.TimeSpan

    延迟时间段

    返回值

    延迟时间段后的工作时间

    33 类:OThinker.H3.WorkItem.IWorkItemManager

    说明:工作项管理器

    访问入口:this.Engine.WorkItemManager

    示例:

    this.Engine.WorkItemManager.GetWorkItem("工作任务ID");

    方法名称:OThinker.H3.Configs.License

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.Licenses.LicenseException

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.Licenses.LicenseException(System.String)

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    Message

    System.String

    返回值

    方法名称:OThinker.H3.Configs.LicenseProvider

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.H3.Daemons.Daemon(OThinker.H3.IEngine)

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    Engine

    OThinker.H3.IEngine

    返回值

    方法名称:OThinker.H3.Data.PrimitiveMetadata

    方法说明

    从数据库中读取

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.H3.Data.PrimitiveMetadata(System.String,System.String,System.String)

    方法说明

    创建的时候使用

    输入参数

    名称

    类型

    说明

    ItemName

    System.String

    数据的名称

    Description

    System.String

    数据的描述

    Value

    System.String

    数据的值

    返回值

    方法名称:OThinker.H3.Sheet.BizSheet

    方法说明

    构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:OThinker.H3.Sheet.BizSheet(System.String,System.String,System.String,OThinker.H3.Sheet.SheetType,System.String,System.String)

    方法说明

    新建的构造函数

    输入参数

    名称

    类型

    说明

    BizObjectSchemaCode

    System.String

    数据模型编码

    SheetCode

    System.String

    表单编码

    SheetName

    System.String

    表单名称

    SheetType

    OThinker.H3.Sheet.SheetType

    表单类型

    SheetAddress

    System.String

    如果是自定义表单的话,这里记录表单的URL地址,可以是相对地址

    MobileSheetAddress

    System.String

    如果是自定义表单的话,这里记录表单的移动终端URL地址,可以是相对地址

    返回值

    方法名称:OThinker.H3.WorkflowTemplate.ActivityConfig

    方法说明

    从数据库反序列化的构造函数

    输入参数

    名称

    类型

    说明

    返回值

    方法名称:AddWorkItem(OThinker.H3.WorkItem.WorkItem)

    方法说明

    为某个用户添加一项工作。 1、这里需要将该作业直接添加到数据库中,否则无法实时地检索出来 2、添加一个作业的时候,需要在这里设置他的被添加时间,而不能以创建的时间为准,因为创建的时间可能来自于其他服务器或者客户端,这就有可能涉及时区的问题,如果以外部的时间为准就无法统一了。 3、如果WorkItem是发起活动的任务的话,那么不会调用委托关系。

    输入参数

    名称

    类型

    说明

    WorkItem

    OThinker.H3.WorkItem.WorkItem

    要添加的工作项

    返回值

    新添加的对象的ID

    方法名称:AddWorkItems(OThinker.H3.WorkItem.WorkItem[])

    方法说明

    添加一组用户作业,这样可以保证事务化,以防有的作业刚刚添加就被完成了。

    输入参数

    名称

    类型

    说明

    WorkItems

    OThinker.H3.WorkItem.WorkItem[]

    新增的工作项

    返回值

    添加的工作项的ID

    方法名称:InstanceFinished(System.String)

    方法说明

    流程完成的时候调用。取消掉非传阅类的所有未完成工作项

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程ID

    返回值

    返回取消的数量

    方法名称:InstanceCanceld(System.String)

    方法说明

    流程取消的时候调用。取消掉所有未完成的工作项。

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程ID

    返回值

    返回取消的数量

    方法名称:ActivityActivated(System.String,System.Int64)

    方法说明

    活动被取回的时候调用

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程ID

    TokenID

    System.Int64

    步骤ID

    返回值

    返回取消的数量

    方法名称:ActivityFinished(System.String,System.Int64)

    方法说明

    活动完成的时候调用。取消掉非传阅类的所有未完成工作项。

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程ID

    TokenID

    System.Int64

    步骤ID

    返回值

    返回取消的数量

    方法名称:ActivityCanceled(System.String,System.Int64)

    方法说明

    活动被取消的时候调用。取消掉所有未完成的工作项。

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程ID

    TokenID

    System.Int64

    步骤ID

    返回值

    返回取消的数量

    方法名称:CancelWorkItem(System.String,System.Boolean)

    方法说明

    取消一个工作项。相应的征询意见的工作项也会被取消。

    输入参数

    名称

    类型

    说明

    WorkItemID

    System.String

    工作项ID

    Force

    System.Boolean

    是否强制取消。强制取消意味着,如果工作项处于正在工作的状态下也执行取消操作

    返回值

    执行结果

    方法名称:ActivityAdjusted(System.String,System.Int64,System.String[])

    方法说明

    当一个活动被调整活动的时候,取消一组工作项,同时重置过去的锁

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程ID

    TokenId

    System.Int64

    步骤ID

    WorkItemsToBeCanceled

    System.String[]

    工作项ID

    返回值

    方法名称:GetWorkItem(System.String)

    方法说明

    根据作业的ID获得工作项

    输入参数

    名称

    类型

    说明

    WorkItemID

    System.String

    工作项ID

    返回值

    获得的工作项

    方法名称:ForwardWorkItem(System.String,System.String)

    方法说明

    委托一个任务给某人,不能创建新任务,否则引用这些任务的地方无法取消这个任务

    输入参数

    名称

    类型

    说明

    WorkItemID

    System.String

    工作项ID

    Participant

    System.String

    接收人

    返回值

    执行结果

    方法名称:ActivateWorkItem(System.String)

    方法说明

    将工作项重新从取消状态激活为等待状态

    输入参数

    名称

    类型

    说明

    WorkItemID

    System.String

    工作项ID

    返回值

    执行结果

    方法名称:DoWorkItem(System.String)

    方法说明

    开始工作一个作业

    输入参数

    名称

    类型

    说明

    WorkItemID

    System.String

    工作项ID

    返回值

    执行结果

    方法名称:FinishWorkItem(System.String,System.String,OThinker.H3.WorkItem.AccessPoint,System.String,System.String,OThinker.Data.BoolMatchValue,System.String,System.String,OThinker.H3.WorkItem.ActionEventType,System.Int32)

    方法说明

    完成一个作业

    输入参数

    名称

    类型

    说明

    WorkItemID

    System.String

    工作项ID

    Finisher

    System.String

    提交人员

    FinishAccessPoint

    OThinker.H3.WorkItem.AccessPoint

    提交人员的接入方式

    ParticipateGroup

    System.String

    提交人员使用的组

    ParticipatePost

    System.String

    提交人员使用的岗位

    Approval

    OThinker.Data.BoolMatchValue

    审批结果

    Comment

    System.String

    审批意见

    ActionName

    System.String

    操作名称

    ActionEventType

    OThinker.H3.WorkItem.ActionEventType

    操作的事件的类型:OThinker.H3.WorkItem.ActionEventType

    ActionButtonType

    System.Int32

    操作的按钮的类型:OThinker.H3.WorkSheet.SheetButtonType,保存:2,驳回:10,提交:11

    返回值

    执行结果

    方法名称:UpdateUrged(System.String,System.Boolean)

    方法说明

    标志一个工作项被催办过

    输入参数

    名称

    类型

    说明

    WorkItemId

    System.String

    工作项ID

    Urged

    System.Boolean

    是否被催办过

    返回值

    执行结果

    方法名称:ConsultWorkItem(System.String,System.String,System.String[],System.String,System.Boolean)

    方法说明

    将某个任务发送给多个人以征询意见,这个操作也需要锁定,否则在发送任务完毕前,源任务就已经完成了。请注意:对于以任何形式参与过该步骤的人员,将不会发送征询意见的任务。比如:如果用户A已经参与了该活动,现在B向A发出征询意见的请求,那么将不会创建该征询意见的工作项。

    输入参数

    名称

    类型

    说明

    Creator

    System.String

    申请征询意见的人

    WorkItemID

    System.String

    源工作项ID

    Consultants

    System.String[]

    接收征询意见的人员

    WorkItemDisplayName

    System.String

    征询意见时创建的新任务的显示名称

    MonitorConsultant

    System.Boolean

    监听顾问的完成/取消事件

    返回值

    新征询意见的任务的ID

    方法名称:Consult(System.String,System.Int64,System.String[],System.String)

    方法说明

    将某个任务发送给多个人以征询意见,这个操作也需要锁定,否则在发送任务完毕前,源任务就已经完成了。该方法是提供给系统本身使用的,用于在某个活动开始的时候,执行征询意见,所以不需要指定源工作项,也不需要制定请求人。

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程ID

    TokenId

    System.Int64

    步骤

    Consultants

    System.String[]

    接收征询意见的人员

    WorkItemDisplayName

    System.String

    征询意见时创建的新任务的显示名称

    返回值

    新征询意见的任务的ID

    方法名称:Circulate(System.String,System.String,System.String[],System.Boolean,System.String)

    方法说明

    将某个任务传阅给多个人,这个操作也需要锁定,否则在发送任务完毕前,源任务就已经完成了

    输入参数

    名称

    类型

    说明

    Creator

    System.String

    请求传阅的人员

    WorkItemID

    System.String

    工作项ID

    Receivers

    System.String[]

    接收传阅的人员

    Recirculatable

    System.Boolean

    是否允许再转传阅

    WorkItemDisplayName

    System.String

    传阅时创建的新任务的显示名称

    返回值

    新任务的ID

    方法名称:AssistWorkItem(System.String,System.String,System.String[],System.String,System.Boolean,OThinker.H3.WorkItem.ReturnToType)

    方法说明

    协办某个工作项

    输入参数

    名称

    类型

    说明

    Creator

    System.String

    要协办的人

    WorkItemId

    System.String

    要协办的工作项

    Assistants

    System.String[]

    协办者

    WorkItemDisplayName

    System.String

    工作项名称

    MonitorConsultant

    System.Boolean

    是否监听处理人完成/取消的事件

    ReturnTo

    OThinker.H3.WorkItem.ReturnToType

    指定:任务完成后,返回给哪个任务。true表示返回自己,false表示返回给源任务。

    返回值

    协办工作项的ID

    方法名称:Assist(System.String,System.Int64,System.String[],System.String)

    方法说明

    创建协助工作项。由系统本身调用,不需要指定源协办工作项,也不需要制定创建人。请注意:对于以任何形式参与过该步骤的人员,将不会发送征询意见的任务。比如:如果用户A已经参与了该活动,现在B向A发出征询意见的请求,那么将不会创建该征询意见的工作项。

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程ID

    TokenId

    System.Int64

    步骤

    Assistants

    System.String[]

    协办者

    WorkItemDisplayName

    System.String

    工作项名称

    返回值

    新创建的工作项ID

    方法名称:UpdatePriority(System.String,OThinker.H3.Instance.PriorityType)

    方法说明

    更新工作项的优先级属性

    输入参数

    名称

    类型

    说明

    WorkItemID

    System.String

    工作项ID

    Priority

    OThinker.H3.Instance.PriorityType

    优先级

    返回值

    执行结果

    方法名称:Transfer(System.String,System.String)

    方法说明

    转移工作项

    输入参数

    名称

    类型

    说明

    WorkItemID

    System.String

    工作项ID

    Receiptor

    System.String

    接收转移的人员

    返回值

    执行结果

    方法名称:SetColor(System.String,System.Int32)

    方法说明

    设置显示颜色

    输入参数

    名称

    类型

    说明

    WorkItemID

    System.String

    工作项ID

    ColorArgb

    System.Int32

    颜色

    返回值

    方法名称:UpdateDisplayName(System.String,System.String)

    方法说明

    更新工作项的显示名称

    输入参数

    名称

    类型

    说明

    WorkItemID

    System.String

    工作项ID

    DisplayName

    System.String

    显示名称

    返回值

    执行结果

    方法名称:LockActivity(System.String,System.String,System.Boolean)

    方法说明

    锁定流程

    输入参数

    名称

    类型

    说明

    LockedByWorkItemId

    System.String

    请求锁定的工作项的ID

    LockedBy

    System.String

    请求锁定的用户ID

    CancelOtherWorkItems

    System.Boolean

    是否要取消掉其他的工作项。如果为false,则不取消任何工作项,否则取消掉除“请求锁定的工作项”之外的所有工作项

    返回值

    锁结果

    方法名称:DropLock(System.String,System.Boolean)

    方法说明

    放弃自己的锁定。用户可以显示解锁,也可以在用户提交或者取消后系统自动解锁

    输入参数

    名称

    类型

    说明

    LockedByWorkItemId

    System.String

    请求锁定的工作项

    ActivateOtherWorkItems

    System.Boolean

    是否重新激活曾经被自己取消的工作项

    返回值

    锁结果

    方法名称:GetLocker(System.String,System.Int64)

    方法说明

    获得锁定的人员

    输入参数

    名称

    类型

    说明

    InstanceId

    System.String

    流程ID

    TokenId

    System.Int64

    步骤ID

    返回值

    锁定该步骤的人员

    34 类:OThinker.H3.EventHandlers.IMessageEventHandler

    说明:流程引擎Message处理事件接口。

    部署方法:创建一个新的类库,引用H3Cloud程序集,将类继承至 IMessageEventHandler,编译成程序集后发布至H3Cloud安装目录 Server/Adapters目录下。

    示例程序:

    using System;

    using System.Data;

    using System.Configuration;

    using System.Collections;

    namespace OThinker.Demo

    {

        /// <summary>

        /// EventHandler处理程序

        /// 该程序与后台消息同步执行

        /// </summary>

        public class MessageEventHandler : OThinker.H3.EventHandlers.IMessageEventHandler

        {

            /// <summary>

            /// 消息处理完成事件

            /// </summary>

            /// <param name="InstanceContext">流程实例名称</param>

            /// <param name="Message">系统消息</param>

            /// <param name="DisposalType">处理结果</param>

            public void OnInstanceMessageDisposed(H3.Instance.InstanceContext InstanceContext,

                H3.Messages.Message Message,

                H3.Messages.DisposalType DisposalType)

            {

                // TODO:这里增加逻辑代码,在系统每次处理消息完成后同步触发

            }

        }

    }

    35 类:OThinker.H3.EventHandlers.IEngineEventHandler`1

    说明:引擎级对象的事件处理接口,比如:新建WorkItem事件等。注意:这里的事件都是滞后的事件,并不是实时的事件,比如:流程实例创建事件,是在新建的流程实例保存进数据库中才被触发的,而且是异步触发的。如果事件处理程序耗用大量的CPU,那么会影响引擎的性能;如果事件处理程序抛出异常,那么引擎会忽略掉这个异常。

    部署方法:创建一个新的类库,引用H3Cloud程序集,将类继承至 IMessageEventHandler,编译成程序集后发布至H3Cloud安装目录 Server/Adapters目录下。

    示例程序:

    using System;

    using System.Data;

    using OThinker.H3;

    namespace OThinker.Demo

    {

        /// <summary>

        /// 监控流程实例对象的增加、删除、修改事件

        /// </summary>

        public class WorkItemHandler : OThinker.H3.EventHandlers.IEngineEventHandler<OThinker.H3.Instance.InstanceContext>

        {

            /// <summary>

            /// 流程实例创建事件

            /// </summary>

            /// <param name="Engine">引擎实例对象</param>

            /// <param name="Obj">流程实例对象</param>

            public void OnCreated(IEngine Engine, H3.Instance.InstanceContext Obj)

            {

                // TODO:你的逻辑

            }

            /// <summary>

            /// 流程实例删除事件

            /// </summary>

            /// <param name="Engine">引擎实例对象</param>

            /// <param name="ObjId">流程实例ID</param>

            public void OnRemoved(IEngine Engine, string ObjId)

            {

                // TODO:你的逻辑

            }

            /// <summary>

            /// 流程实例更新事件

            /// </summary>

            /// <param name="Engine">引擎实例对象</param>

            /// <param name="Obj">流程实例对象</param>

            public void OnUpdated(IEngine Engine, H3.Instance.InstanceContext Obj)

            {

                // TODO:你的逻辑

            }

        }

    }

     

    方法名称:OnCreated(OThinker.H3.IEngine,`0)

    方法说明

    当对象被创建的时候,调用该接口的事件处理程序

    输入参数

    名称

    类型

    说明

    Engine

    OThinker.H3.IEngine

    流程引擎接口

    Obj

    `0

    流程实例的上下文

    返回值

    方法名称:OnUpdated(OThinker.H3.IEngine,`0)

    方法说明

    当对象被变更的时候,调用该接口的事件处理程序

    输入参数

    名称

    类型

    说明

    Engine

    OThinker.H3.IEngine

    流程引擎接口

    Obj

    `0

    流程实例的上下文

    返回值

    方法名称:OnRemoved(OThinker.H3.IEngine,System.String)

    方法说明

    当对象被删除的时候,调用该接口的事件处理程序

    输入参数

    名称

    类型

    说明

    Engine

    OThinker.H3.IEngine

    流程引擎接口

    ObjId

    System.String

    对象的ID

    返回值

    36 类:OThinker.H3.EventHandlers.INotificationEventHandler

    说明:消息通知 EventHandler 接口

    37 类:OThinker.H3.EventHandlers.IOrganizationEventHandler

    说明:组织的事件处理接口,注意:这里的事件都是滞后的事件,并不是实时的事件,比如:组织创建事件,是在新建的组织保存进数据库中才被触发的,而且是异步触发的。如果事件处理程序耗用大量的CPU,那么会影响引擎的性能;如果事件处理程序抛出异常,那么引擎会忽略掉这个异常。

    38 类:OThinker.H3.EventHandlers.IInstanceEventHandler

    说明:流程实例的事件处理接口,注意:这里的事件都是滞后的事件,并不是实时的事件,比如:流程实例创建事件,是在新建的流程实例保存进数据库中才被触发的,而且是异步触发的。如果事件处理程序耗用大量的CPU,那么会影响引擎的性能;如果事件处理程序抛出异常,那么引擎会忽略掉这个异常。

    39 类:OThinker.H3.EventHandlers.IWorkItemEventHandler

    说明:工作项的事件处理接口,注意:这里的事件都是滞后的事件,并不是实时的事件,比如:工作项创建事件,是在新建的工作项保存进数据库中才被触发的,而且是异步触发的。如果事件处理程序耗用大量的CPU,那么会影响引擎的性能;如果事件处理程序抛出异常,那么引擎会忽略掉这个异常。

    部署方法:创建一个新的类库,引用H3Cloud程序集,将类继承至 IMessageEventHandler,编译成程序集后发布至H3Cloud安装目录 Server/Adapters目录下。

    示例:

    using System;

    using System.Data;

    namespace OThinker.Demo

    {

        /// <summary>

        /// 工作任务触发事件

        /// </summary>

        public class WorkItemHandler : OThinker.H3.EventHandlers.IWorkItemEventHandler

        {

            /// <summary>

            /// 创建工作任务事件

            /// </summary>

            /// <param name="Engine">引擎实例对象</param>

            /// <param name="Obj">工作任务对象</param>

            public void OnCreated(IEngine Engine, WorkItem.WorkItem Obj)

            {

                // TODO:程序逻辑

            }

            /// <summary>

            /// 移除工作任务事件

            /// </summary>

            /// <param name="Engine">引擎实例对象</param>

            /// <param name="ObjId">工作任务ID</param>

            public void OnRemoved(IEngine Engine, string ObjId)

            {

                // TODO:程序逻辑

            }

            /// <summary>

            /// 工作任务更新事件

            /// </summary>

            /// <param name="Engine">引擎实例对象</param>

            /// <param name="Obj">工作任务对象</param>

            public void OnUpdated(IEngine Engine, WorkItem.WorkItem Obj)

            {

                // TODO:程序逻辑

            }

        }

    }

    40 常用方法示例

    常用流程示例包含启动流程、提交、驳回、结束流程、激活活动、取消活动、取回、设置流程数据项的值等方法。

    using System;

    using System.Collections.Generic;

    using System.Web;

    using System.Web.Services;

    using System.Data;

    namespace OThinker.H3.Portal

    {

        /// <summary>

        /// 流程实例操作相关接口

        /// </summary>

        [WebService(Namespace = "http://tempuri.org/")]

        [WebServiceBinding(ConformsTo = WsiProfiles.None)]

        //若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。

        // [System.Web.Script.Services.ScriptService]

        public class BPMService : System.Web.Services.WebService

        {

            /// <summary>

            /// 构造函数

            /// </summary>

            public BPMService()

            {

                //如果使用设计的组件,请取消注释以下行

                //InitializeComponent();

            }

            private IEngine _Engine = null;

            /// <summary>

            /// 流程引擎的接口,该接口会比this.Engine的方式更快,因为其中使用了缓存

            /// </summary>

            public IEngine Engine

            {

                get

                {

                    if (OThinker.H3.WorkSheet.AppConfig.ConnectionMode == ConnectionStringParser.ConnectionMode.Mono)

                    {

                        return OThinker.H3.WorkSheet.AppUtility.Engine;

                    }

                    return _Engine;

                }

                set

                {

                    _Engine = value;

                }

            }

            /// <summary>

            /// 查询对象

            /// </summary>

            protected Query Query

            {

                get

                {

                    return this.Engine.Query;

                }

            }

            /// <summary>

            /// 获取用户的待办任务总数

            /// </summary>

            /// <returns></returns>

            [WebMethod(Description = "获取用户未完成的任务总数")]

            [System.Web.Services.Protocols.SoapHeader("authentication")]

            public int GetUserUnfinishedWorkItemCount()

            {

                ValidateSoapHeader();

                int recordCounts;

                // 构造查询用户帐号的条件

                string[] conditions = Query.GetWorkItemConditions(

                    UserValidator.UserID,

                    true,

                    H3.WorkItem.WorkItemState.Unfinished,

                    H3.WorkItem.WorkItemType.Unspecified,

                    OThinker.Data.BoolMatchValue.Unspecified,

                    OThinker.Data.BoolMatchValue.Unspecified);

                // 获取总记录数,计算页码         

                recordCounts = this.Engine.Query.CountWorkItem(conditions);

                return recordCounts;

            }

            /// <summary>

            /// 获取用户的已办任务总数

            /// </summary>

            /// <returns></returns>

            [WebMethod(Description = "获取用户已完成的任务总数")]

            [System.Web.Services.Protocols.SoapHeader("authentication")]

            public int GetUserFinishedWorkItemCount()

            {

                ValidateSoapHeader();

                int recordCounts;

                // 构造查询用户帐号的条件

                string[] conditions = Query.GetWorkItemConditions(

                    UserValidator.UserID,

                    true,

                    H3.WorkItem.WorkItemState.Finished,

                    H3.WorkItem.WorkItemType.Unspecified,

                    OThinker.Data.BoolMatchValue.Unspecified,

                    OThinker.Data.BoolMatchValue.Unspecified);

                // 获取总记录数,计算页码

                recordCounts = this.Engine.Query.CountWorkItem(conditions);

                return recordCounts;

            }

            /// <summary>

            /// 提交(已阅)工作任务

            /// </summary>

            /// <param name="workItemId"></param>

            /// <param name="commentText"></param>

            /// <returns></returns>

            [WebMethod(Description = "提交(已阅)工作任务")]

            [System.Web.Services.Protocols.SoapHeader("authentication")]

            public bool SubmitWorkItem(string workItemId, string commentText)

            {

                ValidateSoapHeader();

                // 获取操作的用户

                WorkItem.WorkItem item = this.Engine.WorkItemManager.GetWorkItem(workItemId);

                SubmitItem(workItemId, OThinker.Data.BoolMatchValue.True, commentText, UserValidator.UserID);

                return true;

            }

            /// <summary>

            /// 驳回工作任务

            /// </summary>

            /// <param name="workItemId"></param>

            /// <param name="commentText"></param>

            /// <returns></returns>

            [WebMethod(Description = "驳回工作任务")]

            [System.Web.Services.Protocols.SoapHeader("authentication")]

            public bool ReturnWorkItem(string workItemId, string commentText)

            {

                ValidateSoapHeader();

                // 获取操作的用户

                WorkItem.WorkItem item = this.Engine.WorkItemManager.GetWorkItem(workItemId);

                ReturnItem(UserValidator.UserID, workItemId, commentText);

                return true;

            }

            /// <summary>

            /// 结束流程

            /// </summary>

            /// <param name="instanceId">流程实例ID</param>

            /// <returns></returns>

            [WebMethod(Description = "强制结束流程")]

            [System.Web.Services.Protocols.SoapHeader("authentication")]

            public bool FinishInstance(string instanceId)

            {

                ValidateSoapHeader();

                // 获取操作的用户

                Instance.InstanceContext context = this.Engine.InstanceManager.GetInstanceContext(instanceId);

                if (context == null) return false;

                WorkflowTemplate.PublishedWorkflowTemplate workflow = this.Engine.WorkflowManager.GetDefaultWorkflow(context.WorkflowCode);

                Messages.ActivateActivityMessage activateMessage = new Messages.ActivateActivityMessage(

                        Messages.MessageEmergencyType.High,

                        instanceId,

                        workflow.EndActivityCode,

                        OThinker.H3.Instance.Token.UnspecifiedID,

                        null,

                        null,

                        false,

                        WorkItem.ActionEventType.Adjust

                    );

                this.Engine.InstanceManager.SendMessage(activateMessage);

                return true;

            }

            /// <summary>

            /// 激活流程

            /// </summary>

            /// <param name="instanceId">流程实例ID</param>

            /// <returns></returns>

            [WebMethod(Description = "激活流程")]

            [System.Web.Services.Protocols.SoapHeader("authentication")]

            public bool ActiveInstance(string instanceId)

            {

                ValidateSoapHeader();

                // 获取操作的用户

                OThinker.H3.Messages.ActivateInstanceMessage activateMessage = new OThinker.H3.Messages.ActivateInstanceMessage(instanceId);

                this.Engine.InstanceManager.SendMessage(activateMessage);

                return true;

            }

            /// <summary>

            /// 激活指定的活动节点

            /// </summary>

            /// <param name="instanceId">流程实例ID</param>

            /// <param name="activityCode">活动节点</param>

            /// <param name="participants">活动参与者,可以指定参与者,如果为空那么取流程默认配置</param>

            /// <returns></returns>

            [WebMethod(Description = "激活指定的活动节点")]

            [System.Web.Services.Protocols.SoapHeader("authentication")]

            public bool ActiveToken(string instanceId, string activityCode, string[] participants)

            {

                ValidateSoapHeader();

                // 准备触发后面Activity的消息

                OThinker.H3.Messages.ActivateActivityMessage activateMessage

                    = new OThinker.H3.Messages.ActivateActivityMessage(

                        OThinker.H3.Messages.MessageEmergencyType.Normal,

                        instanceId,

                        activityCode,

                        OThinker.H3.Instance.Token.UnspecifiedID,

                        participants,

                        null,

                        false,

                        H3.WorkItem.ActionEventType.Adjust);

                this.Engine.InstanceManager.SendMessage(activateMessage);

                return true;

            }

            /// <summary>

            /// 取消指定的活动节点

            /// </summary>

            /// <param name="instanceId">流程实例ID</param>

            /// <param name="activityCode">活动节点</param>

            /// <returns></returns>

            [WebMethod(Description = "取消指定的活动节点")]

            [System.Web.Services.Protocols.SoapHeader("authentication")]

            public bool CancelToken(string instanceId, string activityCode)

            {

                ValidateSoapHeader();

                // 准备触发后面Activity的消息

                OThinker.H3.Messages.CancelActivityMessage cancelMessage

                    = new Messages.CancelActivityMessage(Messages.MessageEmergencyType.Normal,

                        instanceId,

                        activityCode,

                        false);

                this.Engine.InstanceManager.SendMessage(cancelMessage);

                return true;

            }

            /// <summary>

            /// 取回工作任务

            /// </summary>

            /// <param name="workitemId">工作任务ID</param>

            /// <returns></returns>

            [WebMethod(Description = "取回工作任务")]

            [System.Web.Services.Protocols.SoapHeader("authentication")]

            public bool RetrieveWorkItem(string workitemId)

            {

                ValidateSoapHeader();

                //获取工作项信息

                OThinker.H3.WorkItem.WorkItem workItem = this.Engine.WorkItemManager.GetWorkItem(workitemId);

                // 检查是否能够取回

                if (workItem == null) return false;

                OThinker.H3.Instance.InstanceContext context = this.Engine.InstanceManager.GetInstanceContext(workItem.InstanceId);

                // 获得当前的Token是否存在多个分支

                OThinker.H3.Instance.IToken currentToken = context.GetToken(workItem.TokenId);

                if (currentToken == null) return false;

                // 获得后继的Token

                int[] postTokenIds = context.GetPostTokens(workItem.TokenId);

                // 发送回退消息

                if (postTokenIds == null || postTokenIds.Length == 0) return false;

                else if (postTokenIds.Length > 1) return false;

                int postTokenId = postTokenIds[0];

                OThinker.H3.Instance.IToken postToken = context.GetToken(postTokenId);

                if (!postToken.Retrievable) return false;

                // 具备取回的条件

                // 记录操作日志

                //无此用户

                OThinker.H3.WorkflowTemplate.PublishedWorkflowTemplateHeader worflowTemplate = this.Engine.WorkflowManager.GetPublishedTemplateHeader(workItem.WorkflowCode, workItem.WorkflowVersion);

                // 记录操作用户ID

                OThinker.H3.Tracking.UserLog log = new OThinker.H3.Tracking.UserLog(

                    Tracking.UserLogType.Retrieve,

                    UserValidator.UserID,

                    workItem.BizObjectId,

                    worflowTemplate.BizObjectSchemaCode,

                    workItem.InstanceId,

                    workItem.WorkItemID,

                    workItem.DisplayName,

                    null,

                    null,

                    null,

                    null);

                this.Engine.UserLogWriter.Write(log);

                // 发送取回消息

                OThinker.H3.Messages.CancelActivityMessage rollback

                        = new OThinker.H3.Messages.CancelActivityMessage(

                            OThinker.H3.Messages.MessageEmergencyType.Normal,

                            workItem.InstanceId,

                            postToken.Activity,

                            true);

                this.Engine.InstanceManager.SendMessage(rollback);

                return true;

            }

            /// <summary>

            /// 启动H3流程实例,设置主键数据项的值(私有云接口)

            /// </summary>

            /// <param name="workflowCode"></param>

            /// <param name="userAlias"></param>

            /// <param name="finishStart"></param>

            /// <param name="keyName"></param>

            /// <param name="keyValue"></param>

            /// <returns></returns>

            [WebMethod(Description = "启动H3流程实例,设置主键数据项的值")]

            public BPMServiceResult StartWorkflowWithKey(

                string workflowCode,

                string userAlias,

                bool finishStart,

                string keyName,

                string keyValue)

            {

                List<DataItemParam> paramValues = new List<DataItemParam>();

                if (!string.IsNullOrEmpty(keyName))

                {

                    paramValues.Add(new DataItemParam()

                    {

                        ItemName = keyName,

                        ItemValue = keyValue

                    });

                }

                return startWorkflow(workflowCode, userAlias, finishStart, paramValues);

            }

            /// <summary>

            /// 启动H3流程实例

            /// </summary>

            /// <param name="workflowCode">流程模板编码</param>

            /// <param name="userCode">启动流程的用户编码</param>

            /// <param name="finishStart">是否结束第一个活动</param>

            /// <param name="paramValues">流程实例启动初始化数据项集合</param>

            /// <returns></returns>

            [System.Web.Services.Protocols.SoapHeader("authentication")]

            [WebMethod(Description = "启动H3流程实例")]

            public BPMServiceResult StartWorkflow(

                string workflowCode,

                string userCode,

                bool finishStart,

                List<DataItemParam> paramValues)

            {

                ValidateSoapHeader();

                return startWorkflow(workflowCode, userCode, finishStart, paramValues);

            }

            /// <summary>

            /// 设置单个流程数据项的值

            /// </summary>

            /// <param name="bizObjectSchemaCode"></param>

            /// <param name="bizObjectId"></param>

            /// <param name="keyName"></param>

            /// <param name="keyValue"></param>

            /// <returns></returns>

            [WebMethod(Description = "设置单个流程数据项的值")]

            [System.Web.Services.Protocols.SoapHeader("authentication")]

            public bool SetItemValue(string bizObjectSchemaCode, string bizObjectId, string keyName, object keyValue)

            {

                ValidateSoapHeader();

                List<DataItemParam> keyValues = new List<DataItemParam>();

                keyValues.Add(new DataItemParam()

                {

                    ItemName = keyName,

                    ItemValue = keyValue

                });

                return SetItemValues(bizObjectSchemaCode, bizObjectId, keyValues);

            }

            /// <summary>

            /// 设置批量流程数据项的值

            /// </summary>

            /// <param name="bizObjectSchemaCode"></param>

            /// <param name="bizObjectId"></param>

            /// <param name="keyValues"></param>

            /// <returns></returns>

            [WebMethod(Description = "设置批量流程数据项的值")]

            [System.Web.Services.Protocols.SoapHeader("authentication")]

            public bool SetItemValues(string bizObjectSchemaCode, string bizObjectId, List<DataItemParam> keyValues)

            {

                ValidateSoapHeader();

                // 获取操作的用户

                if (keyValues == null || keyValues.Count == 0) return false;

                Dictionary<string, object> values = new Dictionary<string, object>();

                foreach (DataItemParam param in keyValues)

                {

                    values.Add(param.ItemName, param.ItemValue);

                }

                return this.Engine.BizObjectManager.SetPropertyValues(bizObjectSchemaCode, bizObjectId, UserValidatorFactory.CurrentUser.UserID, values);

            }

            /// <summary>

            /// 输出日志至引擎服务器

            /// </summary>

            /// <param name="message"></param>

            [WebMethod(Description = "输出日志至引擎服务器")]

            public void WriteLog(string message)

            {

                this.Engine.LogWriter.Write(message);

            }

            #region 工作任务私有方法 ----------------

            /// <summary>

            /// 提交工作项

            /// </summary>

            /// <param name="workItemId">工作项ID</param>

            /// <param name="approval">审批结果</param>

            /// <param name="commentText">审批意见</param>

            /// <param name="userId">处理人</param>

            private void SubmitItem(string workItemId, OThinker.Data.BoolMatchValue approval, string commentText, string userId)

            {

                // 获取工作项

                OThinker.H3.WorkItem.WorkItem item = this.Engine.WorkItemManager.GetWorkItem(workItemId);

                // 添加意见

                this.AppendComment(item, OThinker.Data.BoolMatchValue.Unspecified, commentText);

                // 结束工作项

                this.Engine.WorkItemManager.FinishWorkItem(

                    item.ObjectID,

                    userId,

                    OThinker.H3.WorkItem.AccessPoint.ExternalSystem,

                    null,

                    null,

                    approval,

                    commentText,

                    null,

                    OThinker.H3.WorkItem.ActionEventType.Forward,

                    (int)OThinker.H3.WorkSheet.SheetButtonType.Submit);

                // 需要通知实例事件管理器结束事件

                Messages.AsyncEndMessage endMessage = new OThinker.H3.Messages.AsyncEndMessage(

                        Messages.MessageEmergencyType.Normal,

                        item.InstanceId,

                        item.ActivityCode,

                        item.TokenId,

                        approval,

                        false,

                        approval,

                        true,

                        null);

                this.Engine.InstanceManager.SendMessage(endMessage);

            }

            /// <summary>

            /// 驳回工作任务

            /// </summary>

            /// <param name="userId"></param>

            /// <param name="workItemId"></param>

            /// <param name="commentText"></param>

            /// <returns></returns>

            private bool ReturnItem(string userId, string workItemId, string commentText)

            {

                Organization.User user = this.Engine.Organization.GetUnit(userId) as Organization.User;

                if (user == null) return false;

                // 获取工作项

                OThinker.H3.WorkItem.WorkItem item = this.Engine.WorkItemManager.GetWorkItem(workItemId);

                OThinker.H3.Instance.InstanceContext context = this.Engine.InstanceManager.GetInstanceContext(item.InstanceId);

                // ToKen

                OThinker.H3.Instance.IToken Token = context.GetToken(item.TokenId);

                int PreToken = int.Parse(Token.PreTokens[0].ToString());

                OThinker.H3.Instance.IToken PreToken1 = context.GetToken(PreToken);

                string activityName = PreToken1.Activity;

                // 添加意见

                this.AppendComment(item, OThinker.Data.BoolMatchValue.False, commentText);

                // 结束工作项

                this.Engine.WorkItemManager.FinishWorkItem(

                      item.ObjectID,

                      user.ObjectID,

                      H3.WorkItem.AccessPoint.ExternalSystem,

                      null,

                      null,

                      OThinker.Data.BoolMatchValue.False,

                      commentText,

                      null,

                      H3.WorkItem.ActionEventType.Backward,

                      (int)OThinker.H3.WorkSheet.SheetButtonType.Return);

                // 准备触发后面Activity的消息

                OThinker.H3.Messages.ActivateActivityMessage activateMessage

                    = new OThinker.H3.Messages.ActivateActivityMessage(

                    OThinker.H3.Messages.MessageEmergencyType.Normal,

                    item.InstanceId,

                    activityName,

                    OThinker.H3.Instance.Token.UnspecifiedID,

                    null,

                    new int[] { item.TokenId },

                    false,

                    H3.WorkItem.ActionEventType.Backward);

                // 通知该Activity已经完成

                OThinker.H3.Messages.AsyncEndMessage endMessage =

                    new OThinker.H3.Messages.AsyncEndMessage(

                        OThinker.H3.Messages.MessageEmergencyType.Normal,

                        item.InstanceId,

                        item.ActivityCode,

                        item.TokenId,

                        OThinker.Data.BoolMatchValue.False,

                        true,

                        OThinker.Data.BoolMatchValue.False,

                        false,

                        activateMessage);

                this.Engine.InstanceManager.SendMessage(endMessage);

                return true;

            }

            private BPMServiceResult startWorkflow(

                string workflowCode,

                string userCode,

                bool finishStart,

                List<DataItemParam> paramValues)

            {

                ValidateSoapHeader();

                string workItemID, keyItem, errorMessage;

                workItemID = keyItem = errorMessage = string.Empty;

                BPMServiceResult result;

                try

                {

                    // 获取模板

                    OThinker.H3.WorkflowTemplate.PublishedWorkflowTemplateHeader workflowTemplate = GetWorkflowTemplate(workflowCode);

                    if (workflowTemplate == null)

                    {

                        result = new BPMServiceResult(false, "流程启动失败,流程模板不存在,模板编码:" + workflowCode + "。");

                        return result;

                    }

                    // 查找流程发起人

                    OThinker.Organization.User user = this.Engine.Organization.GetUnitByCode(userCode) as Organization.User;

                    if (user == null)

                    {

                        result = new BPMServiceResult(false, "流程启动失败,用户{" + userCode + "}不存在。");

                        return result;

                    }

                    OThinker.H3.DataModel.BizObjectSchema schema = this.Engine.BizObjectManager.GetPublishedSchema(workflowTemplate.BizObjectSchemaCode);

                    OThinker.H3.DataModel.BizObject bo = new DataModel.BizObject(

                        this.Engine.Organization,

                        this.Engine.MetadataRepository,

                        this.Engine.BizObjectManager,

                        schema,

                        OThinker.Organization.User.SystemUserID,

                        OThinker.Organization.Company.DefaultCompanyId);

                    if (paramValues != null)

                    {

                        // 这里可以在创建流程的时候赋值

                        foreach (DataItemParam param in paramValues)

                        {

                            if (bo.Schema.ContainsField(param.ItemName))

                            {

                                bo[param.ItemName] = param.ItemValue;

                            }

                        }

                    }

                    bo.Create();

                    // 创建流程实例

                    string InstanceId = this.Engine.InstanceManager.CreateInstance(

                         bo.ObjectID,

                         workflowTemplate.WorkflowCode,

                         workflowTemplate.WorkflowVersion,

                         null,

                         null,

                         user.UnitID,

                         null,   // 以组的身份发起

                         null,   // 以岗位的身份发起

                         false,  //

                         Instance.InstanceContext.UnspecifiedID,

                         null,

                         Instance.Token.UnspecifiedID);

                    // 设置紧急程度为普通

                    OThinker.H3.Messages.MessageEmergencyType emergency = Messages.MessageEmergencyType.Normal;

                    // 这里也可以在启动流程的时候赋值

                    Dictionary<string, object> paramTables = new Dictionary<string, object>();

                    // 启动流程的消息

                    OThinker.H3.Messages.StartInstanceMessage startInstanceMessage

                        = new OThinker.H3.Messages.StartInstanceMessage(

                            emergency,

                            InstanceId,

                            paramTables,

                            Instance.PriorityType.Normal,

                            true,

                            null,

                            false,

                            OThinker.H3.Instance.Token.UnspecifiedID,

                            null);

                    Engine.InstanceManager.SendMessage(startInstanceMessage);

                    result = new BPMServiceResult(true, InstanceId, workItemID, "流程实例启动成功!", "");

                }

                catch (Exception ex)

                {

                    result = new BPMServiceResult(false, "流程实例启动失败!错误:" + ex.ToString());

                }

                return result;

            }

            /// <summary>

            /// 给工作项添加审批意见

            /// </summary>

            /// <param name="item">工作项</param>

            /// <param name="approval">审批结果</param>

            /// <param name="commentText">审批意见</param>

            private void AppendComment(OThinker.H3.WorkItem.WorkItem item, OThinker.Data.BoolMatchValue approval, string commentText)

            {

                // 添加一个审批意见

                WorkflowTemplate.PublishedWorkflowTemplate workflow = this.Engine.WorkflowManager.GetPublishedTemplate(

                    item.WorkflowCode,

                    item.WorkflowVersion);

                // 审批字段

                string approvalDataItem = null;

                if (workflow != null)

                {

                    OThinker.H3.DataModel.BizObjectSchema schema = this.Engine.BizObjectManager.GetPublishedSchema(item.BizObjectSchemaCode);

                    approvalDataItem = workflow.GetDefaultCommentDataItem(schema, item.ActivityCode);

                }

                if (approvalDataItem != null)

                {

                    // 创建审批

                    OThinker.H3.Data.Comment comment = new Data.Comment();

                    comment.Activity = item.ActivityCode;

                    comment.Approval = approval;

                    comment.CreatedTime = System.DateTime.Now;

                    comment.DataField = approvalDataItem;

                    comment.InstanceId = item.InstanceId;

                    comment.BizObjectId = item.BizObjectId;

                    comment.BizObjectSchemaCode = item.BizObjectSchemaCode;

                    comment.OUName = this.Engine.Organization.GetName(this.Engine.Organization.GetParent(item.Participant));

                    comment.Text = commentText;

                    comment.TokenId = item.TokenId;

                    comment.UserID = item.Participant;

                    // 设置用户的默认签章

                    Organization.Signature[] signs = this.Engine.Organization.GetSignaturesByUnit(item.Participant);

                    if (signs != null && signs.Length > 0)

                    {

                        foreach (Organization.Signature sign in signs)

                        {

                            if (sign.IsDefault)

                            {

                                comment.SignatureId = sign.ObjectID;

                                break;

                            }

                        }

                    }

                    this.Engine.BizObjectManager.AddComment(comment);

                }

            }

            #endregion

            /// <summary>

            /// 获取最新的流程模板

            /// </summary>

            /// <param name="workflowCode">流程模板编码</param>

            /// <returns></returns>

            private OThinker.H3.WorkflowTemplate.PublishedWorkflowTemplateHeader GetWorkflowTemplate(string workflowCode)

            {

                // 获取最新版本号

                int workflowVersion = this.Engine.WorkflowManager.GetWorkflowDefaultVersion(workflowCode);

                return GetWorkflowTemplate(workflowCode, workflowVersion);

            }

            /// <summary>

            /// 获取指定版本号的流程模板对象

            /// </summary>

            /// <param name="workflowCode">流程模板编码</param>

            /// <param name="workflowVersion">流程模板版本号</param>

            /// <returns></returns>

            private OThinker.H3.WorkflowTemplate.PublishedWorkflowTemplateHeader GetWorkflowTemplate(string workflowCode, int workflowVersion)

            {

                // 获取模板

                OThinker.H3.WorkflowTemplate.PublishedWorkflowTemplateHeader workflowTemplate = this.Engine.WorkflowManager.GetPublishedTemplateHeader(

                        workflowCode,

                        workflowVersion);

                return workflowTemplate;

            }

            public Authentication authentication;

            public Acl.UserValidator UserValidator = null;

            /// <summary>

            /// 验证当前用户是否正确

            /// </summary>

            /// <returns></returns>

            public void ValidateSoapHeader()

            {

                if (authentication == null)

                {

                    throw new Exception("请输入身份认证信息!");

                }

                UserValidator = UserValidatorFactory.Validate(authentication.UserCode, authentication.Password);

                if (UserValidator == null)

                {

                    throw new Exception("帐号或密码不正确!");

                }

                this.Engine = UserValidator.Engine;

                // this.Engine = OThinker.H3.WorkSheet.AppUtility.Engine;

            }

        }

        /// <summary>

        /// 身份验证类

        /// </summary>

        public class Authentication : System.Web.Services.Protocols.SoapHeader

        {

            public Authentication() { }

            public Authentication(string UserCode, string Password)

            {

                this.UserCode = UserCode;

                this.Password = Password;

            }

            public string UserCode { get; set; }

            public string Password { get; set; }

        }

        /// <summary>

        /// 流程服务返回消息类

        /// </summary>

        public class BPMServiceResult

        {

            /// <summary>

            /// 消息类构造函数

            /// </summary>

            /// <param name="success"></param>

            /// <param name="instanceId"></param>

            /// <param name="workItemId"></param>

            /// <param name="message"></param>

            public BPMServiceResult(bool success, string instanceId, string workItemId, string message, string WorkItemUrl)

            {

                this.Success = success;

                this.InstanceID = instanceId;

                this.Message = message;

                this.WorkItemID = workItemId;

                this.WorkItemUrl = WorkItemUrl;

            }

            /// <summary>

            /// 消息类构造函数

            /// </summary>

            /// <param name="success"></param>

            /// <param name="message"></param>

            public BPMServiceResult(bool success, string message)

                : this(success, string.Empty, string.Empty, message, string.Empty)

            {

            }

            public BPMServiceResult() { }

            private bool success = false;

            /// <summary>

            /// 获取或设置流程启动是否成功

            /// </summary>

            public bool Success

            {

                get { return success; }

                set { success = value; }

            }

            private string instanceId = string.Empty;

            /// <summary>

            /// 获取或设置启动的流程实例ID

            /// </summary>

            public string InstanceID

            {

                get { return instanceId; }

                set { this.instanceId = value; }

            }

            private string message = string.Empty;

            /// <summary>

            /// 获取或设置系统返回消息

            /// </summary>

            public string Message

            {

                get { return message; }

                set { this.message = value; }

            }

            private string workItemId = string.Empty;

            /// <summary>

            /// 获取或设置第一个节点的ItemID

            /// </summary>

            public string WorkItemID

            {

                get { return workItemId; }

                set { this.workItemId = value; }

            }

            private string workItemUrl = string.Empty;

            /// <summary>

            /// 获取或设置第一个节点的url

            /// </summary>

            public string WorkItemUrl

            {

                get { return workItemUrl; }

                set { this.workItemUrl = value; }

            }

        }

        /// <summary>

        /// 提交任务后返回对象

        /// </summary>

        [Serializable]

        public class ReturnWorkItemInfo

        {

            public ReturnWorkItemInfo() { }

            private bool isSuccess = false;

            /// <summary>

            /// 是否提交成功

            /// </summary>

            public bool IsSuccess

            {

                get { return isSuccess; }

                set { this.isSuccess = value; }

            }

            private string workItemUrl = string.Empty;

            /// <summary>

            /// 当前表单地址

            /// </summary>

            public string WorkItemUrl

            {

                get { return workItemUrl; }

                set { this.workItemUrl = value; }

            }

        }

        /// <summary>

        /// 数据项参数

        /// </summary>

        [Serializable]

        public class DataItemParam

        {

            private string itemName = string.Empty;

            /// <summary>

            /// 获取或设置数据项名称

            /// </summary>

            public string ItemName

            {

                get { return itemName; }

                set { this.itemName = value; }

            }

            private object itemValue = string.Empty;

            /// <summary>

            /// 获取或设置数据项的值

            /// </summary>

            public object ItemValue

            {

                get { return itemValue; }

                set { this.itemValue = value; }

            }

        }

    }

     

     

     

     

     

     

     

    41 SheetPage

    SheetPage是ASPX版本所有的表单基类。

    属性

    名称

    类型

    说明

    Approval

    OThinker.Data.BoolMatchValue

    获取或设置当前任务审核结果

    Comment

    string

    获取或设置当前任务审核意见

    DisplayName

    string

    获取当前表单显示名称

    Enviroment

    OThinker.H3.WorkSheet.SheetEnviroment

    获取表单任务环境对象

    InstanceNameEditor

    SheetInstanceNameEditor

    获取流程实例名称编辑控件

    PortalRoot

    string

    获取Portal根目录路径

    PriorityType

    OThinker.H3.Instance.PriorityType

    获取或设置当前流程实例紧急程度

    方法

    名称

    参数

    说明

    CancelInstance

     

    在表单取消流程实例时事件

    CancelWorkItem

     

    在表单取消工作任务时事件

    GetItemEditable

    string ItemName

    获取指定数据项在当前任务是否可编辑

    GetItemRequired

    string ItemName

    获取指定数据项在当前任务是否必填

    GetItemTrackVisible

    string ItemName

    获取指定数据项在当前任务是可查看痕迹

    GetItemVisible

    string ItemName

    获取指定数据项在当前任务是可见

    GetItemValue

    string ItemName, ref object Value

    获取指定数据项的值

    GetOptionalRecipients

    SelectRecipientType SelectRecipientType

    设置当前任务协助/征询/传阅的可选人范围

    IsActivitySelectable

    string ActivityName

    当活动节点是手工选择时,设置某个活动节点是否允许被选择

    LoadDataFields

     

    表单加载数据项的值

    OnOriginatingInstance

    object Sender, OriginateInstanceEventArgs Args

    流程被发起时触发事件

    OnSubmit

    SheetSubmitEventArgs Args

    流程提交时触发事件

    SaveDataFields

    SheetSubmitEventArgs Args

    流程保存/提交时触发,将表单上的值保存到数据项中

    SetItemValue

    string ItemName, object Value

    设置数据项的值

    ValidateAuthorization

     

    权限验证方法,设置当前用户是否有权限打开表单

    ValidateDataFields

    SheetSubmitEventArgs Args, List<string> Errors

    数据项验证方法,设置数据项在后台验证是否通过

     

  • 相关阅读:
    人人都有数字替身的时代马上到来
    教你如何在linux下查看服务是否已经启动或者关闭
    提前了解2019年物联网发展的六大趋势
    本科理工男如何学习Linux
    linux常见命令ps的应用
    useradd 命令的常见用法
    简单聊聊Linux学习经历
    什么是公网IP、内网IP和NAT转换?
    远程获得的有趣的linux命令
    js练习题之查找数组中的位子
  • 原文地址:https://www.cnblogs.com/h3bpm/p/7053466.html
Copyright © 2011-2022 走看看