add 添加动态表单提交流程

This commit is contained in:
gssong 2023-09-21 21:06:56 +08:00
parent c28c6ba4c4
commit 50484c5442
3 changed files with 30 additions and 1 deletions

View File

@ -60,4 +60,14 @@ public class WfBusinessFormVo implements Serializable {
@ExcelProperty(value = "表单值")
private String contentValue;
/**
* 动态单与流程定义关联信息业务对象
*/
private WfFormDefinitionVo wfFormDefinitionVo;
/**
* 流程实例对象
*/
private ProcessInstanceVo processInstanceVo;
}

View File

@ -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<WfFormDefinition>().eq(WfFormDefinition::getFormId, wfBusinessFormVo.getFormId())
);
wfBusinessFormVo.setWfFormDefinitionVo(wfFormDefinitionVo);
}
return wfBusinessFormVo;
}
/**
@ -49,6 +63,8 @@ public class WfBusinessFormServiceImpl implements IWfBusinessFormService {
public TableDataInfo<WfBusinessFormVo> queryPageList(WfBusinessFormBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WfBusinessForm> lqw = buildQueryWrapper(bo);
Page<WfBusinessFormVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
List<WfBusinessFormVo> records = result.getRecords();
WorkflowUtils.setProcessInstanceListVo(records,StreamUtils.toList(records, e -> String.valueOf(e.getId())),"id");
return TableDataInfo.build(result);
}

View File

@ -306,6 +306,9 @@ public class WorkflowUtils {
* @param fieldName 主键属性名称
*/
public static void setProcessInstanceListVo(Object obj, List<String> idList, String fieldName) {
if (CollUtil.isEmpty(idList)) {
return;
}
List<ActHiProcinst> actHiProcinstList = I_ACT_HI_PROCINST_SERVICE.selectByBusinessKeyIn(idList);
if (obj instanceof Collection<?> collection) {
for (Object o : collection) {