/** * Copyright 1996-2014 FoxBPM ORG. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * @author kenshin */ package org.foxbpm.engine.task; import java.util.Date; import org.foxbpm.engine.query.Query; /** * 任务查询器 * * @author kenshin */ public interface TaskQuery extends Query<TaskQuery, Task> { /** * 任务是否结束 * * @return */ TaskQuery taskIsEnd(); /** * 未结束的任务 * * @return */ TaskQuery taskNotEnd(); /** * 是否代理 * * @param isAgent * @return */ TaskQuery isAgent(boolean isAgent); /** * 代理id * * @param agentId * @return */ TaskQuery agentId(String agentId); /** * 是否暂停 * * @param isSuspended * @return */ TaskQuery isSuspended(boolean isSuspended); /** * 根据令牌ID查询 * * @param tokenId * @return */ TaskQuery tokenId(String tokenId); /** * 根据任务发起人查询 * * @return */ TaskQuery initiator(String initiator); /** * 根据taskId查询 * * @param taskId * @return */ TaskQuery taskId(String taskId); /** * 根据任务名称查询 * * @param name * @return */ TaskQuery taskName(String name); /** * 任务名称like匹配 * * @param nameLike * @return */ TaskQuery taskNameLike(String nameLike); /** * 根据业务主键查询 * * @param businessKey * @return */ TaskQuery businessKey(String businessKey); /** * 根据业务主键查询 * * @param businessKey * @return */ TaskQuery businessKeyLike(String businessKey); /** * 任务类型 * * @param taskInstanceType * @return */ TaskQuery addTaskType(String taskType); /** * 任务描述 * * @param description * @return */ TaskQuery taskDescription(String description); /** * 任务描述like匹配 * * @param descriptionLike * @return */ TaskQuery taskDescriptionLike(String descriptionLike); /** * 任务主题 * * @param description * @return */ TaskQuery taskSubject(String subject); /** * 任务主题like匹配 * * @param descriptionLike * @return */ TaskQuery taskSubjectLike(String subjectLike); /** * 任务主题发起人共用一个查询条件 * */ TaskQuery subjectUnionInitiator(); /** * 指定用户的独占任务 * * @param assignee * @return */ TaskQuery taskAssignee(String assignee); /** * 指定用户的任务 * * @param owner * @return */ TaskQuery taskOwner(String owner); /** * 未被领取的任务 * * @return */ TaskQuery taskUnnassigned(); /** * 被领取的任务 * * @return */ TaskQuery taskAssigned(); /** * 不区分领取和未领取的任务 * * @return */ TaskQuery ignorTaskAssigned(); /** * 指定用户的的共享任务 * * @param candidateUser * @return */ TaskQuery taskCandidateUser(String candidateUser); /** * 根据流程实例编号查询 * * @param processInstanceId * @return */ TaskQuery processInstanceId(String processInstanceId); /** * 创建时间等于createTime * * @param createTime * @return */ TaskQuery taskCreatedOn(Date createTime); /** * 创建时间小于before * * @param before * @return */ TaskQuery taskCreatedBefore(Date before); /** * 创建时间大于after * * @param after * @return */ TaskQuery taskCreatedAfter(Date after); /** * 期望完成时间等于dueDate * * @param dueDate * @return */ TaskQuery taskDueDateOn(Date endTime); /** * 期望完成时间小于before * * @param before * @return */ TaskQuery taskDueDateBefore(Date before); /** * 期望完成时间大于after * @param after * @return */ TaskQuery taskDueDateAfter(Date after); /** * 期望完成时间等于dueDate * * @param dueDate * @return */ TaskQuery taskEndTimeOn(Date dueDate); /** * 期望完成时间小于before * * @param before * @return */ TaskQuery taskEndTimeBefore(Date before); /** * 期望完成时间大于after * @param after * @return */ TaskQuery taskEndTimeAfter(Date after); /** * 根据流程定义key查询 * * @param processDefinitionKey * @return */ TaskQuery processDefinitionKey(String processDefinitionKey); /** * 根据流程定义编号查询 * * @param processDefinitionId * @return */ TaskQuery processDefinitionId(String processDefinitionId); /** * 根据流程名称查询 * * @param processDefinitionName * @return */ TaskQuery processDefinitionName(String processDefinitionName); /** * 根据流程名称like查询 * * @param processDefinitionLike * @return */ TaskQuery processDefinitionNameLike(String processDefinitionLike); /** * 根据节点查询 * * @param nodeId * @return */ TaskQuery nodeId(String nodeId); // ordering //////////////////////////////////////////////////////////// /** * 根据任务ID排序 * * @return */ TaskQuery orderByTaskId(); /** * 根据任务名称排序 * * @return */ TaskQuery orderByTaskName(); /** * 根据任务描述排序 * * @return */ TaskQuery orderByTaskDescription(); /** * 根据处理人排序 * * @return */ TaskQuery orderByTaskAssignee(); /** * 根据创建时间排序 * * @return */ TaskQuery orderByTaskCreateTime(); /** * 根据流程实例ID排序 * * @return */ TaskQuery orderByProcessInstanceId(); /** * 根据结束时间排序 * * @return */ TaskQuery orderByEndTime(); }