| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- package jnpf.flowable.controller;
- import cn.dev33.satoken.annotation.SaCheckPermission;
- import cn.hutool.core.util.ObjectUtil;
- import io.swagger.v3.oas.annotations.Operation;
- import io.swagger.v3.oas.annotations.tags.Tag;
- import jnpf.base.ActionResult;
- import jnpf.base.entity.SystemEntity;
- import jnpf.base.vo.PaginationVO;
- import jnpf.constant.MsgCode;
- import jnpf.flowable.model.monitor.MonitorModel;
- import jnpf.flowable.model.trigger.TriggerInfoListModel;
- import jnpf.flowable.model.trigger.TriggerPagination;
- import jnpf.flowable.model.trigger.TriggerTaskModel;
- import jnpf.flowable.model.util.FlowNature;
- import jnpf.flowable.service.TriggerTaskService;
- import jnpf.flowable.util.ServiceUtil;
- import jnpf.util.JsonUtil;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Objects;
- import java.util.stream.Collectors;
- /**
- * 任务流程
- *
- * @author JNPF@YinMai Info. Co., Ltd
- * @version 5.0.x
- * @since 2024/9/21 9:57
- */
- @Tag(name = "任务流程实例", description = "triggerTask")
- @RestController
- @RequestMapping("/api/workflow/trigger/task")
- @Slf4j
- public class TriggerTaskController {
- @Autowired
- private ServiceUtil serviceUtil;
- @Autowired
- private TriggerTaskService triggerTaskService;
- /**
- * 获取任务下的触发记录
- *
- * @param taskId 任务主键
- */
- @Operation(summary = "获取任务下的触发记录")
- @GetMapping("/List")
- public ActionResult list(@RequestParam("taskId") String taskId, @RequestParam("nodeCode") String nodeCode) {
- List<TriggerInfoListModel> list = triggerTaskService.getListByTaskId(taskId, nodeCode);
- return ActionResult.success(list);
- }
- /**
- * 任务流程列表
- *
- * @param pagination 分页参数
- */
- @Operation(summary = "任务流程列表")
- @GetMapping
- public ActionResult list(TriggerPagination pagination) {
- List<TriggerTaskModel> list = triggerTaskService.getList(pagination);
- List<SystemEntity> systemList = serviceUtil.getSystemList(list.stream().map(TriggerTaskModel::getSystemName).collect(Collectors.toList()));
- List<TriggerTaskModel> voList = new ArrayList<>();
- for (TriggerTaskModel model : list) {
- model.setIsRetry(ObjectUtil.equals(model.getParentId(), FlowNature.ParentId) ? 0 : 1);
- SystemEntity system = systemList.stream().filter(t -> Objects.equals(model.getSystemName(), t.getId())).findFirst().orElse(null);
- model.setSystemName(system != null ? system.getFullName() : "");
- voList.add(model);
- }
- PaginationVO paginationVO = JsonUtil.getJsonToBean(pagination, PaginationVO.class);
- return ActionResult.page(voList, paginationVO);
- }
- /**
- * 重试
- *
- * @param id 主键
- */
- @Operation(summary = "重试")
- @PostMapping("/Retry/{id}")
- @SaCheckPermission(value = {"workFlow.flowMonitor"})
- public ActionResult retry(@PathVariable("id") String id) throws Exception {
- try {
- triggerTaskService.retry(id);
- } catch (Exception e) {
- // triggerUtil.createErrorRecord();
- throw e;
- }
- return ActionResult.success(MsgCode.SU005.get());
- }
- /**
- * 批量删除
- *
- * @param model 参数
- */
- @Operation(summary = "批量删除")
- @DeleteMapping
- @SaCheckPermission(value = {"workFlow.flowMonitor"})
- public ActionResult delete(@RequestBody MonitorModel model) {
- triggerTaskService.batchDelete(model.getIds());
- return ActionResult.success(MsgCode.SU003.get());
- }
- }
|