package com.highdatas.mdm.service.act.impl; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.HistoryService; import org.activiti.engine.RepositoryService; import org.activiti.engine.TaskService; import org.activiti.engine.history.HistoricProcessInstance; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @Slf4j @Service public class HistoryServiceImpl extends BaseServiceImpl implements com.highdatas.mdm.service.act.HistoryService{ @Autowired HistoryService historyService; @Autowired RepositoryService repositoryService; @Autowired TaskService taskService; /** * * @description: 检验流程是否结束 * @param processId 流程id * @return: 流程是否结果 * */ @Override public boolean isTaskFinished(String processId) { if (processId.isEmpty()) { return true; } HistoricProcessInstance instance = historyService.createHistoricProcessInstanceQuery().processInstanceId(processId).singleResult(); Date endTime = instance.getEndTime(); String endActivityId = instance.getEndActivityId(); return (endActivityId!=null && !StringUtils.isEmpty(endActivityId) && endTime !=null); } }