OThinker.H3.PortalQuery

类:OThinker.H3.PortalQuery

说明:
Portal 查询数据库


常量

名称

说明

ColumnName_PackageDisplayName

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

属性

名称

说明

CommandFactory

H3主数据库的连接

LogCommandFactory

H3日志数据库的连接

方法:.QueryTable(System.String)

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

名称

说明

Sql

要执行的SQL语句

返回值:
查询结果


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

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

名称

说明

Table

传入的表

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


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

方法说明:
由于OT_WorkItem表中没有InstanceName字段,与OT_InstanceContext表做连接

名称

说明

Conditions


OrderBy


返回值:
返回SQL语句


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

方法说明:
获取任务的查询条件

名称

说明

Participant


From


To


State


InstanceName


Elapsed

是否超时

WorkflowCode


OnlyInstanceName

流程名称 参数是否包括任务名称

TableName


返回值:



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

方法说明:
根据InstanceID查找任务

名称

说明

WorkflowCode


WorkflowVersion


ActivityName


Instances


State


?


返回值:



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

方法说明:
获取查询任务的参与者条件

名称

说明

Participant


State


TableName


返回值:



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

方法说明:
查询任务

名称

说明

Conditions


FromRowNum


ToRowNum


OrderBy


TableName


返回值:



方法:.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

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

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


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

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

名称

说明

Participant

禁止为空

SearchKey

搜索关键词

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


方法:.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,则忽略该条件

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


方法:.BuildWorkItemParticipant(System.String,System.Boolean)

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

名称

说明

Participant

参与者。不能为Null

ParticipantIncludeDelegant

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

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


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

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

名称

说明

WorkItemType

工作项类型

返回值:
SQL条件语句


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

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

名称

说明

State

工作项状态

TableName

表名

返回值:
SQL条件


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

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

名称

说明

Conditions

过滤条件

TableName

表名

返回值:
返回任务数量


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

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

名称

说明

Conditions

条件,允许为Null

返回值:
记录的数量


方法:.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

是否升序

返回值:
流程表


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

方法说明:
导出流程数据

名称

说明

WorkflowCode

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

BizObjectTableName


Columns

设置要显示的字段

Conditions

查询条件

返回值:
流程数据的表


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

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

名称

说明

WorkflowCode

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

BizObjectTableName


Columns

设置要显示的字段

Conditions

查询条件

FromRow

开始行

EndRow

结束行

RecordCount

总行数

返回值:
流程数据的表


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

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

名称

说明

Units

用户//组织单元

IsAdministrator

是否超级管理员

返回值:
流程模板表


方法:.QueryClause(System.String)

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

名称

说明

WorkflowCode

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

返回值:
流程模板族的ID


方法:.QueryUrgency(System.String)

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

名称

说明

WorkItemID

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

返回值:
催办历史记录表


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

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

名称

说明

Urger

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

InstanceId

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

返回值:
催办历史记录表


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

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

名称

说明

ParentInstanceId

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

TokenId

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

InstanceState

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

Approval

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

返回值:
子流程表


方法:.QueryUserLog(System.String)

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

名称

说明

InstanceId

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

返回值:
用户操作日志


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

方法说明:
统计数量

名称

说明

TableName

表名称

Conditions

条件

返回值:
数量


方法:.GetWorkflowNameByWorkflowCodes(System.Collections.Generic.List{System.String})

方法说明:
WorkflowName ,WorkflowCodes对应表

名称

说明

WorkflowCodes


返回值:
返回WorkflowName ,WorkflowCodes表


方法:.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,则表示忽略这个条件

返回值:



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

方法说明:
获取查询流程的条件

名称

说明

Originator

发起人,为null时忽略该条件

InstanceName

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

WorkflowCode

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

CreatedTime_From

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

CreatedTime_To

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

State

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

Priority

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

Approval

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

Elapsed

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

返回值:



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

方法说明:
查询流程实例

名称

说明

Originator


WorkflowCode


InstanceState


CreatedTime_From


CreatedTime_To


返回值:



方法:.GetQueryActiveNameConditionsForInstanceId(System.Collections.Generic.List{System.String})

方法说明:
获取流程实例运行状态的节点名称和参与者查询条件

名称

说明

instanceID


返回值:



方法:.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

返回值:



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

方法说明:
GetQueryWorkItemConditionsForMonitor

名称

说明

Orgs


WorkflowCode


From


To


InstanceName


State


Approval


Elapsed


返回值:

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

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

名称

说明

Organization


Originator

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

返回值: