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,12 +124,18 @@ public interface BpmTaskConvert {
124 } 124 }
125 125
126 default BpmTaskRespVO buildTodoTask(Task todoTask, List<Task> childrenTasks, 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 .setStatus(FlowableUtils.getTaskStatus(todoTask)).setReason(FlowableUtils.getTaskReason(todoTask)) 130 .setStatus(FlowableUtils.getTaskStatus(todoTask)).setReason(FlowableUtils.getTaskReason(todoTask))
130 .setButtonsSetting(buttonsSetting) 131 .setButtonsSetting(buttonsSetting)
131 .setChildren(convertList(childrenTasks, childTask -> BeanUtils.toBean(childTask, BpmTaskRespVO.class) 132 .setChildren(convertList(childrenTasks, childTask -> BeanUtils.toBean(childTask, BpmTaskRespVO.class)
132 .setStatus(FlowableUtils.getTaskStatus(childTask)))); 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 default BpmMessageSendWhenTaskCreatedReqDTO convert(ProcessInstance processInstance, AdminUserRespDTO startUser, 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,6 +12,7 @@ import cn.iocoder.yudao.framework.common.util.object.PageUtils;
12 import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; 12 import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
13 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.*; 13 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.*;
14 import cn.iocoder.yudao.module.bpm.convert.task.BpmTaskConvert; 14 import cn.iocoder.yudao.module.bpm.convert.task.BpmTaskConvert;
  15 +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
15 import cn.iocoder.yudao.module.bpm.enums.definition.*; 16 import cn.iocoder.yudao.module.bpm.enums.definition.*;
16 import cn.iocoder.yudao.module.bpm.enums.task.BpmCommentTypeEnum; 17 import cn.iocoder.yudao.module.bpm.enums.task.BpmCommentTypeEnum;
17 import cn.iocoder.yudao.module.bpm.enums.task.BpmReasonEnum; 18 import cn.iocoder.yudao.module.bpm.enums.task.BpmReasonEnum;
@@ -20,6 +21,7 @@ import cn.iocoder.yudao.module.bpm.enums.task.BpmTaskStatusEnum; @@ -20,6 +21,7 @@ import cn.iocoder.yudao.module.bpm.enums.task.BpmTaskStatusEnum;
20 import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmnVariableConstants; 21 import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmnVariableConstants;
21 import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.BpmnModelUtils; 22 import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.BpmnModelUtils;
22 import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.FlowableUtils; 23 import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.FlowableUtils;
  24 +import cn.iocoder.yudao.module.bpm.service.definition.BpmFormService;
23 import cn.iocoder.yudao.module.bpm.service.definition.BpmModelService; 25 import cn.iocoder.yudao.module.bpm.service.definition.BpmModelService;
24 import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessDefinitionService; 26 import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessDefinitionService;
25 import cn.iocoder.yudao.module.bpm.service.message.BpmMessageService; 27 import cn.iocoder.yudao.module.bpm.service.message.BpmMessageService;
@@ -91,6 +93,8 @@ public class BpmTaskServiceImpl implements BpmTaskService { @@ -91,6 +93,8 @@ public class BpmTaskServiceImpl implements BpmTaskService {
91 private BpmModelService modelService; 93 private BpmModelService modelService;
92 @Resource 94 @Resource
93 private BpmMessageService messageService; 95 private BpmMessageService messageService;
  96 + @Resource
  97 + private BpmFormService formService;
94 98
95 @Resource 99 @Resource
96 private AdminUserApi adminUserApi; 100 private AdminUserApi adminUserApi;
@@ -153,7 +157,14 @@ public class BpmTaskServiceImpl implements BpmTaskService { @@ -153,7 +157,14 @@ public class BpmTaskServiceImpl implements BpmTaskService {
153 BpmnModel bpmnModel = bpmProcessDefinitionService.getProcessDefinitionBpmnModel(todoTask.getProcessDefinitionId()); 157 BpmnModel bpmnModel = bpmProcessDefinitionService.getProcessDefinitionBpmnModel(todoTask.getProcessDefinitionId());
154 Map<Integer, BpmTaskRespVO.OperationButtonSetting> buttonsSetting = BpmnModelUtils.parseButtonsSetting( 158 Map<Integer, BpmTaskRespVO.OperationButtonSetting> buttonsSetting = BpmnModelUtils.parseButtonsSetting(
155 bpmnModel, todoTask.getTaskDefinitionKey()); 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 @Override 170 @Override