package com.hotent.sdk.service; import com.hotent.sdk.commom.SDKResult; import com.hotent.sdk.param.AssignParamObject; import com.hotent.sdk.param.DoEndParamObject; import com.hotent.sdk.param.DoNextParamObject; import com.hotent.sdk.param.ForbiddenParamObject; import com.hotent.sdk.param.StartFlowParamObject; import org.springframework.validation.annotation.Validated; /** * sdk功能 bpm相关定义 * * @author liangjc * @company 广州宏天软件股份有限公司 * @email liangjc@jee-soft.cn * @date 2023-07-18 14:26 */ public interface BpmHttpService { /** * 流程启动 * * @param account 操作账号 * @param startFlowParamObject 流程启动参数 * @return */ SDKResult start(String account, StartFlowParamObject startFlowParamObject); /** * 保存草稿 * * @param account 操作账号 * @param startFlowParamObject 流程保存参数 * @return */ SDKResult saveDraft(String account, StartFlowParamObject startFlowParamObject); /** * 同意 * * @param account 操作账号 * @param doNextParamObject 流程向下执行参数 * @return */ SDKResult agree(String account, DoNextParamObject doNextParamObject); /** * 驳回 * * @param account 操作账号 * @param doNextParamObject 流程向下执行参数 * @return */ SDKResult back(String account, DoNextParamObject doNextParamObject); /** * 挂起 * * @param account 操作账号 * @param forbiddenParamObject 流程实例挂起入参 * @return */ @Validated(ForbiddenParamObject.class) SDKResult forbiddenInstance(String account, ForbiddenParamObject forbiddenParamObject); /** * 取消挂起 * * @param account 操作账号 * @param forbiddenParamObject 流程实例取消挂起入参 * @return */ SDKResult unForbiddenInstance(String account, ForbiddenParamObject forbiddenParamObject); /** * 反对 * * @param account 操作账号 * @param doNextParamObject 流程向下执行参数 * @return */ SDKResult oppose(String account, DoNextParamObject doNextParamObject); /** * 终止流程 * * @param account 操作账号 * @param doEndParamObject 流程终止参数 * @return */ SDKResult doEndProcess(String account, DoEndParamObject doEndParamObject); /** * 转办 * * @param account 操作账号 * @param assignParamObject 任务转办、加签参数对象 * @return */ SDKResult delegate(String account, AssignParamObject assignParamObject); }