package com.mossle.api.humantask;
import java.util.List;
import java.util.Map;
import com.mossle.api.form.FormDTO;
import com.mossle.core.page.Page;
public interface HumanTaskConnector {
/**
* 创建任务.
*/
HumanTaskDTO createHumanTask();
/**
* 删除任务.
*/
void removeHumanTask(String humanTaskId);
void removeHumanTaskByTaskId(String taskId);
void removeHumanTaskByProcessInstanceId(String processInstanceId);
/**
* 更新任务.
*/
HumanTaskDTO saveHumanTask(HumanTaskDTO humanTaskDto);
HumanTaskDTO saveHumanTask(HumanTaskDTO humanTaskDto,
boolean triggerListener);
/**
* 保存任务,同时处理参与者.
*/
HumanTaskDTO saveHumanTaskAndProcess(HumanTaskDTO humanTaskDto);
/**
* 完成任务.
*/
void completeTask(String humanTaskId, String userId, String action,
String comment, Map<String, Object> taskParameters);
/**
* 领取任务.
*/
void claimTask(String humanTaskId, String userId);
/**
* 释放任务。
*/
void releaseTask(String humanTaskId, String comment);
/**
* 转发任务.
*/
void transfer(String humanTaskId, String userId, String comment);
/**
* 取消转办.
*/
void cancel(String humanTaskId, String userId, String comment);
/**
* 回退,指定节点,重新分配.
*/
void rollbackActivity(String humanTaskId, String activityId, String comment);
/**
* 回退,指定节点,上个执行人.
*/
void rollbackActivityLast(String humanTaskId, String activityId,
String comment);
/**
* 回退,指定节点,指定执行人.
*/
void rollbackActivityAssignee(String humanTaskId, String activityId,
String userId, String comment);
/**
* 回退,上个节点,重新分配.
*/
void rollbackPrevious(String humanTaskId, String comment);
/**
* 回退,上个节点,上个执行人.
*/
void rollbackPreviousLast(String humanTaskId, String comment);
/**
* 回退,上个节点,指定执行人.
*/
void rollbackPreviousAssignee(String humanTaskId, String userId,
String comment);
/**
* 回退,开始事件,流程发起人.
*/
void rollbackStart(String humanTaskId, String comment);
/**
* 回退,流程发起人.
*/
void rollbackInitiator(String humanTaskId, String comment);
/**
* 撤销.
*/
void withdraw(String humanTaskId, String comment);
/**
* 协办.
*/
void delegateTask(String humanTaskId, String userId, String comment);
/**
* 协办,链状.
*/
void delegateTaskCreate(String humanTaskId, String userId, String comment);
/**
* 沟通.
*/
void communicate(String humanTaskId, String userId, String comment);
/**
* 反馈.
*/
void callback(String humanTaskId, String userId, String comment);
/**
* 跳过.
*/
void skip(String humanTaskId, String userId, String comment);
void saveParticipant(ParticipantDTO participantDto);
HumanTaskDTO findHumanTaskByTaskId(String taskId);
List<HumanTaskDTO> findHumanTasksByProcessInstanceId(
String processInstanceId);
HumanTaskDTO findHumanTask(String humanTaskId);
List<HumanTaskDTO> findSubTasks(String parentTaskId);
FormDTO findTaskForm(String humanTaskId);
List<HumanTaskDefinition> findHumanTaskDefinitions(
String processDefinitionId);
void configTaskDefinitions(String businessKey,
List<String> taskDefinitionKeys, List<String> taskAssigness);
/** 待办任务. */
Page findPersonalTasks(String userId, String tenantId, int pageNo,
int pageSize);
/** 已办任务. */
Page findFinishedTasks(String userId, String tenantId, int pageNo,
int pageSize);
/** 待领任务. */
Page findGroupTasks(String userId, String tenantId, int pageNo, int pageSize);
/** 经手任务. */
Page findDelegateTasks(String userId, String tenantId, int pageNo,
int pageSize);
}