From 5e3de648053edede52ddecea5912ce9cafe5a63d Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: Sat, 14 Dec 2024 00:50:50 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=B0=83=E6=95=B4=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E7=99=BB=E5=BD=95=E4=BB=BB=E5=8A=A1=E5=AE=9E?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/domain/vo/FlowInstanceVo.java | 5 +++ .../service/impl/FlwInstanceServiceImpl.java | 44 +++++-------------- .../mapper/workflow/FlwInstanceMapper.xml | 4 +- 3 files changed, 19 insertions(+), 34 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java index 5d7587cad..d6c476dd2 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java @@ -120,4 +120,9 @@ public class FlowInstanceVo { */ @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "createBy") private String createByName; + + /** + * 流程分类id + */ + private String category; } 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 2f9ab0f54..0ef7e0f4c 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 @@ -23,7 +23,6 @@ import org.dromara.warm.flow.core.entity.Definition; import org.dromara.warm.flow.core.entity.Instance; import org.dromara.warm.flow.core.entity.Node; import org.dromara.warm.flow.core.entity.Task; -import org.dromara.warm.flow.core.enums.FlowStatus; import org.dromara.warm.flow.core.enums.NodeType; import org.dromara.warm.flow.core.enums.SkipType; import org.dromara.warm.flow.core.service.DefService; @@ -76,8 +75,8 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService { /** * 分页查询正在运行的流程实例 * - * @param flowInstanceBo 参数 - * @param pageQuery 分页 + * @param flowInstanceBo 参数 + * @param pageQuery 分页 */ @Override public TableDataInfo pageByRunning(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) { @@ -93,8 +92,8 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService { /** * 分页查询已结束的流程实例 * - * @param flowInstanceBo 参数 - * @param pageQuery 分页 + * @param flowInstanceBo 参数 + * @param pageQuery 分页 */ @Override public TableDataInfo pageByFinish(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) { @@ -109,6 +108,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService { /** * 通用查询条件 + * * @param flowInstanceBo 查询条件 * @return 查询条件构造方法 */ @@ -117,11 +117,12 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService { queryWrapper.like(StringUtils.isNotBlank(flowInstanceBo.getNodeName()), "fi.node_name", flowInstanceBo.getNodeName()); queryWrapper.like(StringUtils.isNotBlank(flowInstanceBo.getFlowName()), "fd.flow_name", flowInstanceBo.getFlowName()); queryWrapper.like(StringUtils.isNotBlank(flowInstanceBo.getFlowCode()), "fd.flow_code", flowInstanceBo.getFlowCode()); - queryWrapper.eq(StringUtils.isNotBlank(flowInstanceBo.getCategory()),"category", flowInstanceBo.getCategory()); + queryWrapper.eq(StringUtils.isNotBlank(flowInstanceBo.getCategory()), "fd.category", flowInstanceBo.getCategory()); queryWrapper.in(CollUtil.isNotEmpty(flowInstanceBo.getCreateByIds()), "fi.create_by", flowInstanceBo.getCreateByIds()); queryWrapper.orderByDesc("fi.create_time"); return queryWrapper; } + /** * 根据业务id查询流程实例 * @@ -225,34 +226,11 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService { */ @Override public TableDataInfo pageByCurrent(FlowInstanceBo instanceBo, PageQuery pageQuery) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - if (StringUtils.isNotBlank(instanceBo.getFlowCode())) { - List flowDefinitions = flowDefinitionMapper.selectList( - new LambdaQueryWrapper().eq(FlowDefinition::getFlowCode, instanceBo.getFlowCode())); - if (CollUtil.isNotEmpty(flowDefinitions)) { - List defIdList = StreamUtils.toList(flowDefinitions, FlowDefinition::getId); - wrapper.in(FlowInstance::getDefinitionId, defIdList); - } - } - wrapper.eq(FlowInstance::getCreateBy, LoginHelper.getUserIdStr()); - wrapper.orderByDesc(FlowInstance::getCreateTime); - Page page = flowInstanceMapper.selectPage(pageQuery.build(), wrapper); + QueryWrapper queryWrapper = buildQueryWrapper(instanceBo); + queryWrapper.eq("fi.create_by", LoginHelper.getUserIdStr()); + Page page = flwInstanceMapper.page(pageQuery.build(), queryWrapper); TableDataInfo build = TableDataInfo.build(); - List flowInstanceVos = BeanUtil.copyToList(page.getRecords(), FlowInstanceVo.class); - if (CollUtil.isNotEmpty(flowInstanceVos)) { - List definitionIds = StreamUtils.toList(flowInstanceVos, FlowInstanceVo::getDefinitionId); - List flowDefinitions = flowDefinitionMapper.selectByIds(definitionIds); - for (FlowInstanceVo vo : flowInstanceVos) { - flowDefinitions.stream().filter(e -> e.getId().toString().equals(vo.getDefinitionId().toString())).findFirst().ifPresent(e -> { - vo.setFlowName(e.getFlowName()); - vo.setFlowCode(e.getFlowCode()); - vo.setVersion(e.getVersion()); - vo.setFlowStatusName(FlowStatus.getValueByKey(vo.getFlowStatus())); - }); - } - - } - build.setRows(flowInstanceVos); + build.setRows(BeanUtil.copyToList(page.getRecords(), FlowInstanceVo.class)); build.setTotal(page.getTotal()); return build; } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwInstanceMapper.xml b/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwInstanceMapper.xml index 7b5199974..b80209cba 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwInstanceMapper.xml +++ b/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwInstanceMapper.xml @@ -22,6 +22,7 @@ +