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());
|
AttachmentCmd attachmentCmd = new AttachmentCmd(completeTaskBo.getFileId(), task.getId(), task.getProcessInstanceId());
|
||||||
managementService.executeCommand(attachmentCmd);
|
managementService.executeCommand(attachmentCmd);
|
||||||
FlowProcessEventHandler processHandler = flowEventStrategy.getProcessHandler(processInstance.getProcessDefinitionKey());
|
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 (BusinessStatusEnum.DRAFT.getStatus().equals(businessStatus) || BusinessStatusEnum.BACK.getStatus().equals(businessStatus) || BusinessStatusEnum.CANCEL.getStatus().equals(businessStatus)) {
|
||||||
if (processHandler != null) {
|
if (processHandler != null) {
|
||||||
processHandler.handleProcess(processInstance.getBusinessKey(), businessStatus, true);
|
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 taskVo = BeanUtil.toBean(task, TaskVo.class);
|
||||||
taskVo.setMultiInstance(WorkflowUtils.isMultiInstance(task.getProcessDefinitionId(), task.getTaskDefinitionKey()) != null);
|
taskVo.setMultiInstance(WorkflowUtils.isMultiInstance(task.getProcessDefinitionId(), task.getTaskDefinitionKey()) != null);
|
||||||
String businessStatus = WorkflowUtils.getBusinessStatus(taskVo.getProcessInstanceId());
|
String businessStatus = WorkflowUtils.getBusinessStatus(taskVo.getBusinessKey());
|
||||||
taskVo.setBusinessStatus(businessStatus);
|
taskVo.setBusinessStatus(businessStatus);
|
||||||
return taskVo;
|
return taskVo;
|
||||||
}
|
}
|
||||||
|
@ -228,10 +228,10 @@ public class WorkflowUtils {
|
|||||||
/**
|
/**
|
||||||
* 获取当前流程状态
|
* 获取当前流程状态
|
||||||
*
|
*
|
||||||
* @param processInstanceId 流程实例id
|
* @param businessKey 业务id
|
||||||
*/
|
*/
|
||||||
public static String getBusinessStatus(String processInstanceId) {
|
public static String getBusinessStatus(String businessKey) {
|
||||||
HistoricProcessInstance historicProcessInstance = QueryUtils.hisInstanceQuery(processInstanceId).singleResult();
|
HistoricProcessInstance historicProcessInstance = QueryUtils.hisBusinessKeyQuery(businessKey).singleResult();
|
||||||
return historicProcessInstance.getBusinessStatus();
|
return historicProcessInstance.getBusinessStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user