package com.leanwo.activiti.service.base;

import java.util.List;

import org.activiti.bpmn.model.BpmnModel;

import com.leanwo.activiti.dto.approver.ProcessData;
import com.leanwo.activiti.dto.base.UserSelectDefine;

/**
 * BPMN文件生成服务
 * @author YangZhiJie
 *
 */
public interface BpmnGeneratorService {

	/**
	 * 生成BPMN模型
	 * @param processData 流程数据
	 * @return BPMN模型数据
	 */
	BpmnModel generateBpmnModel(String name, ProcessData processData);

	/**
	 * 获取发起人自选节点
	 * @return
	 */
	List<UserSelectDefine> getUserSelectDefineList();

	/**
	 * 获取上一个审批人选择节点
	 * @return
	 */
	List<UserSelectDefine> getPreviousAssigneeSelectDefineList();
	
}
