add 添加通用接口
This commit is contained in:
parent
9175b7a4c1
commit
c84f24fe20
@ -0,0 +1,33 @@
|
||||
package org.dromara.common.core.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 通用 工作流服务
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
public interface WorkflowService {
|
||||
|
||||
/**
|
||||
* 运行中的实例 删除程实例,删除历史记录,删除业务与流程关联信息
|
||||
*
|
||||
* @param businessKeys 业务id
|
||||
* @return 结果
|
||||
*/
|
||||
boolean deleteRunAndHisInstance(List<String> businessKeys);
|
||||
|
||||
/**
|
||||
* 获取当前流程状态
|
||||
*
|
||||
* @param taskId 任务id
|
||||
*/
|
||||
String getBusinessStatusByTaskId(String taskId);
|
||||
|
||||
/**
|
||||
* 获取当前流程状态
|
||||
*
|
||||
* @param businessKey 业务id
|
||||
*/
|
||||
String getBusinessStatus(String businessKey);
|
||||
}
|
@ -180,7 +180,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
||||
AttachmentCmd attachmentCmd = new AttachmentCmd(completeTaskBo.getFileId(), task.getId(), task.getProcessInstanceId());
|
||||
managementService.executeCommand(attachmentCmd);
|
||||
FlowProcessEventHandler processHandler = flowEventStrategy.getProcessHandler(processInstance.getProcessDefinitionKey());
|
||||
String businessStatus = WorkflowUtils.getBusinessStatus(task.getProcessInstanceId());
|
||||
String businessStatus = WorkflowUtils.getBusinessStatus(processInstance.getBusinessKey());
|
||||
if (BusinessStatusEnum.DRAFT.getStatus().equals(businessStatus) || BusinessStatusEnum.BACK.getStatus().equals(businessStatus) || BusinessStatusEnum.CANCEL.getStatus().equals(businessStatus)) {
|
||||
if (processHandler != null) {
|
||||
processHandler.handleProcess(processInstance.getBusinessKey(), businessStatus, true);
|
||||
|
@ -0,0 +1,52 @@
|
||||
package org.dromara.workflow.service.impl;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.service.WorkflowService;
|
||||
import org.dromara.workflow.service.IActProcessInstanceService;
|
||||
import org.dromara.workflow.utils.WorkflowUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 通用 工作流服务实现
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class WorkflowServiceImpl implements WorkflowService {
|
||||
|
||||
private final IActProcessInstanceService iActProcessInstanceService;
|
||||
|
||||
/**
|
||||
* 运行中的实例 删除程实例,删除历史记录,删除业务与流程关联信息
|
||||
*
|
||||
* @param businessKeys 业务id
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public boolean deleteRunAndHisInstance(List<String> businessKeys) {
|
||||
return iActProcessInstanceService.deleteRunAndHisInstance(businessKeys);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前流程状态
|
||||
*
|
||||
* @param taskId 任务id
|
||||
*/
|
||||
@Override
|
||||
public String getBusinessStatusByTaskId(String taskId) {
|
||||
return WorkflowUtils.getBusinessStatusByTaskId(taskId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前流程状态
|
||||
*
|
||||
* @param businessKey 业务id
|
||||
*/
|
||||
@Override
|
||||
public String getBusinessStatus(String businessKey) {
|
||||
return WorkflowUtils.getBusinessStatus(businessKey);
|
||||
}
|
||||
}
|
@ -159,7 +159,7 @@ public class QueryUtils {
|
||||
}
|
||||
TaskVo taskVo = BeanUtil.toBean(task, TaskVo.class);
|
||||
taskVo.setMultiInstance(WorkflowUtils.isMultiInstance(task.getProcessDefinitionId(), task.getTaskDefinitionKey()) != null);
|
||||
String businessStatus = WorkflowUtils.getBusinessStatus(taskVo.getProcessInstanceId());
|
||||
String businessStatus = WorkflowUtils.getBusinessStatus(taskVo.getBusinessKey());
|
||||
taskVo.setBusinessStatus(businessStatus);
|
||||
return taskVo;
|
||||
}
|
||||
|
@ -228,10 +228,10 @@ public class WorkflowUtils {
|
||||
/**
|
||||
* 获取当前流程状态
|
||||
*
|
||||
* @param processInstanceId 流程实例id
|
||||
* @param businessKey 业务id
|
||||
*/
|
||||
public static String getBusinessStatus(String processInstanceId) {
|
||||
HistoricProcessInstance historicProcessInstance = QueryUtils.hisInstanceQuery(processInstanceId).singleResult();
|
||||
public static String getBusinessStatus(String businessKey) {
|
||||
HistoricProcessInstance historicProcessInstance = QueryUtils.hisBusinessKeyQuery(businessKey).singleResult();
|
||||
return historicProcessInstance.getBusinessStatus();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user