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,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 |