From 296466fa134e689368c5e34265a2030a1deb37b1 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期五, 24 一月 2025 13:08:28 +0800 Subject: [PATCH] !640 发布 5.3.0 新春版 祝大家新年快乐 Merge pull request !640 from 疯狂的狮子Li/dev --- ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java | 30 ++++++++++++------------------ 1 files changed, 12 insertions(+), 18 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java index 7f09a45..db8ab71 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java @@ -19,13 +19,14 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.warm.flow.core.FlowFactory; +import org.dromara.warm.flow.core.FlowEngine; import org.dromara.warm.flow.core.constant.ExceptionCons; import org.dromara.warm.flow.core.dto.FlowParams; import org.dromara.warm.flow.core.entity.Definition; import org.dromara.warm.flow.core.entity.Instance; import org.dromara.warm.flow.core.entity.Task; import org.dromara.warm.flow.core.enums.NodeType; +import org.dromara.warm.flow.core.service.ChartService; import org.dromara.warm.flow.core.service.DefService; import org.dromara.warm.flow.core.service.InsService; import org.dromara.warm.flow.core.service.TaskService; @@ -51,7 +52,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.io.IOException; import java.util.*; import java.util.stream.Collectors; @@ -68,6 +68,7 @@ private final InsService insService; private final DefService defService; + private final ChartService chartService; private final TaskService taskService; private final FlowHisTaskMapper flowHisTaskMapper; private final FlowInstanceMapper flowInstanceMapper; @@ -137,7 +138,7 @@ queryWrapper.like(StringUtils.isNotBlank(flowInstanceBo.getFlowCode()), "fd.flow_code", flowInstanceBo.getFlowCode()); if (StringUtils.isNotBlank(flowInstanceBo.getCategory())) { List<Long> categoryIds = flwCategoryMapper.selectCategoryIdsByParentId(Convert.toLong(flowInstanceBo.getCategory())); - queryWrapper.in("fd.category", categoryIds); + queryWrapper.in("fd.category", StreamUtils.toList(categoryIds, Convert::toStr)); } queryWrapper.eq(StringUtils.isNotBlank(flowInstanceBo.getBusinessId()), "fi.business_id", flowInstanceBo.getBusinessId()); queryWrapper.in(CollUtil.isNotEmpty(flowInstanceBo.getCreateByIds()), "fi.create_by", flowInstanceBo.getCreateByIds()); @@ -248,7 +249,7 @@ //鎾ら攢 WorkflowUtils.backTask(message, instance.getId(), applyNodeCode, BusinessStatusEnum.CANCEL.getStatus(), BusinessStatusEnum.CANCEL.getStatus()); //鍒ゆ柇鎴栫鑺傜偣鏄惁鏈夊涓紝鍙繚鐣欎竴涓� - List<Task> currentTaskList = taskService.list(FlowFactory.newTask().setInstanceId(instance.getId())); + List<Task> currentTaskList = taskService.list(FlowEngine.newTask().setInstanceId(instance.getId())); if (CollUtil.isNotEmpty(currentTaskList)) { if (currentTaskList.size() > 1) { currentTaskList.remove(0); @@ -284,14 +285,14 @@ */ @Override public Map<String, Object> flowImage(String businessId) { - Map<String, Object> map = new HashMap<>(16); FlowInstance flowInstance = this.selectInstByBusinessId(businessId); - if (flowInstance == null) { + if (ObjectUtil.isNull(flowInstance)) { throw new ServiceException(ExceptionCons.NOT_FOUNT_INSTANCE); } + Long instanceId = flowInstance.getId(); //杩愯涓殑浠诲姟 List<FlowHisTaskVo> list = new ArrayList<>(); - List<FlowTask> flowTaskList = flwTaskService.selectByInstId(flowInstance.getId()); + List<FlowTask> flowTaskList = flwTaskService.selectByInstId(instanceId); if (CollUtil.isNotEmpty(flowTaskList)) { List<FlowHisTaskVo> flowHisTaskVos = BeanUtil.copyToList(flowTaskList, FlowHisTaskVo.class); for (FlowHisTaskVo flowHisTaskVo : flowHisTaskVos) { @@ -312,22 +313,15 @@ } //鍘嗗彶浠诲姟 LambdaQueryWrapper<FlowHisTask> wrapper = Wrappers.lambdaQuery(); - wrapper.eq(FlowHisTask::getInstanceId, flowInstance.getId()); + wrapper.eq(FlowHisTask::getInstanceId, instanceId); wrapper.eq(FlowHisTask::getNodeType, NodeType.BETWEEN.getKey()); wrapper.orderByDesc(FlowHisTask::getCreateTime).orderByDesc(FlowHisTask::getUpdateTime); List<FlowHisTask> flowHisTasks = flowHisTaskMapper.selectList(wrapper); if (CollUtil.isNotEmpty(flowHisTasks)) { list.addAll(BeanUtil.copyToList(flowHisTasks, FlowHisTaskVo.class)); } - - map.put("list", list); - try { - String flowChart = defService.flowChart(flowInstance.getId()); - map.put("image", flowChart); - } catch (IOException e) { - throw new RuntimeException(e); - } - return map; + String flowChart = chartService.chartIns(instanceId); + return Map.of("list", list, "image", flowChart); } /** @@ -350,7 +344,7 @@ * @param instanceId 瀹炰緥id */ @Override - public Map<String, Object> instanceVariable(String instanceId) { + public Map<String, Object> instanceVariable(Long instanceId) { Map<String, Object> map = new HashMap<>(); FlowInstance flowInstance = flowInstanceMapper.selectById(instanceId); Map<String, Object> variableMap = flowInstance.getVariableMap(); -- Gitblit v1.9.3