Commit 840517511e40ac757f2304e33a7536898bd85b46

Authored by Lesan
1 parent 39ee47d9

fix: 未传递表单信息

yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmTaskConvert.java
... ... @@ -124,12 +124,18 @@ public interface BpmTaskConvert {
124 124 }
125 125  
126 126 default BpmTaskRespVO buildTodoTask(Task todoTask, List<Task> childrenTasks,
127   - Map<Integer, BpmTaskRespVO.OperationButtonSetting> buttonsSetting) {
128   - return BeanUtils.toBean(todoTask, BpmTaskRespVO.class)
  127 + Map<Integer, BpmTaskRespVO.OperationButtonSetting> buttonsSetting,
  128 + BpmFormDO taskForm) {
  129 + BpmTaskRespVO bpmTaskRespVO = BeanUtils.toBean(todoTask, BpmTaskRespVO.class)
129 130 .setStatus(FlowableUtils.getTaskStatus(todoTask)).setReason(FlowableUtils.getTaskReason(todoTask))
130 131 .setButtonsSetting(buttonsSetting)
131 132 .setChildren(convertList(childrenTasks, childTask -> BeanUtils.toBean(childTask, BpmTaskRespVO.class)
132 133 .setStatus(FlowableUtils.getTaskStatus(childTask))));
  134 + if (taskForm != null) {
  135 + bpmTaskRespVO.setFormId(taskForm.getId()).setFormName(taskForm.getName())
  136 + .setFormConf(taskForm.getConf()).setFormFields(taskForm.getFields());
  137 + }
  138 + return bpmTaskRespVO;
133 139 }
134 140  
135 141 default BpmMessageSendWhenTaskCreatedReqDTO convert(ProcessInstance processInstance, AdminUserRespDTO startUser,
... ...
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java
... ... @@ -12,6 +12,7 @@ import cn.iocoder.yudao.framework.common.util.object.PageUtils;
12 12 import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
13 13 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.*;
14 14 import cn.iocoder.yudao.module.bpm.convert.task.BpmTaskConvert;
  15 +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
15 16 import cn.iocoder.yudao.module.bpm.enums.definition.*;
16 17 import cn.iocoder.yudao.module.bpm.enums.task.BpmCommentTypeEnum;
17 18 import cn.iocoder.yudao.module.bpm.enums.task.BpmReasonEnum;
... ... @@ -20,6 +21,7 @@ import cn.iocoder.yudao.module.bpm.enums.task.BpmTaskStatusEnum;
20 21 import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmnVariableConstants;
21 22 import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.BpmnModelUtils;
22 23 import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.FlowableUtils;
  24 +import cn.iocoder.yudao.module.bpm.service.definition.BpmFormService;
23 25 import cn.iocoder.yudao.module.bpm.service.definition.BpmModelService;
24 26 import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessDefinitionService;
25 27 import cn.iocoder.yudao.module.bpm.service.message.BpmMessageService;
... ... @@ -91,6 +93,8 @@ public class BpmTaskServiceImpl implements BpmTaskService {
91 93 private BpmModelService modelService;
92 94 @Resource
93 95 private BpmMessageService messageService;
  96 + @Resource
  97 + private BpmFormService formService;
94 98  
95 99 @Resource
96 100 private AdminUserApi adminUserApi;
... ... @@ -153,7 +157,14 @@ public class BpmTaskServiceImpl implements BpmTaskService {
153 157 BpmnModel bpmnModel = bpmProcessDefinitionService.getProcessDefinitionBpmnModel(todoTask.getProcessDefinitionId());
154 158 Map<Integer, BpmTaskRespVO.OperationButtonSetting> buttonsSetting = BpmnModelUtils.parseButtonsSetting(
155 159 bpmnModel, todoTask.getTaskDefinitionKey());
156   - return BpmTaskConvert.INSTANCE.buildTodoTask(todoTask, childrenTasks, buttonsSetting);
  160 +
  161 + // 4. 任务表单
  162 + BpmFormDO taskForm = null;
  163 + if (StrUtil.isNotBlank(todoTask.getFormKey())){
  164 + taskForm = formService.getForm(NumberUtils.parseLong(todoTask.getFormKey()));
  165 + }
  166 +
  167 + return BpmTaskConvert.INSTANCE.buildTodoTask(todoTask, childrenTasks, buttonsSetting, taskForm);
157 168 }
158 169  
159 170 @Override
... ...