OThinker.H3.Query

类:OThinker.H3.Query

说明:
查询数据库

常量

名称

说明

ColumnName_PackageDisplayName

查询流程模板的时候使用,OT_WorkflowClauseOT_WorkflowPackage表中都有DisplayName字段,PackageDisplayName用于标记DisplayName是来自OT_WorkflowPackage

ColumnName_OriginateUnit

InstanceContextWorkItem做联表查询的时候,两个表都存在OrgUnit列,这个列用于标示来自InstanceContext表的

属性

名称

说明

CommandFactory

H3主数据库的连接

LogCommandFactory

H3日志数据库的连接

方法:.QueryTable(System.String)

方法说明:
执行SQL,返回查询的结果。数据库类型和连接字符串都使用系统的数据库。

名称

说明

Sql

要执行的SQL语句

返回值:
查询结果

方法:.GetObjectIds(System.Data.DataTable)

方法说明:
从数据库表中获得记录的对象ID

名称

说明

Table

传入的表

返回值:
表中记录的ObjectId数组

方法:.Count(System.String,System.String[])

方法说明:
统计数量

名称

说明

TableName

表名称

Conditions

条件

返回值:
数量

方法:.QueryMaxValue(System.String,System.String,System.String[])

方法说明:
获得最大值

名称

说明

TableName

表名称

ColumnName

要统计的列

Conditions

条件

返回值:
最大值

方法:.QueryMinValue(System.String,System.String,System.String[])

方法说明:
获得最小值

名称

说明

TableName

表名称

ColumnName

要统计的列

Conditions

条件

返回值:
最小值

方法:.QuerySumValue(System.String,System.String,System.String[])

方法说明:
统计总和

名称

说明

TableName

表名称

ColumnName

要统计的列

Conditions

条件

返回值:
总和

方法:.QueryAvgValue(System.String,System.String,System.String[])

方法说明:
统计平均值

名称

说明

TableName

表名称

ColumnName

要统计的列

Conditions

条件

返回值:
平均值

方法:.QueryWorkflow(System.String[],System.Boolean)

方法说明:
查询用户//组织单元可发起的工作流模板

名称

说明

Units

用户//组织单元

IsAdministrator

是否超级管理员

返回值:
流程模板表

方法:.QueryClause(System.String)

方法说明:
查询所有流程模板族

名称

说明

WorkflowCode

模板编码。如果为Null,那么表示忽略这个条件

返回值:
流程模板族的ID

方法:.QueryToken(System.String[],OThinker.H3.Instance.TokenState)

方法说明:
查询流程日志

名称

说明

Instances

流程ID。不能为Null,否则返回Null

返回值:
日志表

方法:.QueryAgent(System.String)

方法说明:
查询用户的委托

名称

说明

UserID

用户ID。如果为Null,则忽略该条件。

返回值:
用户的委托表

方法:.QueryConsultancy(System.String)

方法说明:
征询意见关系

名称

说明

UserID

用户ID。如果为Null,则忽略该条件。

返回值:
征询意见关系表

方法:.QueryAgent

方法说明:
查询系统中所有的委托

名称

说明

返回值:
委托关系表

方法:.QueryUrgency(System.String)

方法说明:
查询工作项被催办的历史记录

名称

说明

WorkItemID

不能为Null,否则返回一张空表

返回值:
催办历史记录表

方法:.QueryUrgency(System.String,System.String)

方法说明:
返回某个催办人对某个流程的催办历史记录。

名称

说明

Urger

催办人ID。不能为Null,否则返回空表。

InstanceId

流程ID。不能为Null,否则返回空表。

返回值:
催办历史记录表

方法:.QueryWorkflowAcl(System.String)

方法说明:
查询流程模板权限。

名称

说明

WorkflowCode

流程模板编码。如果为Null,那么忽略该条件。

返回值:
权限表

方法:.QuerySystemAcl

方法说明:
查询系统权限表

名称

说明

返回值:
系统权限表

方法:.QuerySystemOrgAcl

方法说明:
查询带组织范围的系统权限表

名称

说明

返回值:
带组织范围的系统权限表

方法:.QueryFunctionAcl(System.String)

方法说明:
查询功能权限表

名称

说明

FunctionCode

报表编码,不能为Null

返回值:
功能权限表

方法:.QueryInstanceData(System.String,System.String,System.String[],System.String[],System.Int32,System.Int32,System.Int32@)

方法说明:
根据流程数据查询流程

名称

说明

WorkflowCode

流程模板编码。如果为Null,则返回Null

BizObjectTableName


Columns

设置要显示的字段

Conditions

查询条件

FromRow

开始行

EndRow

结束行

RecordCount

总行数

返回值:
流程数据的表

方法:.QueryInstanceData(System.String,System.String,System.String[],System.String[])

方法说明:
导出流程数据

名称

说明

WorkflowCode

流程模板编码。如果为Null,则返回Null

BizObjectTableName


Columns

设置要显示的字段

Conditions

查询条件

返回值:
流程数据的表

方法:.QueryUserLog(System.String)

方法说明:
查询用户的操作日志

名称

说明

InstanceId

流程ID,不能为Null,否则返回Null

返回值:
用户操作日志

方法:.QueryUserLoginLog(System.String[],System.Int32,System.Int32,System.Int32@)

方法说明:
查询用户登录日志

名称

说明

Conditions


PageIndex


PageSize


RecordCount


返回值:
返回用户登录日志表格

方法:.QueryMobileUserLoginLog(System.String[],System.Int32,System.Int32,System.Int32@)

方法说明:
查询移动办公用户登录日志

名称

说明

Conditions

查询条件的集合

PageIndex

页码

PageSize

页码显示记录数

RecordCount

返回总记录数

返回值:
返回移动办公用户登录的Table数据

方法:.QueryException(System.String[],System.Int32,System.Int32,System.Int32@)

方法说明:
查询系统异常日志

名称

说明

Conditions

查询条件集合

PageIndex

当前页码

PageSize

每页显示记录数

RecordCount

返回:记录总数

返回值:
返回系统异常日志Table数据

方法:.QueryInvokingLog(System.String[],System.Int32,System.Int32,System.Int32@)

方法说明:
查询业务集成接口调用日志

名称

说明

Conditions

查询条件的集合

PageIndex

当前页码

PageSize

每页显示记录数

RecordCount

返回:记录总数

返回值:
返回业务集成接口调用日志Table数据

方法:.BuildState(OThinker.H3.WorkItem.WorkItemState)

方法说明:
将状态条件转换为SQL用的条件

名称

说明

State

工作项状态

返回值:
SQL
条件

方法:.BuildWorkItemType(OThinker.H3.WorkItem.WorkItemType)

方法说明:
根据工作项的类型获得SQL的查询条件

名称

说明

WorkItemType

工作项类型

返回值:
SQL
条件语句

方法:.GetWorkItemConditions(System.String,System.String,System.DateTime,System.DateTime,OThinker.H3.WorkItem.WorkItemState,System.String,OThinker.Data.BoolMatchValue,OThinker.Data.BoolMatchValue,OThinker.H3.Instance.InstanceState,System.String,System.Boolean,System.Boolean)

方法说明:
查询工作项。V10.0 该方法存在延时,该查询与流程实例表做了自然连接,如果流程实例没有存储在数据库中,则无法查询到流程实例对应的工作列的。

名称

说明

Participant

参与者,如果为Null,则忽略该条件

TimeColumnName

时间字段名称

From

工作项接收的起始查询时间。如果为System.DateTime.MinValue则忽略该条件

To

工作项接收的结束查询时间。如果为System.DateTime.MaxValue则忽略该条件

State

工作项状态,如果为Unspecified,则忽略该条件

InstanceName

流程实例的名称,流程实例的名称可以使通过流程模板定义出来的,也可以使由最终用户指定的,实际上,会优先用户指定的。如果该参数为空,则忽略该条件;否则,以LIKE %{InstanceName}%的形式进行匹配

Approval

审批结果,如果为Unspecified,则表示忽略这个条件

Elapsed

是否已经超时,如果为Unspecified,则表示忽略这个条件

InstanceState

流程实例的状态,如果为Unspecified,则表示忽略这个条件

WorkflowCode

流程模板的编码,如果为空,则表示忽略这个条件

OnlyinstanceName

InstanceName查询关键词是否仅仅是流程名称

IscirculateItem

是否是待阅/已阅,true OT_CirculateItem取数,否,从OT_WorkItem取数

返回值:
查询工作项的条件

方法:.GetQueryWorkItemConditionsForMonitor(System.String[],System.String,System.DateTime,System.DateTime,System.String,OThinker.H3.WorkItem.WorkItemState,OThinker.Data.BoolMatchValue,OThinker.Data.BoolMatchValue)

方法说明:
获得用户管理的组织下面的工作项查询

名称

说明

Orgs


WorkflowCode


From


To


InstanceName


State


Approval


Elapsed


返回值:

方法:.GroupWorkItemSql(OThinker.Data.Database.DatabaseType,System.String[],System.Int32,System.Int32,System.String,System.Boolean,System.Boolean)

方法说明:
V10.0 
由于OT_WorkItem/OT_CirculateItem表中没有InstanceName字段,所以需要与OT_InstanceContext表做联合以获得InstanceName,这个函数就是用来构建联合用的SQL用的

名称

说明

DatabaseType

数据库类型

Conditions

条件

FromRowNum

起始行号,从1开始计数,包含起始行号

ToRowNum

结束行号,从1开始计数,不包含结束行号

OrderBy

排序列

Ascending

是否升序

IscirculateItem

是否已待阅/已阅查询

返回值:
与流程表连接之后的SQL语句

方法:.BuildState(OThinker.H3.WorkItem.WorkItemState,System.Boolean)

方法说明:
V10.0 
将状态条件转换为SQL用的条件

名称

说明

State

工作项状态

iscirculateItem

是否是待阅/已阅查询

返回值:
SQL
条件

方法:.GetWorkItemConditions(System.String,System.Boolean,OThinker.H3.WorkItem.WorkItemState,OThinker.H3.WorkItem.WorkItemType,OThinker.Data.BoolMatchValue,OThinker.Data.BoolMatchValue)

方法说明:
查询某个参与者/委托给某个参与者的工作项

名称

说明

Participant

参与者。不能为Null

ParticipantIncludeDelegant

参与者是否包括委托人,如果为true,那么参与者不但要算WorkItem.Participant字段,还要算WorkItem.Delegant字段;

State

工作项状态。如果为Unspecified,则忽略

ItemType

工作项类型。如果为Unspecified,则忽略

Approval

工作项的审批结果。如果为Unspecified,则忽略

Urged

工作项是否被催办过。如果为Unspecified,则忽略

返回值:
SQL
条件

方法:.GetWorkItemConditions(System.String,OThinker.H3.WorkItem.WorkItemState,OThinker.Data.BoolMatchValue)

方法说明:
查询工作项。该方法存在延时,该查询与流程实例表做了自然连接,如果流程实例没有存储在数据库中,则无法查询到流程实例对应的工作列的。

名称

说明

Participant

参与者,如果为Null,则表示忽略这个条件

State

工作项状态,如果为Unspecified,则表示忽略这个条件

Approval

审批结果,如果为Unspecified,则表示忽略这个条件

返回值:
查询工作项的条件

方法:.GetWorkItemConditions(System.String,System.Boolean,System.DateTime,System.DateTime,OThinker.H3.WorkItem.WorkItemState,System.String,OThinker.Data.BoolMatchValue,OThinker.Data.BoolMatchValue,System.String)

方法说明:
查询工作项。该方法存在延时,该查询与流程实例表做了自然连接,如果流程实例没有存储在数据库中,则无法查询到流程实例对应的工作列的。-------------------------------------------------------------

名称

说明

Participant

参与者,如果为Null,则忽略该条件

ParticipantIncludeDelegant

参与者是否包括委托人,如果为true,那么参与者不但要算WorkItem.Participant字段,还要算WorkItem.Delegant字段;

From

工作项接收的起始查询时间。如果为System.DateTime.MinValue则忽略该条件

To

工作项接收的结束查询时间。如果为System.DateTime.MaxValue则忽略该条件

State

工作项状态,如果为Unspecified,则忽略该条件

InstanceName

流程实例的名称,流程实例的名称可以使通过流程模板定义出来的,也可以使由最终用户指定的,实际上,会优先用户指定的。如果该参数为空,则忽略该条件;否则,以LIKE %{InstanceName}%的形式进行匹配

Approval

审批结果,如果为Unspecified,则表示忽略这个条件

Elapsed

是否已经超时,如果为Unspecified,则表示忽略这个条件

WorkflowCode

流程编码

返回值:
查询工作项的条件

方法:.GetWorkItemConditions(System.String,System.String,System.DateTime,System.DateTime,OThinker.H3.WorkItem.WorkItemState,System.String,OThinker.Data.BoolMatchValue,OThinker.Data.BoolMatchValue,OThinker.H3.Instance.InstanceState,System.String)

方法说明:
查询工作项。该方法存在延时,该查询与流程实例表做了自然连接,如果流程实例没有存储在数据库中,则无法查询到流程实例对应的工作列的。

名称

说明

Participant

参与者,如果为Null,则忽略该条件

TimeColumnName

时间字段名称

From

工作项接收的起始查询时间。如果为System.DateTime.MinValue则忽略该条件

To

工作项接收的结束查询时间。如果为System.DateTime.MaxValue则忽略该条件

State

工作项状态,如果为Unspecified,则忽略该条件

InstanceName

流程实例的名称,流程实例的名称可以使通过流程模板定义出来的,也可以使由最终用户指定的,实际上,会优先用户指定的。如果该参数为空,则忽略该条件;否则,以LIKE %{InstanceName}%的形式进行匹配

Approval

审批结果,如果为Unspecified,则表示忽略这个条件

Elapsed

是否已经超时,如果为Unspecified,则表示忽略这个条件

InstanceState

流程实例的状态,如果为Unspecified,则表示忽略这个条件

WorkflowCode

流程模板的编码,如果为空,则表示忽略这个条件

返回值:
查询工作项的条件

方法:.GetWorkItemConditions(System.String,System.Int32,System.String,System.String[],System.String[],System.DateTime,System.DateTime,OThinker.H3.WorkItem.WorkItemState,OThinker.H3.Instance.PriorityType,System.String,OThinker.Data.BoolMatchValue,OThinker.Data.BoolMatchValue)

方法说明:
解析查询工作项的条件。该方法存在延时,该查询与流程实例表做了自然连接,如果流程实例没有存储在数据库中,则无法查询到流程实例对应的工作列的。

名称

说明

WorkflowCode

流程模板编码,如果为Null,则忽略该条件

WorkflowVersion

流程模板版本号,如果为NullVersion,则忽略该条件

ActivityName

活动名称,如果为Null,则忽略该条件

Instances

流程实例的范围,如果为Null,则忽略该条件

Participants

参与者的范围,如果为Null,则忽略该条件

From

工作项接收的起始查询时间。如果为System.DateTime.MinValue则忽略该条件

To

工作项接收的结束查询时间。如果为System.DateTime.MaxValue则忽略该条件

State

工作项的状态,如果为Unspecified,则忽略该条件

Priority

工作项的优先级,如果Unspecified,则忽略该条件

InstanceName

流程实例的名称,流程实例的名称可以使通过流程模板定义出来的,也可以使由最终用户指定的,实际上,会优先用户指定的。如果该参数为空,则忽略该条件;否则,以LIKE %{InstanceName}%的形式进行匹配

Receiptor

转移的接收人,如果为Null,则忽略该条件

Approval

审批结果,如果为Unspecified,则表示忽略这个条件

Elapsed

是否已经超时,如果为Unspecified,则表示忽略这个条件

返回值:
查询工作项的条件

方法:.BuildWorkItemParticipant(System.String,System.Boolean,OThinker.H3.WorkItem.WorkItemState)

方法说明:
匹配参与者的条件

名称

说明

Participant

参与者。不能为Null

ParticipantIncludeDelegant

参与者是否包括委托人,如果为true,那么参与者不但要算WorkItem.Participant字段,还要算WorkItem.Delegant字段;

State

任务状态,默认为未完成状态

返回值:
参与者的匹配条件

方法:.GroupWorkItemSql(System.String[],OThinker.H3.WorkItem.WorkItemState)

方法说明:
由于OT_WorkItem表中没有InstanceName字段,所以需要与OT_InstanceContext表做联合以获得InstanceName,这个函数就是用来构建联合用的SQL用的

名称

说明

Conditions

条件

返回值:
与流程表连接之后的SQL语句

方法:.GroupWorkItemSql(OThinker.Data.Database.DatabaseType,System.String[],System.Int32,System.Int32)

方法说明:
由于OT_WorkItem表中没有InstanceName字段,所以需要与OT_InstanceContext表做联合以获得InstanceName,这个函数就是用来构建联合用的SQL用的

名称

说明

DatabaseType

数据库类型

Conditions

条件

FromRowNum

起始行号,从1开始计数,包含起始行号

ToRowNum

结束行号,从1开始计数,不包含结束行号

OrderBy

排序列

Ascending

是否升序

返回值:
与流程表连接之后的SQL语句

方法:.GetItemTableName(OThinker.H3.WorkItem.WorkItemState)

方法说明:
获取工作任务的表名称

名称

说明

State


返回值:

方法:.GetItemTableName(OThinker.H3.WorkItem.WorkItemState,OThinker.H3.WorkItem.WorkItemType)

方法说明:
获取工作任务存储表名称

名称

说明

State


WorkItemType


返回值:

方法:.QueryWorkItems(System.String,System.Int64,OThinker.H3.WorkItem.WorkItemType,OThinker.H3.WorkItem.WorkItemState,OThinker.Data.BoolMatchValue)

方法说明:
查询任务实例

名称

说明

InstanceId

流程ID。如果为Null,则忽略该条件

TokenId

步骤ID。如果为UnspecifiedID,则忽略该条件

WorkItemType

工作项类型。如果为Unspecified,则忽略该条件

State

工作项状态。如果为Unspecified,则忽略该条件

Approval

工作项的审批结果。如果为Unspecified,则忽略该条件

返回值:
工作项ID

方法:.QueryItems(System.String,System.Int64,OThinker.H3.WorkItem.WorkItemType,OThinker.H3.WorkItem.WorkItemState,OThinker.Data.BoolMatchValue,System.String)

方法说明:
查询任务实例 ——删除流程实例

名称

说明

InstanceId

流程ID。如果为Null,则忽略该条件

TokenId

步骤ID。如果为UnspecifiedID,则忽略该条件

WorkItemType

工作项类型。如果为Unspecified,则忽略该条件

State

工作项状态。如果为Unspecified,则忽略该条件

Approval

工作项的审批结果。如果为Unspecified,则忽略该条件

TableName

TableName

返回值:
工作项ID

方法:.QueryApprovedWorkItems(System.String,System.Int32,OThinker.H3.WorkItem.WorkItemType,OThinker.H3.WorkItem.WorkItemState)

方法说明:
查询审批通过的任务集合

名称

说明

InstanceId

流程ID。如果为Null,则忽略该条件

TokenId

步骤ID。如果为UnspecifiedID,则忽略该条件

WorkItemType

工作项类型。如果为Unspecified,则忽略该条件

State

工作项状态。如果为Unspecified,则忽略该条件

返回值:
工作项ID

方法:.QueryRejectedWorkItems(System.String,System.Int32,OThinker.H3.WorkItem.WorkItemType,OThinker.H3.WorkItem.WorkItemState)

方法说明:
查询审批拒绝的任务集合

名称

说明

InstanceId

流程ID。如果为Null,则忽略该条件

TokenId

步骤ID。如果为UnspecifiedID,则忽略该条件

WorkItemType

工作项类型。如果为Unspecified,则忽略该条件

State

工作项状态。如果为Unspecified,则忽略该条件

返回值:
工作项ID

方法:.QueryWorkItems(System.String[],System.String[],System.DateTime,System.DateTime,OThinker.H3.WorkItem.WorkItemState,System.String)

方法说明:
查询用户任务

名称

说明

Instances

实例的ID,如果为UnspecifiedID,则忽略

Participants

接收者,如果为null,则忽略

From

最小接收时间,如果为System.DateTime.MinValue,则忽略

To

最大接收时间,如果为System.DateTime.MaxValue,则忽略

State

状态,如果为Unfinished,则查询出等待或者处理中的,如果为Unspecified,则忽略

ConsultedWorkItemID

如果为OThinker.H3.WorkItem.NullWorkItemID,则忽略

返回值:
工作项ID

方法:.QueryConsultants(System.String)

方法说明:
获得某个任务的所有征询人,包括完成的和未完成的

名称

说明

ConsultedWorkItemID

如果为Null或者"",则返回Null

返回值:
被征询意见的人员的ID

方法:.GetConsultingWorkItemsConditions(OThinker.H3.WorkItem.WorkItem,OThinker.H3.WorkItem.WorkItemState)

方法说明:
获得某个任务的所有征询工作项,包括完成的和未完成的

名称

说明

SourceWorkItem

如果为Null,则抛出异常

State

工作项的状态

返回值:
被征询意见的工作项的条件

方法:.QueryActivityConsultingWorkItems(System.String,System.Int64,OThinker.H3.WorkItem.WorkItemState)

方法说明:
查询活动协办类型的工作项

名称

说明

InstanceId

流程ID,不能为空

TokenId

步骤ID,不能为空

State

状态

返回值:
工作项ID

方法:.QueryConsultingWorkItems(OThinker.H3.WorkItem.WorkItem)

方法说明:
获得某个任务的所有征询工作项,包括完成的和未完成的

名称

说明

SourceWorkItem

如果为Null或者"",则返回Null

返回值:
被征询意见的工作项的ID

方法:.QueryConsultingWorkItems(OThinker.H3.WorkItem.WorkItem,OThinker.H3.WorkItem.WorkItemState)

方法说明:
获得某个任务的所有征询工作项,包括完成的和未完成的

名称

说明

SourceWorkItem

如果为Null,则抛出异常

State

工作项的状态

返回值:
被征询意见的工作项的条件

方法:.QueryActivityAssistingWorkItems(System.String,System.Int64,OThinker.H3.WorkItem.WorkItemState)

方法说明:
查询活动协办类型的工作项

名称

说明

InstanceId

流程ID,不能为空

TokenId

步骤ID,不能为空

State

状态

返回值:
工作项ID

方法:.QueryAssistingWorkItems(OThinker.H3.WorkItem.WorkItem,OThinker.H3.WorkItem.WorkItemState)

方法说明:
获得某个任务的所有征询工作项,包括完成的和未完成的

名称

说明

SourceWorkItem

如果为Null,则抛出异常

State

工作项的状态

返回值:
被征询意见的工作项的条件

方法:.GetAssistingWorkItemsConditions(OThinker.H3.WorkItem.WorkItem,OThinker.H3.WorkItem.WorkItemState)

方法说明:
获得某个任务的所有征询工作项,包括完成的和未完成的

名称

说明

SourceWorkItem

如果为Null,则抛出异常

State

工作项的状态

返回值:
被征询意见的工作项的条件

方法:.QueryWorkItemWithOvertimePolicy(System.DateTime,System.DateTime,OThinker.H3.WorkItem.WorkItemState)

方法说明:
根据超时处理策略来查找工作项。该查询没有与流程实例表连接,即使流程实例还没有存储在数据库中,也一样可以搜索出流程实例对应的工作项

名称

说明

Time1

计划结束时间1

Time2

计划结束时间2

State

工作项状态

返回值:
大于计划结束时间1,并且小于等于计划结束时间2,并且超时策略不为None,并且满足状态条件的工作项的ID

方法:.QueryWorkItemWithOvertimePolicy(System.DateTime,System.DateTime,OThinker.H3.WorkItem.WorkItemState,OThinker.H3.WorkflowTemplate.OvertimePolicy)

方法说明:
根据超时处理策略来查找工作项。该查询没有与流程实例表连接,即使流程实例还没有存储在数据库中,也一样可以搜索出流程实例对应的工作项

名称

说明

Time1

计划结束时间1

Time2

计划结束时间2

State

工作项状态

Policy

超时策略

返回值:
大于计划结束时间1,并且小于等于计划结束时间2,并且超时策略不为None,并且满足状态条件的工作项的ID

方法:.QueryParticipants(System.String,System.Int64,OThinker.H3.WorkItem.WorkItemType,OThinker.H3.WorkItem.WorkItemState)

方法说明:
查找某种状态下某个活动的参与者

名称

说明

InstanceId

流程ID,不能为Null

TokenId

步骤ID。如果为UnspecifiedID,则忽略该条件

WorkItemType

工作项类型。如果为Unspecified,则忽略该条件

State

工作项状态。如果为Unspecified,则忽略该条件

返回值:
参与者ID

方法:.QueryFinishers(System.String,System.Int64,OThinker.H3.WorkItem.WorkItemType,OThinker.H3.WorkItem.WorkItemState)

方法说明:
查询已完成的任务

名称

说明

InstanceId


TokenId


WorkItemType


State


返回值:

方法:.QueryParticipants(System.String,System.Int64,OThinker.H3.WorkItem.WorkItemType,System.String[],OThinker.H3.WorkItem.WorkItemState,OThinker.Data.BoolMatchValue)

方法说明:
查找某种状态下某个活动的参与者

名称

说明

InstanceId

流程ID。不能为Null

TokenId

步骤ID。如果为UnspecifiedID,则忽略该条件

WorkItemType

工作项类型。如果为Unspecified,则忽略该条件

Participants

参与者范围。如果为Null,则忽略该条件

State

工作项状态。如果为Unspecified,则忽略该条件

Approval

工作项审批结果。如果为Unspecified,则忽略该条件

返回值:
参与者ID

方法:.QueryParticipantsByBizObject(System.String)

方法说明:
根据业务数据ID查询参与者

名称

说明

BizObjectId


返回值:

方法:.CountWorkItem(System.String,OThinker.H3.WorkItem.WorkItemState,OThinker.Data.BoolMatchValue,OThinker.Data.BoolMatchValue)

方法说明:
计数工作项数量

名称

说明

Participant

参与者。不能为Null

State

工作项状态。如果为Unspecified,则忽略该条件

Approval

工作项的审批结果。如果为Unspecified,则忽略该条件

Urged

工作项是否被催办过。如果为Unspecified,则忽略该条件

返回值:
数量

方法:.QueryChildInstances(System.String,System.Int64,OThinker.H3.Instance.InstanceState,OThinker.Data.BoolMatchValue)

方法说明:
查询子流程实例

名称

说明

ParentInstanceId

流程ID。如果为Null,则忽略该条件

TokenId

步骤ID。如果为Token.UnspecifiedID则忽略该条件

InstanceState

状态。如果为InstanceState.Unspecified,则忽略该条件

Approval

审批结果。如果为Unspecified,则忽略该条件

返回值:
子流程表

方法:.QueryChildInstance(System.String,System.Int64,OThinker.H3.Instance.InstanceState,OThinker.Data.BoolMatchValue)

方法说明:
查询子流程实例

名称

说明

ParentInstanceId

流程ID。如果为Null,则忽略该条件

TokenId

步骤ID。如果为Token.UnspecifiedID则忽略该条件

InstanceState

状态。如果为InstanceState.Unspecified,则忽略该条件

Approval

审批结果。如果为Unspecified,则忽略该条件

返回值:
子流程表

方法:.QueryInstancesByBizObject(System.String,System.String)

方法说明:
根据业务实例ID,查询所有流程实例

名称

说明

BizObjectSchemaCode


BizObjectId


返回值:

方法:.CountInstance(System.String,OThinker.H3.Instance.InstanceState)

方法说明:
统计流程实例的数量

名称

说明

Originator

发起人ID。如果为Null,则忽略该条件

State

流程状态。如果为Unspecified,则忽略该条件

返回值:

方法:.GetHandledInstanceConditions(System.String,System.Int32,OThinker.H3.Instance.InstanceState,OThinker.H3.WorkItem.WorkItemType,System.DateTime,System.DateTime,System.String,System.String,System.Boolean)

方法说明:
活动查询经办流程的条件

名称

说明

WorkflowCode

流程模板编码。如果为Null,则忽略该条件

WorkflowVersion

流程模板版本。如果为NullWorkflowVersion,则忽略该条件

InstanceState

流程模板状态。如果为Unspecified,则忽略该条件

WorkItemType

工作项的类型。如果为Unspecified,则忽略该条件

CreatedTime_From

流程发起起始查询时间。如果为System.DateTime.MinValue则忽略该条件

CreatedTime_To

流程发起结束查询时间。如果为System.DateTime.MaxValue则忽略该条件

Participant

参与者。不能为Null

InstanceName

流程名称。如果为Null,则忽略该条件;否则用LIKE '%...%'的模式进行查询

IncludeMyOriginated

是否包括我发起的

返回值:
条件

方法:.QueryInstance(System.String[],System.Int32,System.Int32)

方法说明:
查询流程

名称

说明

Conditions

条件

FromRow

起始行号,包括本行

ToRow

结束行号,不包括本行

返回值:
流程表

方法:.QueryInstance(System.String[],System.Int32,System.Int32,System.String,System.Boolean)

方法说明:
查询流程,WorkflowName OT_WorkflowClause关联

名称

说明

Conditions

条件

FromRow

起始行号,包括本行

ToRow

结束行号,不包括本行

OrderBy

根据该列来进行排序, null 时,忽略该条件

Ascending

是否升序

返回值:
流程表

方法:.CountInstance(System.String[])

方法说明:
统计符合条件的流程的数量

名称

说明

Conditions

条件,允许为Null

返回值:
记录的数量

方法:.QueryHandledInstance(OThinker.H3.Instance.InstanceState,System.DateTime,System.DateTime,System.String,System.String,System.Int32,System.Int32)

方法说明:
查询用户处理过的流程实例

名称

说明

InstanceState

流程模板状态。如果为Unspecified,则忽略该条件

CreatedTime_From

流程发起起始查询时间。如果为System.DateTime.MinValue则忽略该条件

CreatedTime_To

流程发起结束查询时间。如果为System.DateTime.MaxValue则忽略该条件

Participant

参与者。不能为Null

InstanceName

流程名称。如果为Null,则忽略该条件;否则用LIKE '%...%'的模式进行查询

FromRowNum

从第N条开始,不包含N

ToRowNum

到第M条结束

返回值:
经办过的流程

方法:.GetQueryInstanceConditions(System.String[],System.String,OThinker.H3.Instance.InstanceState,System.DateTime,System.DateTime)

方法说明:
获得查询实例的条件

名称

说明

Originators

发起人条件,如果为Null,则表示忽略这个条件

WorkflowCode

流程模板名称编码,如果为Null,则表示忽略这个条件

InstanceState

流程实例状态条件,如果为Unspecified,则表示忽略这个条件

CreatedTime_From

开始时间,如果为MinValue,则表示忽略这个条件

CreatedTime_To

结束时间,如果为MaxValue,则表示忽略这个条件

返回值:

方法:.GetInstanceConditions(System.String[],System.String,System.String,OThinker.H3.Instance.InstanceState,System.String,System.Int32,System.DateTime,System.DateTime,System.String,OThinker.H3.Instance.PriorityType,OThinker.Data.BoolMatchValue,OThinker.Data.BoolMatchValue)

方法说明:
查询流程实例

名称

说明

Originators

发起人。如果为Null,则忽略该条件

OU

发起人所属的机构,如果为Null,则忽略该条件

ParentInstanceID

父流程ID,如果为Null,则忽略该条件

InstanceState

流程状态,如果为UnspecifiedID,则忽略该条件

WorkflowCode

流程模板名称,如果为Null,则忽略该条件

WorkflowVersion

流程模板版本号,如果为NullVersion,则忽略该条件

CreatedTime_From

开始时间,如果为MinValue,则忽略该条件

CreatedTime_To

结束时间,如果为MaxValue,则忽略该条件

InstanceName

流程实例的名称,流程实例的名称可以使通过流程模板定义出来的,也可以使由最终用户指定的,实际上,会优先用户指定的。如果该参数为空,则忽略该条件;否则,以LIKE %{InstanceName}%的形式进行匹配

Priority

优先级,如果为Unspecified,则忽略该条件

Approval

审批结果,如果为Unspecified,则忽略该条件

Elapsed

是否超时,如果为Unspecified,则忽略该条件

返回值:
查询流程实例表的条件

方法:.QueryInstance(System.String[],System.String,System.String,OThinker.H3.Instance.InstanceState,System.String,System.Int32,System.DateTime,System.DateTime,System.String,OThinker.H3.Instance.PriorityType,OThinker.Data.BoolMatchValue,OThinker.Data.BoolMatchValue)

方法说明:
查询流程实例

名称

说明

Originators

发起人。如果为Null,则忽略该条件

OU

发起人所属的机构,如果为Null,则忽略该条件

ParentInstanceID

父流程ID,如果为Null,则忽略该条件

InstanceState

流程状态,如果为UnspecifiedID,则忽略该条件

WorkflowCode

流程模板名称,如果为Null,则忽略该条件

WorkflowVersion

流程模板版本号,如果为NullVersion,则忽略该条件

CreatedTime_From

开始时间,如果为MinValue,则忽略该条件

CreatedTime_To

结束时间,如果为MaxValue,则忽略该条件

InstanceName

流程实例的名称,流程实例的名称可以使通过流程模板定义出来的,也可以使由最终用户指定的,实际上,会优先用户指定的。如果该参数为空,则忽略该条件;否则,以LIKE %{InstanceName}%的形式进行匹配

Priority

优先级,如果为Unspecified,则忽略该条件

Approval

审批结果,如果为Unspecified,则忽略该条件

Elapsed

是否超时,如果为Unspecified,则忽略该条件

返回值:
流程实例表

方法:.QueryWorkingInstance(System.String,System.Int32,System.Int32)

方法说明:
查询用户的在办流程,移动办公使用

名称

说明

UserID

用户ID

PageIndex

页码

PageSize

页面大小

返回值:

方法:.GetWorkItemByInstance(System.String)

方法说明:
查询流程任务信息,移动办公使用

名称

说明

InstanceId


返回值:

方法:.GetAgentWorkItemConditions(System.String,OThinker.H3.WorkItem.WorkItemState)

方法说明:
查询由委托给其他人处理过的工作项。该方法存在延时,该查询与流程实例表做了自然连接,如果流程实例没有存储在数据库中,则无法查询到流程实例对应的工作列的

名称

说明

Participant

工作项的参与者,禁止为空

State

工作项的状态

返回值:
查询条件

方法:.GetBatchUnfinishedWorkItemConditions(System.String,System.String)

方法说明:
获得可以批量的未完成的工作项的查询条件

名称

说明

Participant

禁止为空

WorkflowCode

流程模板编码,允许为空

返回值:
查询工作项的条件

方法:.GetReceiptWorkItemConditions(System.String)

方法说明:
查询转移给某个人的工作项

名称

说明

Receiptor

不可为空,否则抛出异常

返回值:
查询工作项的条件

方法:.QueryWorkItem(System.String[],OThinker.H3.WorkItem.WorkItemState,OThinker.H3.WorkItem.WorkItemType)

方法说明:
查询工作项。该方法存在延时,该查询与流程实例表做了自然连接,如果流程实例没有存储在数据库中,则无法查询到流程实例对应的工作列的。

名称

说明

Instances

流程实例的范围,禁止为空

State

工作项状态,如果为Unspecified,则忽略该条件

Type

工作项的类型,如果为Unspecified,则忽略该条件

返回值:
工作项表

方法:.QueryWorkItem(System.String,OThinker.H3.WorkItem.WorkItemState,OThinker.Data.BoolMatchValue)

方法说明:
查询工作项。该方法存在延时,该查询与流程实例表做了自然连接,如果流程实例没有存储在数据库中,则无法查询到流程实例对应的工作列的。

名称

说明

Participant

工作项参与者,如果为空,则忽略该条件

State

工作项状态,如果为Unspecified,则忽略该条件

Approval

工作项的审批结果,如果为Unspecified,则忽略该条件

返回值:
工作项表

方法:.QueryWorkItem(System.String,OThinker.H3.WorkItem.WorkItemState,OThinker.Data.BoolMatchValue,System.Int32,System.Int32)

方法说明:
查询工作项

名称

说明

Participant

工作项参与者,如果为空,则忽略该条件

State

工作项状态,如果为Unspecified,则忽略该条件

Approval

工作项的审批结果,如果为Unspecified,则忽略该条件

FromRowNum

起始行号,从1开始计数,包含起始行号

ToRowNum

结束行号,从1开始计数,不包含结束行号

返回值:
工作项表

方法:.QueryWorkItem(System.String[],System.Int32,System.Int32)

方法说明:
按条件查询工作项表

名称

说明

Conditions

查询工作项的条件

FromRowNum

起始行号,从1开始计数,包含起始行号

ToRowNum

结束行号,从1开始计数,不包含结束行号

返回值:
工作项表

方法:.CountWorkItem(System.String[])

方法说明:
按照条件统计出工作项的数量

名称

说明

Conditions

过滤条件

返回值:
返回任务数量

方法:.CountWorkItem(System.String[],System.Boolean)

方法说明:
包含流程名称查询条件计算任务总数

名称

说明

Conditions

过滤条件

ContainsInstanceName

是否包含流程实例名称的过滤条件

返回值:
返回任务数量

方法:.CountWorkItemSql(OThinker.Data.Database.DatabaseType,System.String[])

方法说明:
Instance关联获取总数的Sql

名称

说明

DatabaseType


Conditions


返回值:

方法:.QueryOrganizationLog(System.String[],System.Int32,System.Int32,System.Int32@)

方法说明:
查询组织架构日志

名称

说明

Conditions

条件

PageIndex

页数

PageSize

分页大小

RecordCount

总条数

返回值:
返回组织结构日志Table数据

方法:.GetInstanceBySNConditionsForMonitor(System.String,System.String)

方法说明:
通过流水号查询流程实例

名称

说明

SequenceNoPrefix

流水号的前缀。不能为Null

Originator

发起人ID。如果为Null,则忽略该条件

返回值:

方法:.GetQueryInstanceByRecurrencesConditionsForMonitor(System.String[],System.Int32)

方法说明:
根据重复次数查询未完成的流程

名称

说明

Originators

发起人ID。如果为Null,则忽略该条件

LeastRecurrences

最小的重复次数,查询>=该重复次数的流程

返回值:

方法:.GetOriginatorConditionForMonitor(System.String)

方法说明:
搜索流程的时候,需要按照发起人的条件进行搜索。该方法用于获得发起人的条件

名称

说明

Organization


Originator

如果为Null/"",那么返回Null,表示不需要匹配发起人的条件; 如果发起人无法找到,那么返回Originator=''这样的条件,在数据库中将匹配不到流程; 如果发起人是公司,那么返回Null,表示不需要匹配发起人的条件; 如果发起人是群,那么获得者群的成员,然后去根据各个成员的逻辑来搜索; 如果发起人是OU,那么就去匹配该OU及其子OU,返回InstanceContext.OrgUnit IN ('OU1', 'OU2'...); 如果发起人是组,那么匹配InstanceContext.OriginatedGroup=Originator; 如果发起人是用户,那么匹配InstanceContext.Originator=Originator

返回值:

方法:.GetOriginatorConditionForMonitor(System.String[])

方法说明:
搜索流程的时候,需要按照发起人的条件进行搜索。该方法用于获得发起人的条件

名称

说明

Organization


Originator

如果为Null/"",那么返回Null,表示不需要匹配发起人的条件; 如果发起人无法找到,那么返回Originator=''这样的条件,在数据库中将匹配不到流程; 如果发起人是公司,那么返回Null,表示不需要匹配发起人的条件; 如果发起人是群,那么获得者群的成员,然后去根据各个成员的逻辑来搜索; 如果发起人是OU,那么就去匹配该OU及其子OU,返回InstanceContext.OrgUnit IN ('OU1', 'OU2'...); 如果发起人是组,那么匹配InstanceContext.OriginatedGroup=Originator; 如果发起人是用户,那么匹配InstanceContext.Originator=Originator

返回值:

方法:.ParseOrgsForMonitor(System.String[],System.Boolean@,System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{System.String}@)

方法说明:

名称

说明

Orgs


ContainCompany


OUs


Groups


Users


方法:.GetQueryInstanceSqlForMonitor(System.String,System.String,OThinker.H3.Instance.InstanceState,System.DateTime,System.DateTime)

方法说明:

名称

说明

Originator


WorkflowCode


InstanceState


CreatedTime_From


CreatedTime_To


返回值:

方法:.GetQueryInstanceConditionsForMonitor(System.String,System.String,System.DateTime,System.DateTime,OThinker.H3.Instance.InstanceState,OThinker.H3.Instance.PriorityType,OThinker.Data.BoolMatchValue,OThinker.Data.BoolMatchValue)

方法说明:
获取查询流程的条件(管理员)

名称

说明

InstanceName

流程名称,为null时忽略该条件

WorkflowCode

流程模板名称编码,如果为Null,则表示忽略这个条件,

CreatedTime_From

开始时间,如果为MinValue,则表示忽略这个条件

CreatedTime_To

结束时间,如果为MaxValue,则表示忽略这个条件

State

流程实例状态条件,如果为Unspecified,则表示忽略这个条件

Priority

优先级,为 Unspecified,则表示忽略这个条件

Approval

工作项的审批结果,如果为Unspecified,则忽略该条件

Elapsed

是否超时,如果为Unspecified,则忽略该条件

返回值:

方法:.GetQueryInstanceByEstimatedElapsedConditionsForMonitor(System.String[],OThinker.Data.BoolMatchValue)

方法说明:
根据预估的完成时间查询流程实例

名称

说明

Originator


EstimatedElapsed


返回值:

方法:.GetQueryWorkItemByOrgConditionForMonitor(System.String[])

方法说明:
搜索工作项的时候,需要按照参与人员的条件进行搜索。该方法用于获得参与人员的条件

名称

说明

Organization


Originator

如果为Null/"",那么返回Null,表示不需要匹配参与人的条件; 如果发起人无法找到,那么返回Participant=''这样的条件,在数据库中将匹配不到工作项; 如果发起人是公司,那么返回Null,表示不需要匹配参与人的条件; 如果发起人是OU,那么就去匹配该OU及其子OU,返回WorkItem.OrgUnit IN ('OU1', 'OU2'...); 如果发起人是组,那么匹配WorkItem.ParticipateGroup=AdminOrg; 如果发起人是用户,那么匹配WorkItem.Participant=AdminOrg

返回值:

方法:.QuerySNSNotification(System.String,OThinker.H3.Notification.NotificationState,System.Int32,System.Int32,System.Int32@)

方法说明:
SNS
首页通知,只接受未处理数据handled=false

名称

说明

UserId


State


FromRow


ToRow


Total


返回值:

方法:.QueryAllSNSNotification(System.String,OThinker.H3.Notification.NotificationState)

方法说明:
查询全部的消息通知

名称

说明

UserId


State


返回值:

方法:.QuerySNSFeed(System.String,System.Int32,System.Int32,System.Boolean,System.Data.DataTable@,System.Data.DataTable@,System.Data.DataTable@,System.Int32@,System.Int32@)

方法说明:
根据用户ID查询用户的所有的新闻

名称

说明

UserId

用户ID

FromRow

新闻分页的起始行号

ToRow

新闻分页的结束行号

IsFavorite

是否是查询收藏新闻库

FeedTable

返回的新闻信息表

CommentTable

返回的新闻相关的评论信息表

UnfinishedCount

未完成的新闻的数量

方法:.QuerySNSFeed(System.String,System.String,System.Data.DataTable@,System.Data.DataTable@,System.Data.DataTable@,System.Int32@,System.Int32@)

方法说明:
异步获取新闻消息,用于屏幕无刷新获取数据

名称

说明

UserId


LastTime


FeedTable


CommentTable


PostTable


UnfinishedCount


方法:.QueryUnfinishedSNSFeed(System.String,System.Data.DataTable@,System.Data.DataTable@,System.Data.DataTable@,System.Int32@)

方法说明:
查询未完成的

名称

说明

UserId


FromRow


ToRow


IsFavorite


FeedTable


CommentTable


UnfinishedCount


方法:.QuerySNSComments(System.String)

方法说明:
根据业务对象的ID获得相关的所有评论

名称

说明

BizObjectId

业务对象ID

返回值:
业务对象的相关评论

方法:.QuerySNSCommentsByTargetId(System.String)

方法说明:
根据业务对象的ID获得相关的所有评论

名称

说明

BizObjectId

业务对象ID

返回值:
业务对象的相关评论

方法:.QueryWebPartInst(System.String,System.String)

方法说明:
按条件查询部件实例

名称

说明

conditions

查询条件

orderby

排序字段

返回值:
部件实例表

方法:.QueryPage(System.String,System.String)

方法说明:
按条件查询页面实例

名称

说明

conditions

查询条件

orderby

排序字段

返回值:
页面实例表

方法:.QueryWebPartByPager(System.String,System.String,System.Int32,System.Int32,System.Int32@,System.Int32@)

方法说明:
按条件分页查询webpart集合

名称

说明

conditions

查询条件

orderby

排序字段

pageIndex

页序号

pageSize

页面大小

pageCount

页数

recordCount

记录总数

返回值:
webpart

方法:.QueryWebPart(System.String,System.String)

方法说明:
按条件查询部件模板集合

名称

说明

conditions

查询条件

orderby

排序字段

返回值:
部件模板表

方法:.QueryWebPartInstByPager(System.String,System.String,System.Int32,System.Int32,System.Int32@,System.Int32@)

方法说明:
按条件查询WebPart实例集合

名称

说明

conditions

查询条件

orderby

排序字段

pageIndex

页序号

pageSize

页面大小

pageCount

页数

recordCount

记录总数

返回值:
webpart
实例集合

方法:.QueryPageTemplate(System.String,System.String)

方法说明:
按条件查询模板页

名称

说明

conditions

查询条件

orderby

排序字段

返回值:
模板页表

方法:.QueryPageByPager(System.String,System.String,System.Int32,System.Int32,System.Int32@,System.Int32@)

方法说明:
按条件分页查询页面实例集合

名称

说明

conditions

查询条件

orderby

排序字段

pageIndex

页序号

pageSize

页面大小

pageCount

页数

recordCount

记录总数

返回值:
页面实例表