|
@@ -19,6 +19,7 @@ import com.huaxu.process.dto.ProcessDefinitionDTO;
|
|
|
import com.huaxu.process.dto.TaskPorcessResult;
|
|
|
import com.huaxu.process.dto.TaskUserDTO;
|
|
|
import com.huaxu.process.entity.WorkflowAssignUser;
|
|
|
+import com.huaxu.process.service.JumpTaskCmdService;
|
|
|
import com.huaxu.process.service.UserFormService;
|
|
|
import com.huaxu.process.service.WorkFlowService;
|
|
|
import com.huaxu.process.utils.Action;
|
|
@@ -34,6 +35,7 @@ import org.activiti.engine.history.HistoricActivityInstance;
|
|
|
import org.activiti.engine.history.HistoricProcessInstance;
|
|
|
import org.activiti.engine.history.HistoricTaskInstance;
|
|
|
import org.activiti.engine.impl.RepositoryServiceImpl;
|
|
|
+import org.activiti.engine.impl.TaskServiceImpl;
|
|
|
import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl;
|
|
|
import org.activiti.engine.impl.context.Context;
|
|
|
import org.activiti.engine.impl.el.ExpressionManager;
|
|
@@ -47,6 +49,7 @@ import org.activiti.engine.repository.Deployment;
|
|
|
import org.activiti.engine.runtime.ProcessInstance;
|
|
|
import org.activiti.engine.task.IdentityLink;
|
|
|
import org.activiti.engine.task.Task;
|
|
|
+import org.activiti.engine.task.TaskQuery;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.dom4j.DocumentException;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -494,6 +497,7 @@ public class WorkFlowServiceImpl implements WorkFlowService {
|
|
|
taskService.addComment(taskId, pi.getId(), comment);
|
|
|
}
|
|
|
taskService.complete(taskId, vars);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -624,6 +628,32 @@ public class WorkFlowServiceImpl implements WorkFlowService {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void stopProcessInstance(String processInstanceId) {
|
|
|
+ Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult();
|
|
|
+
|
|
|
+ org.activiti.engine.repository.ProcessDefinition definition = repositoryService.
|
|
|
+ createProcessDefinitionQuery().processDefinitionId(task.getProcessDefinitionId()).singleResult();
|
|
|
+ ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) ((RepositoryServiceImpl)
|
|
|
+ repositoryService) .getDeployedProcessDefinition(definition.getId());
|
|
|
+ List<ActivityImpl> allActivities = processDefinition.getActivities();
|
|
|
+ String endActivityId = null;
|
|
|
+ for(ActivityImpl activity : allActivities){
|
|
|
+
|
|
|
+ String type = activity.getProperty("type").toString();
|
|
|
+ if(type.equals("endEvent")){
|
|
|
+ endActivityId = activity.getId();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ TaskServiceImpl taskServiceImpl=(TaskServiceImpl )taskService;
|
|
|
+ taskServiceImpl.getCommandExecutor().execute( new JumpTaskCmdService( task.getExecutionId(), endActivityId) );
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<Task> getProcessRuntimeTask(String processInstanceId) {
|
|
|
List<Task> tasks = taskService.createTaskQuery().executionId(processInstanceId).list();
|