瀏覽代碼

to java8 and fix test error

zhouhao 7 年之前
父節點
當前提交
a237108210

+ 23 - 18
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/BpmActivityService.java

@@ -8,6 +8,7 @@ import java.util.Map;
 
 /**
  * 流程节点操作的接口
+ *
  * @Author wangwei
  * @Date 2017/8/4.
  */
@@ -15,7 +16,7 @@ public interface BpmActivityService {
     /**
      * 获取指定节点
      *
-             * @param procDefId        流程定义ID
+     * @param procDefId 流程定义ID
      * @return ActivityImpl       指定的节点资源,未指定返回第一节点
      */
     ActivityImpl getActivityById(String procDefId, String activityId);
@@ -23,25 +24,25 @@ public interface BpmActivityService {
     /**
      * 获取所有节点
      *
-     * @param procDefKey        流程定义Key
-     * @param activityId        图元ID
+     * @param procDefKey 流程定义Key
+     * @param activityId 图元ID
      * @return ActivityImpl       指定的节点,未指定返回所有
      */
-    List<ActivityImpl> getActivityByKey(String procDefKey, String activityId);
+    List<ActivityImpl> getActivitiesByKey(String procDefKey, String activityId);
 
     /**
      * 获取所有节点
      *
-     * @param procDefId        流程定义ID
-     * @param activityId        图元ID
+     * @param procDefId  流程定义ID
+     * @param activityId 图元ID
      * @return List<ActivityImpl>  当前流程的所有节点资源
      */
-    List<ActivityImpl> getActivitysById(String procDefId, String activityId);
+    List<ActivityImpl> getActivitiesById(String procDefId, String activityId);
 
     /**
      * 获取所有userTask
      *
-     * @param procDefId        流程定义ID
+     * @param procDefId 流程定义ID
      * @return List<ActivityImpl>  当前流程的所有userTask资源
      */
     List<ActivityImpl> getUserTasksByProcDefId(String procDefId);
@@ -49,7 +50,7 @@ public interface BpmActivityService {
     /**
      * 获取所有userTask
      *
-     * @param procDefKey        流程定义ID
+     * @param procDefKey 流程定义ID
      * @return List<ActivityImpl>  当前流程的所有userTask资源
      */
     List<ActivityImpl> getUserTasksByProcDefKey(String procDefKey);
@@ -57,16 +58,17 @@ public interface BpmActivityService {
     /**
      * 获取下一环节
      *
-     * @param procDefId        流程定义ID
-     * @param activityId        图元ID
+     * @param procDefId  流程定义ID
+     * @param activityId 图元ID
      * @return List<TaskDefinition>  当前流程的所有下一环节资源
      */
-    List<TaskDefinition> getNextActivitys(String procDefId, String activityId);
+    List<TaskDefinition> getNextActivities(String procDefId, String activityId);
 
     /**
      * 根据图元获取办理环节数据
+     *
      * @param activityImpl
-     * @param elString 根据连线条件conditionText获取输出节点,主要用于网关分支(预留)
+     * @param elString     根据连线条件conditionText获取输出节点,主要用于网关分支(预留)
      * @return
      */
     List<TaskDefinition> getTaskDefinition(ActivityImpl activityImpl, String elString);
@@ -74,22 +76,24 @@ public interface BpmActivityService {
     /**
      * 获取下一环节办理人
      *
-     * @param procDefId        流程定义ID
-     * @param activityId       图元ID
-     * @return   节点id对应的办理人
+     * @param procDefId  流程定义ID
+     * @param activityId 图元ID
+     * @return 节点id对应的办理人
      */
     Map<String, List<String>> getNextClaim(String procDefId, String activityId);
 
     /**
      * 获取开始节点
-     * @param procDefKey        流程定义Key
+     *
+     * @param procDefKey 流程定义Key
      * @return ActivityImpl       当前流程的结束资源
      */
     ActivityImpl getStartEvent(String procDefKey);
 
     /**
      * 获取结束节点
-     * @param procDefId        流程定义ID
+     *
+     * @param procDefId 流程定义ID
      * @return ActivityImpl       当前流程的结束资源
      */
     ActivityImpl getEndEvent(String procDefId);
@@ -104,6 +108,7 @@ public interface BpmActivityService {
 
     /**
      * 根据节点获取下一步执行节点集合
+     *
      * @param activity
      * @return
      */

+ 149 - 94
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/imp/BpmActivityServiceImp.java

@@ -7,6 +7,7 @@ import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
 import org.activiti.engine.impl.pvm.PvmActivity;
 import org.activiti.engine.impl.pvm.PvmTransition;
 import org.activiti.engine.impl.pvm.process.ActivityImpl;
+import org.activiti.engine.impl.pvm.process.ProcessElementImpl;
 import org.activiti.engine.impl.task.TaskDefinition;
 import org.activiti.engine.repository.ProcessDefinition;
 import org.activiti.engine.runtime.ProcessInstance;
@@ -15,6 +16,8 @@ import org.hswebframework.web.workflow.flowable.utils.FlowableAbstract;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
 
 /**
  * @Author wangwei
@@ -26,119 +29,139 @@ public class BpmActivityServiceImp extends FlowableAbstract implements BpmActivi
     /**
      * 获取指定节点
      *
-     * @param procDefId        流程定义ID
+     * @param procDefId 流程定义ID
      * @return ActivityImpl       指定的节点资源
      */
     @Override
-    public ActivityImpl getActivityById(String procDefId, String activityId){
+    public ActivityImpl getActivityById(String procDefId, String activityId) {
         return getProcessDefinition(procDefId).findActivity(activityId);
     }
 
     @Override
-    public List<ActivityImpl> getActivityByKey(String procDefKey, String activityId) {
-        ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().processDefinitionKey(procDefKey).orderByProcessDefinitionVersion().desc().list().get(0);
-        String procDefId = definition.getId();
-        if (activityId == null) {
-            return getProcessDefinition(procDefId).getActivities();
-        }else {
-            List<ActivityImpl> activities = new ArrayList<>();
-            activities.add(getProcessDefinition(procDefId).findActivity(activityId));
-            return activities;
-        }
+    public List<ActivityImpl> getActivitiesByKey(String procDefKey, String activityId) {
+        ProcessDefinition definition = repositoryService.createProcessDefinitionQuery()
+                .processDefinitionKey(procDefKey)
+                .orderByProcessDefinitionVersion()
+                .desc()
+                .singleResult();
+//                .list()
+//                .get(0);
+
+        return getActivitiesById(definition.getId(), activityId);
+//        String procDefId = definition.getId();
+//        if (activityId == null) {
+//            return getProcessDefinition(procDefId).getActivities();
+//        } else {
+//            List<ActivityImpl> activities = new ArrayList<>();
+//            activities.add(getProcessDefinition(procDefId).findActivity(activityId));
+//            return activities;
+//        }
     }
 
-    @Override
-    public List<ActivityImpl> getActivitysById(String processDefId, String activityId){
+    public List<ActivityImpl> getActivitiesById(String processDefId, String activityId) {
         ProcessDefinitionEntity pde = getProcessDefinition(processDefId);
         if (activityId == null) {
             return pde.getActivities();
-        }else {
-            List<ActivityImpl> activities = new ArrayList<>();
-            activities.add(pde.findActivity(activityId));
-            return activities;
+        } else {
+            ActivityImpl activity = pde.findActivity(activityId);
+            if (null == activity) return Collections.emptyList();
+
+//            List<ActivityImpl> activities = new ArrayList<>();
+//            activities.add(activity);
+            return Collections.singletonList(activity);
         }
     }
 
     /**
      * 获取所有userTask
      *
-     * @param procDefId        流程定义ID
+     * @param procDefId 流程定义ID
      * @return List<ActivityImpl>  当前流程的所有userTask资源
      */
     @Override
-    public List<ActivityImpl> getUserTasksByProcDefId(String procDefId){
-        ProcessDefinitionEntity pde = getProcessDefinition(procDefId);
-        List<ActivityImpl> activityList = new ArrayList<>();
-        for(ActivityImpl activity : pde.getActivities()){
-            if(activity.getProperty("type").equals("userTask"))
-                activityList.add(activity);
-        }
-        return activityList;
+    public List<ActivityImpl> getUserTasksByProcDefId(String procDefId) {
+
+        return findActivities(procDefId, activity -> "userTask".equals(activity.getProperty("type")));
+
+//        ProcessDefinitionEntity pde = getProcessDefinition(procDefId);
+//        List<ActivityImpl> activityList = new ArrayList<>();
+//        for (ActivityImpl activity : pde.getActivities()) {
+//            if (activity.getProperty("type").equals("userTask"))
+//                activityList.add(activity);
+//        }
+//        return activityList;
     }
 
     @Override
     public List<ActivityImpl> getUserTasksByProcDefKey(String procDefKey) {
         ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().processDefinitionKey(procDefKey).orderByProcessDefinitionVersion().desc().list().get(0);
         String procDefId = definition.getId();
-        ProcessDefinitionEntity pde = getProcessDefinition(procDefId);
-        List<ActivityImpl> activities = new ArrayList<>();
-        for(ActivityImpl activity : pde.getActivities()){
-            if(activity.getProperty("type").equals("userTask"))
-                activities.add(activity);
-        }
-        Collections.sort(activities, new Comparator<ActivityImpl>() {
-            @Override
-            public int compare(ActivityImpl o1, ActivityImpl o2) {
-                return o1.getId().compareTo(o2.getId());
-            }
-        });
+        List<ActivityImpl> activities = findActivities(procDefId, activity -> "userTask".equals(activity.getProperty("type")));
+//
+//        ProcessDefinitionEntity pde = getProcessDefinition(procDefId);
+//        List<ActivityImpl> activities = new ArrayList<>();
+//        for (ActivityImpl activity : pde.getActivities()) {
+//            if (activity.getProperty("type").equals("userTask"))
+//                activities.add(activity);
+//        }
+        if (null != activities)
+            activities.sort(Comparator.comparing(ProcessElementImpl::getId));
         return activities;
     }
 
-    @Override
-    public List<TaskDefinition> getNextActivitys(String procDefId, String activityId) {
+    public List<TaskDefinition> getNextActivities(String procDefId, String activityId) {
         ActivityImpl activity;
-        if(activityId!=null)
+        if (activityId != null)
             activity = getActivityById(procDefId, activityId);
         else
             activity = getStartEvent(procDefId);
+
         List<PvmTransition> pvmTransitions = activity.getOutgoingTransitions();
-        List<TaskDefinition> taskDefinitions = new ArrayList<>();
-        for(PvmTransition pvmTransition : pvmTransitions){
-            PvmActivity pvmActivity = pvmTransition.getDestination();
-            taskDefinitions.addAll(getTaskDefinition((ActivityImpl)pvmActivity,""));
-        }
-        return taskDefinitions;
+
+        return pvmTransitions.stream()
+                .map(PvmTransition::getDestination)
+                .map(ActivityImpl.class::cast)          //强转为ActivityImpl
+                .filter(Objects::nonNull)
+                .map(act -> getTaskDefinition(act, "")) //获取TaskDefinition集合
+                .flatMap(Collection::stream)            //合并集合
+                .collect(Collectors.toList());
+
+//        List<TaskDefinition> taskDefinitions = new ArrayList<>();
+//        for (PvmTransition pvmTransition : pvmTransitions) {
+//            PvmActivity pvmActivity = pvmTransition.getDestination();
+//            taskDefinitions.addAll(getTaskDefinition((ActivityImpl) pvmActivity, ""));
+//        }
+//        return taskDefinitions;
     }
 
     @Override
     public List<TaskDefinition> getTaskDefinition(ActivityImpl activityImpl, String elString) {
         List<TaskDefinition> taskDefinitionList = new ArrayList<>();
         List<TaskDefinition> nextTaskDefinition;
-        if("userTask".equals(activityImpl.getProperty("type"))){
-            TaskDefinition taskDefinition = ((UserTaskActivityBehavior)activityImpl.getActivityBehavior()).getTaskDefinition();
+        if ("userTask".equals(activityImpl.getProperty("type"))) {
+            TaskDefinition taskDefinition = ((UserTaskActivityBehavior) activityImpl.getActivityBehavior()).getTaskDefinition();
             taskDefinitionList.add(taskDefinition);
-        }else{
+        } else {
             List<PvmTransition> pvmTransitions = activityImpl.getOutgoingTransitions();
             List<PvmTransition> outTransitionsTemp;
-            for(PvmTransition tr:pvmTransitions){
+            for (PvmTransition tr : pvmTransitions) {
                 PvmActivity pvmActivity = tr.getDestination(); //获取线路的终点节点
-                if("exclusiveGateway".equals(pvmActivity.getProperty("type"))||"parallelGateway".equals(pvmActivity.getProperty("type"))){
+                if ("exclusiveGateway".equals(pvmActivity.getProperty("type")) || "parallelGateway".equals(pvmActivity.getProperty("type"))) {
                     outTransitionsTemp = pvmActivity.getOutgoingTransitions();
-                    if(outTransitionsTemp.size() == 1){
-                        nextTaskDefinition =getTaskDefinition((ActivityImpl)outTransitionsTemp.get(0).getDestination(), elString);
+                    if (outTransitionsTemp.size() == 1) {
+                        nextTaskDefinition = getTaskDefinition((ActivityImpl) outTransitionsTemp.get(0).getDestination(), elString);
                         taskDefinitionList.addAll(nextTaskDefinition);
-                    }else if(outTransitionsTemp.size() > 1){
-                        for(PvmTransition tr1 : outTransitionsTemp){
+                    } else if (outTransitionsTemp.size() > 1) {
+                        for (PvmTransition tr1 : outTransitionsTemp) {
                             Object s = tr1.getProperty("conditionText");
-                            if(elString.equals(s.toString().trim())){
-                                nextTaskDefinition = getTaskDefinition((ActivityImpl)tr1.getDestination(), elString);
+                            if (elString.equals(s.toString().trim())) {
+                                nextTaskDefinition = getTaskDefinition((ActivityImpl) tr1.getDestination(), elString);
                                 taskDefinitionList.addAll(nextTaskDefinition);
                             }
                         }
                     }
-                }else if("userTask".equals(pvmActivity.getProperty("type"))){
-                    taskDefinitionList.add(((UserTaskActivityBehavior)((ActivityImpl)pvmActivity).getActivityBehavior()).getTaskDefinition());
+                } else if ("userTask".equals(pvmActivity.getProperty("type"))) {
+                    taskDefinitionList.add(((UserTaskActivityBehavior) ((ActivityImpl) pvmActivity).getActivityBehavior()).getTaskDefinition());
                 }
             }
         }
@@ -147,61 +170,86 @@ public class BpmActivityServiceImp extends FlowableAbstract implements BpmActivi
 
     @Override
     public Map<String, List<String>> getNextClaim(String procDefId, String activityId) {
-        List<TaskDefinition> taskDefinitions = getNextActivitys(procDefId, activityId);
+        List<TaskDefinition> taskDefinitions = getNextActivities(procDefId, activityId);
         Map<String, List<String>> map = new HashMap<>();
-        for(TaskDefinition taskDefinition : taskDefinitions){
+        for (TaskDefinition taskDefinition : taskDefinitions) {
             List<String> list = new ArrayList<>();
-            if(taskDefinition!=null && taskDefinition.getAssigneeExpression()!=null)
+            if (taskDefinition.getAssigneeExpression() != null)
                 list.add(taskDefinition.getAssigneeExpression().getExpressionText());
-            else if(taskDefinition!=null && taskDefinition.getCandidateUserIdExpressions()!=null){
-                for(Expression expression : taskDefinition.getCandidateUserIdExpressions()){
+            else if (taskDefinition.getCandidateUserIdExpressions() != null) {
+                for (Expression expression : taskDefinition.getCandidateUserIdExpressions()) {
                     list.add(expression.getExpressionText());
                 }
             }
-            if(taskDefinition.getNameExpression()!=null)
-                map.put(taskDefinition.getNameExpression().getExpressionText(),list);
+            if (taskDefinition.getNameExpression() != null)
+                map.put(taskDefinition.getNameExpression().getExpressionText(), list);
             else
-                map.put(taskDefinition.getKey(),list);
+                map.put(taskDefinition.getKey(), list);
         }
         return map;
     }
 
     @Override
     public ActivityImpl getStartEvent(String procDefId) {
-        List<ActivityImpl> activities = getActivitysById(procDefId,null);
-        ActivityImpl activity = null;
-        for (ActivityImpl a: activities) {
-            if(a.getProperty("type").equals("startEvent")){
-                activity = a;
-            }
-        }
-        return activity;
+        return findActivity(procDefId, activity -> "startEvent".equals(activity.getProperty("type")));
+
+//        List<ActivityImpl> activities = getActivitiesById(procDefId, null);
+//        ActivityImpl activity = null;
+//        for (ActivityImpl a : activities) {
+//            if (a.getProperty("type").equals("startEvent")) {
+//                activity = a;
+//            }
+//        }
+//        return activity;
     }
 
-    @Override
-    public ActivityImpl getEndEvent(String procDefId){
+    private List<ActivityImpl> findActivities(String procDefId, Predicate<ActivityImpl> predicate) {
         ProcessDefinitionEntity pde = getProcessDefinition(procDefId);
-        for(ActivityImpl activity : pde.getActivities()){
-            if(activity.getProperty("type").equals("endEvent"))
-                return activity;
-        }
-        return null;
+        if (pde == null) return null;
+        return pde.getActivities()
+                .stream()
+                .filter(predicate)
+                .collect(Collectors.toList());
+    }
+
+    private ActivityImpl findActivity(String procDefId, Predicate<ActivityImpl> predicate) {
+        ProcessDefinitionEntity pde = getProcessDefinition(procDefId);
+        if (pde == null) return null;
+        return pde.getActivities()
+                .stream()
+                .filter(predicate)
+                .findFirst()
+                .orElse(null);
+    }
+
+    @Override
+    public ActivityImpl getEndEvent(String procDefId) {
+        return findActivity(procDefId, activity -> "endEvent".equals(activity.getProperty("type")));
+
+//        for (ActivityImpl activity : pde.getActivities()) {
+//            if (activity.getProperty("type").equals("endEvent"))
+//                return activity;
+//        }
+//        return null;
     }
 
     /**
      * 获取流程定义
      *
-     * @param procDefId        流程定义ID
+     * @param procDefId 流程定义ID
      * @return 流程定义资源
      */
-    public ProcessDefinitionEntity getProcessDefinition(String procDefId){
+    public ProcessDefinitionEntity getProcessDefinition(String procDefId) {
         return (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService).getDeployedProcessDefinition(procDefId);
     }
 
     @Override
     public ActivityImpl getActivityByProcInstId(String procDefId, String procInstId) {
-        ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(procInstId)
-                .active().singleResult();
+        ProcessInstance processInstance = runtimeService
+                .createProcessInstanceQuery()
+                .processInstanceId(procInstId)
+                .active()
+                .singleResult();
         String activityId = processInstance.getActivityId();
 
         return getProcessDefinition(procDefId).findActivity(activityId);
@@ -209,11 +257,18 @@ public class BpmActivityServiceImp extends FlowableAbstract implements BpmActivi
 
     @Override
     public List<ActivityImpl> getNextEvent(ActivityImpl activity) {
-        List<ActivityImpl> activities = new ArrayList<>();
-        List<PvmTransition> pvmTransitions = activity.getOutgoingTransitions();
-        for(PvmTransition pvmTransition : pvmTransitions){
-            activities.add((ActivityImpl)pvmTransition.getDestination());
-        }
-        return activities;
+
+        return activity.getOutgoingTransitions()
+                .stream()
+                .map(PvmTransition::getDestination)
+                .map(ActivityImpl.class::cast)
+                .collect(Collectors.toList());
+
+//        List<ActivityImpl> activities = new ArrayList<>();
+//        List<PvmTransition> pvmTransitions = activity.getOutgoingTransitions();
+//        for (PvmTransition pvmTransition : pvmTransitions) {
+//            activities.add((ActivityImpl) pvmTransition.getDestination());
+//        }
+//        return activities;
     }
 }

+ 20 - 20
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/ControllerTest.java

@@ -41,9 +41,9 @@ public class ControllerTest extends SimpleWebApplicationTests {
     @Autowired
     BpmActivityService bpmActivityService;
     @Autowired
-    BpmProcessService bpmProcessService;
+    BpmProcessService  bpmProcessService;
     @Autowired
-    BpmTaskService bpmTaskService;
+    BpmTaskService     bpmTaskService;
 
     public ProcessInstance start() throws Exception {
         Map<String, Object> map = new HashMap<>();
@@ -59,7 +59,7 @@ public class ControllerTest extends SimpleWebApplicationTests {
     public void activityImplTest() {
         ActivityImpl activity = bpmTaskService.selectActivityImplByTask("");
         ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("testid").latestVersion().active().singleResult();
-        Map<String, List<String>> map = bpmActivityService.getNextClaim(processDefinition.getId(),activity.getId());
+        Map<String, List<String>> map = bpmActivityService.getNextClaim(processDefinition.getId(), activity.getId());
         System.out.println("=========>>>");
         System.out.println(JSON.toJSONString(map));
         System.out.println("=========>>>");
@@ -67,43 +67,43 @@ public class ControllerTest extends SimpleWebApplicationTests {
 
     // 流程流转test
     @Test
-    public void processInstanceTest() {
+    public void processInstanceTest() throws Exception {
         ProcessInstance processInstance = null;
-        try {
+//        try {
             processInstance = start();
             Assert.assertNotNull(processInstance);
             System.out.println("流程已启动:" + processInstance.toString());
-            int i = bpmProcessService.getProcessInstances(0, 10, "test").size();
-            Assert.assertEquals(i,1);
+            int i = bpmProcessService.getProcessInstances(0, 10, processInstance.getProcessDefinitionKey()).size();
+            Assert.assertEquals(i, 1);
             System.out.println("当前活动流程数:" + i);
             System.out.println("当前流程节点ID_" + processInstance.getActivityId());
-        } catch (Exception e) {
-            System.out.println("启动流程失败" + e);
-        }
+//        } catch (Exception e) {
+//            System.out.println("启动流程失败" + e);
+//        }
         System.out.println("=========>>>");
         List<Task> tasks = bpmTaskService.selectTaskByProcessId(processInstance.getId());
         Assert.assertNotNull(tasks);
-        System.out.println("当前环节:"+tasks.get(0).getName()+"__办理人:"+tasks.get(0).getAssignee());
+        System.out.println("当前环节:" + tasks.get(0).getName() + "__办理人:" + tasks.get(0).getAssignee());
         System.out.println("=========>>>");
         ActivityImpl activity = bpmActivityService.getActivityByProcInstId(processInstance.getProcessDefinitionId(), processInstance.getId());
         System.out.println("当前流程图元");
         System.out.println(activity);
         System.out.println("=========>>>");
         System.out.println("=========流程流转下一步,下一步为并行网关。>>>");
-        for (Task task:tasks) {
-            bpmTaskService.complete(task.getId(), "zhangsan",null,null);
+        for (Task task : tasks) {
+            bpmTaskService.complete(task.getId(), "zhangsan", null, null);
         }
         tasks = bpmTaskService.selectTaskByProcessId(processInstance.getId());
         Assert.assertNotNull(tasks);
-        for (Task task:tasks) {
-            System.out.println("当前环节:"+task.getName()+"__id:"+task.getId()+"__办理人:"+task.getAssignee());
+        for (Task task : tasks) {
+            System.out.println("当前环节:" + task.getName() + "__id:" + task.getId() + "__办理人:" + task.getAssignee());
 
             activity = bpmTaskService.selectActivityImplByTask(task.getId());
-            System.out.println("当前节点图元id:"+activity.getId());
+            System.out.println("当前节点图元id:" + activity.getId());
             System.out.println(activity);
             System.out.println("=========>>>");
-            Map<String, List<String>> map = bpmActivityService.getNextClaim(task.getProcessDefinitionId(),activity.getId());
-            System.out.println("下一步执行json:"+JSON.toJSONString(map));
+            Map<String, List<String>> map = bpmActivityService.getNextClaim(task.getProcessDefinitionId(), activity.getId());
+            System.out.println("下一步执行json:" + JSON.toJSONString(map));
         }
         System.out.println("=========>>>");
         activity = bpmActivityService.getActivityByProcInstId(processInstance.getProcessDefinitionId(), processInstance.getId());
@@ -117,10 +117,10 @@ public class ControllerTest extends SimpleWebApplicationTests {
     RepositoryService repositoryService;
 
     @Test
-    public void task(){
+    public void task() {
         ActivityImpl activity = bpmTaskService.selectActivityImplByTask("");
         ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("testid").orderByProcessDefinitionVersion().desc().singleResult();
-        Map<String, List<String>> map = bpmActivityService.getNextClaim(processDefinition.getId(),activity.getId());
+        Map<String, List<String>> map = bpmActivityService.getNextClaim(processDefinition.getId(), activity.getId());
         System.out.println("=========>>>");
         System.out.println(JSON.toJSONString(map));
         System.out.println("=========>>>");