From 50484c54423b7880eda262f033e9792e706ad4c6 Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: Thu, 21 Sep 2023 21:06:56 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E6=B7=BB=E5=8A=A0=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E6=8F=90=E4=BA=A4=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/domain/vo/WfBusinessFormVo.java | 10 ++++++++++ .../impl/WfBusinessFormServiceImpl.java | 18 +++++++++++++++++- .../dromara/workflow/utils/WorkflowUtils.java | 3 +++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfBusinessFormVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfBusinessFormVo.java index 7d47469d8..e4811e9bf 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfBusinessFormVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfBusinessFormVo.java @@ -60,4 +60,14 @@ public class WfBusinessFormVo implements Serializable { @ExcelProperty(value = "表单值") private String contentValue; + /** + * 动态单与流程定义关联信息业务对象 + */ + private WfFormDefinitionVo wfFormDefinitionVo; + + /** + * 流程实例对象 + */ + private ProcessInstanceVo processInstanceVo; + } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfBusinessFormServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfBusinessFormServiceImpl.java index c6c0a7610..bc92787c6 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfBusinessFormServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfBusinessFormServiceImpl.java @@ -3,6 +3,7 @@ package org.dromara.workflow.service.impl; import com.fasterxml.jackson.core.type.TypeReference; import org.dromara.common.core.utils.DateUtils; import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -11,6 +12,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.dromara.workflow.domain.WfFormDefinition; +import org.dromara.workflow.domain.vo.WfFormDefinitionVo; +import org.dromara.workflow.mapper.WfFormDefinitionMapper; +import org.dromara.workflow.utils.WorkflowUtils; import org.springframework.stereotype.Service; import org.dromara.workflow.domain.bo.WfBusinessFormBo; import org.dromara.workflow.domain.vo.WfBusinessFormVo; @@ -34,12 +39,21 @@ public class WfBusinessFormServiceImpl implements IWfBusinessFormService { private final WfBusinessFormMapper baseMapper; + private final WfFormDefinitionMapper wfFormDefinitionMapper; + /** * 查询发起流程 */ @Override public WfBusinessFormVo queryById(Long id) { - return baseMapper.selectVoById(id); + WfBusinessFormVo wfBusinessFormVo = baseMapper.selectVoById(id); + if (wfBusinessFormVo != null) { + WfFormDefinitionVo wfFormDefinitionVo = wfFormDefinitionMapper.selectVoOne( + new LambdaQueryWrapper().eq(WfFormDefinition::getFormId, wfBusinessFormVo.getFormId()) + ); + wfBusinessFormVo.setWfFormDefinitionVo(wfFormDefinitionVo); + } + return wfBusinessFormVo; } /** @@ -49,6 +63,8 @@ public class WfBusinessFormServiceImpl implements IWfBusinessFormService { public TableDataInfo queryPageList(WfBusinessFormBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + List records = result.getRecords(); + WorkflowUtils.setProcessInstanceListVo(records,StreamUtils.toList(records, e -> String.valueOf(e.getId())),"id"); return TableDataInfo.build(result); } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java index 3e0e49f05..ed009c1be 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java @@ -306,6 +306,9 @@ public class WorkflowUtils { * @param fieldName 主键属性名称 */ public static void setProcessInstanceListVo(Object obj, List idList, String fieldName) { + if (CollUtil.isEmpty(idList)) { + return; + } List actHiProcinstList = I_ACT_HI_PROCINST_SERVICE.selectByBusinessKeyIn(idList); if (obj instanceof Collection collection) { for (Object o : collection) {