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,[email protected])
方法说明 |
根据活动目录中的用户信息新建一个用户对象 |
|
输入参数 |
||
名称 |
类型 |
说明 |
ADPath |
System.String |
AD路径 |
ReferenceADPathes |
System.String[] |
|
ADUser |
System.String |
AD登录名 |
ADPassword |
System.String |
AD密码 |
UserAlias |
System.String |
要创建的用户的登录名 |
LoginNameIncludeDomain |
System.Boolean |
用户的登陆名是否包含域名 |
Result |
[email protected] |
如果成功则返回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 |
登陆名中是否包含域名称,如果包含的话,那么登录名的格式是domain1\user2这样的形式 |
返回值 |
无 |
方法名称:OThinker.Organization.IOrganization)
方法说明 |
验证是否合法 |
|
输入参数 |
||
名称 |
类型 |
说明 |
Organization |
OThinker.Organization.IOrganization |
组织结构接口,用来获得人员、OU、组等信息 |
返回值 |
如果合法则返回SUCCESS,否则返回错误代码 |
3 类: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 |
返回值 |
无 |
4 类: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 |
返回值 |
返回解除锁定节点操作是否成功 |
5 类: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 |
返回值 |
无 |
6 类: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 |
返回值 |
无 |
7 类: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[] |
|
返回值 |
8 类: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 |
应用程序对象 |
返回值 |
返回更新应用程序对象是否成功 |
9 类: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,[email protected])
方法说明 |
查询对象 |
|
输入参数 |
||
名称 |
类型 |
说明 |
BizServiceCode |
System.String |
业务服务的编码 |
FilterCode |
System.String |
搜索的编号 |
Filter |
OThinker.H3.BizBus.Filter.Filter |
搜索条件 |
Count |
[email protected] |
如果做了分页,就会要求返回总数 |
返回值 |
符合条件的记录 |
方法名称: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,[email protected])
方法说明 |
根据业务对象ID获得用户对于这个分享项目的权限,这个验证关系主要通过登录用户自身的权限,这个接口主要是提供给全文搜索的时候使用的,全文搜索的时候,搜索出来相关的业务对象,然后根据业务对象打开相应的有权限的业务对象表单或者工作项表单 |
|
输入参数 |
||
名称 |
类型 |
说明 |
BizObjectId |
System.String |
业务对象的ID |
Receiver |
System.String |
接受者 |
WorkItemId |
[email protected] |
分享一个业务对象有可能是通过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,[email protected])
方法说明 |
流程包导入 |
|
输入参数 |
||
名称 |
类型 |
说明 |
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,[email protected])
方法说明 |
发布一个业务对象模式,实际上,是将业务对象模式从草稿库中读取出来,然后发布到已发布库中,如果新的业务对象模式跟原有的业务对象模式存在冲突,则会回滚到上一次发布的模式中 |
|
输入参数 |
||
名称 |
类型 |
说明 |
SchemaCode |
System.String |
业务对象模式编码,不区分大小写 |
Message |
[email protected] |
返回消息结果 |
返回值 |
如果发布成功,则返回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,[email protected])
方法说明 |
执行Filter方法获取实体结构集合 |
|
输入参数 |
||
名称 |
类型 |
说明 |
UserId |
System.String |
用户ID |
SchemaCode |
System.String |
数据模型编码 |
MethodName |
System.String |
方法名称 |
Filter |
OThinker.H3.BizBus.Filter.Filter |
过滤条件 |
Count |
[email protected] |
获取集合数据量 |
返回值 |
实体结构集合 |
方法名称: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,[email protected])
方法说明 |
检测数据模型编码是否重复 |
|
输入参数 |
||
名称 |
类型 |
说明 |
SchemaCode |
System.String |
数据模型编码 |
Message |
[email protected] |
返回的错误信息 |
返回值 |
重复返回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 |
数据项验证方法,设置数据项在后台验证是否通过 |