Commit 840517511e40ac757f2304e33a7536898bd85b46
1 parent
39ee47d9
fix: 未传递表单信息
Showing
2 changed files
with
20 additions
and
3 deletions
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 | ... | ... |