feat:根据审批节点id查taskId
This commit is contained in:
@@ -21,6 +21,7 @@ import com.honeycombis.honeycom.flow.task.utils.NodeUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.flowable.bpmn.BpmnAutoLayout;
|
||||
import org.flowable.bpmn.converter.BpmnXMLConverter;
|
||||
import org.flowable.bpmn.model.BpmnModel;
|
||||
@@ -222,6 +223,25 @@ public class EngineFlowController {
|
||||
return R.ok(pageResultDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过审批节点的 nodeId 查询 taskId
|
||||
*/
|
||||
@Inner(value = false)
|
||||
@PostMapping("/getTaskIdForSpdm")
|
||||
public R getTaskIdForSpdm(@RequestBody TaskParamDto taskParamDto) {
|
||||
HistoricActivityInstanceQuery historicActivityInstanceQuery = historyService
|
||||
.createHistoricActivityInstanceQuery();
|
||||
HistoricActivityInstanceQuery activityInstanceQuery = historicActivityInstanceQuery
|
||||
.activityId(taskParamDto.getNodeId())
|
||||
.processInstanceId(taskParamDto.getProcessInstanceId());
|
||||
|
||||
List<HistoricActivityInstance> list = activityInstanceQuery.list();
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
return R.ok(list.get(0).getTaskId());
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户待办任务
|
||||
* @param taskQueryParamDto 查询参数
|
||||
|
||||
@@ -76,6 +76,12 @@ public interface RemoteFlowEngineService {
|
||||
@PostMapping("/flow/queryCompletedTask")
|
||||
R<Page<TaskDto>> queryCompletedTask(@RequestBody TaskQueryParamDto paramDto);
|
||||
|
||||
/**
|
||||
* 通过审批节点的 nodeId 查询 taskId
|
||||
*/
|
||||
@PostMapping("/flow/getTaskIdForSpdm")
|
||||
R<String> getTaskIdForSpdm(@RequestBody TaskParamDto taskParamDto);
|
||||
|
||||
/**
|
||||
* 完成任务
|
||||
* @param taskParamDto 任务参数
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.honeycombis.honeycom.common.core.util.R;
|
||||
import com.honeycombis.honeycom.common.security.annotation.Inner;
|
||||
import com.honeycombis.honeycom.flow.task.dto.ProcessInstanceParamDto;
|
||||
import com.honeycombis.honeycom.flow.task.dto.TaskParamDto;
|
||||
import com.honeycombis.honeycom.flow.task.dto.TaskQueryParamDto;
|
||||
import com.honeycombis.honeycom.flow.task.entity.ProcessInstanceRecord;
|
||||
import com.honeycombis.honeycom.flow.task.service.IProcessInstanceService;
|
||||
@@ -68,6 +69,16 @@ public class ProcessInstanceController {
|
||||
return processInstanceService.queryMineEndTask(taskQueryParamDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过审批节点的 nodeId 查询 taskId
|
||||
*/
|
||||
@Inner(false)
|
||||
@SneakyThrows
|
||||
@PostMapping("getTaskIdForSpdm")
|
||||
public R getTaskIdForSpdm(@RequestBody TaskParamDto taskParamDto) {
|
||||
return processInstanceService.getTaskIdForSpdm(taskParamDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询我发起的
|
||||
* @param taskQueryParamDto
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.honeycombis.honeycom.flow.task.service;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.honeycombis.honeycom.common.core.util.R;
|
||||
import com.honeycombis.honeycom.flow.task.dto.ProcessInstanceParamDto;
|
||||
import com.honeycombis.honeycom.flow.task.dto.TaskParamDto;
|
||||
import com.honeycombis.honeycom.flow.task.dto.TaskQueryParamDto;
|
||||
import com.honeycombis.honeycom.flow.task.entity.ProcessInstanceRecord;
|
||||
import com.honeycombis.honeycom.flow.task.vo.NodeFormatParamVo;
|
||||
@@ -33,6 +34,8 @@ public interface IProcessInstanceService {
|
||||
*/
|
||||
R queryMineEndTask(TaskQueryParamDto taskQueryParamDto);
|
||||
|
||||
R getTaskIdForSpdm(TaskParamDto taskParamDto);
|
||||
|
||||
/**
|
||||
* 流程结束
|
||||
* @param processsInstanceId
|
||||
|
||||
@@ -227,6 +227,11 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService {
|
||||
return R.ok(pageResultDto);
|
||||
}
|
||||
|
||||
@Override
|
||||
public R getTaskIdForSpdm(TaskParamDto taskParamDto) {
|
||||
return flowEngineService.getTaskIdForSpdm(taskParamDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 流程结束
|
||||
* @param processsInstanceId
|
||||
|
||||
@@ -158,4 +158,14 @@ public class SpdmFlowController {
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@Operation(summary = "通过审批节点的 nodeId 查询 taskId")
|
||||
@PostMapping(value = "/getTaskIdByNodeId")
|
||||
public R getTaskIdByNodeId(@RequestBody FlowParamDto flowParamDto) {
|
||||
TaskParamDto taskParamDto = new TaskParamDto();
|
||||
taskParamDto.setProcessInstanceId(flowParamDto.getProcessInstanceId());
|
||||
taskParamDto.setNodeId(flowParamDto.getNodeId());
|
||||
R<String> r = remoteFlowServiceFeign.getTaskIdForSpdm(taskParamDto, flowParamDto.getTenantId());
|
||||
return R.ok(r.getData());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -27,6 +27,11 @@ public class FlowParamDto {
|
||||
*/
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 节点id
|
||||
*/
|
||||
private String nodeId;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
|
||||
@@ -32,4 +32,6 @@ public interface RemoteFlowServiceFeign {
|
||||
@PostMapping("/process-instance/formatStartNodeShowInner")
|
||||
R queryFlowNodeDetail(@RequestBody NodeFormatParamVo nodeFormatParamVo, @RequestHeader(CommonConstants.TENANT_ID) String tenantId);
|
||||
|
||||
@PostMapping("/process-instance/getTaskIdForSpdm")
|
||||
R<String> getTaskIdForSpdm(@RequestBody TaskParamDto taskParamDto, @RequestHeader(CommonConstants.TENANT_ID) String tenantId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user