类 EngineWorkflowController
java.lang.Object
net.sohelp.boot.admin.core.base.BaseController
net.sohelp.boot.engine.web.controller.EngineWorkflowController
@RestController("engine-web-workflow")
@RequestMapping("/engine/web/workflow")
@ConditionalOnExpression("${sohelp-boot.engine.enabled:true} && ${sohelp-boot.engine.workflow.enabled:true}")
public class EngineWorkflowController
extends BaseController
工作流引擎
- 从以下版本开始:
- 2023/8/17 20:06
- 作者:
- AaronFung
-
字段概要
从类继承的字段 net.sohelp.boot.admin.core.base.BaseController
request, response -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明加签接口 该接口用于为指定任务添加加签用户,即将任务分配给其他用户进行处理。同意通过工作流任务 该接口用于处理工作流中的同意通过操作,需要传入相关数据和文件。batchAgree(org.springframework.web.multipart.MultipartFile[] files, Map<String, Object> dataMap) 批量同意通过任务 该接口用于批量同意通过指定的任务,需要传入任务ID和其他相关参数。batchReject(org.springframework.web.multipart.MultipartFile[] files, Map<String, Object> dataMap) 批量拒绝(不同意)审批请求 该接口允许用户一次性对多个任务进行拒绝操作,通过传入任务ID列表和拒绝理由来执行。结束终止流程 该接口用于结束或终止指定的流程任务,需要传入任务ID委派任务给其他同事处理根据模块地址和业务ID获取我的待办任务列表getProcess(String refid, String id) 获取流程详情 根据提供的refid和id获取流程实例的详细信息,包括已完成的任务列表、待办任务列表以及流程模型内容。根据refid和业务ID获取流程实例的任务信息(包括已办、待办任务及流程节点配置)跳到指定工作流节点 该接口用于根据提供的任务ID和节点Key跳转到工作流中的指定节点退回发起人 该接口用于将工作流程任务退回给发起人,通过任务ID定位具体任务并执行退回操作。jumpPrevious(Map<String, Object> dataMap) 退回工作流到上一步 该接口用于将指定任务ID的工作流退回到上一步操作分页显示我的所有任务 该接口通过分页的方式返回所有任务的详细信息,包括任务ID、任务名称、任务关键字等。获取我的抄送任务列表 通过传入的查询参数,分页查询抄送任务列表,并关联查询任务实例的详细信息。pageByDelegate(Map<String, Object> dataMap) 获取我的代办任务列表 该接口用于获取当前用户代办的任务列表,通过传入的查询条件进行分页查询。ApiResult<?> pageByHisTask(Map<String, String> dataMap) 分页显示流程委托 该接口用于分页显示当前用户的历史任务,包括任务的基本信息和相关实例信息。ApiResult<?> pageByTodo(Map<String, Object> dataMap) 分页显示我的待办事项 该接口用于分页查询当前登录用户的待办事项,包括任务名称、任务类型等相关信息,并返回查询结果。标记我的任务已阅 通过传入的任务ID,将对应任务的已阅状态标记为true撤回或拿回已通过的任务 该接口用于用户撤回或拿回自己已经通过的任务,通过实例ID定位具体任务并进行撤回操作拒绝(不同意)审批请求 该接口用于处理审批流程中的拒绝操作,用户可以通过此接口提交拒绝理由及相关信息,系统会进行相应处理并更新审批状态。removeSign(Map<String, Object> dataMap) 减签接口 该接口用于处理减签操作,根据传入的任务ID和用户列表,将指定用户从任务中移除。开启提交流程 该接口用于处理提交流程的请求,包括验证参数、获取流程信息、检查业务数据是否存在以及启动流程实例等操作。从类继承的方法 net.sohelp.boot.admin.core.base.BaseController
error, error, fail, fail, fail, getLoginID, getLoginName, getLoginOrgID, getLoginOrgName, getLoginUser, getNickname, getTenantId, getUserName, getUserNo, i18n, i18n, isAdministrator, isDeveloper, limit, offset, ok, ok, response, response, responseStream, success, success, success, success, validateToken
-
构造器详细资料
-
EngineWorkflowController
public EngineWorkflowController()
-
-
方法详细资料
-
getProcess
@GetMapping("/getProcess") @Permission public ApiResult<ProcessModel> getProcess(@RequestParam String refid, @RequestParam String id) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException 获取流程详情 根据提供的refid和id获取流程实例的详细信息,包括已完成的任务列表、待办任务列表以及流程模型内容。- 参数:
refid- 模块地址,不能为空id- 业务ID,不能为空- 返回:
- 返回包含流程详细信息的ApiResult对象
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出此异常BusiException- 如果业务处理出现异常,则抛出此异常AccessPermissionException- 如果访问权限不足,则抛出此异常SQLException- 如果数据库查询出现异常,则抛出此异常
-
getMyTask
@GetMapping("/getMyTask") @Permission public ApiResult<Map<String,Object>> getMyTask(@RequestParam String refid, @RequestParam String id) throws BusiException, TokenAuthenticationException 根据模块地址和业务ID获取我的待办任务列表- 参数:
refid- 模块地址,不能为空id- 业务ID,不能为空- 返回:
- 包含任务列表的ApiResult对象,任务列表为Map集合,每个Map包含任务ID、任务键、任务名称、变量、创建时间、创建人ID、创建人名称和租户ID等信息
- 抛出:
BusiException- 业务异常TokenAuthenticationException
-
getTasks
@GetMapping("/getTasks") @Permission public ApiResult<List<Map<String,Object>>> getTasks(@RequestParam String refid, @RequestParam String id) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException 根据refid和业务ID获取流程实例的任务信息(包括已办、待办任务及流程节点配置)- 参数:
refid- 模块地址标识,不能为空id- 业务ID,不能为空- 返回:
- 返回封装了任务列表的ApiResult对象。每个任务包含类型(done/todo)、节点信息、处理人等数据。
- 抛出:
TokenAuthenticationException- token认证异常BusiException- 业务逻辑异常AccessPermissionException- 访问权限异常SQLException- 数据库操作异常
-
pageByHisTask
@GetMapping("/pageByHisTask") @Permission public ApiResult<?> pageByHisTask(@RequestParam Map<String, String> dataMap) throws TokenAuthenticationException分页显示流程委托 该接口用于分页显示当前用户的历史任务,包括任务的基本信息和相关实例信息。- 参数:
dataMap- 包含分页查询所需的参数,如页码、每页数量等- 返回:
- ApiResult无效输入:'<'?> 返回分页查询结果,包含任务列表和分页信息
- 抛出:
TokenAuthenticationException- 如果用户未认证或认证失效,则抛出此异常BusiException- 如果业务逻辑处理中出现异常,则抛出此异常AccessPermissionException- 如果用户没有访问权限,则抛出此异常SQLException- 如果数据库操作中出现异常,则抛出此异常
-
pageByTodo
@GetMapping("/pageByTodo") @Permission public ApiResult<?> pageByTodo(@RequestParam Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException分页显示我的待办事项 该接口用于分页查询当前登录用户的待办事项,包括任务名称、任务类型等相关信息,并返回查询结果。- 参数:
dataMap- 包含分页查询所需的参数,如页码、每页数量等- 返回:
- ApiResult无效输入:'<'?> 返回查询结果的分页对象,包含待办事项列表
- 抛出:
TokenAuthenticationException- 当令牌认证失败时抛出此异常BusiException- 当业务逻辑出错时抛出此异常AccessPermissionException- 当访问权限不足时抛出此异常SQLException- 当数据库查询出错时抛出此异常
-
submit
@PostMapping("/submit") @Permission("") @Transactional(rollbackFor=java.lang.Exception.class) public ApiResult<List<FlwInstance>> submit(@RequestPart(value="files",required=false) org.springframework.web.multipart.MultipartFile[] files, @RequestParam Map<String, Object> dataMap) throws TokenAuthenticationException, SQLException开启提交流程 该接口用于处理提交流程的请求,包括验证参数、获取流程信息、检查业务数据是否存在以及启动流程实例等操作。- 参数:
files- 可选的文件参数,用于上传相关文件dataMap- 包含提交流程所需的数据,包括refid(模块地址)、id(业务ID)等- 返回:
- 返回ApiResult对象,其中包含List
类型的流程实例列表 - 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出此异常BusiException- 如果业务处理过程中出现异常,则抛出此异常(注:原代码中未显式抛出,但根据习惯保留此注释)AccessPermissionException- 如果访问权限不足,则抛出此异常(注:原代码中未显式抛出,但根据习惯保留此注释)SQLException- 如果数据库操作出现异常,则抛出此异常
-
complete
@PostMapping("/complete") @Permission("") @Transactional(rollbackFor=java.lang.Exception.class) public ApiResult<String> complete(@RequestBody Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException结束终止流程 该接口用于结束或终止指定的流程任务,需要传入任务ID- 参数:
dataMap- 包含任务ID的Map对象,其中key为"taskId",value为任务ID的字符串形式- 返回:
- 返回一个ApiResult对象,包含操作结果信息
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出此异常BusiException- 如果业务处理过程中出现异常,则抛出此异常AccessPermissionException- 如果访问权限不足,则抛出此异常SQLException- 如果数据库操作出现异常,则抛出此异常
-
batchAgree
@PostMapping("/batchAgree") @Permission("") @Transactional(rollbackFor=java.lang.Exception.class) public ApiResult<String> batchAgree(@RequestPart(value="files",required=false) org.springframework.web.multipart.MultipartFile[] files, @RequestParam Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, SQLException批量同意通过任务 该接口用于批量同意通过指定的任务,需要传入任务ID和其他相关参数。- 参数:
files- 上传的文件数组,非必需参数dataMap- 包含任务ID、原因等信息的参数Map - taskId: 任务ID,多个ID用逗号分隔 - reason: 同意通过的原因- 返回:
- 返回操作结果的ApiResult对象,包含成功或失败的信息
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出此异常BusiException- 如果业务处理过程中发生异常,则抛出此异常AccessPermissionException- 如果访问权限不足,则抛出此异常SQLException- 如果数据库操作发生异常,则抛出此异常
-
agree
@PostMapping("/agree") @Permission("") @Transactional(rollbackFor=java.lang.Exception.class) public ApiResult<String> agree(@RequestPart(value="files",required=false) org.springframework.web.multipart.MultipartFile[] files, @RequestParam Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException同意通过工作流任务 该接口用于处理工作流中的同意通过操作,需要传入相关数据和文件。- 参数:
files- 附件文件,非必需参数dataMap- 包含任务相关数据的Map,包括refid(模块地址)、taskId(任务ID)和reason(原因)- 返回:
- 返回操作结果的ApiResult对象,成功时返回"同意通过!"
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出此异常BusiException- 如果业务处理过程中发生异常,则抛出此异常AccessPermissionException- 如果访问权限不足,则抛出此异常SQLException- 如果数据库操作发生异常,则抛出此异常
-
reject
@PostMapping("/reject") @Permission("") @Transactional(rollbackFor=java.lang.Exception.class) public ApiResult<String> reject(@RequestPart(value="files",required=false) org.springframework.web.multipart.MultipartFile[] files, @RequestParam Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException拒绝(不同意)审批请求 该接口用于处理审批流程中的拒绝操作,用户可以通过此接口提交拒绝理由及相关信息,系统会进行相应处理并更新审批状态。- 参数:
files- 附件文件数组,可为空,用于上传拒绝审批时相关的附件dataMap- 包含审批相关信息的Map,包括refid(模块地址)、taskId(任务ID)和reason(拒绝理由)- 返回:
- ApiResult
返回操作结果,成功则返回ok,失败则返回fail及相应错误信息 - 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出此异常BusiException- 如果业务处理过程中出现异常,则抛出此异常AccessPermissionException- 如果访问权限不足,则抛出此异常SQLException- 如果数据库操作出现异常,则抛出此异常
-
batchReject
@PostMapping("/batchReject") @Permission("") @Transactional(rollbackFor=java.lang.Exception.class) public ApiResult<String> batchReject(@RequestPart(value="files",required=false) org.springframework.web.multipart.MultipartFile[] files, @RequestParam Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException批量拒绝(不同意)审批请求 该接口允许用户一次性对多个任务进行拒绝操作,通过传入任务ID列表和拒绝理由来执行。- 参数:
files- 附件文件数组,可为空,用于上传与拒绝相关的附件dataMap- 一个包含必要信息的Map对象,其中必须包括"taskId"(任务ID列表,以逗号分隔的字符串形式),以及可选的"reason"(拒绝理由)- 返回:
- ApiResult
返回操作结果,成功则返回ok及相应信息,失败则返回fail及错误信息 - 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出此异常BusiException- 如果业务处理过程中出现异常,则抛出此异常AccessPermissionException- 如果访问权限不足,则抛出此异常SQLException- 如果数据库操作出现异常,则抛出此异常
-
reclaim
@PostMapping("/reclaim") @Permission("") @Transactional(rollbackFor=java.lang.Exception.class) public ApiResult<String> reclaim(@RequestBody Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException撤回或拿回已通过的任务 该接口用于用户撤回或拿回自己已经通过的任务,通过实例ID定位具体任务并进行撤回操作- 参数:
dataMap- 包含任务实例ID的Map对象 - instanceId: 工作流实例ID,用于定位需要撤回的任务实例- 返回:
- 返回操作结果的ApiResult对象,成功时包含"撤回任务成功!"的消息
- 抛出:
TokenAuthenticationException- 当令牌认证失败时抛出BusiException- 当业务逻辑异常时抛出AccessPermissionException- 当访问权限不足时抛出SQLException- 当数据库操作异常时抛出
-
addSign
@PostMapping("/addSign") @Permission("") @Transactional(rollbackFor=java.lang.Exception.class) public ApiResult<String> addSign(@RequestBody Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException加签接口 该接口用于为指定任务添加加签用户,即将任务分配给其他用户进行处理。- 参数:
dataMap- 包含任务ID和加签用户列表的请求数据 - taskId: 任务ID,不能为空 - users: 加签用户ID列表,不能为空且至少包含一个用户ID- 返回:
- 返回操作结果的ApiResult对象,包含操作消息
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出此异常BusiException- 如果业务逻辑处理中出现异常,则抛出此异常AccessPermissionException- 如果访问权限不足,则抛出此异常SQLException- 如果数据库操作出现异常,则抛出此异常
-
removeSign
@PostMapping("/removeSign") @Permission("") @Transactional(rollbackFor=java.lang.Exception.class) public ApiResult<String> removeSign(Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException减签接口 该接口用于处理减签操作,根据传入的任务ID和用户列表,将指定用户从任务中移除。- 参数:
dataMap- 包含任务ID和用户列表的Map对象 - taskId: 任务ID,不能为空 - users: 需要减签的用户列表,不能为空- 返回:
- 返回操作结果的ApiResult对象,包含操作状态和信息
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出此异常BusiException- 如果业务逻辑出错,则抛出此异常AccessPermissionException- 如果访问权限不足,则抛出此异常SQLException- 如果数据库操作出错,则抛出此异常
-
page
@GetMapping("/page") @Permission public ApiResult<Pager<Map<String,Object>>> page(@RequestParam Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException分页显示我的所有任务 该接口通过分页的方式返回所有任务的详细信息,包括任务ID、任务名称、任务关键字等。- 参数:
dataMap- 包含分页查询所需的参数,如页码、每页数量等- 返回:
- 返回一个包含任务分页信息的ApiResult对象
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出此异常BusiException- 如果业务处理过程中出现异常,则抛出此异常AccessPermissionException- 如果访问权限不足,则抛出此异常SQLException- 如果数据库查询过程中出现异常,则抛出此异常
-
pageByDelegate
@GetMapping("/pageByDelegate") @Permission public ApiResult<Pager<Map<String,Object>>> pageByDelegate(@RequestParam Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException获取我的代办任务列表 该接口用于获取当前用户代办的任务列表,通过传入的查询条件进行分页查询。- 参数:
dataMap- 查询条件,包含分页信息和筛选条件等- 返回:
- 返回ApiResult对象,其中包含Pager对象,Pager对象中包含了任务列表的分页信息和任务详情
- 抛出:
TokenAuthenticationException- 当令牌认证失败时抛出该异常BusiException- 当业务逻辑出现错误时抛出该异常AccessPermissionException- 当访问权限不足时抛出该异常SQLException- 当数据库查询出现异常时抛出该异常
-
readByCc
@PostMapping("/readByCc") @Permission public ApiResult<String> readByCc(@RequestBody Map<String, Object> dataMap) throws TokenAuthenticationException标记我的任务已阅 通过传入的任务ID,将对应任务的已阅状态标记为true- 参数:
dataMap- 包含任务ID的Map对象 其中必须包含键"taskId",对应的值为需要标记已阅的任务ID- 返回:
- 返回操作结果的ApiResult对象 如果操作成功,将返回成功的结果
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出TokenAuthenticationException异常
-
pageByCc
@GetMapping("/pageByCc") @Permission public ApiResult<Pager<Map<String,Object>>> pageByCc(@RequestParam Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException获取我的抄送任务列表 通过传入的查询参数,分页查询抄送任务列表,并关联查询任务实例的详细信息。- 参数:
dataMap- 查询参数,包含分页信息和可能的筛选条件- 返回:
- 返回包含抄送任务列表及任务实例详细信息的ApiResult对象
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出此异常BusiException- 如果业务逻辑处理中出现异常,则抛出此异常AccessPermissionException- 如果访问权限不足,则抛出此异常SQLException- 如果数据库查询出现异常,则抛出此异常
-
delegate
@PostMapping("/delegate") @Permission("") @Transactional(rollbackFor=java.lang.Exception.class) public ApiResult<String> delegate(@RequestBody Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException委派任务给其他同事处理- 参数:
dataMap-- 返回:
- 抛出:
TokenAuthenticationExceptionBusiExceptionAccessPermissionExceptionSQLException
-
jump
@PostMapping("/jump") @Permission("") @Transactional(rollbackFor=java.lang.Exception.class) public ApiResult<String> jump(@RequestBody Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException跳到指定工作流节点 该接口用于根据提供的任务ID和节点Key跳转到工作流中的指定节点- 参数:
dataMap- 包含任务ID和节点Key的请求数据 - taskId: 任务ID,不能为空 - nodeKey: 节点Key,不能为空- 返回:
- 操作结果,成功返回ok,失败返回fail
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出此异常BusiException- 如果业务处理过程中出现异常,则抛出此异常AccessPermissionException- 如果访问权限不足,则抛出此异常SQLException- 如果数据库操作出现异常,则抛出此异常
-
jumpPrevious
@PostMapping("/jumpPrevious") @Permission("") @Transactional(rollbackFor=java.lang.Exception.class) public ApiResult<String> jumpPrevious(@RequestBody Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException退回工作流到上一步 该接口用于将指定任务ID的工作流退回到上一步操作- 参数:
dataMap- 包含任务ID的Map对象 - taskId: 任务ID,用于指定要退回的工作流任务- 返回:
- 操作结果,成功返回ok,失败返回错误信息
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出此异常BusiException- 如果业务逻辑出错,则抛出此异常AccessPermissionException- 如果访问权限不足,则抛出此异常SQLException- 如果数据库操作出错,则抛出此异常
-
jumpFirst
@PostMapping("/jumpFirst") @Permission("") @Transactional(rollbackFor=java.lang.Exception.class) public ApiResult<String> jumpFirst(@RequestBody Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, AccessPermissionException, SQLException退回发起人 该接口用于将工作流程任务退回给发起人,通过任务ID定位具体任务并执行退回操作。- 参数:
dataMap- 包含请求数据的Map,其中必须包含"taskId"键,对应值为任务ID的字符串- 返回:
- 返回一个ApiResult
对象,表示操作结果 - 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出此异常BusiException- 如果业务逻辑出错,则抛出此异常AccessPermissionException- 如果访问权限不足,则抛出此异常SQLException- 如果数据库操作出错,则抛出此异常
-