package com.leanwo.activiti.service.base;

import java.util.List;

import com.leanwo.activiti.dto.BaseResponse;
import com.leanwo.activiti.dto.base.TaskDefineDto;
import com.leanwo.activiti.dto.base.TaskInstanceSaveRequest;
import com.leanwo.activiti.dto.base.TaskInstanceUpdateRequest;
import com.leanwo.activiti.dto.base.TaskType;

/**
 * 流程报表定时执行定义服务
 * 
 * @author YangZhiJie
 *
 */
public interface TaskDefineService {

	/**
	 * 查询流程报表定时执行定义
	 * 
	 * @return 流程报表定时执行定义集合
	 * @author YangZhiJie 20190329
	 */
	List<TaskDefineDto> list(TaskType taskType);

	/**
	 * 生成流程实例
	 * 
	 * @param taskInstanceSaveRequest
	 * @return
	 */
	public BaseResponse addTaskInstance(TaskInstanceSaveRequest taskInstanceSaveRequest);

	/**
	 * 生成流程实例
	 * 
	 * @param taskInstanceSaveRequest
	 * @return
	 */
	public BaseResponse updateTaskInstance(TaskInstanceUpdateRequest taskInstanceUpdateRequest);
}
